Putin agrees to run for Russian president