Voting in one of India's most acrimonious elections in decades entered its final day Sunday as Hindu nationalist Prime Minister Narendra Modi scrambled to hang on to his overall majority.
The seventh and final round of voting ended the world's biggest election with 900 million eligible voters from Goa's beaches to Mumbai's slums and Ladakh's Himalayan monasteries.
Long queues formed outside polling stations in eight northern states electing the final 59 candidates to India's 543-seat lower house. Polls close at 12:30 GMT with vote counting on Thursday.
Heavy security was imposed in West Bengal, which has seen street battles between followers of Modi's Bharatiya Janata Party (BJP) and opposition groups.
An improvised bomb was thrown from a motorbike at one polling booth in the state capital Kolkata but no one was injured, officials said.
One group attacked a makeshift BJP office in the city and police also cleared other activists blocking polling stations.
Modi's constituency in Varanasi, the holy city in Uttar Pradesh state, was also among those to vote.
The conservative BJP has campaigned aggressively on Modi's strongman image and played up recent cross-border air strikes against Pakistan. The opposition, led by the Congress party and its leader, Rahul Gandhi, have accused him of pursuing divisive policies and neglecting the economy.
Modi and Gandhi have hurled insults at each other on a near daily basis with the prime minister calling his rival a "fool" while Gandhi derides Modi as a "thief".
The animosity has taken a toll on voters.
"All the abuse and misconduct claims suggest that standards in Indian politics have slipped badly," Asit Banerjee, a history teacher in Kolkata, said as he queued to vote.
"Endless mudslinging and bitter comments pervaded the campaign. We are losing hope in democracy, it is time for a reset," the 60-year-old told AFP.
Writing in the Hindustan Times, political commentator Karan Thapar said Modi's message "played on our insecurities and strummed upon our deep inner fears". He also criticised Gandhi's campaign.
Pollsters say Modi remains personally popular but his party's overall majority is at risk from a backlash.
The 68-year-old Modi has held 142 rallies across India during the campaign, sometimes five a day, but pollsters say the BJP could lose dozens of the 282 seats it won in its 2014 landslide.
$7 billion vote
On Saturday Modi, dressed in a long robe and saffron sash, trekked to a Himalayan shrine to meditate. Indian media widely used images showing him seated on a bed inside a cave in the country's north.
The Delhi-based Centre for Media Studies estimates that the outlay on this election could top $7 billion, making it one of the priciest contests globally -- with the lion's share of the spending by the BJP.
Much has been spent on social media advertising and messages, with the parties using armies of "cyber warriors" to bombard India's hundreds of millions of Facebook and WhatsApp users.
Fake news and doctored images have abounded, including of Gandhi and Modi having lunch with Imran Khan, prime minister of arch rival Pakistan, or of a drunk Priyanka Gandhi, a politician and the sister of Rahul.
Violence has also broken out. Maoist rebels killed 15 troops and their driver in the western state of Maharashtra on May 1, the latest attack in a decades-long insurgency.
Gandhi, 48, has tried several lines of attack against Modi, in particular over alleged corruption in a French defence deal and over the plight of farmers and on the economy.
Modi's government has fallen short on creating jobs for the million Indians entering the labour market every month, the shock introduction of a cash ban in 2016 caused huge disruption to livelihoods, and Indian banks are gasping under bad debts.
Lynchings of Muslims and low-caste Dalits for eating beef, slaughtering and trading in cattle have risen during Modi's tenure, leaving some of the country's 170 million Muslims feeling threatened and anxious for their future.