The numbers don't matter, Politicians are not poor, they can easily give up food subsidy. But they never think so. Canteen serves up to 4500 person everyday on an average. So common people are paying up for their food also.
If government has problem with subsidised fare, then why doesn't government increases Sleeper fare, then politicians see Vote bank for their party and don't care about the country's economy and growth.
Even Garibrath fare can be revised a little bit, then also people will not oppose.