The government says it is spending $20bn on giving free rice, wheat and lentils to 800 million people.