France is voting in one of its most significant elections in years, with the far right hoping for a historic victory, but with political stalemate the more likely result.
This is the first time the anti-immigration National Rally (RN) of Marine Le Pen and Jordan Bardella has had a realistic chance of running the government and taking outright control of the National Assembly.
But after the RN’s first-round victory in snap parliamentary elections last Sunday, hundreds of rival candidates dropped out to give others a better chance of defeating the far right.
Voting began in mainland France at 08:00 (06:00 GMT) and the first exit polls will be released 12 hours later.
Whatever the result, it is difficult to see President Emmanuel Macron coming out of this well.
Four weeks ago, he said it was the responsible solution to call a snap vote in response to the RN’s victory in European elections, minutes after the party’s 28-year-old leader Jordan Bardella challenged him to do so.
The two-round election came as a shock to a country gearing up for the start of the Paris Olympics on 26 July. Security was already tight and now 30,000 police have been deployed for a period of heightened political tension.
There are fears of violence in Paris and other French cities, whatever the outcome of the vote, and a planned protest outside the National Assembly on Sunday evening has been banned.
In Dreux, a historic old town on the road to Normandy, Sunday’s vote falls on the day the Olympic flame is passing through. “For us it’s a massive thing, bigger than the election,” says Pauline in the tourist office.
The flame has been travelling around France for almost two months, and Dreux has planned a weekend of festivities to mark its arrival.
“Macron should have waited until after the Olympics,” Dreux resident Antoine told the BBC.
Veteran commentator Nicolas Baverez believes the president has not just blown up his term in office and opened the gates of power wide for the far right. “He’s compromised the running of the Paris 2024 Olympics, which could deliver a final blow to France’s credit and its image,” he wrote in Le Point on the eve of the vote.
The constituency that includes Dreux is one of the races to watch in the second round of this election.
Candidates such as Marine Le Pen and Jordan Bardella have already won their seats, by winning more than half the vote. But another 500 contests are being decided in run-offs, mostly involving either two or three candidates.
Former conservative cabinet minister Olivier Marleix was beaten in the first round by far-right candidate Olivier Dubois. They both qualified for the run-off, along with a candidate from the left-wing New Popular Front, which is in second place nationally.
But because Nadia Faveris was narrowly beaten into third by her conservative rival, she pulled out of the race “to block National Rally”.
One voter, Morgan, was sceptical that anything would change in the town, whoever won.
There have been 217 of these withdrawals across France, including 130 Popular Front candidates and 81 from the president’s Ensemble alliance.
And that has dramatically changed the balance of this pivotal general election.
There are 577 seats in the French parliament and projections after Sunday’s first round gave the RN a fighting chance of securing an outright majority of 289. However, final opinion polls on Friday suggested that was out of reach, with 205 to 210 seats as a potential maximum.
The parties trying to block an RN victory range from the radical left, Communists and Greens to the Macron centrists and conservatives. They say they are defending the country from the extreme policies of the far right.
National Rally has watered down many of its policies but still wants to give French citizens “national preference” over immigrants for jobs and housing. It aims to abolish the right of automatic citizenship to the children of immigrants who have spent five years aged 11 to 18 in France. It also wants to bar dual nationals from dozens of sensitive jobs.
Opinion polls are not necessarily reliable. Each of the 500 races is a local contest and voters do not follow recommendations from political parties.
If the RN managed upwards of 250 seats, it might seek out allies to form a minority government. President Macron's party had to make do with similar numbers until he became frustrated with his limited ability to pass reforms in parliament.
That kind of RN government is unlikely, believes Prof Armin Steinbach of HEC business school in Paris. It would soon face a vote of no confidence, he believes, and under the constitution, France cannot have another general election for at least another year.
Another potential scenario is a “grand coalition” that would involve most of the other parties, except for the radical France Unbowed (LFI) party, which the Macron alliance and conservatives reject as extremists.
This idea has gained some momentum in recent days, but Greens leader Marine Tondelier has made clear “there’ll be no Macronist prime minister”, whatever happens.