Canada, Mexico and the United States each sent three swimmers to a North American swim meet. The scoring was that the first place finisher would get 8 points, the second place finisher 7 points, and so forth, down to no points for ninth (last) place.

The first two Mexican swimmers to finish were the two swimmers whose times were closest to each other among all the contestants, and last place, with no points, was one of the Canadians.

When the three nations' scores were totaled, it was found that each team had the same total score.

What was the order of finish, by team?

I was going to program loops, but decided there were only a few possible solutions. There are 36 points (0+1...+8), and since all three nations had the same total score, each had 12. Mexico had two scores adjacent (as "close" as you can get, since presumably no ties), so I decided to try 6-5-1 points for Mexico, and wider spreads for the others. Then Canada had one zero, so the other two positions must total 12, so decided to try 8-4-0 points for Canada. This left 7-3-2 for USA.

Hence finishes (first to last place) were Canada, USA, Mexico, Mexico, Canada, USA. USA. Mexico, Canada.