India beat England by 246 runs in second Test