Two and a half years ago, a confident Theresa May discovered that she had gambled very badly in calling for a snap election against Jeremy Corbyn , a Labour leader she thought was unpopular. The mistake cost her the Conservative majority in Parliament and left her hamstrung for the rest of her ineffective tenure as Prime Minister, unable to pass the Withdrawal Agreement that would have achieved Brexit.

Back in 2015, both Prime Minister David Cameron and Nick Clegg's Liberal Democrats were surprised to find Cameron's Conservatives essentially wiping out their coalition partners, making it suddenly possible for them to govern on their own. (That election result also probably led directly to the 2016 Brexit referendum , and we all know how that one turned out when the votes were cast.)

Five years earlier, although few were taken aback when Gordon Brown's Labour Party lost their majority and Cameron's Conservatives surged, there was surprise that the election produced what's called a hung Parliament , where no one party had a majority and Cameron had to rely on Clegg and his Liberal Democrats to form a government.

So what's going to happen on Thursday night?

The most honest answer is that no one knows.

Politicians like to say that the only poll that matters is the one that happens on election day, and given the difficulty of polling the United Kingdom, that is certainly true here. (Spare a thought for the pollsters: They run national polls in a country that does not, in fact, have one national election -- it has 650 different elections, one for each seat in Parliament, and polling 650 individual elections would be a mammoth task.)

British elections are charmingly old-fashioned in how they're carried out. Voters show up at their polling stations and give their names (no ID or polling card required), which election officials check against their master lists before handing the voter a paper ballot. The voter goes into a booth and puts an "X" next to the name of their chosen candidate, then drops the ballot into a box.

Staff members empty a ballot box at a counting centre in Glasgow, Scotland on June 8, 2017.

Once the polls close, officials take the ballots to the constituency's central count location, where they're opened and overturned onto tables staffed by people who hand count them as fast as they can -- generally while the candidates themselves hang around, rosettes representing their parties pinned to their chests, waiting for an announcement in the early hours of the next morning as to who won.

It makes for great drama, but in this age of instant gratification, it also takes a relatively long time.

So while all the ballots are being counted, here's a list of key constituencies to watch out for -- scroll down to read more about them.

For Boris Johnson and the Conservatives to have a good night:

Boris Johnson wears boxing gloves emblazoned with "Get Brexit Done" during a stop in Manchester in late November.

Kensington -- This posh London neighborhood has the smallest Labour majority in the country. Labour's Emma Dent Coad wrested it from the Conservatives in 2017 by only 20 votes. The Conservatives will be hoping to take it back -- but the anti-Brexit Liberal Democrats will also be trying to seize as many seats as they can in Remain-backing London constituencies.

Dudley North -- This Leave-backing district outside of Birmingham is the kind of seat the Conservatives hope to seize as part of an effort to smash Labour's red wall through the Midlands. Ian Austin held it for Labour in the face of a strong Conservative challenge in 2017 -- by 22 votes.

Norfolk North -- Norman Lamb held the seat by more than 3,500 votes in 2017, but he was an unusual Liberal Democrat in that he was not a hardline Remainer. He's not running for re-election this year, so the Conservatives may think they have a good chance here.

Sedgefield -- Smack in the heart of Labour-red northeast England, this constituency will be a test of the appeal of Johnson's "Get Brexit Done" mantra. Phil Wilson held the seat for Labour by a comfortable 6,059 votes in 2017. If Labour loses, they are on course for a very bad night.

Walsall South -- This should be a safe Labour seat, with Valerie Vaz holding it by 8,892 votes in 2017 -- but some projections suggest that if Brexit backers swing en masse behind the Conservative Party, the Tories could take it. If that happens, we're looking at a Labour wipeout.

For Jeremy Corbyn and Labour to be happy on election night:

Supporters listen to Labour leader Jeremy Corbyn during a campaign event in Wales on December 08.

Southampton, Itchen -- The smallest Conservative majority in the country, held by Royston Smith in 2017 by just 31 votes. If Labour can take it from the Tories, it will bring a smile to their faces.

Hastings and Rye -- Amber Rudd, then a Conservative Cabinet minister and close ally of Theresa May, dramatically held this south coast constituency by 346 votes in 2017. But Rudd resigned from the party in a dispute with Boris Johnson this year and is not running for re-election. Taking the seat off the Conservatives would a fillip for Labour.

Chipping Barnet -- Another seat held by a top Tory by the skin of her teeth in the last election. Labour gained ground on incumbent Theresa Villiers in both 2015 and 2017, losing by only 353 votes in the last election in this Remain-backing area of north London. This is the kind of seat Labour must win in order to have a good night.

