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