Rohit Sharma (147 off 138) and Virat Kohli (113 0ff 106) conjured up classy hundreds to fire India to a record 337 for six after being put into bat.