Middlesborough South and East Cleveland -- This was a rare Conservative gain in 2017, an industrial northeast heartland seat swinging away from Labour by a mere 1,020 votes. If this Brexit-backing constituency comes back into the Labour column this year, it will be a good sign for Corbyn.

Kingswood -- Just outside the heavily Remain-backing city of Bristol, Kingswood swung in 2010 from Labour to the Conservatives, who held it comfortably in 2017 when the UKIP vote collapsed. If Labour takes this seat back, they are on course for an excellent night.

For Jo Swinson and the Liberal Democrats to smile come Friday morning:

Liberal Democrats leader Jo Swinson, left, is greeted by the party's candidate for Finchley and Golders Green, Luciana Berger, in the north London constituency on November 6.

Richmond Park -- Zac Goldsmith held this wealthy London constituency by a mere 45 votes in 2017. Liberal Democrat leader Jo Swinson has focused her entire campaign on canceling Brexit, and this is the kind of constituency where the message might resonate.

St Ives -- A beautiful seaside constituency in Cornwall where the Conservatives held off a Liberal Democrat challenge in 2017, when the UKIP vote collapsed. But Derek Thomas won by only 312 votes, with the Lib Dems then mounting a strong challenge to take back a seat they held from 2010 to 2015. A loss here would be a bad sign for Swinson's party.

Finchley and Golders Green -- In normal times, this would not be considered a Lib Dem target -- they came in a very distant third in a tight race between Labour and popular local incumbent Conservative Mike Freer in 2017. But high-profile Labour defector Luciana Berger is running as a Liberal Democrat here, hoping that her strong stance against anti-Semitism will resonate in one of the most Jewish seats in the country. Fun fact: This is Margaret Thatcher's old seat (more or less -- boundaries have been slightly redrawn since her time.)

Chelsea and Fulham -- Probably a long shot for the Lib Dems, with Conservative incumbent Mike Hands sitting on a majority of 8,188. But the central London neighborhood voted heavily Remain in 2016. If the Liberal Democrats pick it up after running a distant third in 2017, their anti-Brexit message is catching fire and they are on course for a strong performance.

Meanwhile, in Scotland...

North East Fife -- The closest marginal in the country, with Stephen Gethins holding it for the Scottish National Party in 2017 by -- wait for it -- two votes. Statistically speaking, his margin of victory was 0.0% over the Liberal Democrats.

Renfrewshire East -- A seat that changed hands in both of the last two elections: the Scottish National Party captured it from Labour in 2015, and the Conservatives took it from the SNP two years later. Paul Masterton is sitting on a 4,712-vote majority, but a continuing collapse of the Labour vote in Scotland could give the seat back to the SNP.

West Aberdeenshire and Kincardine -- A rare seat where four parties generally get respectable results, with the SNP vying with the three big national parties. The Liberal Democrats won it in 2005 and 2010, the SNP took it in 2015, and the Conservatives captured it in 2017. Tactical voting or a collapse in the Labour or Lib Dem vote could put it back in the SNP column.

And in Northern Ireland...

Belfast North -- Northern Ireland is -- Northern Ireland is not normally a key player in Westminster politics, but Theresa May's disastrous 2017 election turned the province's Democratic Unionist Party into kingmakers. The Irish nationalist Sinn Fein is hoping to take this seat from DUP Westminster leader Nigel Dodds, who won in 2017 with a majority of 2,081. But significantly, another Irish nationalist party, the SDLP, is not running a candidate in the constituency -- apparently a tacit effort to help Sinn Fein, who do not take their seats in London when they win.

Belfast South -- Like Belfast North, but in reverse: Sinn Fein is not running a candidate in what seems to be an effort to help the SDLP unseat the DUP's Emma Little Pengelly, who won by 1,996 votes in 2017.

Also worth watching:

Hartlepool -- Traditionally a redder than red Labour seat in the industrial northeast, this is a key Brexit Party target. Their chairman Richard Tice is running here, hoping to unseat Labour's Mike Hill. UKIP came a respectable second place in 2015, so if the Brexit Party can't win here, it's hard to see where they can win.

Isle of Wight -- This should be a safe Conservative seat for Bob Seely, who won with a majority of 21,069 in 2017, but if the Green Party is going to pick up a second seat anywhere (they hold Brighton Pavilion), this is probably their best bet -- they came in a solid third in 2017, and the Liberal Democrats are standing aside for them this year in a "Remain alliance." Still a long shot for them though.