Skipper Shubman Gill battled the oppressive heat and cramps to produce a magnificent 154 while Ishan Kishan ended a three-year wait for an ODI hundred as India piled up a formidable 402 all out against Afghanistan in the second match.