HYROX Paris 2025: Pro Doubles Men results

438 teams on 18 Apr 2025. Typical finish 1:08:04, fastest 10% under 57:14. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Roberto Viciedo Gimeno, Luis Garcia Rubio 🇪🇸 ESP1st of 151 aged U29 U29 50:27 26:47 19:52 3:52 3:31 1:32 2:34 1:48 3:43 1:21 2:18 3:05
2 Beau Wills, Eugenio Bianchi 🇳🇿 NZL1st of 241 aged 30-39 30-39 50:29 0:02 26:18 20:23 3:54 3:33 1:32 2:38 1:41 3:43 1:16 2:23 3:37
3 Jannik Czapla, Tim Wenisch 🇩🇪 GER2nd of 151 aged U29 U29 50:42 0:15 26:17 20:48 3:42 3:23 1:31 3:03 1:56 3:44 1:12 2:26 3:33
4 Alan Cao, Thomas Fry 🇫🇷 FRA2nd of 241 aged 30-39 30-39 50:55 0:28 26:33 20:23 4:01 3:28 1:35 2:41 1:43 3:44 1:16 2:27 3:29
5 Hidde Weersma, Thierry Willigenburg 🇳🇱 NED3rd of 151 aged U29 U29 50:56 0:29 25:43 21:23 3:56 3:29 1:36 2:38 2:06 3:37 1:12 2:33 4:12
6 Jonathon Wynn, Graham Halliday 🇦🇺 AUS3rd of 241 aged 30-39 30-39 51:17 0:50 26:57 20:21 4:03 3:32 1:37 2:33 2:08 3:40 1:20 2:18 3:13
7 Jake Williamson, Aaron Travers 🇬🇧 GBR4th of 151 aged U29 U29 51:22 0:55 27:07 19:46 4:34 3:20 1:30 2:37 1:54 3:39 1:12 2:13 3:21
8 Storath, Lukas Storath, Tiago Lousa 🇩🇪 GER1st of 40 aged 40-49 40-49 51:26 0:59 26:24 21:12 3:53 3:27 1:36 2:39 1:52 3:41 1:13 2:53 3:51
9 Joffrey Voisin, Guillaume Levoy 🇫🇷 FRA2nd of 40 aged 40-49 40-49 51:27 1:00 26:41 20:54 3:55 3:30 1:34 2:50 2:00 3:45 1:18 2:43 3:14
10 Peter Schiller, Kieron White 🇩🇪 GER4th of 241 aged 30-39 30-39 51:42 1:15 27:09 20:25 4:11 3:32 1:35 2:53 1:48 3:39 1:16 2:23 3:19
11 Aaron Woodman, Danny Rae 🇬🇧 GBR5th of 241 aged 30-39 30-39 51:51 1:24 27:08 20:44 4:04 3:25 1:34 2:48 2:03 3:40 1:15 2:38 3:21
12 Benito Baez Ayala, Julian Kruger 6th of 241 aged 30-39 30-39 52:24 1:57 26:45 21:14 4:29 3:33 1:34 2:53 2:01 3:51 1:24 2:32 3:26
13 Louis Osselaer, Kwinten Verstuyft 🇧🇪 BEL7th of 241 aged 30-39 30-39 52:27 2:00 27:40 20:43 4:08 3:27 1:31 2:32 2:07 3:41 1:23 2:29 3:33
14 Achraf Maizzou, Quentin Garel 🇫🇷 FRA8th of 241 aged 30-39 30-39 52:43 2:16 27:42 21:01 4:06 3:34 1:39 2:35 2:02 3:46 1:21 2:34 3:30
15 João Piedade, José Estrangeiro 🇵🇹 POR9th of 241 aged 30-39 30-39 52:48 2:21 27:17 19:56 5:40 3:30 — 3:00 1:56 3:39 1:21 2:44 3:35
16 Niall McMeeken, John Carlisle 🇬🇧 GBR10th of 241 aged 30-39 30-39 52:48 2:21 27:22 21:30 4:01 3:29 1:41 2:51 2:08 3:40 1:31 2:48 3:22
17 Rene Groinig, Lasse Pips 🇦🇹 AUT5th of 151 aged U29 U29 52:55 2:28 27:06 21:48 4:07 3:49 1:45 3:04 1:58 3:42 1:17 2:43 3:30
18 Jørgen Dahl Olsen, Simen Røssland 🇳🇴 NOR6th of 151 aged U29 U29 53:02 2:35 28:41 20:18 4:06 3:25 1:25 2:27 2:10 3:33 1:09 2:31 3:38
19 Pär Erik Bergsman, Joel Persson 🇸🇪 SWE11th of 241 aged 30-39 30-39 53:07 2:40 27:54 21:14 4:04 3:33 1:31 2:51 1:45 3:53 1:11 2:40 3:50
20 Oscar Melheim, Erik Woodward 🇳🇴 NOR7th of 151 aged U29 U29 53:12 2:45 27:39 21:27 4:11 3:37 1:34 2:54 1:48 3:43 1:20 2:28 4:03
21 Michael Odonnell, Dan Jackson 🇬🇧 GBR8th of 151 aged U29 U29 53:22 2:55 28:03 21:14 4:10 3:32 1:39 2:42 2:04 3:41 1:19 2:38 3:39
22 Dieter Schwarzkopf, Jaafar Moumen 🇩🇪 GER12th of 241 aged 30-39 30-39 53:33 3:06 27:48 21:33 4:17 3:31 1:39 3:10 1:55 3:52 1:17 2:37 3:32
23 Tiago Costa, Bruno Ferreira 🇵🇹 POR13th of 241 aged 30-39 30-39 53:38 3:11 28:15 20:59 4:28 3:27 1:41 2:19 2:00 3:43 1:19 2:57 3:33
24 Fabian Grill, Nicolas Küß 🇩🇪 GER14th of 241 aged 30-39 30-39 54:06 3:39 28:24 21:33 4:14 3:36 1:42 3:13 2:01 3:50 1:22 2:26 3:23
25 Fritz Grobien, Michael Stephens 🇮🇪 IRL15th of 241 aged 30-39 30-39 54:22 3:55 28:43 21:28 4:17 3:41 1:30 3:04 2:15 3:49 1:15 2:24 3:30
26 Nicolas Reynet, Raphael De Bonnieres 🇫🇷 FRA16th of 241 aged 30-39 30-39 54:28 4:01 27:39 22:47 4:06 3:37 1:44 3:05 2:22 4:04 1:26 2:31 3:58
27 Alfons Deu Ruiz, Pedro Toral 🇪🇸 ESP17th of 241 aged 30-39 30-39 54:38 4:11 27:48 22:45 4:11 3:37 1:52 3:26 2:12 3:59 1:28 2:36 3:35
28 Axel Montreuil, Emmanuel Biguet 🇫🇷 FRA9th of 151 aged U29 U29 54:39 4:12 27:52 22:33 4:18 3:34 1:44 3:02 2:19 3:55 1:22 3:10 3:27
29 Romain Serveaux, Thibaud Nael 🇫🇷 FRA18th of 241 aged 30-39 30-39 55:04 4:37 27:16 23:45 4:09 3:38 1:47 3:31 2:19 3:50 1:24 3:18 3:58
30 Joe Wells, Piers Plowman 🇬🇧 GBR19th of 241 aged 30-39 30-39 55:07 4:40 28:59 21:52 4:21 3:28 1:34 2:40 2:08 3:47 1:28 2:53 3:54
31 Maxime Krantz, Arthur Barbey 🇫🇷 FRA20th of 241 aged 30-39 30-39 55:12 4:45 27:55 23:00 4:23 3:38 1:55 3:15 2:22 3:55 1:30 2:48 3:37
32 Julien Veyrat, Gaëtan Chappaz 🇫🇷 FRA21st of 241 aged 30-39 30-39 55:13 4:46 28:34 22:15 4:29 3:30 1:39 3:03 2:10 3:59 1:27 2:50 3:37
33 Thomas Dubost, Hugo Joud 🇫🇷 FRA10th of 151 aged U29 U29 55:20 4:53 28:52 22:08 4:24 3:35 1:34 3:08 2:09 3:52 1:26 2:52 3:32
34 Théo Nguyen, Robin Dillies 🇫🇷 FRA11th of 151 aged U29 U29 55:23 4:56 27:49 23:25 4:14 3:45 1:56 3:02 2:21 3:58 1:26 3:03 3:54
35 Thomas Soler, Yannick Paquot 🇫🇷 FRA12th of 151 aged U29 U29 55:39 5:12 30:16 20:55 4:33 3:30 1:31 2:41 2:11 3:36 1:21 2:38 3:27
36 Ugo D’Aleo, Nicolas Bigot 🇫🇷 FRA22nd of 241 aged 30-39 30-39 55:43 5:16 28:35 22:46 4:27 3:38 1:52 2:46 2:31 3:49 1:29 3:11 3:30
37 Luc Van Overdam, Jan Van Overdam 🇳🇱 NED13th of 151 aged U29 U29 55:43 5:16 28:01 23:26 4:20 3:39 1:43 2:57 2:17 4:16 1:31 3:28 3:35
38 Enzo Napoli, Silver Cusset 🇫🇷 FRA14th of 151 aged U29 U29 55:43 5:16 27:50 23:37 4:21 3:47 1:49 3:12 2:54 3:56 1:23 3:01 3:35
39 Enrique Dubut, Cedric Kampasath 🇫🇷 FRA23rd of 241 aged 30-39 30-39 56:04 5:37 28:46 23:02 4:20 3:44 1:49 3:13 2:11 4:09 1:24 2:46 3:46
40 Thibaut Morgado Da Costa, Eliott Goi 🇫🇷 FRA24th of 241 aged 30-39 30-39 56:12 5:45 29:32 22:11 4:34 3:40 1:37 3:18 2:11 3:51 1:26 2:35 3:33
41 Jean-Christophe Bruneau, Gabin Dedrie 🇫🇷 FRA15th of 151 aged U29 U29 56:58 6:31 29:25 23:04 4:33 3:51 1:43 3:08 2:14 3:59 1:26 3:04 3:39
42 Louis Pavis, David Adaine 🇫🇷 FRA25th of 241 aged 30-39 30-39 57:00 6:33 29:41 22:37 4:47 3:41 1:38 3:01 2:23 3:55 1:25 2:46 3:48
43 Adrien Raffault, Frédéric Dorez 🇫🇷 FRA26th of 241 aged 30-39 30-39 57:03 6:36 29:35 23:06 4:27 3:42 1:43 3:00 2:32 3:49 1:26 3:22 3:32
44 Tom Franssens, Mathia Palaia 🇧🇪 BEL27th of 241 aged 30-39 30-39 57:11 6:44 31:20 21:11 4:44 3:24 1:33 2:55 2:02 3:42 1:17 2:35 3:43
45 Alexis Panetier, François Bossard 🇫🇷 FRA28th of 241 aged 30-39 30-39 57:15 6:48 30:40 21:53 4:45 3:40 1:42 2:48 2:10 3:55 1:18 2:58 3:22
46 Rafael Herranz, Maxime Calzado 🇫🇷 FRA16th of 151 aged U29 U29 57:18 6:51 30:13 22:29 4:41 3:42 1:44 3:17 1:58 3:52 1:35 2:49 3:32
47 Arthur Lecras, Timothe Detant 🇫🇷 FRA17th of 151 aged U29 U29 57:23 6:56 29:35 23:13 4:40 3:37 1:47 2:57 2:33 3:55 1:28 3:08 3:48
48 Haddadi Camil, Dylan Gruson 🇫🇷 FRA29th of 241 aged 30-39 30-39 57:41 7:14 29:09 24:05 4:31 3:37 1:43 3:33 1:57 3:58 1:21 2:59 4:57
49 Sebastien Laurent, Julien Lebret 🇫🇷 FRA3rd of 40 aged 40-49 40-49 57:49 7:22 27:10 26:21 4:22 3:48 1:48 3:54 3:06 4:12 1:34 4:04 3:55
50 Bram Crans, Melvin Schol 🇳🇱 NED30th of 241 aged 30-39 30-39 57:53 7:26 30:07 23:12 4:39 3:41 1:39 3:07 2:43 3:53 1:25 3:08 3:36
51 Amory Fedjekhi, Augustin Tonnel 🇫🇷 FRA18th of 151 aged U29 U29 57:58 7:31 29:37 23:46 4:41 3:36 1:45 3:34 2:38 3:59 1:33 3:04 3:37
52 Alexander Paid., Al Taki 🇫🇷 FRA19th of 151 aged U29 U29 58:11 7:44 29:28 24:00 4:48 3:31 1:48 3:20 2:24 4:16 1:30 3:43 3:28
53 Pierre Huiban, Fabien Cosmao 🇫🇷 FRA31st of 241 aged 30-39 30-39 58:17 7:50 29:55 23:43 4:43 3:29 1:54 3:17 2:44 3:49 1:27 3:10 3:53
54 Emeric Choisy, Yoann Lescure 🇫🇷 FRA4th of 40 aged 40-49 40-49 58:26 7:59 31:32 22:24 4:35 3:37 1:40 2:59 2:12 3:53 1:25 3:10 3:28
55 Clement Huber, Benjamin Voirin 🇫🇷 FRA32nd of 241 aged 30-39 30-39 58:28 8:01 29:47 24:09 4:38 3:42 1:47 3:24 2:23 4:05 1:32 3:23 3:53
56 Kévin Lasserre, Valentin Lauret 🇫🇷 FRA20th of 151 aged U29 U29 58:33 8:06 30:39 23:22 4:36 3:55 1:36 2:49 2:14 4:00 1:21 3:24 4:03
57 Maxime Graignic, Adrien De Thoisy 🇫🇷 FRA33rd of 241 aged 30-39 30-39 58:40 8:13 30:19 23:43 4:41 3:40 2:00 3:14 2:28 4:12 1:31 2:59 3:39
58 Yassine Moumna, Alexandre Brun 🇲🇦 MAR34th of 241 aged 30-39 30-39 58:53 8:26 29:59 24:18 4:40 3:32 1:46 3:36 2:41 4:04 1:35 3:05 3:59
59 Romain Di Litta, Timothé Garel 🇫🇷 FRA21st of 151 aged U29 U29 58:54 8:27 32:11 22:11 4:37 3:46 1:46 2:58 2:04 4:04 1:17 2:41 3:35
60 Alexandre Amice, Bastien Bravais 🇫🇷 FRA35th of 241 aged 30-39 30-39 58:58 8:31 29:51 24:35 4:37 3:34 1:43 4:28 2:39 3:45 1:30 3:04 3:52
61 Ethan Ray, Hugo Martinez 🇫🇷 FRA22nd of 151 aged U29 U29 59:03 8:36 30:04 23:24 5:38 3:54 1:59 3:05 2:15 4:02 1:26 2:58 3:45
62 Lucas Heuzé, Romain Fellonneau 🇫🇷 FRA23rd of 151 aged U29 U29 59:08 8:41 32:06 22:22 4:43 3:35 1:37 3:15 2:20 3:49 1:35 2:51 3:20
63 Slohan Jean Marie Marie Magdeleine, Evan Marion 🇫🇷 FRA24th of 151 aged U29 U29 59:22 8:55 32:16 22:14 4:55 3:39 1:37 3:18 2:08 3:48 1:22 2:53 3:29
64 Martin Laville, Antoine Dumain 🇫🇷 FRA36th of 241 aged 30-39 30-39 59:23 8:56 33:01 21:38 4:48 3:22 1:46 3:03 2:15 3:47 1:24 2:44 3:17
65 Mathurin Henry, Antonio Hoff 🇫🇷 FRA25th of 151 aged U29 U29 59:25 8:58 31:36 23:01 4:52 3:43 1:34 2:54 2:33 3:46 1:18 2:58 4:15
66 Antoine Marchin, Hugo Chapuis 🇲🇨 MON26th of 151 aged U29 U29 59:25 8:58 29:33 24:41 5:16 3:35 1:40 3:31 3:11 4:06 1:43 3:24 3:31
67 Clement Giraud, Clément Santini 🇫🇷 FRA37th of 241 aged 30-39 30-39 59:27 9:00 31:41 23:12 4:39 3:51 1:39 3:19 2:34 3:57 1:19 3:06 3:27
68 Sébastien Lavallée, Fernando Contreras 🇫🇷 FRA38th of 241 aged 30-39 30-39 59:27 9:00 29:31 25:21 4:40 3:50 1:54 3:41 3:06 4:08 1:31 3:31 3:40
69 Jeremy Tellier, Larry Pons 🇫🇷 FRA39th of 241 aged 30-39 30-39 59:34 9:07 30:46 24:14 4:39 3:46 1:46 3:21 2:41 4:01 1:31 3:16 3:52
70 Mario Kuhnt, Jonathan Heuer 🇩🇪 GER27th of 151 aged U29 U29 59:38 9:11 31:12 23:46 4:45 3:45 1:32 3:05 2:32 3:50 1:34 3:42 3:46
71 Ashley Young, Liam Scott 🇬🇧 GBR28th of 151 aged U29 U29 59:42 9:15 31:04 23:39 5:04 3:44 1:42 2:37 2:42 3:53 1:32 3:28 4:01
72 Michal Sejba, Christophe Morin 🇨🇿 CZE29th of 151 aged U29 U29 59:44 9:17 33:48 21:05 4:56 3:37 1:25 2:47 1:57 3:49 1:20 2:29 3:41
73 Nathan Haag, Louis Weber 🇫🇷 FRA30th of 151 aged U29 U29 59:52 9:25 31:07 23:44 5:06 3:58 1:41 3:31 2:31 4:13 1:19 2:56 3:35
74 Doudou Ndiaye, Halim Ennadifi 🇫🇷 FRA5th of 40 aged 40-49 40-49 1:00:04 9:37 29:17 25:57 4:56 3:58 2:01 3:46 2:50 4:21 1:25 3:38 3:58
75 Gil Van Lerberghe, Louis Monier 🇫🇷 FRA40th of 241 aged 30-39 30-39 1:00:06 9:39 33:21 21:46 5:04 3:43 1:46 2:20 2:27 3:51 1:26 2:53 3:20
76 Arnaud Pocquet, Nicolas Marcoux-Richert 🇫🇷 FRA41st of 241 aged 30-39 30-39 1:00:08 9:41 30:27 25:13 4:31 3:58 1:48 3:28 2:14 4:14 1:20 4:08 4:03
77 Corentin Cardon, Thomas Locht 🇫🇷 FRA31st of 151 aged U29 U29 1:00:17 9:50 30:07 25:51 4:24 4:01 1:42 3:12 3:19 4:04 1:29 3:56 4:08
78 Florian Puchly, Omar Vazquez 🇫🇷 FRA42nd of 241 aged 30-39 30-39 1:00:24 9:57 31:20 24:30 4:37 3:34 1:36 3:18 3:15 3:58 1:19 3:30 4:00
79 Romain Degioanni, Fabien Clair 🇫🇷 FRA43rd of 241 aged 30-39 30-39 1:00:36 10:09 31:23 24:41 4:37 3:36 1:44 3:53 2:26 4:02 1:30 3:51 3:39
80 Salim Mokrani, Hecham Belaidi 🇫🇷 FRA44th of 241 aged 30-39 30-39 1:00:38 10:11 34:11 21:39 4:53 3:49 1:35 3:00 1:59 3:44 1:22 2:47 3:23
81 Romain Leclerc Hairie, Anthony Blain 🇫🇷 FRA45th of 241 aged 30-39 30-39 1:00:45 10:18 31:01 25:01 4:48 3:44 1:47 3:35 2:57 4:00 1:40 3:05 4:13
82 Sacha Quemeneur, Valentin Viel 🇫🇷 FRA32nd of 151 aged U29 U29 1:00:48 10:21 32:33 22:51 5:28 3:45 1:43 3:24 1:55 3:58 1:28 3:05 3:33
83 Issam Moatassim, Othman Ameyoud 🇲🇦 MAR46th of 241 aged 30-39 30-39 1:00:56 10:29 29:36 26:25 4:59 3:57 2:00 3:48 2:58 4:20 1:49 3:37 3:56
84 Gaspard Bui, Stéphane Fernandez 🇫🇷 FRA6th of 40 aged 40-49 40-49 1:01:00 10:33 32:16 24:00 4:46 3:52 1:50 3:41 2:14 4:11 1:28 2:59 3:45
85 Max Bernard, Joel Lenarz 🇩🇪 GER33rd of 151 aged U29 U29 1:01:03 10:36 32:26 23:48 4:52 3:56 1:44 3:40 2:19 3:56 1:22 3:19 3:32
86 Jason Lorcher, Julien Delaunay 🇫🇷 FRA47th of 241 aged 30-39 30-39 1:01:11 10:44 32:49 23:32 4:55 3:49 1:54 3:24 2:14 4:04 1:24 3:19 3:24
87 Codron Valentin, Yohannes Pansa 🇫🇷 FRA34th of 151 aged U29 U29 1:01:14 10:47 31:35 24:42 5:02 3:51 1:37 3:40 2:22 4:27 1:25 3:26 3:54
88 Anthony Peudpiece, Arthur Macé 🇫🇷 FRA48th of 241 aged 30-39 30-39 1:01:16 10:49 30:47 25:14 5:19 3:51 2:07 4:10 2:37 4:00 1:30 3:26 3:33
89 Jean-René Pouzin, Romain Branly 🇫🇷 FRA35th of 151 aged U29 U29 1:01:22 10:55 31:59 24:23 5:04 3:45 2:02 3:52 1:55 4:12 1:41 3:25 3:31
90 Wissem Jarrai, Axel Hardy 🇫🇷 FRA49th of 241 aged 30-39 30-39 1:01:24 10:57 33:38 22:32 5:20 3:42 1:28 2:54 2:20 3:50 1:25 3:16 3:37
91 Seraphin Cuny, Joan Le Bescond 🇫🇷 FRA36th of 151 aged U29 U29 1:01:25 10:58 32:16 24:12 5:03 3:52 1:47 3:25 2:52 4:01 1:26 3:23 3:26
92 Jérémy Polteau, Thomas Martin 🇫🇷 FRA50th of 241 aged 30-39 30-39 1:01:27 11:00 30:15 26:02 5:17 3:45 2:03 4:02 2:50 4:09 1:30 3:42 4:01
93 Bruno Besler De Aquino, Tristan Eon 🇧🇷 BRA37th of 151 aged U29 U29 1:01:28 11:01 32:32 24:03 4:57 3:51 1:53 3:38 2:22 4:00 1:30 3:12 3:37
94 Mehdi Bendref, Titouan Le Coq 🇫🇷 FRA51st of 241 aged 30-39 30-39 1:01:43 11:16 32:32 24:03 5:13 3:48 1:48 4:03 2:24 4:08 1:31 2:43 3:38
95 Jérémy Branger, Johan Sklenak 🇫🇷 FRA38th of 151 aged U29 U29 1:01:46 11:19 31:47 25:22 4:42 3:39 1:43 3:50 2:15 3:45 1:33 3:25 5:12
96 Ludovic Kubiak, Theo Malezieux 🇫🇷 FRA52nd of 241 aged 30-39 30-39 1:01:47 11:20 31:39 24:05 6:09 3:52 1:41 2:54 1:50 4:11 1:42 3:37 4:18
97 Luca Dickmann, Filip Zujic 🇩🇪 GER39th of 151 aged U29 U29 1:01:48 11:21 32:29 24:39 4:45 3:45 1:43 3:06 2:48 4:02 1:30 3:49 3:56
98 Etienne Sabatie, Fateh Nabil Taleb 🇫🇷 FRA53rd of 241 aged 30-39 30-39 1:01:49 11:22 31:24 26:12 4:19 3:45 2:04 4:31 2:16 4:01 1:33 3:55 4:07
99 Maxime Livraghi, Gabriel Alardet 🇫🇷 FRA54th of 241 aged 30-39 30-39 1:01:52 11:25 32:49 24:10 4:57 3:37 1:49 3:18 2:46 3:58 1:37 3:17 3:48
100 Jocelyn Pacewicz, Gaspard Pacewicz 🇫🇷 FRA40th of 151 aged U29 U29 1:01:57 11:30 34:16 22:17 5:28 3:42 1:47 2:42 2:01 3:47 1:34 2:37 4:07
How to read

The place is among timed teams in Pro Doubles Men; the line under the name is the place in the age group. Behind 1st is the gap to the winning time. Tap a time for that race's full report, or a name for every race of that athlete.

The RoxHype app

Found your result? Beat it at your next race.

The RoxHype app is your training plan to race day: built from your splits, your kit and your race date, and adjusted every week.

  • A week-by-week plan that counts down to your race
  • Extra work on your slowest stations
  • Adjusts every week to what you actually did

Free to download. Used by more than 40,000 HYROX athletes.

RoxHype app home: days to your HYROX, your expected finish range and this week's sessions RoxHype workout player guiding a sled push, with the next exercise lined up
Find my result