PARIS (AP) — French presidential candidate Emmanuel Macron has denied online chatter that he was having a secret gay affair.
His head-on, humorous tackling of the gossip was the latest turn in a presidential race proving as twisty as a Tour de France road. And that's with polling day still more than two months away.
Here is a quick recap of some of the surprises so far:
MACRON'S (NON-) DOUBLE LIFE
The former investment banker and economics minister clearly understands that one of the best ways to get back at his enemies is to laugh at them.
Acting more like a stand-up comic than a gray-suited politician, Macron earned hoots of laughter and rounds of applause at a meeting with his supporters on Monday by poking fun at rumors about his sexuality that have taken on a life of their own online.
The 39-year-old independent cheekily suggested that having a gay affair while also being married would make him something of a stud and come as news to his wife, Brigitte, who was one of his secondary school teachers.
"Since she shares my life from morning to night, her only question is how, physically, I manage," he joked.
The path to the presidential Elysee Palace seemed clear for conservative candidate Francois Fillon — until he got tripped up by a scandal.
Successive waves of revelations in the weekly Canard Enchaine about cushy taxpayer-funded parliamentary jobs for his wife, Penelope, and two of their children have torpedoed the ex-prime minister's campaign and clean-hands credibility.
They also piqued the interest of French prosecutors, who are investigating whether Penelope and the children actually did the jobs they were paid for.
Limping on, Fillon denies wrongdoing and is resisting pressure to withdraw from the race.
His nose-dive appears to be helping Macron. The success — at least so far — of Macron's independent campaign is in itself a surprise, given that he has limited experience in government, is unusually young for a French leader and has yet to lay out a fully-formed campaign manifesto.
Only the brave or foolhardy would have bet a few months ago that Benoit Hamon would win the Socialist Party presidential ticket.
The staunch left-winger's campaign proposal to pay everyone — rich and poor, the working and unemployed — a modest monthly wage smacked of political suicide, a pie-in-the-sky slice of utopia that made one wonder whether the proponent of legalized marijuana had been smoking it.
But Hamon's "basic income" proposal proved to be a campaign masterstroke, setting him apart from six other candidates for the Socialist presidential nomination he beat handily. The former junior minister and, briefly, education minister brushed aside the far more seasoned ex-Prime Minister Manuel Valls in the Socialist primary runoff.
OLD GUARD, OUT
Another of the big surprises is how this race has culled France's political old guard.
Famous names have fallen.
His catastrophic unpopularity prevented President Francois Hollande from even taking the start line. The country's least popular leader since World War II, Hollande decided not to seek a second-five year term.
Ex-President Nicolas Sarkozy fell at the first hurdle, failing to make the runoff of the conservative primary in November.
Former Prime Minister Alain Juppe did make the runoff but then became another early casualty, losing the conservative ticket to Fillon.