South Africa produced a dazzling first-half display as they confirmed their place in the World Cup quarter-finals with a big win over 14-man Canada.
The Springboks ran in seven tries in the first half, with scrum-half Cobus Reinach notching the earliest hat-trick in a World Cup game after 20 minutes.
Canada had Josh Larsen sent off for a charging into a ruck before half-time.
The minnows scored first in the second half through Matt Heaton but South Africa ran in three more tries.
Schalk Brits, Damian Willemse and Frans Malherbe all went over following tries from Reinach, Damian de Allende, S'busiso Nkosi, Warrick Gelant and Frans Steyn in the opening 40 minutes.
Rassie Erasmus's side go top of Pool B but defending champions New Zealand - who beat the Springboks earlier in the tournament - are expected to defeat Italy on Saturday to win the group.
Canada, ranked 22nd in the world, will seek to end their World Cup with victory over Namibia on Sunday.
Reinach hat-trick as Springboks blitz Canada
South Africa, fielding 13 changes from the side that beat Italy on Friday, got off to the perfect start with tries in the first six minutes from centre De Allende and wing Nkosi.
But it was Reinach who made the biggest impression with his 11-minute hat-trick completed by the 20th minute of the game.
The previous record for the earliest World Cup hat-trick held by Australia's Chris Latham, who managed the feat after 25 minutes against Namibia in 2003.
Reinach's first try was arguably the best of the match. The Northampton Saints scrum-half sliced through the defence, chipped the full-back and caught the ball on the bounce before accelerating away to score.
He secured his team's bonus point after just 17 minutes, diving over the line after his forwards had smashed their way through.
Reinach's third arrived three minutes later, the scrum-half running through after the Springboks once again cut the Canadian defence wide open.
Warrick Gelant scored in the corner as the one-way traffic continued and things got worse for Canada when replacement forward Larsen was sent off for flying into a ruck leading with his shoulder, hitting Thomas du Toit neck high and leaving referee Luke Pearce with no option but to produce the red card.
Phil Mack's sloppy pass was then intercepted by Steyn, who touched down for the seventh first-half try.
Elton Jantjies kicked his sixth conversion to make it 47 unanswered points in a thoroughly miserable 40 minutes for Canada.
Consolation try for Canada
Matt Heaton bundled over the line for Canada at the start of the second half after Jeff Hassler found a rare gap in the Springbok defence as the 14 men rallied against the odds.
But the Springboks eventually broke through again when former Saracens forward Brits, back at hooker after playing a game at number eight in Japan, side-stepped his way to his side's eighth try before limping off.
Willemse, who has been on a short-term deal at Saracens and only arrived in Japan five days ago as a replacement for Jesse Kriel, went over unopposed for his first international try and the final score came from replacement Malherbe after intense pressure wore down Canada's exhausted defence one last time.
What they said
South Africa head coach Rassie Erasmus: "We had a short turnaround and it was scrappy at stages but I can't moan about the tempo. The red card made it a little bit easier.
"In this humidity sometimes you can over-exaggerate, but we kept it fairly simple which was a good thing."
On reaching the quarter-finals: "The big thing is we have to see who we are going to play - we'll give the guys two days off and on Friday get back on the horse again.
"We have a good chance like everyone else but there are so many good teams in this tournament. Japan are a class act, Ireland and Scotland class acts - there's some tough opposition in the next few weeks."
Stats
LINE-UPS
South Africa: Willemse; Gelant, De Allende, Steyn, Nkosi; Jantjies, Reinach; T Du Toit, Brits, Koch, Snyman, Mostert, Kolisi (capt), Smith, Louw.
Replacements: Marx, Kitshoff, Malherbe, Ebtzebeth, P Du Toit, Jantjies, Pollard, Le Roux.
Canada: Coe; Hassler, Trainor, Hearn, Van der Merwe; Nelson, Mack; Buydens, Quattrin, Ilnicki, Olmstead, Baillie, Rumball, Heaton, Ardron (capt).
Replacements: Piffero, Sears-Duru, Tierney, Larsen, Sheppard, Mackenzie, O'Leary, Du Toit