The French parliament is expected to vote today on a no-confidence motion against prime minister Michel Barnier’s minority government.

Here’s the parliamentary arithmetic that explains how we got here and how the vote could play out.

Why couldn’t Michel Barnier pass his budget?

The crisis came to a head this week when France’s prime minister, Michel Barnier, was due to present part of his budget package for parliamentary approval. The government parties together form about a third of the Assemblée Nationale, and Barnier knew he could not pass his budget in the face of opposition from the two main other blocs, the left and far-right.

As this chart shows, a united government still falls far short of a majority in the Assemblée Nationale. This wouldn’t matter if enough other members abstained, but Barnier’s opponents had made it clear they intended to vote against.