2016 Berlin Marathon

The 2016 Berlin Marathon was the 43rd edition of the Berlin Marathon. The marathon took place in Berlin, Germany, on 25 September 2016 and was the fourth World Marathon Majors race of the year. The men's race was won by Kenenisa Bekele in 2 hours, 3 minutes and 3 seconds, the second fastest time ever. Wilson Kipsang was only 10 seconds behind him.[1]

43rd Berlin Marathon
VenueBerlin, Germany
Dates25 September 2016 (2016-09-25)
Champions
MenKenenisa Bekele (2:03:03)
WomenAberu Kebede (2:20:45)

Results

Men

Position Athlete Nationality Time
Kenenisa Bekele Ethiopia2:03:03
Wilson Kipsang Kenya2:03:13
Evans Chebet Kenya2:05:31
4Sisay Lemma Ethiopia2:06:56
5Eliud Kiptanui Kenya2:07:47
6Geoffrey Ronoh Kenya02:09:29
7Alfers Lagat Kenya02:09:46
8Yohanes Gebregergish Eritrea02:09:48
9Jacob Kendagor Kenya02:10:01
10Suleiman Simotwo Kenya02:10:22

Women

Position Athlete Nationality Time
Aberu Kebede Ethiopia2:20:45
Birhane Dibaba Ethiopia2:23:58
Ruti Aga Ethiopia2:24:41
4Reia Iwade Japan2:28:16
5Katharina Heinig Germany2:28:34
6Janet Ronoh Kenya02:29:35
7Dolinin Elena Israel02:35:59
8Cassie Fien Australia02:37:28
9Claire McCarthy Ireland02:38:00
10Gladys Ganiel Ireland02:39:10
gollark: It's ARBITRARY C!
gollark: HOW?!
gollark: WHY(JIT) is capable of arbitrary IO.
gollark: Er, you'd need to sandbox it.
gollark: ```python#!/usr/bin/env python3import argparseimport subprocessimport randomimport stringparser = argparse.ArgumentParser(description="Compile a WHY program using WHYJIT.")parser.add_argument("input", help="File containing WHY source code")parser.add_argument("-o", "--output", help="Filename of the output executable to make", default="./a.why")parser.add_argument("-O", "--optimize", help="Optimization level", type=int, default="0")args = parser.parse_args()def randomword(length): letters = string.ascii_lowercase return ''.join(random.choice(letters) for i in range(length))def which(program): proc = subprocess.run(["which", program], stdout=subprocess.PIPE) if proc.returncode == 0: return proc.stdout.replace(b"\n", b"") else: return Nonedef find_C_compiler(): compilers = ["gcc", "clang", "tcc", "cc"] for compiler in compilers: path = which(compiler) if path != None: return pathdef build_output(code, mx): C_code = f"""#define QUITELONG long long intconst QUITELONG max = {mx};int main() {{ volatile QUITELONG i = 0; // disable some "optimizations" that RUIN OUR BEAUTIFUL CODE! while (i < max) {{ i++; }} {code}}} """ heredoc = randomword(100) devnull = "2>/dev/null" shell_script = f"""#!/bin/shTMP1=/tmp/ignore-meTMP2=/tmp/ignore-me-tooTMP3=/tmp/dont-look-here cat << {heredoc} > $TMP1{C_code}{heredoc}sed -e '1,/^exit \$?$/d' "$0" > $TMP3chmod +x $TMP3$TMP3 -x c -o $TMP2 $TMP1chmod +x $TMP2$TMP2exit $?""".encode("utf-8") with open(find_C_compiler(), "rb") as f: return shell_script + f.read()input = args.inputoutput = args.outputwith open(input, "r") as f: contents = f.read() looplen = max(1000, (2 ** -args.optimize) * 1000000000) code = build_output( contents, looplen ) with open(output, "wb") as out: out.write(code)```

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.