India reports over 31,000 new COVID-19 cases, lowest since Nov 17