From a531a3ab67901d88f421b963836ba46d6ead7eca Mon Sep 17 00:00:00 2001 From: "navid.sassan" Date: Sun, 1 Nov 2020 21:49:17 +0100 Subject: [PATCH] added 06 template --- 06/Aufgabenstellung Praktikum 06.pdf | Bin 0 -> 91982 bytes 06/build.gradle | 41 + 06/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 58694 bytes 06/gradle/wrapper/gradle-wrapper.properties | 5 + 06/gradlew | 183 + 06/gradlew.bat | 103 + 06/settings.gradle | 10 + .../main/java/ch/zhaw/ads/AVLSearchTree.java | 172 + .../java/ch/zhaw/ads/AVLTreeTraversal.java | 68 + 06/src/main/java/ch/zhaw/ads/AnyServer.java | 13 + .../java/ch/zhaw/ads/CommandExecutor.java | 21 + 06/src/main/java/ch/zhaw/ads/Competitor.java | 66 + 06/src/main/java/ch/zhaw/ads/ExBox.java | 18 + 06/src/main/java/ch/zhaw/ads/ExBoxFrame.java | 314 ++ .../main/java/ch/zhaw/ads/GraphicPanel.java | 88 + .../java/ch/zhaw/ads/MyRankingVisitor.java | 13 + .../java/ch/zhaw/ads/RankingTreeServer.java | 37 + .../main/java/ch/zhaw/ads/ServerFactory.java | 68 + .../java/ch/zhaw/ads/SortedBinaryTree.java | 144 + 06/src/main/java/ch/zhaw/ads/Traversal.java | 11 + 06/src/main/java/ch/zhaw/ads/Tree.java | 17 + 06/src/main/java/ch/zhaw/ads/TreeNode.java | 18 + .../main/java/ch/zhaw/ads/TreeTraversal.java | 68 + 06/src/main/java/ch/zhaw/ads/Visitor.java | 5 + 06/src/main/resources/RangZuerich.csv | 3166 +++++++++++++++++ .../java/ch/zhaw/ads/AVLSearchTreeTest.java | 130 + 26 files changed, 4779 insertions(+) create mode 100644 06/Aufgabenstellung Praktikum 06.pdf create mode 100644 06/build.gradle create mode 100644 06/gradle/wrapper/gradle-wrapper.jar create mode 100644 06/gradle/wrapper/gradle-wrapper.properties create mode 100755 06/gradlew create mode 100644 06/gradlew.bat create mode 100644 06/settings.gradle create mode 100644 06/src/main/java/ch/zhaw/ads/AVLSearchTree.java create mode 100644 06/src/main/java/ch/zhaw/ads/AVLTreeTraversal.java create mode 100644 06/src/main/java/ch/zhaw/ads/AnyServer.java create mode 100644 06/src/main/java/ch/zhaw/ads/CommandExecutor.java create mode 100644 06/src/main/java/ch/zhaw/ads/Competitor.java create mode 100644 06/src/main/java/ch/zhaw/ads/ExBox.java create mode 100644 06/src/main/java/ch/zhaw/ads/ExBoxFrame.java create mode 100644 06/src/main/java/ch/zhaw/ads/GraphicPanel.java create mode 100644 06/src/main/java/ch/zhaw/ads/MyRankingVisitor.java create mode 100644 06/src/main/java/ch/zhaw/ads/RankingTreeServer.java create mode 100644 06/src/main/java/ch/zhaw/ads/ServerFactory.java create mode 100644 06/src/main/java/ch/zhaw/ads/SortedBinaryTree.java create mode 100644 06/src/main/java/ch/zhaw/ads/Traversal.java create mode 100644 06/src/main/java/ch/zhaw/ads/Tree.java create mode 100644 06/src/main/java/ch/zhaw/ads/TreeNode.java create mode 100644 06/src/main/java/ch/zhaw/ads/TreeTraversal.java create mode 100644 06/src/main/java/ch/zhaw/ads/Visitor.java create mode 100644 06/src/main/resources/RangZuerich.csv create mode 100644 06/src/test/java/ch/zhaw/ads/AVLSearchTreeTest.java diff --git a/06/Aufgabenstellung Praktikum 06.pdf b/06/Aufgabenstellung Praktikum 06.pdf new file mode 100644 index 0000000000000000000000000000000000000000..14c46b63ce8936566b7798638178de3af449e81e GIT binary patch literal 91982 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Ν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

MFaFj`0E~umU46TqGO~Lr#_u21qm)2>OG*AkD?- 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 literal 0 HcmV?d00001 diff --git a/06/gradle/wrapper/gradle-wrapper.properties b/06/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..a4b4429 --- /dev/null +++ b/06/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/06/gradlew b/06/gradlew new file mode 100755 index 0000000..2fe81a7 --- /dev/null +++ b/06/gradlew @@ -0,0 +1,183 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/06/gradlew.bat b/06/gradlew.bat new file mode 100644 index 0000000..9109989 --- /dev/null +++ b/06/gradlew.bat @@ -0,0 +1,103 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/06/settings.gradle b/06/settings.gradle new file mode 100644 index 0000000..35c664f --- /dev/null +++ b/06/settings.gradle @@ -0,0 +1,10 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/6.3/userguide/multi_project_builds.html + */ + +rootProject.name = 'praktikum01' diff --git a/06/src/main/java/ch/zhaw/ads/AVLSearchTree.java b/06/src/main/java/ch/zhaw/ads/AVLSearchTree.java new file mode 100644 index 0000000..55cbb90 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/AVLSearchTree.java @@ -0,0 +1,172 @@ +public class AVLSearchTree> extends SortedBinaryTree { + + /** + * Return the height of node t, or 0, if null. + */ + private int height(TreeNode t) { + return t == null ? 0 : t.height; + } + + /** + * Insert into the tree; duplicates are ignored. + * @param x the item to insert. + */ + public void add(T element) { + root = insertAt(root, element); + } + + private TreeNode balance(TreeNode p) { + if (p == null) return null; + if (height(p.left) - height(p.right) == 2) { + if (height(p.left.left) > height(p.left.right)) { + // to be done + } else { + // to be done + } + } else if (height(p.right) - height(p.left) == 2) { + if (height(p.right.right) > height(p.right.left)) { + // to be done + } else { + // to be done + } + } + p.height = Math.max(height(p.left), height(p.right)) + 1; + return p; + } + + /** + * Internal method to insert into a subtree. + * @param x the item to insert. + * @param t the node that roots the tree. + * @return the new root. + */ + private TreeNode insertAt(TreeNode p, T element) { + if (p == null) { + p = new TreeNode(element); + return p; + } else { + int c = element.compareTo((T) p.element); + if (c == 0) { + p.count++; + } else if (c < 0) { + p.left = insertAt(p.left, element); + } else if (c > 0) { + p.right = insertAt(p.right, element); + } + } + return balance(p); + } + + // find node to replace + // find node to replace + // private TreeNode rep; + private TreeNode findRepAt(TreeNode node, TreeNode rep) { + if (node.right != null) { + node.right = findRepAt(node.right,rep); + } else { + rep.element = node.element; + rep.count = node.count; + rep.height = node.height; + node = node.left; + } + // to be done + return p; + } + + // remove node + private TreeNode removeAt(TreeNode node, T x, TreeNode removed) { + if (node == null) { + return null; + } else { + if (x.compareTo(node.element) == 0) { + // found + removed.element = node.element; + if (node.count > 1) { + node.count--; + return node; + } else if (node.left == null) { + node = node.right; + } else if (node.right == null) { + node = node.left; + } else { + node.left = findRepAt(node.left,node); + } + } else if (x.compareTo(node.element) < 0) { + // search left + node.left = removeAt(node.left, x, removed); + } else { + // search right + node.right = removeAt(node.right, x, removed); + } + // to be done + return p; + } + } + + /** + * Remove from the tree. Nothing is done if x is not found. + * @param x the item to remove. + */ + public T remove(T x) { + TreeNode removed = new TreeNode(null); + root = removeAt(root, x, removed); + return removed.element; + } + + public Traversal traversal() { + return new AVLTreeTraversal(root); + } + + /** + * Rotate binary tree node with left child. + * For AVL trees, this is a single rotation for case 1. + * Update heights, then return new root. + */ + private TreeNode rotateR(TreeNode k2) { + TreeNode k1 = k2.left; + k2.left = k1.right; + k1.right = k2; + k2.height = Math.max(height(k2.left), height(k2.right)) + 1; + k1.height = Math.max(height(k1.left), k2.height) + 1; + return k1; + } + + /** + * Rotate binary tree node with right child. + * For AVL trees, this is a single rotation for case 4. + * Update heights, then return new root. + */ + private TreeNode rotateL(TreeNode k1) { + TreeNode k2 = k1.right; + k1.right = k2.left; + k2.left = k1; + k1.height = Math.max(height(k1.left), height(k1.right)) + 1; + k2.height = Math.max(height(k2.right), k1.height) + 1; + return k2; + } + + /** + * Double rotate binary tree node: first left child + * with its right child; then node k3 with new left child. + * For AVL trees, this is a double rotation for case 2. + * Update heights, then return new root. + */ + private TreeNode rotateLR(TreeNode k3) { + k3.left = rotateL(k3.left); + return rotateR(k3); + } + + /** + * Double rotate binary tree node: first right child + * with its left child; then node k1 with new right child. + * For AVL trees, this is a double rotation for case 3. + * Update heights, then return new root. + */ + private TreeNode rotateRL(TreeNode k1) { + k1.right = rotateR(k1.right); + return rotateL(k1); + } + + + +} diff --git a/06/src/main/java/ch/zhaw/ads/AVLTreeTraversal.java b/06/src/main/java/ch/zhaw/ads/AVLTreeTraversal.java new file mode 100644 index 0000000..96694bb --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/AVLTreeTraversal.java @@ -0,0 +1,68 @@ +import java.util.*; + +public class AVLTreeTraversal> implements Traversal { + + private TreeNode root; + + public AVLTreeTraversal(TreeNode root) { + this.root = root; + } + + private void inorder(TreeNode node, Visitor vis) { + if (node != null) { + inorder(node.left, vis); + for (int i=0; i < node.count; i++) vis.visit(node.element); + inorder(node.right, vis); + } + } + + public void inorder(Visitor vis) { + inorder(root, vis); + } + + private void preorder(TreeNode node, Visitor vis) { + if (node != null) { + for (int i=0; i < node.count; i++) vis.visit(node.element); + preorder(node.left, vis); + preorder(node.right, vis); + } + } + + public void preorder(Visitor vis) { + preorder(root, vis); + } + + private void postorder(TreeNode node, Visitor vis) { + if (node != null) { + postorder(node.left, vis); + postorder(node.right, vis); + for (int i=0; i < node.count; i++) vis.visit(node.element); + } + } + + public void postorder(Visitor vis) { + postorder(root, vis); + } + + void levelorder(TreeNode node, Visitor visitor) { + Queue> q = new LinkedList>(); + if (node != null) { + q.offer(node); + } + while (!q.isEmpty()) { + node = q.poll(); + for (int i=0; i < node.count; i++) visitor.visit(node.element); + if (node.left != null) { + q.offer(node.left); + } + if (node.right != null) { + q.offer(node.right); + } + } + } + + public void levelorder(Visitor vis) { + levelorder(root,vis); + } + +} diff --git a/06/src/main/java/ch/zhaw/ads/AnyServer.java b/06/src/main/java/ch/zhaw/ads/AnyServer.java new file mode 100644 index 0000000..e8dfb07 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/AnyServer.java @@ -0,0 +1,13 @@ +package ch.zhaw.ads; + +public class AnyServer implements CommandExecutor { + + @Override + public String execute(String command) { + StringBuffer result = new StringBuffer(100); + result.append("Die Eingabe war \""); + result.append(command); + result.append("\"\n"); + return result.toString(); + } +} diff --git a/06/src/main/java/ch/zhaw/ads/CommandExecutor.java b/06/src/main/java/ch/zhaw/ads/CommandExecutor.java new file mode 100644 index 0000000..57605f0 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/CommandExecutor.java @@ -0,0 +1,21 @@ +/** + * CommandExecutor -- Praktikum Experimentierkasten -- SW3 Dieses Interface muss + * von jedem Server implementiert werden. + * + * @author E. Mumprecht + * @version 1.0 -- Geruest fuer irgendeinen Server + * @version 1.1 -- K. Rege Fehlerueckgabe hinzugefuegt + */ +package ch.zhaw.ads; + +public interface CommandExecutor { + + /** + * execute -- nimmt eine Kommandozeile, tut irgendetwas gescheites, und + * berichtet das Resultat. + * + * @param command Kommandozeile + * @return Resultat, ueblicherweise eine oder mehrere Zeilen. + */ + String execute(String command) throws Exception; +}//interface CommandExecutor \ No newline at end of file diff --git a/06/src/main/java/ch/zhaw/ads/Competitor.java b/06/src/main/java/ch/zhaw/ads/Competitor.java new file mode 100644 index 0000000..2122b8e --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/Competitor.java @@ -0,0 +1,66 @@ +import java.util.*; +import java.text.*; + +public class Competitor implements Comparable { + private String name; + private String country; + private long time; + private int jg; + private int startNr; + private int rank; + + public Competitor(int startNr, String name, int jg, String country, String time) throws ParseException { + this.startNr = startNr; + this.name = name; + this.jg = jg; + this.country = country; + this.time = parseTime(time); + } + + public void setRank(int rank) { + this.rank = rank; + } + + public void setTime(long time) { + this.time = time; + } + + public long getTime() { + return time; + } + + public String getName() { + return name; + } + + public int getJg() { + return jg; + } + + private static long parseTime(String s) throws ParseException { + DateFormat sdf = new SimpleDateFormat("HH:mm:ss.S"); + Date date = sdf.parse(s); + return date.getTime(); + } + + public String toString() { + SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss.S"); + StringBuilder sb = new StringBuilder(); + sb.append("Rang: "); + sb.append(rank); + sb.append(" StartNr: "); + sb.append(startNr); + sb.append(" Name: "); + sb.append(name); + sb.append(" JG: "); + sb.append(Integer.toString(jg)); + sb.append(" Zeit: "); + sb.append(df.format(new Date(time))); + return sb.toString(); + } + + @Override + public int compareTo(Competitor o) { + return (int) (this.getTime() - o.getTime()); + } +} diff --git a/06/src/main/java/ch/zhaw/ads/ExBox.java b/06/src/main/java/ch/zhaw/ads/ExBox.java new file mode 100644 index 0000000..5fb3f64 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/ExBox.java @@ -0,0 +1,18 @@ +/** + * @author K. Rege + * @version 1.0 -- Experimentierkasten + */ +package ch.zhaw.ads; + +import java.awt.*; +import java.io.*; +import java.awt.event.*; + +public class ExBox { + + public static void main(String[] args) throws Exception { + ExBoxFrame f = new ExBoxFrame(); + f.setLocationRelativeTo(null); + f.setVisible(true); + } +} diff --git a/06/src/main/java/ch/zhaw/ads/ExBoxFrame.java b/06/src/main/java/ch/zhaw/ads/ExBoxFrame.java new file mode 100644 index 0000000..4d83da9 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/ExBoxFrame.java @@ -0,0 +1,314 @@ +/** + * @(#)ExBoxFrame.java + * + * JFC ExBox application + * + * @author K.Rege + * @version 1.00 2014/2/3 + * @version 1.01 2016/8/2 + * @version 2.00 2017/8/30 Test + * @version 2.01 2018/2/5 AutoScale + * @version 2d.02 2018/2/5 Reconnect (inspired by S. Kunz) + */ + +package ch.zhaw.ads; + + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import java.io.*; +import java.util.*; + +import org.junit.runner.JUnitCore; +import org.junit.runner.Result; +import org.junit.runner.notification.Failure; +import org.junit.runner.notification.RunListener; +import org.junit.runner.Description; + + +public class ExBoxFrame extends JFrame implements ActionListener, ItemListener { + private static double SCALE = 1; + private JMenuItem connect, open, test, textView, graphicView; + private JButton enter; + private JTextField arguments; + private JCheckBox reconnect; + private JComboBox history; + private JTextArea output; + private JScrollPane scrollPane; + private CommandExecutor command; + private boolean graphicOn; + private GraphicPanel graphic; + private String lastServer; + + public static void setFontSize(int size) { + Set keySet = UIManager.getLookAndFeelDefaults().keySet(); + Object[] keys = keySet.toArray(new Object[keySet.size()]); + for (Object key : keys) { + if (key != null && key.toString().toLowerCase().contains("font")) { + Font font = UIManager.getDefaults().getFont(key); + if (font != null) { + font = font.deriveFont((float) size); + UIManager.put(key, font); + } + } + } + } + + private void initMenu() { + JMenuBar menuBar = new JMenuBar(); + JMenu menuFile = new JMenu(); + JMenuItem menuFileExit = new JMenuItem(); + menuFile.setText("File"); + menuFileExit.setText("Exit"); + + // Add action listener.for the menu button + menuFileExit.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + ExBoxFrame.this.windowClosed(); + } + }); + + menuFile.add(menuFileExit); + menuBar.add(menuFile); + + JMenu menuServer = new JMenu("Server"); + menuBar.add(menuServer); + connect = new JMenuItem("Connect"); + connect.addActionListener(this); + menuServer.add(connect); + test = new JMenuItem("Test"); + test.addActionListener(this); + menuServer.add(test); + + JMenu menuView = new JMenu("View"); + menuBar.add(menuView); + textView = new JMenuItem("Text"); + textView.addActionListener(this); + menuView.add(textView); + graphicView = new JMenuItem("Graphic"); + graphicView.addActionListener(this); + menuView.add(graphicView); + + open = new JMenuItem("Open..."); + open.addActionListener(this); + menuFile.insert(open, 0); + setJMenuBar(menuBar); + } + + private void initComponents() { + setLayout(new BorderLayout()); + output = new JTextArea(); + scrollPane = new JScrollPane(output); + add(BorderLayout.CENTER, scrollPane); + + Panel panel = new Panel(new BorderLayout()); + arguments = new JTextField(); + arguments.addActionListener(this); + panel.add(BorderLayout.CENTER, arguments); + enter = new JButton("enter"); + enter.addActionListener(this); + panel.add(BorderLayout.EAST, enter); + reconnect = new JCheckBox("reconnect",true); + panel.add(BorderLayout.WEST,reconnect); + history = new JComboBox(); + history.addItemListener(this); + panel.add(BorderLayout.SOUTH, history); + add(BorderLayout.SOUTH, panel); + } + + /** + * get default path for file open dialog + */ + String getPathCompiled() { + String pathtocompiled = getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); + pathtocompiled = pathtocompiled.replace("%20", " ").replace("/", + File.separator); + pathtocompiled += getClass().getPackage().getName().replace(".", + File.separator); + if (System.getProperty("os.name").toLowerCase().indexOf("win") >= 0) { + pathtocompiled = pathtocompiled.substring(1); + } + return pathtocompiled; + } + + /** + * The constructor + */ + public ExBoxFrame() throws Exception { + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception ex) { + ex.printStackTrace(); + } + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + if (screenSize.getWidth() > 1920) { + SCALE = 2; + } + setFontSize((int) (11 * SCALE)); + setSize(new Dimension((int) (400 * SCALE), (int) (400 * SCALE))); + setTitle("ExBox"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + initMenu(); + initComponents(); + } + + private void error(String s) { + output.append("\nERROR:" + s + "\n"); + } + + private void interpret(String args) throws Exception { + if (reconnect.isSelected() && lastServer != null) { + command = ServerFactory.createServer(lastServer); + } + if (!arguments.getText().equals(history.getItemAt(0)) + && !arguments.getText().equals(history.getSelectedItem())) { + history.insertItemAt(arguments.getText(), 0); + } + if (command == null) { + error("no Server connected"); + } else { + String res = command.execute(args); + if (graphicOn) { + graphic.setFigure(res); + } else { + output.append(res); + } + } + } + + private void setGraphicView() { + if (graphicOn) { + return; + } + remove(scrollPane); + graphic = new GraphicPanel(); + output.removeNotify(); + add(BorderLayout.CENTER, graphic); + graphicOn = true; + validate(); + repaint(); + } + + private void setTextView() { + if (!graphicOn) { + return; + } + remove(graphic); + add(BorderLayout.CENTER, scrollPane); + graphicOn = false; + validate(); + repaint(); + } + + private String openFileDialog(String startDirectory, String pattern) { + FileDialog fd = new FileDialog(this, "Open"); + if (pattern != null) { + fd.setFile(pattern); + } + if (startDirectory != null) { + fd.setDirectory(startDirectory); + } + fd.setVisible(true); + return fd.getDirectory() + fd.getFile(); + } + + private void testCommand() throws Exception { + final java.util.List failed = new LinkedList(); + final java.util.List finished = new LinkedList(); + + JUnitCore runner = new JUnitCore(); + + String name = openFileDialog(getPathCompiled(), "*Test.class"); + runner.addListener(new RunListener() { + @Override + public void testFinished(Description description) throws Exception { + finished.add(description.getDisplayName()); + } + + @Override + public void testFailure(Failure failure) throws Exception { + failed.add(failure.getDescription().getDisplayName()); + } + }); + Class testClass = ServerFactory.loadClass(name); + Result result = runner.run(testClass); + + for (String test : finished) { + if (!failed.contains(test)) { + output.append(test + ": OK\n"); + } + } + for (Failure failure : result.getFailures()) { + output.append(failure.toString() + " ERROR\n"); + } + output.append( + "TESTS PASSED: " + + (result.wasSuccessful() + ? "OK \u263a" + : result.getFailures().size() + " ERRORS") + + "\n"); + } + + private void connectCommand() throws Exception { + String name = openFileDialog(getPathCompiled(), "*Server.class"); + command = ServerFactory.createServer(name); + lastServer = name; + String fullClassName = command.getClass().getName(); + String simpleClassName = fullClassName.substring( + fullClassName.lastIndexOf('.') + 1); + setTitle("ExBox connected to " + simpleClassName); + + } + + private void openFile() throws Exception { + String name = openFileDialog(null, null); + + BufferedReader br = new BufferedReader( + new InputStreamReader(new FileInputStream(name), "ISO-8859-1")); + StringBuffer b = new StringBuffer(); + String line; + while ((line = br.readLine()) != null) { + b.append(line); + b.append('\n'); + } + interpret(b.toString()); + } + + public void itemStateChanged(ItemEvent e) { + try { + arguments.setText((String) e.getItem()); + interpret(arguments.getText()); + } catch (Throwable ex) { + error(ex.toString()); + } + } + + public void actionPerformed(ActionEvent e) { + try { + if ((e.getSource() == arguments) || (e.getSource() == enter)) { + interpret(arguments.getText()); + } else if (e.getSource() == connect) { + connectCommand(); + } else if (e.getSource() == test) { + testCommand(); + } else if (e.getSource() == open) { + openFile(); + } else if (e.getSource() == textView) { + setTextView(); + } else if (e.getSource() == graphicView) { + setGraphicView(); + } + } catch (Throwable ex) { + ex.printStackTrace(); + error(ex.toString()); + } + } + + /** + * Shutdown procedure when run as an application. + */ + protected void windowClosed() { + System.exit(0); + } +} diff --git a/06/src/main/java/ch/zhaw/ads/GraphicPanel.java b/06/src/main/java/ch/zhaw/ads/GraphicPanel.java new file mode 100644 index 0000000..e5cf666 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/GraphicPanel.java @@ -0,0 +1,88 @@ +package ch.zhaw.ads; + + +import javax.swing.*; +import java.awt.event.*; +import java.awt.*; +import java.util.*; + + +public class GraphicPanel extends JPanel { + + String figure; + + public void setFigure(String figure) { + this.figure = figure; + paint(getGraphics()); + } + + private void drawRect(Graphics g, double x, double y, double width, double height, String style) { + int w = getWidth(); + int h = getHeight(); + int ix0 = (int) (w * x); + int iy0 = (int) (h * y); + int ix1 = (int) (w * (x + width)); + int iy1 = (int) (h * (y + height)); + if (style.equals("draw")) { + g.drawRect(ix0, h - iy1, ix1 - ix0, iy1 - iy0); + } else { + g.fillRect(ix0, h - iy1, ix1 - ix0, iy1 - iy0); + } + } + + private void drawFigure(Graphics g) { + if (figure != null) { + int w = getWidth(); + int h = getHeight(); + g.setColor(Color.black); + StringTokenizer tok = new StringTokenizer(figure, " <>=/,\"\n"); + while (tok.hasMoreTokens()) { + String fig = tok.nextToken(); + if (fig.equals("line")) { + tok.nextToken(); + double x1 = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double y1 = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double x2 = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double y2 = Double.parseDouble(tok.nextToken()); + g.drawLine((int) (x1 * w), h - (int) (y1 * h), + (int) (x2 * w), h - (int) (y2 * h)); + } else if (fig.equals("rect")) { + tok.nextToken(); + double x = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double y = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double width = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + double height = Double.parseDouble(tok.nextToken()); + tok.nextToken(); + String style = tok.nextToken(); + drawRect(g, x, y, width, height, style); + } else if (fig.equals("color")) { + tok.nextToken(); + int red = Integer.parseInt(tok.nextToken()); + tok.nextToken(); + int green = Integer.parseInt(tok.nextToken()); + tok.nextToken(); + int blue = Integer.parseInt(tok.nextToken()); + g.setColor(new Color(red, green, blue)); + } + } + } + } + + private void clear(Graphics g) { + int w = getWidth(); + int h = getHeight(); + g.setColor(new Color(240, 240, 240)); + g.fillRect(0, 0, w, h); + } + + public void paint(Graphics g) { + clear(g); + drawFigure(g); + } +} \ No newline at end of file diff --git a/06/src/main/java/ch/zhaw/ads/MyRankingVisitor.java b/06/src/main/java/ch/zhaw/ads/MyRankingVisitor.java new file mode 100644 index 0000000..4dea32d --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/MyRankingVisitor.java @@ -0,0 +1,13 @@ +public class MyRankingVisitor implements Visitor { + private StringBuilder buf; + private int rank=1; + + public MyRankingVisitor(StringBuilder buf) { + this.buf = buf; + } + + public void visit(Competitor o) { + o.setRank(rank++); + buf.append(o.toString()+'\n'); + } +} diff --git a/06/src/main/java/ch/zhaw/ads/RankingTreeServer.java b/06/src/main/java/ch/zhaw/ads/RankingTreeServer.java new file mode 100644 index 0000000..fa18759 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/RankingTreeServer.java @@ -0,0 +1,37 @@ +import java.util.*; +import java.text.*; + +public class RankingTreeServer implements CommandExecutor { + + private final static int STARTNR = 0; + private final static int NAME = 1; + private final static int JG = 2; + private final static int COUNTRY = 3; + private final static int TIME = 4; + Tree tree = new AVLSearchTree<>(); + + public void load(Tree tree, String list) throws Exception { + String[] lines = list.split("\n"); + for (int i = 0; i < lines.length; i++) { + String[] items = lines[i].split(";"); + Competitor c = new Competitor(Integer.parseInt(items[STARTNR]), // startNr + items[NAME], // name + Integer.parseInt(items[JG]), // jg + items[COUNTRY], // country + items[TIME]); // time + tree.add(c); + } + } + + public String execute(String command) throws Exception { + // list of all Competitors + + //read values from String + load(tree,command); + StringBuilder buf = new StringBuilder(); + Traversal trav = tree.traversal(); + Visitor vis = new MyRankingVisitor(buf); + trav.inorder(vis); + return buf.toString(); + } +} diff --git a/06/src/main/java/ch/zhaw/ads/ServerFactory.java b/06/src/main/java/ch/zhaw/ads/ServerFactory.java new file mode 100644 index 0000000..f6acba6 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/ServerFactory.java @@ -0,0 +1,68 @@ +/** + * ServerFactory -- Praktikum Experimentierkasten -- + * + * @author K. Rege + * @version 1.0 -- Factory zur Erstellung von Server Objekten + * @version 2.0 -- Dynamisches Nachladen + */ +package ch.zhaw.ads; + +import java.io.*; + +/* Classloader that handles file path of class + */ +class MyClassLoader extends ClassLoader { + private String path; + + MyClassLoader(ClassLoader parent) { + super(parent); + } + + private byte[] getBytes(String name) { + try { + RandomAccessFile file = new RandomAccessFile(name, "r"); + byte data[] = new byte[(int) file.length()]; + file.readFully(data); + file.close(); + return data; + } catch (IOException e) {} + return null; + } + + /** + * @name filename of class + */ + public Class loadClass(String name, boolean resolve) throws ClassNotFoundException { + // System.out.println("load:" + name + " " + resolve); + Class clazz; + byte[] classData = getBytes(name); + if (classData != null) { + clazz = defineClass(classData, 0, classData.length); + path = name.substring(0, + name.length() - clazz.getName().length() - ".class".length()); + return clazz; + } + if (!resolve) { + classData = getBytes(path + name.replace(".", File.separator) + ".class"); + if (classData != null) { + return defineClass(classData, 0, classData.length); + } + } + return findSystemClass(name); + } +} + + +public class ServerFactory { + + public static Class loadClass(String name) throws Exception { + MyClassLoader myClassLoader = new MyClassLoader( + MyClassLoader.class.getClassLoader()); + Class clazz = myClassLoader.loadClass(name, true); + return clazz; + } + + public static CommandExecutor createServer(String name) throws Exception { + return (CommandExecutor) loadClass(name).newInstance(); + } +} diff --git a/06/src/main/java/ch/zhaw/ads/SortedBinaryTree.java b/06/src/main/java/ch/zhaw/ads/SortedBinaryTree.java new file mode 100644 index 0000000..02be3f1 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/SortedBinaryTree.java @@ -0,0 +1,144 @@ +import java.util.*; + +public class SortedBinaryTree> implements Tree { + protected TreeNode root; + + private TreeNode insertAt(TreeNode node, T x) { + if (node == null) { + return new TreeNode(x); + } else { + if (x.compareTo(node.element) <= 0) { + node.left = insertAt(node.left, x); + } else { + node.right = insertAt(node.right, x); + } + return node; + } + } + + public void add(T x) { + root = insertAt(root, x); + } + + // find node to replace + private TreeNode findRepAt(TreeNode node, TreeNode rep) { + if (node.right != null) { + node.right = findRepAt(node.right,rep); + } else { + rep.element = node.element; + node = node.left; + } + return node; + } + + // remove node + private TreeNode removeAt(TreeNode node, T x,TreeNode removed ) { + if (node == null) { + return null; + } else { + if (x.compareTo(node.element) == 0) { + // found + removed.element = node.element; + if (node.left == null) { + node = node.right; + } else if (node.right == null) { + node = node.left; + } else { + node.left = findRepAt(node.left,node); + } + } else if (x.compareTo(node.element) < 0) { + // search left + node.left = removeAt(node.left, x, removed); + } else { + // search right + node.right = removeAt(node.right, x, removed); + } + return node; + } + } + + public T remove(T x) { + TreeNode removed = new TreeNode(null); + root = removeAt(root, x, removed); + return removed.element; + } + + + public boolean isEmpty() { + return root == null; + } + + public Traversal traversal() { + return new TreeTraversal(root); + } + + protected int calcHeight(TreeNode node) { + if (node == null) { + return 0; + } else { + return 1 + Math.max(calcHeight(node.left),calcHeight(node.right)); + } + } + + public int height() { + return calcHeight(root); + } + + protected int calcSize(TreeNode p) { + if (p == null) { + return 0; + } else { + return p.count + calcSize(p.left) + calcSize(p.right); + } + } + + public int size() { + return calcSize(root); + } + + private boolean balanced(TreeNode node) { + if (node == null) { + return true; + } else { + return Math.abs(calcHeight(node.left) - calcHeight(node.right)) < 2 + && balanced(node.left) && balanced(node.right); + } + } + + public boolean balanced() { + return balanced(root); + } + + // only for testing and debugging: show the structure of the tree + public String printTree() { + StringBuilder out = new StringBuilder(); + if (root.right != null) { + printTree(root.right,out, true, ""); + } + out.append(root.element+"\n"); + if (root.left != null) { + printTree(root.left,out, false, ""); + } + return out.toString(); + } + + private void printTree(TreeNode node, StringBuilder out, boolean isRight, String indent) { + if (node.right != null) { + printTree(node.right, out, true, + indent + (isRight ? " " : " | ")); + } + out.append(indent); + if (isRight) { + out.append(" /"); + } else { + out.append(" \\"); + } + out.append("----- "); + out.append(node.element+"\n"); + if (node.left != null) { + printTree(node.left, out, false, + indent + (isRight ? " | " : " ")); + } + } + +} \ No newline at end of file diff --git a/06/src/main/java/ch/zhaw/ads/Traversal.java b/06/src/main/java/ch/zhaw/ads/Traversal.java new file mode 100644 index 0000000..efbdc14 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/Traversal.java @@ -0,0 +1,11 @@ +/* interface of Traversal ADT */ +public interface Traversal> { + /* traverse elements of tree in preorder */ + public void preorder(Visitor vistor); + /* traverse elements of tree in inorder */ + public void inorder(Visitor vistor); + /* traverse elements of tree in postorder */ + public void postorder(Visitor vistor); + /* traverse elements of tree in levelorder */ + public void levelorder(Visitor vistor); +} diff --git a/06/src/main/java/ch/zhaw/ads/Tree.java b/06/src/main/java/ch/zhaw/ads/Tree.java new file mode 100644 index 0000000..89f981c --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/Tree.java @@ -0,0 +1,17 @@ +/* interface of Tree ADT */ +public interface Tree> { + /* add an element to the tree */ + void add(T o); + /* remove an element; returns the element if found else return null */ + T remove(T o); + /* test if tree is empty */ + boolean isEmpty(); + /* returns instance of class that implements traversal interface */ + Traversal traversal(); + /* number of elements */ + int size(); + /* height of the tree */ + int height(); + /* is the tree balanced */ + boolean balanced(); +} diff --git a/06/src/main/java/ch/zhaw/ads/TreeNode.java b/06/src/main/java/ch/zhaw/ads/TreeNode.java new file mode 100644 index 0000000..bed03e2 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/TreeNode.java @@ -0,0 +1,18 @@ +class TreeNode> { + T element; + TreeNode left, right; + int height; + int count; + + TreeNode(T element){ + this.element = element; + this.count = 1; + this.height = 1; + } + + TreeNode(T element, TreeNode left, TreeNode right){ + this(element); this.left = left; this.right = right; + } + + T getValue(){return element;} +} \ No newline at end of file diff --git a/06/src/main/java/ch/zhaw/ads/TreeTraversal.java b/06/src/main/java/ch/zhaw/ads/TreeTraversal.java new file mode 100644 index 0000000..d5a090d --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/TreeTraversal.java @@ -0,0 +1,68 @@ +import java.util.*; + +public class TreeTraversal> implements Traversal { + + private TreeNode root; + + public TreeTraversal(TreeNode root) { + this.root = root; + } + + private void inorder(TreeNode node, Visitor vis) { + if (node != null) { + inorder(node.left, vis); + vis.visit(node.element); + inorder(node.right, vis); + } + } + + public void inorder(Visitor vis) { + inorder(root, vis); + } + + private void preorder(TreeNode node, Visitor vis) { + if (node != null) { + vis.visit(node.element); + preorder(node.left, vis); + preorder(node.right, vis); + } + } + + public void preorder(Visitor vis) { + preorder(root, vis); + } + + private void postorder(TreeNode node, Visitor vis) { + if (node != null) { + postorder(node.left, vis); + postorder(node.right, vis); + vis.visit(node.element); + } + } + + public void postorder(Visitor vis) { + postorder(root, vis); + } + + void levelorder(TreeNode node, Visitor visitor) { + Queue> q = new LinkedList>(); + if (node != null) { + q.add(node); + } + while (!q.isEmpty()) { + node = q.remove(); + visitor.visit(node.element); + if (node.left != null) { + q.add(node.left); + } + if (node.right != null) { + q.add(node.right); + } + } + } + + public void levelorder(Visitor vis) { + levelorder(root,vis); + } + +} diff --git a/06/src/main/java/ch/zhaw/ads/Visitor.java b/06/src/main/java/ch/zhaw/ads/Visitor.java new file mode 100644 index 0000000..2f3c004 --- /dev/null +++ b/06/src/main/java/ch/zhaw/ads/Visitor.java @@ -0,0 +1,5 @@ +/* interface of visitor ADT */ +public interface Visitor> { + /* called for each element in the tree */ + public void visit(T obj); +} diff --git a/06/src/main/resources/RangZuerich.csv b/06/src/main/resources/RangZuerich.csv new file mode 100644 index 0000000..00f51a3 --- /dev/null +++ b/06/src/main/resources/RangZuerich.csv @@ -0,0 +1,3166 @@ +3;Kiptum Daniel;1978;Reconvilier;02:11:31.1; +51;Ançay Tarcis;1970;Lens;02:20:02.9; +52;Kreienbühl Christian;1981;Rüti ZH;02:21:47.6; +53;Ott Michael;1982;Kilchberg ZH;02:33:48.9; +54;Menzi Christoph;1984;Esslingen;02:27:26.4; +55;Oliver Ruben;1976;Ebmatingen;02:32:12.8; +57;Elmer Beat;1961;Hombrechtikon;02:33:53.3; +58;Kühni Martin;1962;Kirchlindach;02:33:36.9; +59;Müller Stefan;1981;Luzern;02:31:14.0; +62;Marti Adrian;1978;Rapperswil SG;02:30:09.7; +63;Zwicky Christian;1966;Gockhausen;02:36:28.5; +64;Gehrig Roman;1969;Zürich;02:33:50.3; +65;Körner Lutz;1978;Zürich;02:32:47.1; +67;Nunige Guy;1966;Davos Platz;02:34:11.7; +69;Marti Fredi;1974;Altstätten SG;02:44:48.7; +70;Dufaux Laurent;1969;Ollon VD;02:43:48.8; +71;Hamd Mohamednur;1978;Neunkirch;02:19:45.7; +72;Simpson Guy;1970;Cologny;02:30:50.8; +151;Morceli Patricia;1974;Cham;02:37:28.0; +152;Berchtold Rachel;1980;Zürich;02:53:42.2; +153;Di Marco Magali;1971;Troistorrents;02:42:56.3; +156;Wyss Sandra;1977;Olten;02:54:06.3; +157;Amiet Tanja;1976;Zuchwil;02:53:08.5; +159;Meneghin-Pliska Maja;1978;Vermes;02:46:07.6; +163;Zimmermann Denise;1975;Mels;02:56:54.0; +165;Beffa Heidi;1964;Puplinge;03:09:43.9; +166;Haller Natasha;1978;Sagno;03:01:07.3; +167;Lohri Nicole;1972;Frauenfeld;02:52:31.3; +168;Serafini Susanna;1974;Mendrisio;03:29:00.2; +169;Annen Lamard Sandra;1977;Ecublens VD;02:57:20.3; +170;Mayer-Hofmann Lucia;1979;Stans;02:59:35.4; +201;Allard David;1947;Erlenbach ZH;04:26:57.0; +202;Andres Robert;1952;Zürich;03:33:42.9; +203;Angehrn Otto;1945;Dübendorf;04:20:16.5; +204;Bader Philipp;1965;Seltisberg;03:40:53.1; +205;Baer Willi;1959;Wetzikon ZH;03:28:12.9; +206;Baumann Simon;1975;Zürich;03:03:47.9; +207;Baumann Simon;1973;Bottenwil;03:12:09.6; +208;Baumann Werner;1960;Hochfelden;03:45:49.7; +209;Baur Hansruedi;1955;Rafz;04:04:04.5; +210;Bellerjeau James;1968;Erlenbach ZH;03:42:08.6; +211;Benz Felix;1960;Heerbrugg;02:58:13.2; +212;Bergamin Mario;1954;Kloten;03:26:30.3; +213;Bernhard Stefan;1970;Bubikon;04:46:01.3; +215;Berweger Peter;1969;Wollerau;02:53:15.4; +218;Bischof Thomas;1964;Bäch SZ;03:26:40.1; +219;Blatter Eveline;1970;Zürich;02:56:49.7; +220;Bolliger Armin;1960;Hohentannen;03:00:08.5; +221;Brem Daniel;1962;Wollerau;03:49:53.5; +222;Meier Zgraggen Stefani;1971;Bülach;04:33:30.8; +223;Brunold Andrea;1958;Adliswil;03:34:27.0; +224;Brüschweiler Mathias;1961;Zollikon;03:29:48.0; +225;Bucher René;1965;Zürich;04:06:20.5; +226;Buchmann Isabel;1962;Bülach;03:26:18.3; +227;Bühler Sigi;1957;Birmensdorf ZH;03:41:30.9; +228;Bühler Willi;1957;Kloten;03:30:40.3; +229;Buzzi Andreas;1962;Stallikon;03:46:55.3; +230;Cavelti Roland;1963;Uster;03:17:16.1; +231;Cremon René;1964;Zürich;03:39:32.4; +233;Denker Catrina;1968;Zürich;03:13:34.8; +235;Egli Ariane;1963;Wetzikon ZH;04:06:18.9; +236;Ehrismann Martin;1960;Zürich;03:31:04.9; +237;Eichholzer Hans;1945;Brütten;03:57:46.6; +239;Estermann Thomas;1968;Tann;03:48:47.8; +240;Fahrni Kurt;1965;Wohlen AG;03:32:56.4; +241;Fesli Mehmet;1950;Pratteln;04:46:31.2; +242;Flück Heinz;1947;Cadenazzo;04:41:57.5; +243;Flühmann Katrin;1963;Murten;03:31:29.0; +244;Fuchs Stefan;1969;Zürich;03:02:36.3; +245;Füglistaller Jörg;1957;Widen;03:32:35.2; +246;Fürst Roger;1969;Kindhausen;03:24:10.4; +247;Fürst Willi;1950;Hinwil;04:39:57.6; +248;Galati Francesco;1944;Zürich;03:29:38.1; +249;Gasser Matthias;1968;Zürich;03:29:03.8; +250;Gäumann Coni;1970;Mettmenstetten;03:59:14.9; +251;Gautschi Martin;1961;Hittnau;03:02:27.4; +252;Gerber Bernhard;1961;Wallisellen;04:06:33.1; +254;Gianini Franz;1954;Dübendorf;04:01:52.1; +255;Giger Claudio;1968;Zürich;03:06:06.0; +256;Giger Stephan;1963;Wilen b. Wil;03:56:50.1; +257;Good Erich;1962;St. Gallen;03:30:46.9; +258;Merkt Jürg;1964;Bülach;02:59:49.3; +259;Streit Markus;1963;Steffisburg;02:59:49.2; +260;Goudsmit Gerrit;1965;Greifensee;02:56:51.0; +261;Gut Viktor;1960;Sempach Stadt;03:22:35.2; +262;Haag Elisabeth;1952;Stäfa;04:10:05.7; +263;Häberli Roland;1968;Urdorf;04:36:11.0; +264;Hächler Roland;1966;Volketswil;04:00:18.3; +265;Haefeli Angela;1951;Mümliswil;03:48:09.9; +266;Häfliger Jürg;1955;Zürich;03:42:23.5; +267;Hafner Jürg;1962;Zürich;04:25:44.5; +268;Hager Armin;1970;Kaltbrunn;03:22:35.8; +269;Händle Heinz;1959;Hinteregg;04:13:38.7; +270;Herren Kurt;1943;Lupsingen;04:49:31.2; +271;Brüniger Markus;1955;Uster;03:56:54.1; +272;Hirschi Peter;1954;Wangen b. Dübendo;04:32:42.3; +273;Höck Stefan;1976;Zürich;03:34:37.9; +274;Hofmann Martin;1950;Windisch;04:21:51.7; +275;Hofstetter Corinne;1963;St. Gallen;03:30:35.2; +277;Holzinger Adrian;1967;Greifensee;03:15:05.9; +279;Huber Edi;1955;Jona;03:10:04.9; +280;Huber Mac;1965;Berikon;03:46:59.0; +281;Huggenberger Kurt;1949;Zürich;04:20:30.3; +282;Jaccard Marc Pierre;1947;Zürich;04:41:07.1; +283;Jakopic Klemen;1968;Jona;03:17:07.9; +284;Jarjour Kamel;1951;Mörschwil;03:47:02.2; +285;Jordi Markus;1963;Horgen;03:51:01.0; +286;Jost Hansueli;1978;Nottwil;03:49:31.9; +287;Jucker Andreas H.;1957;Wetzikon ZH;03:22:44.9; +288;Jud Ueli;1961;Schänis;02:52:15.4; +289;Jutzi Victor;1953;Birmensdorf ZH;03:40:25.6; +290;Kälin Léon;1950;Wernetshausen;04:04:11.0; +291;Kaufmann Patrick;1971;Dielsdorf;04:03:16.0; +293;Keller Peter;1961;Laupen ZH;03:23:54.9; +294;Keller Stephan;1959;Uster;03:26:12.3; +295;Kilchherr Virginia;1966;Rüschlikon;03:44:11.6; +296;Kloter Georg;1961;Urdorf;03:38:02.6; +297;Koch Stephan;1969;Langnau am Albis;03:28:39.7; +298;Kopp Martin;1967;Hedingen;03:17:15.1; +300;Kreienbühl Anna;1954;Rüti ZH;04:04:25.4; +301;Kreienbühl Fridolin;1954;Rüti ZH;03:51:50.0; +302;Kuendig Christoph;1961;Turbenthal;04:18:39.9; +303;Kulik Karsten;1972;Zürich;03:07:13.8; +304;Kunz Thomas;1963;Dällikon;03:47:52.3; +305;Kunz Tommy;1961;Tenniken;04:00:43.7; +306;Kuonen Kurt;1954;Lalden;03:16:10.8; +307;Kurz Daniel;1967;Zürich;03:42:28.9; +308;Kuster Verena;1956;Adliswil;04:46:49.9; +309;Laffer Urs;1959;Oensingen;03:48:15.5; +310;Landolt Andreas;1965;Adliswil;03:19:46.2; +311;Ledermann Martin;1976;Chur;04:51:42.7; +313;Nüssli Dave;1968;Rutschwil-Dägerle;03:14:49.2; +314;Graf Peter;1966;Zürich;03:14:47.9; +315;Lilley Darrel;1965;Remetschwil;04:16:09.6; +316;Manning John;1962;Zürich;03:38:25.5; +318;Maslarevic Dragan;1967;Wädenswil;04:45:37.9; +319;Meier Pascal;1968;Zürich;03:53:51.1; +320;Meier Pius;1968;Bülach;05:24:48.8; +321;Meier Robert;1953;Widen;03:58:11.2; +322;Meyer Arthur;1949;Dietlikon;04:36:21.2; +323;Meyer Christoph;1966;Gümligen;03:49:14.4; +324;Meyer Dirk;1968;Zürich;03:13:32.3; +325;Meyer Stephan;1968;Wohlen AG;03:26:31.8; +326;Milivojevic Ljubomir;1964;Birmensdorf ZH;03:04:44.1; +327;Miller Barbara;1964;Zürich;03:17:17.1; +330;Mona Sergio;1950;Bellinzona;03:19:03.6; +331;Monn Matilda;1959;Igis;03:59:34.9; +332;Müller Adrian;1971;Freienbach;03:54:32.6; +333;Müller Doris;1963;Cham;03:40:25.5; +334;Müller Thomas;1967;Jona;03:23:52.0; +335;Ochsner René;1964;Windisch;04:01:31.7; +336;Patcas Michel;1952;Zürich;03:53:53.1; +337;Peric Frank;1965;Luzern;03:27:59.8; +338;Pfister Matthias;1959;Thalwil;03:22:09.8; +339;Prosdocimi Ivan;1969;Zürich;03:46:41.9; +340;Pürro Beat;1962;Kloten;03:44:25.9; +341;Rau Dani;1964;Meilen;03:24:19.5; +342;Renggli Thomas;1972;Zürich;02:53:46.2; +343;Helfenstein Alain;1984;Zürich;03:44:44.0; +344;Anderhalden Donnino;1984;Zürich;03:44:01.1; +346;Rezan Robert;1977;Uster;03:34:37.5; +347;Rickli Jörg;1967;Schaffhausen;03:29:51.8; +348;Rothen Franz;1963;Dürnten;03:25:01.6; +349;Röthlisberger Alain P.;1967;Herrliberg;03:34:40.8; +350;Rüegg Beat;1961;Muri AG;03:26:53.1; +351;Rüegg Herbert;1961;Rothrist;03:23:31.0; +352;Ruoss Sven;1982;Zürich;03:06:32.8; +353;Sandmeier Ueli;1970;Mettmenstetten;03:13:54.5; +354;Saxer Peter;1949;Oetwil am See;03:45:15.0; +355;Schaffer Bernard;1957;Conches;03:37:55.1; +356;Schaub Werner;1970;Bachenbülach;03:36:45.4; +357;Schilling Hans;1953;Islikon;03:55:00.8; +358;Appenzeller Ulrich;1967;Bubendorf;03:59:30.8; +359;Fischer Reto;1967;Kappel SO;03:59:33.1; +360;Schlatter Sonya;1964;Zürich;04:18:26.3; +361;Schmid Christian;1967;Berikon;03:00:53.9; +362;Schmid Richard;1966;Paspels;02:58:46.7; +363;Schuster Mathias;1968;Binningen;03:11:42.3; +364;Seiler Hans;1950;Zürich;03:37:28.8; +365;Späni Urs;1955;Schindellegi;04:22:38.1; +366;Spiess Paul;1948;Uhwiesen;03:42:34.9; +367;Stalder Martin;1955;Udligenswil;03:57:32.6; +368;Steimann Ernst;1960;Gattikon;04:41:02.1; +369;Stöckli Urs;1950;Rottenschwil;03:03:26.1; +370;Straumann Urs;1970;St. Gallen;03:01:40.9; +371;Studer Franz;1956;Inwil;04:17:49.1; +372;Sturzenegger Daniel;1966;Zürich;03:28:01.9; +373;Süssli Philipp;1966;Freidorf TG;03:08:02.0; +374;Suter Kurt;1960;Goldau;03:46:46.6; +375;Tanner Christian;1969;Wädenswil;03:34:34.6; +376;Taschi Sander;1970;Pfäffikon ZH;03:36:13.3; +377;Thalmann Martin;1976;Wetzikon ZH;03:49:11.2; +378;Theiler Alois;1958;Oensingen;03:47:54.7; +379;Tischer Georg;1968;Zürich;04:44:08.7; +380;Tramacere Enrico;1964;Zürich;04:00:20.5; +381;Veraguth Christian;1964;Waltensburg/Vuorz;05:29:08.8; +382;Vetterli Thomas;1954;Wermatswil;04:16:32.9; +383;Vogel Marco;1965;Rüti ZH;03:25:36.1; +384;Vögeli Thomas;1958;Bronschhofen;03:49:27.0; +385;Vogt Urs;1959;Würenlingen;03:19:15.3; +386;Voser Therese;1957;Wettingen;03:29:13.2; +387;Vosseler Beat;1964;Gebenstorf;02:56:34.7; +388;Waller Max;1950;Köniz;04:15:17.0; +389;Walther Rita;1946;Glattbrugg;04:23:45.5; +390;Wäschle Stefan;1967;Neftenbach;03:15:35.3; +391;Wenger Beat;1967;Felsberg;03:34:52.6; +392;Wettstein Walter;1951;Brugg AG;04:53:57.7; +393;Wild Ruedi;1970;Bubikon;03:27:44.3; +394;Wyser Norbert;1956;Au ZH;03:26:23.0; +395;Zahler Markus;1954;Fehraltorf;03:56:47.9; +396;Zgraggen Walter;1957;Eglisau;03:33:11.9; +397;Zimmermann Herbert;1951;Döttingen;04:26:40.4; +398;Zingg Marcel;1967;Therwil;03:45:33.1; +399;Zollinger Thomas;1976;Würenlos;03:17:47.8; +400;Zingg Matthias;1986;Geroldswil;03:28:26.8; +402;Züger Fritz;1940;Embrach;04:20:41.2; +403;Zurbuchen Röbi;1964;Pfäffikon SZ;03:26:40.4; +404;Alpiger Karl Jun.;1966;Grüt (Gossau ZH);03:26:11.7; +405;Amacher Tom;1975;Bern;03:54:37.7; +406;Ammann Anton;1939;Winterthur;04:54:02.2; +407;Ammann Hansruedi;1952;Bettwiesen;03:49:23.4; +408;Anneler James;1935;Urdorf;04:59:47.5; +409;Bailey Richard;1956;Rüdlingen;03:24:29.3; +411;Baumberger Rolf;1964;Zürich;03:05:38.5; +412;Uhler Remo;1962;Pfäffikon SZ;04:13:30.8; +413;Jaussi Lars;1974;Küsnacht ZH;04:13:31.4; +414;Baumgartner Peter;1961;Weiach;04:43:47.2; +415;Bebie Bruno;1957;Fällanden;03:23:03.2; +416;Beck René;1960;Oberengstringen;04:21:30.0; +417;Bergamin Roland;1961;Brunnen;03:24:28.6; +418;Berger Beat;1975;Olten;02:42:27.0; +419;Bertschinger Erwin;1962;Volketswil;03:24:17.3; +420;Binder Peter;1956;Zürich;03:49:11.9; +421;Bischofberger Lukas;1981;Zürich;03:17:26.2; +422;Böhler Thomas;1963;Birmensdorf ZH;03:43:48.7; +424;Borner Daniel;1963;Männedorf;04:51:53.1; +425;Bosshard Roland;1970;Erlenbach ZH;03:18:10.3; +426;Breitenmoser Stefan;1967;Appenzell;02:56:21.4; +427;Brem Gabriella;1959;Seuzach;03:56:23.3; +428;Huber Yvonne;1964;Steinmaur;04:27:59.6; +429;Malischke Jacqueline;1963;Neerach;04:27:59.2; +430;Brem Ruedi;1956;Winterthur;03:32:12.2; +432;Bruhin Marino;1955;Langnau am Albis;03:32:43.9; +433;Bryner Adrian;1953;Zürich;04:06:52.1; +434;Bürgi Matthias;1973;Zürich;04:11:55.0; +436;Christen David;1969;Gattikon;05:02:03.8; +437;Ciprian Peter;1960;Würenlos;04:12:24.3; +438;Conrad Otto;1963;Maienfeld;04:34:00.0; +439;Conti Antonio;1953;Möriken AG;03:14:49.1; +440;Della Rossa Hanspeter;1954;Siebnen;04:04:20.0; +441;Deseö Katja;1964;Herrliberg;04:32:53.5; +442;Deseö Thomas;1959;Herrliberg;03:52:05.9; +443;Reichmuth Ruedi;1968;Richterswil;04:40:20.4; +444;Mettler Martin;1982;Bischofszell;04:39:44.8; +445;Ehrhard Andre;1946;Wettingen;03:29:17.4; +446;Eigenmann Markus;1952;Horgen;03:40:47.1; +447;Engeli Benjamin;1979;Seuzach;02:57:53.2; +448;Etzold Liz;1956;Winkel;04:33:10.0; +450;Flury Alois;1966;Einsiedeln;04:51:02.6; +451;Frei Martin;1962;Zollikon;02:46:47.7; +452;Geerdsema Jan;1960;Dällikon;04:32:20.6; +453;Gloor Ruedi;1952;Thalwil;04:20:10.2; +454;Grimm Schädel Christia;1960;Männedorf;03:49:06.0; +456;Hauck Rene;1969;Zürich;03:28:20.9; +457;Haupt Hanspeter;1953;Zürich;04:20:51.3; +458;Josty Adrian;1971;Hindelbank;04:59:25.2; +459;Wieser Andreas;1957;Zürich;04:59:26.2; +460;Heer Andreas;1975;Winterthur;03:50:32.2; +461;Hegner Connie;1967;Schmerikon;03:51:46.0; +463;Huerlimann Markus;1949;Rüschlikon;03:33:33.9; +465;Jordi Christine;1963;Horgen;03:56:35.0; +466;Juhasz Bruno;1972;St. Gallen;03:45:55.0; +467;Kämpf Kurt;1958;Koblenz;03:57:28.5; +468;Keller Andreas;1959;Gossau ZH;03:53:52.6; +469;Keller Markus;1962;Gossau SG;03:14:12.6; +470;Kern Jean-Pierre;1952;Zürich;03:55:37.6; +471;Läderach Peter;1953;Sulzbach;03:35:32.3; +472;Landolt Fredi;1944;Zollikon;03:57:25.0; +473;Lörtscher Robin;1978;Zürich;03:29:19.5; +474;Lutz Peter;1951;Glattfelden;04:39:56.3; +476;Mächler Anton;1960;Siebnen;03:47:14.9; +477;Manz Thomas;1963;Egg b. Zürich;03:33:38.9; +479;Meier Kurt;1949;St. Gallen;04:04:48.9; +480;Meier Philipp;1969;Wettingen;03:32:31.2; +481;Meile Urs;1953;Zürich;04:10:32.5; +482;Melchior Ursula;1959;Zürich;03:46:13.7; +484;Münzenmaier Samuel;1965;Winterthur;02:58:03.2; +485;Nägeli Oliver;1972;Adliswil;03:45:17.4; +486;Niederberger Martin;1976;Sarnen;03:55:45.4; +487;Pfenniger Peter;1956;Henggart;03:55:37.5; +488;Rhyn Andy;1969;Adliswil;03:28:54.3; +489;Rieder Marcos;1959;Luzern;03:08:11.3; +490;Rüeger Urs;1951;Winterthur;03:19:30.1; +492;Schreiber Christian;1976;Bülach;03:27:36.0; +493;Sobaszkiewicz Markus;1966;Wetzikon ZH;04:06:39.1; +495;Sonderer Marcel;1963;Kilchberg ZH;03:11:32.6; +496;Spielmann Hans-Peter;1948;Grüningen;03:44:30.3; +497;Steiner Ueli;1964;Wallisellen;03:56:34.9; +498;Stöckli Silvia;1950;Uster;05:10:36.7; +499;Straube Wolfgang;1961;Wädenswil;03:42:04.6; +500;Zielmann Sarah;1976;Zürich;03:59:32.8; +501;Suter Thomas;1957;Meilen;03:21:52.2; +502;Sutter Fritz;1941;Bonstetten;04:23:39.4; +503;Tschopp André;1960;Zürich;03:25:06.6; +504;Utzinger Reto;1964;Uster;03:24:43.8; +506;Waltl Günther;1965;Meilen;03:28:29.0; +507;Wartmann Matthias;1957;Zürich;03:42:03.9; +508;Wegmueller Marc Simon;1977;Zürich;03:15:37.4; +509;Wegmüller Rolf;1950;Bolligen;03:15:38.6; +510;Widmer Lucas;1959;Uitikon Waldegg;02:46:06.3; +513;Bugmann Daniel;1957;Weisslingen;03:15:19.8; +514;Dos Reis Romeo;1966;Hinteregg;03:34:55.0; +515;Meier-Pfosi Marlies;1958;Chur;05:11:40.1; +516;Schmid Beat;1964;Urdorf;04:19:03.8; +517;Sicurelli Ernesto;1948;Davos Platz;03:26:25.5; +518;Ulrich Beat;1958;Buttikon SZ;03:25:27.1; +519;Bossi Daniel;1961;Zollikerberg;04:04:24.4; +520;Coradi Reto;1969;Esslingen;03:38:27.0; +522;Kaufmann Reto;1950;Urdorf;05:10:43.1; +523;Margreth Pascal;1956;Adliswil;04:24:04.5; +524;Schaffner Lukas;1969;Schönenwerd;03:35:23.0; +525;Schatt Hansjörg;1966;Maur;04:09:32.5; +526;Schmid Ernst;1965;Udligenswil;02:51:07.9; +527;Soland Benjamin;1967;Männedorf;03:31:59.2; +528;Meier Stefan;1970;Wädenswil;03:33:03.6; +777;Herzog Margrit;1957;Ottenbach;03:57:45.0; +801;Bartholdi Roger;1969;Zürich;04:01:38.7; +802;Lauber Gerold;1956;Zürich;03:48:01.4; +1001;Abegg Monica;1959;Uetikon am See;03:56:33.1; +1002;Abeguile Juliette;1972;Zürich;03:33:44.5; +1004;Aerne Rusterholz Susan;1958;Thalwil;04:05:15.9; +1006;Allemann Olivia;1974;Hedingen;04:12:36.4; +1007;Altmann Béatrice;1974;Horgen;03:31:22.2; +1008;Altwegg Fehr Susanne;1965;Affoltern am Albi;03:44:40.6; +1011;Angst Nicole;1969;Wangen b. Dübendo;03:58:32.6; +1012;Antener Doris;1958;Düdingen;03:47:33.4; +1014;Arena Michaela;1978;Richterswil;04:12:27.7; +1015;Arlitt Nicole;1976;Kloten;04:10:56.4; +1016;Arnold Corinne;1972;Zug;03:28:30.5; +1017;Arnold Ruth;1963;Adligenswil;03:24:42.8; +1018;Bächle Karin;1980;Zürich;03:47:12.8; +1019;Bachmann Nicole;1986;Winterthur;03:47:13.8; +1024;Ballamann Gudrun;1964;Rüti ZH;04:10:45.9; +1025;Bannier Elsbeth;1963;Aesch BL;03:54:42.0; +1026;Bättig Ruth;1968;Schenkon;03:45:44.9; +1031;Bebi Mirjam;1982;Zürich;02:58:12.9; +1032;Béguin Sandrine;1977;Männedorf;04:21:05.8; +1035;Belk Brigitte;1968;Courlevon;04:04:51.2; +1036;Bellgardt Sabine;1956;Hausen AG;04:21:17.8; +1037;Bennett Nicole;1961;Niederhasli;04:53:22.1; +1038;Benz Regula;1974;Wil SG;03:30:19.7; +1039;Berchtold Marion;1972;Filet;03:45:48.0; +1040;Berchtold Silvia;1951;Niederhasli;05:00:58.2; +1044;Bienz Sabrina;1983;Horgen;03:54:02.0; +1045;Bissig Katharina;1979;Wallisellen;03:57:07.4; +1046;Blaeser Manelle;1976;Neuhausen am Rhei;04:05:37.7; +1047;Blatter Priska;1965;Niederried b. Int;04:16:43.4; +1048;Boehm Martina;1976;Walchwil;03:58:38.9; +1050;Bolfing Petra;1970;Luzern;03:09:24.2; +1051;Boos-Hautmann Andrea;1979;Kaltbrunn;04:16:17.6; +1052;Borsatti Luciana;1959;Zürich;04:39:50.9; +1053;Bosshard Erika;1969;Bülach;04:21:35.5; +1054;Bottesi Elisabeth;1960;Oetwil am See;04:11:56.3; +1056;Brandenberg Monika;1965;Steffisburg;03:41:55.3; +1057;Brändle Cindy;1977;Dielsdorf;04:07:53.1; +1062;Brülisauer Marianne;1968;Appenzell;03:09:16.8; +1063;Brunner Jeannette;1968;Uster;03:38:03.1; +1065;Bucher Yvonne;1974;Lachen SZ;04:04:11.0; +1066;Buchser Marie-Louise;1965;Meinisberg;04:27:44.9; +1067;Buehler Luzia;1982;Pfäffikon ZH;03:37:34.9; +1069;Bugmann Franziska;1971;Ennetbaden;04:04:06.0; +1070;Buholzer Marlis;1958;Steffisburg;04:14:25.0; +1071;Burgardt Sonja;1968;Hausen am Albis;03:53:53.8; +1072;Bürge-Stahel Ursula;1966;Weissbad;04:21:06.2; +1075;Busque Stephanie;1979;Zürich;04:16:09.0; +1078;Calic Manda;1961;Ebmatingen;04:01:57.7; +1079;Camathias Heidi;1963;Trimmis;04:25:21.0; +1081;Casagrande Ruth;1956;Luzern;03:47:47.4; +1083;Cathomas Yvonne;1958;Allschwil;04:33:50.5; +1084;Cavelti Gaby;1968;Speicher;03:32:08.7; +1086;Claivaz Patricia;1979;Bern;04:57:11.2; +1087;Clark Joan;1972;Basel;04:09:41.9; +1088;Clematide Renate;1966;Zürich;03:12:23.6; +1093;Cotroneo Laura;1959;Collombey;04:40:20.6; +1096;De Cristofaro Teresa;1966;Wattwil;04:31:18.3; +1098;Debély-Escher Raphaela;1963;Worben;03:56:36.2; +1099;Deck-Meier Rosie;1964;Watt;04:00:35.9; +1102;Diethelm Melanie;1988;Bubikon;04:43:21.4; +1105;Dober Karin;1973;Küssnacht am Rigi;03:41:48.9; +1107;Dollerup Brit;1974;Menzingen;03:34:36.5; +1109;Dossenbach Laura;1989;Jonen;03:48:51.4; +1112;Ducrey Marie-Claire;1966;Neyruz FR;03:37:40.4; +1115;Ecoffey Liliane;1973;Zürich;04:26:32.2; +1120;Emmenegger Sandra;1970;Arlesheim;03:52:23.9; +1121;Emmenegger Tanja;1976;Muttenz;03:42:35.7; +1122;Engeler-Zöllig Monika;1951;Einsiedeln;04:01:55.1; +1123;Erismann Liliane;1967;Thalwil;04:09:57.5; +1125;Eyerman Jennifer;1976;Basel;03:27:32.3; +1127;Addea Jasmin;1981;Schöftland;03:43:23.5; +1128;Fikarova Olga;1977;Brugg AG;04:14:49.8; +1130;Fischer Marion;1970;Gippingen;04:05:54.4; +1131;Fischknecht Sibylle;1971;Feldbach;03:30:21.3; +1134;Föller Fiona;1969;Dübendorf;04:27:12.9; +1135;Forrer Brigitte;1968;Wollerau;03:43:13.4; +1137;Forster Kundert Helen;1941;Richterswil;05:02:18.5; +1139;Frankiny Denise;1979;Kappel SO;03:13:41.3; +1140;Franz-Pfetzer Ursula;1961;Kreuzlingen;05:14:57.7; +1141;Fratila Ana-Maria;1967;Buchs AG;04:06:41.1; +1142;Frei Melanie;1990;Unterstammheim;03:54:41.0; +1143;Frei Miriam;1978;Zürich;04:43:31.6; +1144;Frey Gaby;1976;Hausen am Albis;03:41:35.6; +1145;Frey Viola;1969;Tuggen;04:03:08.5; +1146;Frey-Martins Eli;1977;Winterthur;03:58:10.1; +1147;Friederich-Baur Marian;1956;Basel;04:37:22.9; +1148;Friedli Gertrud;1960;Zürich;04:33:34.9; +1150;Fritzsche Sandra;1979;Wädenswil;04:01:35.4; +1151;Fuchs Katharina;1967;Schaffhausen;04:16:29.9; +1152;Fuchser Karin;1971;Unterentfelden;04:01:53.8; +1154;Furrer-Theiler Imelda;1961;Einsiedeln;03:49:14.6; +1155;Gagliardi Ulla;1973;Dietikon;04:09:39.5; +1156;Gahlinger Chantal;1971;Bern;03:58:12.1; +1157;Gähwiler Anita;1962;Degersheim;05:13:12.4; +1158;Gähwiler Liselotte;1964;Lütisburg;03:16:54.3; +1163;Gass Regina;1965;Zürich;04:01:53.2; +1164;Gattiker Irene;1958;Zürich;04:11:34.3; +1165;Gautschi Caroline;1967;Freienstein;04:13:10.1; +1168;Gerth-Zellweger Trudi;1958;Thal;04:12:03.6; +1169;Glaus Barbara;1978;Neftenbach;03:11:55.5; +1171;Gleises Alice;1985;Zürich;04:11:29.1; +1172;Gloor Isabelle;1966;Scherz;03:57:49.9; +1175;Goeree Michelle;1970;Zürich;04:57:30.0; +1176;Gomringer Nicole;1972;Seuzach;03:12:56.5; +1177;Graf-Ganz Ursula;1956;Uster;04:26:49.8; +1179;Graule Karin;1962;Schaffhausen;03:56:29.5; +1182;Grosswiler Katrin;1985;Winterthur;04:01:13.2; +1184;Guenat Raquel;1975;Zürich;03:45:58.1; +1186;Häcki Florence;1977;Zürich;03:22:38.0; +1187;Hägle Monika;1964;Biel/Bienne;04:49:05.5; +1189;Hannay Jackie;1959;Dübendorf;03:48:34.5; +1191;Hartmann Hanne;1957;Wettswil;04:05:53.4; +1193;Haudenschild Barbara;1975;Oberbuchsiten;04:11:32.2; +1194;Häusermann Anya;1980;Basel;03:41:17.8; +1195;Häusler Eva;1982;Greifensee;03:39:02.5; +1196;Hayoz Catherine;1965;Neyruz FR;03:40:32.0; +1197;Hefti Eliane;1985;Zürich;04:23:02.4; +1200;Heim Tina;1975;Romanshorn;03:33:22.1; +1202;Heiniger Daniela;1986;Büren an der Aare;03:44:44.1; +1203;Heiniger Elsbeth;1952;Büren an der Aare;04:06:59.8; +1205;Hersberger-Gsell Vera;1978;Basel;03:58:03.6; +1206;Herwig Marie-Therese;1947;Arosa;04:11:08.1; +1209;Hoffmann Dorothee;1966;Männedorf;04:08:14.4; +1210;Hofmann Judith;1989;Grüningen;03:39:20.5; +1213;Höglund Mikaela;1979;Cheseaux-Noréaz;02:59:13.3; +1220;Hotz Sigrist Gabriela;1964;Eglisau;04:03:19.2; +1222;Huber Alice;1991;La Chaux-de-Fonds;03:45:15.5; +1224;Huber-Muhl Prisca;1969;Windisch;03:27:03.8; +1225;Hübscher Sara;1980;Cham;04:06:30.3; +1226;Huclova Sonja;1980;Zürich;03:28:29.1; +1229;Hunn Erika;1961;Au ZH;03:47:11.7; +1231;Huwyler Renate;1969;Hünenberg;04:56:46.2; +1232;In-Albon Wampfler Tina;1976;Basel;02:54:59.8; +1233;Inglin Heidi;1971;Winterthur;04:08:25.3; +1234;Insley-Darling Janet;1968;Richterswil;04:01:18.8; +1235;Issakainen Vilma;1983;Verbier;03:59:57.6; +1238;Jeker Sabine;1973;Jona;03:40:53.9; +1239;Jenny Esther;1963;Winterthur;03:26:56.8; +1240;Jenzer Nina;1985;Zürich;04:33:15.5; +1241;Jokl Franziska;1984;Winterthur;05:15:39.1; +1244;Jud Daniela;1964;Schänis;04:10:28.8; +1245;Käch Silvia;1976;Scherz;04:03:47.1; +1246;Kaderli Iris;1973;Salenstein;04:15:39.5; +1247;Kaetzke Philomela;1973;Zürich;03:48:35.9; +1249;Kaltenrieder Margrit;1956;Düdingen;03:25:23.4; +1250;Kamm Heidy;1960;Zürich;04:56:29.1; +1251;Käppeli Helena;1968;Merenschwand;03:59:34.3; +1253;Karremans Jeannette;1969;Wasterkingen;03:33:33.0; +1255;Keller Jacqueline;1962;Gebenstorf;03:09:10.5; +1257;Keller-Noser Nicole;1968;Gossau SG;04:21:59.9; +1258;Kellerhals Luzia;1974;Niederbipp;03:30:14.3; +1259;Kern Beatrice;1969;Wollerau;04:32:41.8; +1263;Keup Verena;1969;Zürich;04:34:54.3; +1265;Kirchhof Frizzi;1982;Zürich;03:57:05.6; +1266;Kleinlaut Karin;1974;Matt;03:56:20.7; +1273;Knuchel Patrizia;1978;Galgenen;03:13:21.6; +1274;Koch Tamara;1988;Dietikon;04:00:47.4; +1278;Kramer Jutta;1972;Biberist;03:57:31.5; +1281;Krebs-Stickel Sandra;1961;Zürich;04:03:03.0; +1286;Krummenacher Brigitte;1978;Sarnen;04:00:52.9; +1287;Kubli Rebekka;1976;Langnau am Albis;04:07:21.4; +1288;Küffner Marianne;1972;Stetten AG;03:36:19.5; +1290;Kuhn Patricia;1972;St. Pantaleon;04:05:17.5; +1291;Kunz Sibylle;1973;Hünenberg See;03:50:46.1; +1292;Lacher Priska;1963;Trachslau;03:22:38.7; +1294;Landolt Bernadette;1964;Zürich;03:54:31.3; +1297;Lanner Regina;1976;Schaffhausen;04:20:58.1; +1303;Lehner Christa;1985;Kilchberg ZH;04:44:59.2; +1305;Leitmann Petra;1977;Rüschlikon;04:13:02.7; +1309;Lewis Anne;1957;Pfäffikon SZ;05:07:56.6; +1315;Litzius Denise;1980;Binningen;04:16:19.8; +1316;Long Lisbeth;1944;Fehraltorf;05:28:42.2; +1317;Loretz Manuela;1986;Erstfeld;03:27:22.2; +1318;Lüthi Lisa;1969;Thun;03:52:40.7; +1320;Maag-Hegetschweiler Ch;1967;Dietikon;03:32:15.8; +1322;Maggini Esther;1950;Wädenswil;04:35:40.9; +1324;Marti Rosmarie;1959;Bettlach;04:46:36.4; +1326;Matz Brigitte;1959;St-Légier;03:27:20.3; +1328;Mazzolini Mbenda Betti;1970;Glarus;04:02:53.3; +1331;Meier Gisela;1982;Bülach;04:20:56.8; +1332;Meier Isabel;1962;Horgen;03:54:29.6; +1333;Meier Jessica;1984;Zürich;03:47:11.8; +1334;Allemann Isabelle;1982;Aarburg;03:20:13.7; +1335;Meister Franziska;1965;Dachsen;03:43:43.8; +1336;Messmer Monika;1968;Hinwil;04:43:05.6; +1338;Metzger Hübi;1954;Eschenz;03:56:50.5; +1340;Michel Irène;1959;Zürich;04:40:33.3; +1343;Mlekusch Sabine;1977;Bern;04:57:10.7; +1344;Möckli Ruth;1956;Uitikon Waldegg;04:55:14.3; +1345;Modoux Liliane;1963;Feuerthalen;04:33:28.4; +1347;Mühldorfer Annette;1970;Zürich;03:58:49.9; +1348;Morf Doris;1968;Frenkendorf;04:46:54.3; +1349;Mosetti Michelle;1960;Froideville;04:21:30.0; +1350;Muggleton Belinda;1968;Zürich;04:18:22.4; +1351;Bärtsch Edith;1983;Heiligkreuz (Mels;03:40:14.9; +1354;Müller Jennifer;1984;Frenkendorf;03:29:58.2; +1355;Müller Sandra;1970;Birmensdorf ZH;03:31:42.8; +1359;Näf Esther;1973;Adliswil;04:04:42.8; +1360;Nakanishi Yoshiko;1978;Versoix;04:26:51.9; +1361;Nardiello Selina;1972;Birsfelden;03:43:57.5; +1363;Neidhart Jana;1983;Winterthur;03:36:45.1; +1365;Nelson Christen;1981;Frümsen;03:24:28.6; +1368;Baumann Flavia;1990;Flawil;03:50:36.9; +1369;Neri Claudia;1979;Zürich;03:52:57.9; +1370;Neustadt Rita;1964;Grindelwald;03:35:23.3; +1372;Niederberger Fränzi;1951;Ennetmoos;03:54:18.1; +1373;Niederberger Trudi;1953;Uster;04:39:30.0; +1374;Niederhauser Dami;1971;Binningen;04:14:27.6; +1375;Nielsen Birgitte;1963;Zug;03:44:22.1; +1378;O'Neill Annemarie;1983;Zürich;04:10:48.7; +1379;Odenbach Mary;1963;Möhlin;03:50:44.8; +1382;Oneta Cristina;1963;Adliswil;04:07:10.3; +1383;Ossowska Maria;1986;Wollerau;03:57:34.6; +1384;Padberg Barbara;1961;Chur;03:46:42.8; +1385;Paganini Chiara;1990;Gossau SG;04:16:43.3; +1390;Praz Maria;1960;Sion;04:26:42.8; +1393;Pulver Barbara;1965;Niederscherli;03:21:09.7; +1395;Purtschert Amanda;1980;Bellinzona;04:07:03.6; +1396;Rada Marianne;1963;Samstagern;03:51:41.6; +1398;Rakic Silvia;1982;Adliswil;04:25:10.4; +1400;Rechsteiner Sandra;1981;Niederbüren;03:23:42.4; +1401;Recine Lisa;1960;Zürich;04:33:10.5; +1402;Reinhold Irene;1964;Greifensee;03:57:05.1; +1405;Renggli Conny;1972;Alpnach Dorf;04:23:09.5; +1407;Reusser Christine;1963;Scherz;04:08:57.5; +1408;Rhomberg Birgitta;1963;Zürich;03:29:49.0; +1409;Richards Shola;1975;Zürich;05:05:02.8; +1410;Riga Petra;1970;Stallikon;03:30:53.5; +1413;Ringger Christa;1980;Zürich;04:14:44.5; +1414;Rippstein Hilde;1958;Baden;04:02:11.3; +1415;Riva Anita;1965;Eglisau;04:57:03.1; +1418;Rosenast Andrea;1970;Horgen;03:33:20.5; +1419;Rosenberger Thekla;1957;Aarau;04:03:36.2; +1420;Rossi Marianne;1977;Baden;03:43:50.4; +1421;Roth Barbara;1964;Zürich;04:38:53.2; +1424;Rüeger Riikka;1972;Lufingen;04:10:10.9; +1425;Rüegg Kim;1983;Zürich;04:11:34.6; +1426;Ruesch Caroline;1968;Basel;04:28:02.8; +1429;Russenberger Doris;1974;Winterthur;03:13:34.4; +1430;Russo Andrea;1966;Zürich;04:41:49.5; +1431;Rutishauser Cornelia;1976;Lachen SZ;04:28:46.0; +1436;Saly Katrin;1975;Zürich;03:31:23.0; +1437;Schaub Andrea;1968;Hinwil;04:08:39.9; +1438;Scheiwiller Margrit;1941;Amriswil;05:03:02.2; +1440;Schenkel Gabriela;1977;Zürich;03:34:02.3; +1441;Schenkel Karin;1971;Stein am Rhein St;04:13:08.8; +1442;Scherer Cornelia;1958;Bolligen;04:27:02.8; +1445;Schild-Leuthold Juliet;1978;Bern;02:57:44.4; +1452;Schneider Anne;1970;Hinteregg;04:01:13.0; +1453;Schneider Monica;1964;Kilchberg ZH;03:59:27.5; +1455;Schölly Deborah;1988;Zurzach;04:39:56.0; +1458;Schudel Jacqueline;1987;Embrach;04:27:00.3; +1459;Schülin Sabina;1969;Aeugst a.A.;03:47:19.8; +1461;Schwander Gabriela;1958;Würenlos;04:14:55.3; +1463;Schwarzentruber Cornel;1981;Menznau;03:45:09.2; +1465;Schwegler Nicole;1975;Fehraltorf;03:42:48.1; +1466;Schwerzmann Michèle;1966;Brissago;03:17:01.7; +1470;Seiler Sonja;1964;Burgdorf;03:09:36.5; +1471;Seitz Judith;1962;Dietikon;04:00:13.6; +1472;Senn Claudia;1976;Olten;03:45:32.6; +1474;Siegenthaler Brigitte;1964;Oberentfelden;03:48:24.8; +1475;Siegfried Anita;1962;Freidorf TG;04:14:01.9; +1476;Sigrist Jeannette;1976;Oberwil BL;03:36:39.8; +1477;Simmen Sabine;1980;Winterthur;03:24:12.0; +1479;Skreckova Denisa;1981;Birr-Lupfig;03:51:43.8; +1482;Smith Sarah;1975;Zürich;03:52:56.6; +1483;Sobrino Karen;1972;St. Gallen;03:26:49.4; +1488;Stadler Eufemia;1956;Zürich;04:16:10.4; +1489;Stäger Marianne;1976;Zürich;03:46:56.2; +1491;Stampfer Brigitte;1976;St. Gallen;04:19:50.8; +1496;Steiger Birgit;1960;Wangen b. Dübendo;04:31:36.7; +1497;Steimann Dana;1958;Gattikon;04:48:23.3; +1498;Steiner Marianne;1974;Lachen SZ;03:12:17.5; +1499;Stettler-Brotschi Clau;1974;Grenchen;04:13:17.0; +1500;Stich Isabelle;1988;Zürich;04:11:38.4; +1501;Stöckli Jolanda;1973;Stans;04:04:16.1; +1502;Stöckli Mara;1984;Pfaffhausen;03:46:21.8; +1504;Streule Eliane;1967;Appenzell;04:28:34.0; +1506;Strub Kunz Jrène;1966;Tenniken;03:56:17.7; +1507;Studer Cornelia;1976;Zuzwil SG;03:29:55.4; +1508;Surber Tanja;1985;Urdorf;03:33:44.2; +1509;Symonds Rebecca;1977;Zürich;03:54:16.6; +1510;Szlavik Vanda;1979;Zollikerberg;03:52:35.9; +1511;Tan Siew;1946;Dietikon;04:40:39.9; +1513;Tellefsen Tina;1971;Zumikon;03:28:51.4; +1514;Theiler Nadia;1984;Sursee;04:04:38.6; +1515;Tholen Anna;1977;Zürich;03:54:26.7; +1516;Thoma Erika;1973;Uitikon Waldegg;03:53:09.7; +1517;Tiebout Isabelle;1971;Horgen;03:53:32.2; +1518;Tietz Julia;1973;Schlieren;03:16:22.2; +1520;Toledano Marisol;1968;Rapperswil SG;04:12:36.5; +1521;Toumani Jenna;1986;Nyon;03:41:53.4; +1526;Tricarico Gabi;1969;Flawil;03:07:35.1; +1528;Trovato Carmela;1965;Hinteregg;03:48:41.6; +1531;Ulrich Katharina;1967;Jegenstorf;03:47:35.1; +1532;Urbach Deborah;1981;Zürich;04:27:53.8; +1534;van Rijs Ursula;1974;Bern;04:57:03.0; +1535;Vasilache Cristina;1979;Zürich;03:49:57.6; +1536;Vermeulen Helene;1950;Wetzikon ZH;04:37:14.6; +1539;Villiger Sonja;1971;Birmensdorf ZH;04:04:59.3; +1541;Vocke Daniela;1976;Zürich;04:27:03.6; +1542;Voegeli Nico;1986;Lampenberg;03:55:29.7; +1543;Voigt Cornelia;1976;Mettmenstetten;04:29:36.7; +1544;Volfschütz Simona;1980;Mettlen;03:43:40.1; +1545;von Mandach Annette;1970;Herisau;03:40:33.3; +1546;von Niederhäusern Cris;1971;Ipsach;04:39:56.5; +1547;Vopat Johanna;1974;Oberglatt ZH;04:08:22.7; +1548;Wachter Karin D.;1963;Wettswil;03:38:58.7; +1549;Wackernagel Britta;1961;Kleindöttingen;04:23:01.6; +1550;Walder Darja;1969;Basel;03:57:22.1; +1551;Wartenberg Alexandra;1984;Kilchberg ZH;04:39:44.3; +1552;Washington Caroline;1964;Zürich;04:36:48.4; +1554;Weber Tosca;1972;Schlieren;04:33:11.8; +1555;Weiersmüller Jacquelin;1963;Kilchberg ZH;04:10:53.8; +1556;Weiler Katja;1968;Birr-Lupfig;04:42:27.7; +1558;Welbergen Louisa;1986;Zürich;03:08:03.9; +1561;Werner Stephanie;1974;Thalwil;03:40:08.7; +1562;Werthmüller Gabriele;1974;Zuchwil;03:09:45.3; +1564;Wettstein Edith;1961;Zürich;04:19:31.1; +1565;Wey Mirjam;1965;Nuglar;04:16:23.0; +1566;Widmer Monika;1968;Zürich;03:22:33.7; +1567;Wiedmer Christine;1965;Bubendorf;04:09:04.6; +1569;Wild Irene;1961;Oberdiessbach;04:40:20.9; +1571;Winklehner Anna;1984;Zürich;03:50:53.8; +1574;Wittwer Gertrud;1950;Zürich;04:08:44.0; +1576;Wyler Karin;1971;Niederwil AG;03:35:51.3; +1577;Wyss Ingrid;1953;Dulliken;04:44:13.8; +1578;Wyss Sonja;1974;Niederbipp;04:07:25.2; +1580;Zaugg Sibil;1966;Bern;03:51:58.2; +1581;Zeller Seline;1994;Appenzell;03:47:18.3; +1582;Zenger Daniela;1982;Zollikofen;04:26:55.5; +1583;Ziegler Isabella;1978;Oberhelfenschwil;03:41:15.8; +1585;Zingg Karin;1969;Möhlin;03:16:04.1; +1586;Zuber Helen;1961;St. Gallen;03:36:41.9; +1587;Zuber Sabrina;1987;Glattpark (Opfiko;04:35:32.4; +1589;Zwicker Selinda;1960;St. Gallen;03:26:18.7; +1592;Brazerol Carmen;1976;Dübendorf;03:37:38.4; +1593;Bucher Sylvie;1965;Cham;03:51:22.5; +1597;Freiburghaus Rahel;1983;Zürich;03:53:47.1; +1598;Götsch Helen;1961;Berg TG;03:51:34.2; +1599;Güntzel Sara;1969;Zürich;03:25:25.7; +1600;Gurtner Susanne;1965;Luzern;03:52:40.0; +1602;Hauser-Ruckli Cornelia;1968;Fräschels;03:39:46.5; +1603;Heimbs Anette;1977;Bergdietikon;04:36:24.5; +1606;Inauen Fränzi;1986;Luzern;03:14:21.5; +1609;Jaggi Theres;1950;Gossau SG;04:55:33.0; +1610;Janser Susanne;1959;Niederhasli;04:13:22.6; +1611;Jörg Regina;1965;Oberdorf BL;03:43:22.1; +1612;Kern Alexandra;1983;Pfäffikon SZ;04:41:12.4; +1613;Kolhaupt Tanja;1979;Zürich;04:26:48.7; +1614;Landolt Christina;1962;Zürich;04:12:17.6; +1616;Lienhard Sonja;1968;Teufen ZH;03:30:23.9; +1620;Müntener Brigitte;1965;Bülach;03:55:51.9; +1622;Ochieng Pernet Awilo;1965;Ecuvillens;04:17:59.9; +1624;Peer Sandy;1969;Uerikon;03:31:59.1; +1625;Polinelli Christina;1969;Würenlos;03:34:40.5; +1626;Queralto Cristina;1978;Burtigny;03:50:26.5; +1627;Ramsay Julie;1974;Wettswil;04:54:41.0; +1628;Röthisberger Céline;1988;Lyss;04:21:20.7; +1629;Rüegger Andrea;1974;Kappel SO;04:31:24.6; +1630;Rütimann Gabriela;1964;Bülach;03:51:33.9; +1631;Scheitlin Julie;1983;Zürich;04:11:09.3; +1632;Schiess Gabriela;1969;Bassersdorf;03:23:41.8; +1633;Schillig-Planzer Stefa;1967;Altdorf UR;03:04:46.4; +1635;Schlegel Alexandra;1981;Weite;03:24:22.5; +1636;Schmid Catherine;1961;Kloten;03:56:28.3; +1637;Schmid Conny;1969;Weinfelden;03:08:27.9; +1638;Schrott Andrea;1975;Wetzikon ZH;03:53:30.9; +1639;Schumacher Sandra;1968;Klingnau;03:53:25.1; +1640;Senn Brigitte;1969;Romanshorn;04:09:12.6; +1642;Sommer Daniela;1968;Sempach Stadt;03:04:31.1; +1643;Sonderegger Tanja;1982;Rotkreuz;03:20:13.9; +1644;Stalder Caroline;1980;Greifensee;03:44:15.9; +1645;Steiner Denise;1982;Eggenwil;04:48:42.2; +1646;Stoppiello Banu;1977;Chavornay;04:27:05.5; +1647;Stucki Sonja;1964;Rüschlikon;03:27:03.9; +1648;Tambini Irma;1961;Jona;03:50:24.4; +1649;Tangorra Sabrina;1970;Winterthur;04:21:32.4; +1650;Tschannen Nathalie;1967;Basel;04:27:15.2; +1655;Wiederkehr Denise;1983;Siebnen;04:41:12.9; +1656;Zähnler Bircher Silvia;1968;Chur;04:27:22.4; +1657;Zanetti Windegger Lara;1967;Uitikon Waldegg;03:26:56.9; +1658;Zehnder Corinne;1986;Zürich;04:42:04.4; +1660;Antila Heidi;1976;Hettlingen;05:04:33.0; +1663;Flockerzi Martina;1979;St. Gallen;04:03:55.2; +1664;Kieran Rose;1969;Zürich;04:05:28.3; +1665;Merz Beatrix;1973;Wädenswil;03:40:06.9; +1666;Minard Delphine;1984;Luzern;04:14:28.2; +1668;Schoch Katharina;1952;Stäfa;04:12:52.0; +1669;Steiger Susanne;1976;Chur;04:12:15.1; +1670;von Rotz Madeleine;1985;Zürich;03:58:13.6; +1672;Fischer Muriel;1989;Bremgarten AG;04:33:00.6; +1674;Köpfli Stephanie;1968;Hünenberg See;03:49:57.6; +1952;Walser Hans;1952;Stäfa;03:56:38.0; +2001;Abderhalden Claude;1982;Suhr;03:41:42.6; +2002;Abdo Osman;1982;Cham;02:58:00.5; +2003;Abegglen Timon;1983;Windisch;03:58:34.4; +2004;Abgottspon Benjamin;1987;Horgen;04:50:43.5; +2007;Achermann Alois;1972;Alpnach Dorf;03:58:12.6; +2008;Ackermann Michael;1970;Mels;03:18:34.7; +2009;Adler Ruedi;1951;Zürich;03:31:56.7; +2010;Adler Sandro;1980;Zürich;04:27:06.5; +2012;Aebersold Thomas;1963;Zürich;04:14:11.4; +2013;Aebi Hansjörg;1966;Staffelbach;04:12:29.4; +2015;Aeby Pascal;1967;Fétigny;03:48:08.2; +2016;Aegerter Michael;1974;Egg b. Zürich;04:45:55.9; +2017;Aeschlimann Martin;1964;Heimberg;03:49:39.1; +2018;Affentranger Fernando;1959;Zürich;03:58:24.0; +2020;Agostini Bernardo;1964;Wetzikon ZH;03:51:52.9; +2021;Ait Bahassou Mohamed;1965;Winterthur;03:05:18.4; +2022;Akeret Martin;1975;Winterthur;02:59:54.0; +2023;Akermann Elmar;1970;Bernhardzell;04:13:06.1; +2025;Albers Vincent;1956;Zürich;03:14:20.7; +2026;Albin Basil;1944;Falera;04:10:33.7; +2027;Albin Norbert;1956;Hinteregg;03:56:43.3; +2028;Albin Silvan;1992;Falera;04:10:34.6; +2030;Alder Daniel;1962;Zürich;04:41:19.3; +2031;Alder Ernesto;1954;Gossau SG;03:59:27.8; +2032;Alfassi Sami;1966;Dietikon;03:48:59.5; +2033;Allemann Patrick;1973;Hedingen;04:18:55.4; +2036;Alpiger Patrick Michae;1968;Zürich;03:55:21.8; +2039;Amacker Hugo;1962;Binningen;03:42:20.5; +2041;Ambühl Dany;1989;Männedorf;04:33:00.9; +2042;Amstalden Guido;1955;Sarnen;03:50:47.7; +2043;Amstutz Jean-Luc;1954;Vugelles-La Mothe;03:19:09.6; +2046;Andenmatten Cyril;1971;Basel;03:43:33.6; +2048;Anderegg Kurt;1969;Mönchaltorf;03:54:38.2; +2050;Andres Peter Thomas;1985;Zürich;03:20:56.6; +2051;Andrews John;1950;Wollerau;03:33:53.3; +2054;Anneler Albert;1962;Schlieren;04:59:47.1; +2055;Antweiler Ralf;1970;Illnau;03:13:22.8; +2056;Arbenz Beat;1965;Hettlingen;03:42:12.2; +2058;Aretano Aldo;1967;Effretikon;04:30:15.4; +2060;Arm Ueli;1960;Burgdorf;03:32:38.9; +2063;Arnold Philipp;1987;Cham;02:41:46.9; +2064;Artan Ayhan;1967;Baden;03:16:46.4; +2067;Aurag Daniel;1960;Männedorf;03:45:18.9; +2070;Azzato Remo;1979;Uster;04:20:56.2; +2071;Bäbler Ruedi;1954;Engi;04:32:46.8; +2073;Bachmann Markus;1966;Zug;03:01:39.2; +2074;Bachmann Markus;1967;Schlieren;03:56:19.8; +2075;Bachmann Rolf;1963;Hütten;03:49:30.5; +2076;Bächthold Jj;1977;Zürich;04:20:38.4; +2077;Baco Uwe;1968;Zürich;03:27:34.1; +2078;Bader Sandro;1979;Dielsdorf;03:45:03.5; +2080;Badertscher Christian;1976;Seuzach;03:40:18.2; +2081;Badorff Cornel;1968;Winterthur;03:27:32.8; +2082;Baer Tobias;1973;Männedorf;03:16:28.8; +2083;Baeriswyl René;1967;Zürich;04:07:47.5; +2084;Bahl Alexander;1977;Zürich;04:26:05.3; +2085;Bahner Bertram;1959;Oberägeri;03:20:11.2; +2087;Bako Barnabas;1976;Uetikon am See;04:34:08.5; +2088;Bamert Rafael;1982;Bülach;03:32:01.0; +2089;Bangerter Adrian;1980;Greifensee;03:08:16.8; +2090;Bannier Marcel;1955;Aesch BL;03:39:04.9; +2091;Bänninger Andy;1973;Winterthur;03:17:49.5; +2096;Bärtsch Jonas;1981;Glattbrugg;04:26:32.4; +2097;Baschera Matteo;1990;Zürich;03:39:47.5; +2100;Basler Michael;1974;Märstetten;03:45:33.0; +2105;Bauer Jürgen;1967;Horgen;04:17:56.1; +2106;Bauer Mathias;1992;Auvernier;03:35:49.3; +2107;Bauert Stephan;1972;Dättlikon;03:20:28.6; +2108;Baumann David;1972;Amriswil;03:13:50.4; +2109;Baumann Reto;1971;Allschwil;03:23:53.3; +2110;Baumgartner Benjamin;1984;Weiach;03:11:34.9; +2111;Baumgartner Christoph;1982;Bern;03:02:43.1; +2112;Colombani Jonathan;1980;Lausanne;03:02:45.8; +2113;Baumgartner Philipp;1988;Zurzach;03:14:08.0; +2115;Bäumler Werner;1953;Wetzikon ZH;03:59:00.8; +2116;Baumstark Achim;1964;Rüschlikon;03:24:55.8; +2117;Baur Sigrist Dieter;1955;Pratteln;04:00:33.8; +2118;Bayer Claudio;1975;Wilen b. Wollerau;04:13:54.3; +2119;Bebi Michael;1977;Uster;04:30:52.3; +2123;Beeler Karl;1959;Rothenthurm;02:48:41.2; +2124;Beeli Gian;1981;Domat/Ems;04:27:39.3; +2125;Beer Patrick;1990;Spiegel b. Bern;04:22:37.2; +2127;Beglinger Michael;1960;Mollis;04:27:45.7; +2128;Beglinger Urs;1985;Glarus;03:18:09.9; +2129;Belk Thomas;1962;Courlevon;04:26:06.6; +2131;Benfatto Alessandro;1973;Münsingen;03:42:59.3; +2133;Benz Andy;1965;Adetswil;02:48:55.1; +2135;Berg Christian;1955;Uerikon;03:27:36.3; +2136;Berger Gedeon;1968;Zürich;04:12:06.3; +2137;Berger Olivier;1965;Auenstein;03:44:03.2; +2138;Berger Walo;1972;Sessa;04:08:34.0; +2141;Bernet Heiri;1968;Luzern;03:03:49.8; +2142;Bernet Rolf;1967;Richterswil;03:51:10.1; +2143;Bernhard Daniel;1972;Wettingen;03:37:57.5; +2144;Bernhardsgrütter Pitsc;1976;Gossau SG;03:27:47.0; +2145;Bernotto Stefano;1961;Thalwil;03:55:01.3; +2147;Bertozzi Silvio;1954;Horgen;04:25:58.6; +2148;Berz Fabian;1955;Horw;03:26:17.0; +2149;Betschon Stefan;1959;Zürich;03:45:15.6; +2150;Bettini Enrico;1963;Zürich;03:49:03.2; +2152;Biber Alex;1961;Frauenfeld;03:40:45.8; +2153;Bichler Christoph;1980;Rebstein;03:31:24.9; +2154;Biedermann Daniel;1980;Aarau;03:03:17.0; +2155;Bieler Walter;1960;Urdorf;03:23:17.7; +2156;Bieri Walter;1962;Leissigen;03:20:22.7; +2158;Neiger Lukas;1985;Zürich;03:24:45.9; +2159;Bigler Gilles;1984;Urdorf;03:45:09.7; +2161;Billeter Jürg;1968;Ebertswil;03:33:56.5; +2163;Binder Walter;1950;Zug;03:55:38.1; +2164;Binggeli Hansjörg;1965;Bassersdorf;04:26:21.7; +2166;Birbaum Patrice;1964;Collombey;03:35:36.8; +2168;Birrer Hanspeter;1952;Ballwil;04:38:21.7; +2171;Bischofberger Guido;1968;Oberegg;02:54:27.2; +2174;Bissig Hans;1951;Cham;03:34:42.2; +2175;Bissoli Benno;1962;Tägerwilen;03:44:17.8; +2177;Bitterlin Stephan;1962;Jegenstorf;04:22:11.4; +2179;Blaser Hanspeter;1964;Mönchaltorf;04:18:12.7; +2180;Blaser Sascha;1977;Sins;03:14:32.3; +2182;Blattmann Heiner;1975;Winterthur;02:59:53.0; +2184;Bleiker Harry;1960;Zürich;04:01:36.3; +2185;Blöchlinger Fabian;1984;Jona;02:58:56.8; +2186;Blumer Philipp;1988;Zürich;03:28:15.9; +2187;Blumer Renato;1958;Oberiberg;04:36:55.7; +2188;Blumer Sascha;1973;Hinwil;03:43:56.6; +2192;Bodenmann Andreas;1956;Schwyz;02:55:28.6; +2193;Bodenmann Hanspeter;1949;Adliswil;03:40:22.0; +2194;Bodmer David;1966;Zürich;04:25:48.7; +2196;Bohnet Christophe;1968;Bremblens;03:04:42.0; +2197;Bohnet Nicolas;1975;Trient;03:04:07.4; +2198;Boller Simon;1987;Tann;03:45:47.8; +2199;Bolli Kilian;1967;Schaffhausen;03:30:05.9; +2200;Bolliger Bruno;1984;Zürich;04:28:09.2; +2201;Bollinger Beat;1974;Weinfelden;03:39:58.4; +2202;Bolt Thomas;1971;Uerikon;02:55:14.0; +2203;Bommer Hans;1947;Donzhausen;04:15:28.9; +2205;Böniger-Prüfer Michael;1976;Schönenberg ZH;03:47:21.1; +2206;Bonner John;1969;Cham;04:16:28.9; +2207;Bonvin Jean-Charles;1970;Ollon VD;03:04:59.5; +2208;Bonvin John;1963;Pampigny;03:59:43.3; +2209;Born Leo;1967;Winkel;03:29:51.8; +2210;Bortolin Sergio;1961;Winterthur;04:21:40.2; +2212;Bosshard Stefan;1965;Wallisellen;03:23:59.4; +2214;Bottecchi Diego;1970;Bätterkinden;03:32:12.4; +2219;Boulter Robert;1977;Basel;02:59:49.3; +2221;Boutellier René;1984;Zürich;02:41:54.7; +2223;Bozi Imre;1961;Wängi;03:20:05.5; +2225;Braathen Einar H;1989;St. Gallen;04:57:19.7; +2227;Bracher Ueli;1967;Zürich;03:28:21.2; +2228;Brachetto Pascal;1986;Ellikon an der Th;03:45:04.5; +2231;Brändli Jakob;1957;Langnau i. E.;04:08:40.6; +2232;Brändli Urs-Beat;1955;Rudolfstetten;03:09:05.9; +2233;Brandt Maximilian;1982;Zürich;03:58:13.5; +2234;Brandt Simppa;1971;Embrach;03:15:55.2; +2238;Brecht Jens;1975;Zürich;03:37:16.1; +2240;Breimer Mans;1967;Uster;03:40:50.6; +2245;Bressa Massimo;1969;Kilchberg ZH;03:46:41.6; +2247;Brotz Sandro;1969;Kilchberg ZH;03:42:38.4; +2250;Bruderer Daniel;1973;Küssnacht am Rigi;04:27:11.2; +2251;Brühwiler Rolf;1968;Heimberg;02:59:26.3; +2252;Brüllmann David;1978;Zürich;03:57:33.8; +2253;Brunhart Jakob;1977;Oberschan;03:16:31.0; +2254;Brunner Alfred;1965;Stäfa;03:29:59.2; +2255;Brunner André;1967;Oberengstringen;03:21:22.6; +2256;Brunner Jan;1976;Dübendorf;03:36:53.6; +2257;Brunner Johannes;1966;Remetschwil;02:56:57.4; +2259;Brunner Reinhard;1947;Thun;04:23:31.4; +2260;Bruno Emanuele;1971;Regensdorf;04:12:47.4; +2261;Bruns Wolfgang;1960;Widen;03:33:18.8; +2262;Brunschweiler Marco;1973;Dübendorf;03:18:51.7; +2266;Bucher Johannes;1958;Zürich;03:10:20.7; +2267;Büchler Fredi;1962;Brugg AG;05:21:01.2; +2269;Buchli Urs;1958;Pfaffhausen;04:52:55.4; +2271;Buchser Thomas;1965;Kappelen;03:41:24.0; +2272;Buck Andreas;1985;Niederrohrdorf;04:32:20.4; +2274;Büeler Gerry;1974;Zürich;03:36:59.5; +2276;Bügükkaya Abuzer;1968;Wohlen AG;03:14:12.4; +2277;Bühler D.J Wale;1958;Dulliken;03:59:32.5; +2278;Bühler Raphael;1986;St. Gallen;03:20:21.5; +2280;Bührer John;1964;Zürich;03:43:03.4; +2282;Bünter Jean Pierre;1952;Hombrechtikon;04:15:52.4; +2284;Burger Willi;1951;Möriken AG;03:51:02.3; +2285;Bürgi Simon;1985;Wollerau;03:09:10.3; +2286;Bürgis Stefan;1977;Einsiedeln;03:28:37.3; +2287;Burkhard Beat;1975;Uznach;02:39:47.5; +2288;Burkhard Roger;1968;Oekingen;03:45:58.0; +2289;Burkhardt Ralf;1966;Bern;03:46:35.5; +2290;Burns Kevin;1974;Zürich;03:51:19.0; +2291;Burri Christian;1953;Kilchberg ZH;03:24:58.4; +2293;Buser Thomas;1963;Nuglar;04:05:20.1; +2295;Buslau Michael;1955;Schaffhausen;04:33:12.4; +2296;Bussinger Manuel;1984;Effretikon;04:32:51.2; +2297;Bussmann Oliver;1971;Langnau am Albis;02:58:43.7; +2298;Butty Stéphane;1965;Lausanne;02:59:31.2; +2301;Caflisch Amedeo;1963;Zürich;03:14:34.3; +2302;Caillet Cédric;1973;Le Landeron;03:21:40.0; +2304;Calame Louis;1952;Lausanne;03:35:20.8; +2305;Calcagni Carlo;1961;Altdorf UR;03:52:42.3; +2306;Calendo Ciro;1961;Pfäffikon SZ;04:32:47.0; +2307;Camathias Ulrich;1962;Trimmis;05:21:11.8; +2308;Camenisch Glauco;1980;Zürich;03:25:24.3; +2309;Camenzind Markus;1982;Orbe;03:00:07.2; +2310;Caprez Andrea;1965;Zürich;02:54:43.7; +2311;Carbonara Toni;1965;Lausanne;04:16:44.0; +2312;Carbotti Franco;1972;Einsiedeln;03:35:47.3; +2314;Caretta Claudio;1955;Wetzikon ZH;04:12:04.8; +2317;Carminati Walter;1970;Uster;03:51:24.1; +2319;Caruso Renato;1968;Nänikon;04:29:06.9; +2320;Casanovas Ramon;1980;Le Landeron;03:24:06.5; +2321;Castella Vincent;1979;Plan-les-Ouates;03:13:41.1; +2322;Castiglioni Luca;1979;Zürich;03:47:45.2; +2323;Casto Salvatore;1937;Zürich;05:25:47.6; +2325;Caudwell David;1954;Zürich;04:36:27.3; +2327;Cavegn Werner;1970;Root;03:45:44.1; +2328;Caviezel Andrin;1984;Domat/Ems;03:41:56.6; +2329;Ceccarini Massimo;1966;Adliswil;03:26:18.4; +2330;Ceriani Angelo;1956;Hirzel;04:25:25.3; +2331;Cester Marc;1980;Morat;03:03:44.4; +2333;Chapman Brian;1975;Männedorf;04:14:02.5; +2335;Chassot Pierre-André;1969;Bussy FR;03:43:24.5; +2336;Chatila Rico;1962;Döttingen;03:26:02.0; +2337;Chatzichrisafis Nikos;1973;Zürich;03:33:49.6; +2338;Chevalley Raymond;1955;Dietikon;04:22:45.3; +2339;Chiller-Glaus Michael;1975;Pfäffikon ZH;03:53:35.8; +2340;Choffat Yves;1960;Winterthur;03:17:39.2; +2341;Choukroun Daniel;1985;Pully;02:45:27.4; +2342;Christ Tobias;1981;Zürich;03:30:40.3; +2343;Christiner Mario;1989;Zürich;02:48:10.6; +2347;Clavadetscher Georg;1988;Azmoos;04:23:21.2; +2348;Clesle Hanspeter;1969;Adliswil;04:32:43.1; +2349;Cloetta Andri;1976;Cadempino;03:41:44.0; +2353;Collenberg Reto;1964;Winterthur;03:39:01.9; +2355;Colvin Graham;1968;Baar;03:20:35.2; +2356;Conrad Alex;1973;Bergdietikon;04:29:04.0; +2360;Cooke Sam;1961;Zürich;03:28:23.2; +2361;Corbisiero Salvatore;1968;Schaffhausen;03:34:25.0; +2362;Cortelezzi Paolo;1973;Vezia;03:40:05.0; +2363;Cottet Laurent;1968;Genève;03:23:56.8; +2364;Crespo Ricardo;1969;Zürich;04:49:35.9; +2365;Crettenand Olivier;1964;Sion;04:25:31.7; +2366;Crisafulli Sebastiano;1964;Sennhof (Winterth;03:26:57.1; +2368;Curda Josef;1957;Eglisau;04:37:56.2; +2369;Curda Tobias;1982;Eglisau;03:40:33.1; +2371;Cusack John-Paul;1967;Klosters;03:38:38.3; +2372;D'Amato Gionni;1970;Volketswil;03:52:25.2; +2373;Da Col Claudio;1964;Thalwil;03:31:27.0; +2374;Da Costa Fernando;1976;Kloten;03:05:47.2; +2376;Daly Paul;1984;Zürich;04:21:31.1; +2377;Dambach René;1969;Schöfflisdorf;03:22:06.3; +2380;Danz Martin;1970;Zürich;03:52:38.9; +2381;Däpp Willi;1951;Brugg AG;04:17:14.8; +2382;Dariz Michele;1980;Gordola;03:51:17.9; +2383;Daschmann Volker;1973;Winterthur;04:49:31.1; +2385;De Faria Patrick;1976;Montreux;04:43:32.0; +2387;De Martin Marco;1979;Aadorf;02:49:12.6; +2388;De Murga John;1974;Zürich;04:58:21.6; +2389;De Plinval Pierre-Loui;1986;Zürich;03:41:55.6; +2390;De Toffol Simon;1988;Zuzwil SG;04:14:18.7; +2391;De Wit Guido;1962;Schönenberg ZH;03:52:16.4; +2393;Degen Lukas;1959;Biel-Benken BL;02:58:50.8; +2395;Della Badia Antonio;1975;Stansstad;03:24:35.6; +2396;Delley Alain;1968;Givisiez;03:20:38.0; +2397;Dentskevich Andrew;1965;Basel;03:27:49.7; +2399;Dessimoz Philippe;1971;St-Séverin;03:09:13.0; +2400;Desteffani Jörg;1964;Windisch;03:09:27.4; +2402;Dhom Michael;1970;Steffisburg;03:03:48.4; +2403;Di Giorgio Benedetto;1976;Zürich;04:04:34.1; +2404;Di Mauro Philipp;1971;Zürich;04:01:57.7; +2406;Diallo Ousmane;1980;Thalwil;03:23:35.8; +2407;Dick Markus;1975;Lenzburg;03:21:35.5; +2409;Diener Erwin;1960;Zürich;02:55:16.4; +2410;Diethelm Karl;1957;Zufikon;03:53:47.7; +2411;Dietrich Rainer;1966;Steinhausen;03:00:12.0; +2413;Dillner Tomas;1970;Richterswil;03:03:47.3; +2414;Diviney Craig;1953;Affoltern am Albi;03:20:23.3; +2416;Döbeli Philipp;1988;Birrwil;03:05:55.6; +2417;Dober Meinrad;1971;Küssnacht am Rigi;03:38:30.9; +2423;Dooney Barry;1980;Baar;04:44:52.8; +2425;Doubman Jay;1971;Dübendorf;02:57:42.2; +2429;Downey Denis;1974;Windisch;03:53:09.6; +2430;Drayton Jeffrey;1967;Schaffhausen;03:43:02.5; +2432;Dreier Daniel;1970;Humlikon;03:51:25.7; +2433;Dreier Matthias;1978;Zürich;03:18:07.5; +2435;Dübi Roland;1977;Zürich;04:05:24.0; +2436;Dubugnon Christian;1970;Yverdon-les-Bains;03:27:29.5; +2437;Dudle Cornel;1975;Zürich;03:35:12.7; +2438;Duerr Hampi;1970;Gossau SG;03:36:35.9; +2440;Dummermuth Jürg;1969;Oberhofen am Thun;03:09:28.3; +2443;Düringer Michael;1965;Stäfa;03:39:12.5; +2444;Durrer Daniel;1963;Basel;04:27:31.7; +2447;Dürst Michael;1966;Lenzburg;03:12:56.5; +2448;Duschl Martin;1962;Rizenbach;04:25:17.7; +2451;Dütschler Joel;1985;Winterthur;03:06:38.0; +2453;Eberhard Thomas;1968;Bettlach;04:05:07.0; +2455;Eberle Paul;1948;Degersheim;03:44:00.7; +2457;Eckard Christophe;1966;Zürich;03:47:58.1; +2458;Eckert Clemens;1977;Volketswil;03:24:09.5; +2459;Eckhardt Jürg;1966;Wollerau;03:42:48.4; +2460;Eggenschwiler Bernhard;1985;Fehren;02:44:49.4; +2461;Eggenschwiler Christop;1967;Delémont;02:59:47.6; +2462;Eggenschwiler Denis;1979;Solothurn;03:04:59.8; +2466;Egidio Arturo;1969;Ballwil;03:29:56.5; +2467;Egli Martin;1960;Schinznach Bad;03:47:10.6; +2468;Egli Peter;1966;Gachnang;04:21:32.1; +2469;Egli Sven;1965;Cham;03:27:58.8; +2471;Eiche Francis;1950;Meiringen;04:06:02.4; +2472;Eichelberger Pascal;1966;Recherswil;04:01:48.3; +2474;Eichhorn Beat;1969;Arth;03:16:51.8; +2478;Eisenlohr Frank;1963;Zürich;03:21:41.6; +2479;Eisner Hannes;1970;Visp;03:28:45.2; +2480;Ellinger Thomas;1966;Oberurnen;04:11:31.5; +2483;Elmer Markus;1974;Worb;03:07:08.3; +2484;Emert Frank;1967;Dättwil AG;04:29:08.6; +2491;Eppler Beat;1965;Dübendorf;03:09:38.4; +2493;Erb Peter;1958;Winterthur;03:10:21.4; +2494;Erb Thomas;1959;Zürich;03:57:37.7; +2496;Erian Tom;1979;Utzenstorf;02:57:11.9; +2498;Ernst Andreas;1966;Zeihen;03:38:39.2; +2499;Ernst Andreas;1965;Schwerzenbach;03:47:40.6; +2501;Ettlinger Claudius;1967;Zürich;03:49:48.9; +2502;Eugster Marcel;1963;Zürich;02:59:33.6; +2503;Eugster Tobias;1967;Wängi;03:44:23.8; +2504;Faccoli Gabriele;1979;Bosco Luganese;03:37:58.8; +2505;Faerber Philipp;1966;Stäfa;02:50:59.7; +2507;Fahrni Andreas;1961;Kirchberg BE;03:22:49.6; +2510;Falconer John;1958;Rüschlikon;03:49:34.7; +2511;Falcy Yves-Alain;1961;Vufflens-le-Châte;04:23:41.0; +2512;Falter Harald;1961;Hersiwil;03:19:52.3; +2513;Fanger Adrian;1976;Sarnen;04:11:25.3; +2514;Fankhauser Martin;1961;Udligenswil;03:36:21.8; +2515;Farner Kurt;1961;Täuffelen;04:41:50.4; +2516;Farner Martin;1979;Feuerthalen;03:51:54.1; +2517;Farner René;1958;Wintersingen;03:29:55.9; +2518;Farner Roger;1977;Zürich;03:51:55.2; +2519;Fasel Samuel;1980;Düdingen;03:49:40.2; +2520;Fasnacht Markus;1968;Kestenholz;03:17:36.8; +2521;Fässler Christoph;1975;Richterswil;03:57:08.5; +2522;Fässler Lukas;1981;Zürich;04:01:23.3; +2524;Fatio Didier;1983;Zürich;03:16:59.1; +2525;Fattorini Leonardo;1980;Zürich;02:54:53.3; +2526;Fausch Jörg;1963;Frauenfeld;03:42:54.5; +2529;Fehr Adrian;1986;Buchs ZH;03:32:24.9; +2530;Fehr Harry;1966;Rafz;03:09:24.7; +2531;Fehr Kurt;1943;Andelfingen;04:25:06.1; +2532;Fehr Matthias;1960;Affoltern am Albi;03:34:08.9; +2534;Feigl Christopher;1969;Oberschan;03:29:22.5; +2535;Fejes Stefan;1974;Adliswil;03:20:33.5; +2536;Fejry Khalil;1957;Bassersdorf;03:31:07.1; +2537;Felchlin Walter;1951;Niederglatt ZH;04:18:13.9; +2538;Felder Oliver;1969;St. Gallen;03:57:32.9; +2539;Felder Willhelm;1947;Zürich;04:27:39.1; +2542;Fernandes Casimiro;1956;Monthey;03:04:51.4; +2543;Fernandez Antonio;1952;Greifensee;03:22:54.5; +2545;Ferraiuolo Salvatore;1959;Zürich;03:40:18.9; +2546;Ferrini Mattia;1982;Zürich;04:13:05.9; +2547;Fetzer Roland;1973;Jonen;03:00:23.0; +2550;Fior Guglielmo;1967;Dachsen;02:59:38.8; +2552;Fischer Cosy;1982;Zürich;04:26:53.8; +2553;Fischer Felix;1966;Ossingen;03:34:08.0; +2555;Fischer Kai;1969;Geroldswil;02:43:15.0; +2557;Fischer Oliver;1977;Bonstetten;03:10:50.3; +2558;Flach Roland;1964;Zürich;03:28:52.0; +2559;Fleischer Thomas;1975;Zürich;03:19:07.9; +2560;Fleischhacker Cris;1961;Muttenz;04:22:00.4; +2561;Fleischmann Rene;1974;Galgenen;03:37:43.1; +2562;Fleischmann Sascha;1976;Reichenburg;03:28:45.9; +2565;Flueckiger Joerg;1964;Biberstein;03:55:45.3; +2566;Flum Michael;1965;Eschenz;03:29:34.5; +2567;Föllmi Daniel;1970;Hünenberg;02:47:15.8; +2568;Folly Olivier;1968;Pierrafortscha;03:08:24.4; +2569;Fontana Patrick;1972;Zürich;04:49:09.1; +2570;Forlesi Maurice;1972;Fehraltorf;04:00:31.6; +2571;Forney Jean-Francois;1969;Courtaman;03:50:11.3; +2572;Forrer Andi;1961;Schindellegi;03:57:35.8; +2573;Forrer Markus;1964;Wollerau;03:43:13.6; +2574;Forrer Thomas;1983;Zürich;03:26:44.2; +2575;Forster Urs;1964;Leibstadt;03:56:10.2; +2576;Fort Pierre-Andre;1954;Martigny;03:43:23.0; +2577;Fortgens Erik;1972;Sulz AG;03:12:57.2; +2578;Foster Cheran;1989;Rothenhausen;04:09:16.7; +2579;Foster Kevin;1962;Gebenstorf;03:39:59.2; +2580;Fraefel Beat;1959;Affoltern am Albi;03:39:42.4; +2581;Fraefel Mario;1964;Rafz;03:42:55.1; +2582;Franck Andreas;1963;Jonschwil;03:19:31.1; +2583;Francois Herve;1963;Zürich;03:56:16.3; +2587;Frehner Jakob;1962;Castrisch;05:29:09.2; +2588;Frei Christoph;1964;Wil AG;03:34:04.8; +2589;Frei Marc;1976;Buchrain;03:37:59.3; +2590;Frei Martin;1968;Kirchberg BE;02:44:02.8; +2591;Frei Othmar;1957;Thayngen;03:59:15.3; +2592;Frei Pascal;1976;Zürich;03:34:47.5; +2593;Frei Thomas;1975;Gontenschwil;03:28:06.0; +2595;Freisler Peter;1970;Zürich;04:06:40.1; +2597;Fretz Willi;1938;Erlinsbach;04:35:35.7; +2599;Frey Dominik;1988;Winterthur;04:00:28.3; +2600;Frey Heini;1956;Winterthur;03:56:30.0; +2601;Frey Stefan;1986;Winterthur;03:51:14.3; +2604;Frieden Thomas;1969;Kollbrunn;02:32:25.2; +2605;Friederich Mathias;1964;Niederweningen;03:26:38.5; +2607;Friedli Jürg;1971;Bern;03:39:09.0; +2609;Frischknecht Fritz;1958;Steinmaur;03:27:40.5; +2611;Fritsche Lukas;1987;Diepoldsau;03:29:27.6; +2612;Fritschi Michael;1972;Bülach;03:19:32.7; +2615;Fuchs Christian;1965;Bäch SZ;02:58:20.9; +2616;Fuchs Heinz;1956;Hofstetten b. Bri;04:23:57.8; +2617;Fuchs Markus;1975;Zürich;04:28:36.3; +2618;Fuchs Peter;1972;Zürich;04:31:50.6; +2620;Fürer Karl;1957;Rheineck;03:30:37.6; +2621;Furrer Felix;1964;Bettwil;03:38:12.0; +2622;Fürst René;1969;Zürich;03:25:04.1; +2623;Fusco Carlo;1966;Pfäffikon SZ;03:20:24.2; +2625;Gabathuler Tobias;1976;Zürich;03:35:08.2; +2626;Gabriel Daniel;1977;Ibach;03:54:27.7; +2627;Gächter Roland;1972;Rüthi (Rheintal);03:22:01.8; +2628;Gadient Hans;1957;Kloten;03:53:31.1; +2629;Gähwiler Hanspeter;1961;Wil SG;03:03:34.2; +2631;Galliker Philipp;1958;Zürich;03:28:25.2; +2632;Gambino Dario;1978;Fällanden;04:12:56.5; +2633;Gameiro Antonio;1962;Collombey;02:56:40.2; +2635;Gantenbein Silvan;1990;Adliswil;04:45:52.8; +2637;Gartmann Urs;1977;Fällanden;03:34:59.7; +2638;Gasser Marc;1982;Zürich;03:44:28.9; +2640;Gast Fritz;1971;Rothrist;03:36:32.3; +2641;Gattiker Roger;1972;Winkel;04:12:59.8; +2643;Gaussmann Andreas;1962;Werdenberg;02:49:19.1; +2646;Geiger Christian;1980;Zürich;03:30:05.2; +2647;Geissbühler Andreas;1960;Boppelsen;03:12:39.6; +2649;Geissmann Walter;1951;Allschwil;03:27:55.4; +2651;Genné Daniel;1964;La Chaux-de-Fonds;03:44:54.1; +2653;Gerber Bernhard;1962;Epsach;04:11:50.8; +2654;Gerber Roger;1970;Biberist;02:49:17.7; +2655;Gerber Thomas;1966;Frenkendorf;03:14:33.7; +2657;Gerlof Wolfram;1973;Männedorf;04:36:04.7; +2658;Germain Jean-Pierre;1954;Zürich;05:05:54.1; +2659;Germann Pascal;1977;Zürich;03:24:18.5; +2662;Gerster Richard;1946;Richterswil;03:57:09.8; +2664;Gertsch Marcel;1978;Unterseen;02:52:23.0; +2665;Gertsch Ralph;1968;Engelburg;04:04:17.7; +2666;Gertsch Silvan;1982;Thun;04:09:01.0; +2667;Gertschen Mike;1978;Zürich;04:14:45.5; +2668;Gex-Collet Pierre-Jose;1975;Troistorrents;03:01:05.9; +2669;Geyer Marc;1982;Wengen;04:48:45.7; +2673;Gibel Richard;1953;Dürnten;03:47:26.8; +2674;Gigandet Sylvain;1980;Genolier;03:01:43.5; +2677;Giordano Lorenz;1971;Zürich;03:33:03.4; +2678;Girsberger Martin;1958;Frauenfeld;03:49:07.5; +2679;Gisler Beat;1963;Ramiswil;02:57:43.5; +2680;Gisler Jan;1974;Ennetmoos;03:05:52.6; +2681;Gisler Karl;1957;Obernau;02:46:40.4; +2684;Glässner Marcel;1972;Heiligenschwendi;03:58:25.3; +2685;Gleitz Robert;1959;Thalwil;03:29:13.4; +2686;Gloden Alain;1967;Horgen;03:42:54.6; +2689;Gnos Renato;1983;Ueberstorf;03:51:49.2; +2693;Gomez David;1977;Zürich;04:38:57.5; +2694;Gorgerat Jean-Philippe;1976;Bern;03:10:36.4; +2696;Gosteli Hansjörg;1967;Worb;02:56:59.9; +2697;Gosteli Oliver José;1973;Zürich;03:07:01.8; +2698;Goto Fumihiko;1972;Genève;03:28:24.1; +2700;Gottwald Martin;1967;Genève;03:53:30.7; +2701;Götz Markus;1948;Chur;03:59:00.6; +2702;Grab Manfred;1967;Kehrsiten;03:25:34.2; +2703;Graber Marcel;1967;Jona;03:10:08.0; +2706;Graf Daniel;1983;Bülach;03:48:08.4; +2708;Graf Klaus;1960;Roggliswil;03:29:26.8; +2710;Granges Thierry;1959;Martigny;03:08:17.8; +2711;Grausgruber Johannes;1963;Adliswil;04:21:27.5; +2713;Greil Maeck;1967;Richterswil;03:13:35.2; +2714;Greter Arno;1963;Buchrain;04:19:22.0; +2717;Grisoni Gérald;1958;Corseaux;03:50:38.4; +2718;Gröbli Adrian;1961;Oetwil an der Lim;02:42:11.6; +2721;Grossmann Frank;1963;Erstfeld;03:06:51.7; +2722;Grubenmann Hens;1977;Zürich;03:42:41.4; +2723;Gruber Bernhard;1962;Diepoldsau;03:48:54.7; +2724;Grüebler Thomas;1961;Bonstetten;04:28:45.2; +2725;Grujcic Dejan;1985;Fehraltorf;03:59:53.0; +2726;Grundmann Oliver;1979;Zürich;03:56:49.0; +2727;Grüter André;1980;Ballwil;02:58:56.1; +2728;Grütter Matthias;1964;Gümligen;03:04:15.1; +2729;Gubler Daniel;1968;Uetikon am See;03:23:50.2; +2730;Gubler Peter;1961;Winterthur;05:00:05.7; +2731;Gückel Christian;1980;Schaffhausen;03:18:41.5; +2733;Gudehus Kim;1963;Brugg AG;03:34:02.0; +2734;Guex Stéphane;1969;Ollon VD;03:07:06.1; +2735;Gugelmann René;1968;Rheinau;03:23:28.6; +2736;Guidon Andri;1954;Wallisellen;03:58:33.8; +2737;Guignard Philippe;1954;Vaulion;03:48:33.7; +2739;Guillet Marc-Antoine;1992;Avry-sur-Matran;03:42:50.7; +2740;Günthard Huldrych;1961;Zürich;03:44:06.1; +2741;Gunti Markus;1970;Laufen;03:14:02.3; +2744;Gut Daniel;1984;Zürich;03:24:08.6; +2747;Gutjahr Rolf;1967;Schenkon;02:58:02.6; +2748;Gutzwiller Mark;1973;Uerikon;03:48:16.6; +2753;Gyger Peter;1969;Fahrni b. Thun;03:05:00.1; +2754;Gygli Walter;1961;Kreuzlingen;03:03:59.7; +2755;Gysin Ernst;1945;Oberdorf SO;05:07:37.7; +2757;Ha Thomas;1981;Hüntwangen;03:41:22.8; +2759;Haas Ingo;1976;Wilen b. Wollerau;03:05:20.4; +2761;Hablützel Roman;1993;Stehrenberg;02:55:57.3; +2762;Hadorn Jonas;1988;Zürich;04:49:10.6; +2764;Haefeli Stephan;1949;Mümliswil;03:48:07.5; +2766;Häfliger Peter;1948;Oftringen;03:28:20.5; +2767;Häfliger Rolf;1957;Uitikon Waldegg;03:44:11.9; +2769;Hähni Marcel;1970;Samstagern;04:10:06.0; +2770;Haider Martin;1980;Arth;03:35:02.2; +2773;Halvorsroed Jan;1963;Zürich;04:30:52.1; +2776;Hänggi Gerold;1962;Zürich;04:26:09.0; +2777;Häni Stephan;1976;Schlieren;03:13:50.4; +2778;Hannah Jeremy;1976;Zürich;03:14:27.7; +2779;Hannay Mark;1991;Dübendorf;03:46:52.0; +2780;Hansen Kjetil Hoie;1987;Ecublens VD;03:53:12.0; +2781;Hansmann Daniel;1960;Aadorf;03:26:44.7; +2783;Härri Markus;1965;Adliswil;02:56:18.7; +2789;Haselbach Stefan;1970;Abtwil SG;03:15:22.1; +2790;Häsler Daniel;1975;Zürich;03:40:47.6; +2791;Hässig Ralph;1984;Weggis;03:45:53.1; +2792;Hassler Daniel;1981;Hedingen;03:06:09.3; +2794;Haubensack André;1966;Zürich;03:54:47.5; +2796;Haukaas Magnus Solli;1987;Zürich;04:02:41.9; +2797;Hausammann Urs;1965;Zürich;03:35:21.0; +2798;Hauser Daniel;1970;Seengen;03:01:58.0; +2799;Hauser Olivier;1966;Rolle;04:01:12.2; +2800;Hauser Thomas;1972;Steinhausen;03:00:12.2; +2801;Hauser Thomas;1987;Wädenswil;03:05:45.6; +2802;Häusermann Christian;1967;Münchenstein;03:10:43.9; +2804;Haussner Enrico;1978;Teufen AR;03:10:05.3; +2806;Heckendorn Felix;1965;Oberglatt ZH;04:54:02.0; +2809;Heer Dominik;1971;Basel;03:49:37.4; +2810;Hefti Gian-Franco;1972;Wettswil;02:59:32.3; +2812;Hegglin Marco;1983;Zürich;03:52:19.2; +2813;Hegglin Markus;1960;Zürich;03:30:57.7; +2814;Hegner Norbert;1965;Galgenen;02:38:11.0; +2815;Heide Uwe;1959;Schmerikon;04:15:06.3; +2820;Heiniger Peter;1949;Büren an der Aare;03:46:31.7; +2821;Heiniger Stefan;1969;Zollikofen;03:52:21.0; +2822;Heinz Max;1960;Lichtensteig;03:33:11.5; +2825;Helbling Daniel;1967;Schänis;03:21:41.8; +2826;Helbling Felix;1974;Kilchberg ZH;03:48:07.8; +2827;Held Michel;1972;Bönigen b. Interl;03:20:14.4; +2832;Henle Lukas;1982;Männedorf;03:49:53.3; +2838;Herger Anton;1956;Adliswil;04:11:29.0; +2840;Herrmann Daniel;1979;Langnau am Albis;03:07:48.1; +2841;Hersche Marcel;1969;Adlikon b. Regens;04:48:12.9; +2842;Herz Daniel;1973;Zürich;03:49:14.2; +2843;Hess Dieter;1958;Feldbrunnen;03:24:08.5; +2844;Hess Florian;1989;Adliswil;04:13:36.8; +2846;Hess Michael;1980;Bern;03:33:11.0; +2851;Heyer Serge;1968;Stallikon;04:13:31.5; +2853;Hilpertshauser Urs;1957;Hinwil;04:18:49.7; +2855;Hiltbrand Martin;1963;Rombach;03:19:24.5; +2856;Hirschi Alexandre;1974;Oulens-sous-Echal;03:56:11.0; +2857;Hischier Aldo;1963;Leuk Stadt;03:43:51.1; +2859;Hochuli Reto;1977;Niederhünigen;03:18:25.6; +2860;Hodel Roger;1964;Effretikon;03:11:15.0; +2862;Hofer Cédric;1991;Kloten;05:20:20.3; +2863;Hofer Erich;1961;Eggenwil;03:44:20.3; +2865;Hofer Urs;1960;Wangen a. A.;03:57:42.1; +2868;Hofmann Edy;1962;Winterthur;03:54:47.9; +2870;Hofmann Raymond;1970;Reinach BL;03:00:32.8; +2871;Hofstetter Martin;1952;St. Gallen;03:53:26.1; +2872;Hofstetter Roman;1989;Bonstetten;03:39:15.6; +2873;Hohl Andreas;1960;Thalwil;03:26:04.0; +2876;Holenweger Mirko;1977;Fehraltorf;03:28:22.4; +2877;Holenweger Thomas;1979;Männedorf;04:16:36.0; +2878;Hölling Matthias;1969;Zürich;04:11:46.0; +2880;Holub Marc;1974;Schwarzenberg LU;04:20:54.6; +2881;Holzhüter Dirk;1965;Flawil;02:56:32.7; +2882;Hommann Edgar;1946;Grossaffoltern;03:33:34.7; +2886;Hookey Mark;1970;Adliswil;05:08:11.2; +2888;Höppli Marcel;1964;Nussbaumen AG;04:18:59.9; +2889;Horat Karl;1960;Uster;03:43:51.2; +2892;Hosner Markus;1958;Kriens;04:22:08.1; +2897;Huber Andreas;1978;Würenlos;03:55:22.3; +2898;Huber Daniel;1964;St. Gallen;04:06:24.1; +2899;Huber Erwin;1941;Sulz AG;04:14:35.5; +2900;Huber Michael;1972;Beinwil am See;02:59:15.1; +2901;Huber Michael;1982;Zürich;04:34:43.1; +2902;Huber Rolf;1965;Dietlikon;03:31:34.6; +2904;Huber-Meier Hans;1956;Winterthur;04:09:42.8; +2907;Hug Jean-Pierre;1968;Männedorf;03:34:08.1; +2908;Hugener Thomas;1963;Schwerzenbach;04:39:42.7; +2909;Hugentobler Martin;1954;Uzwil;03:07:55.8; +2912;Hügli Heinz;1963;Bonaduz;03:53:16.9; +2913;Humbel Markus;1957;Zürich;04:10:57.1; +2914;Hungerbühler Andreas;1982;Zürich;03:51:39.2; +2917;Hürlimann Fabrizio;1990;Trogen;03:55:19.2; +2918;Hurni Beat;1969;Wetzikon ZH;04:33:18.0; +2920;Huser Josef;1946;Dübendorf;04:06:01.1; +2921;Huser Roland;1959;Hinwil;03:21:57.2; +2922;Huwiler Denis;1972;Uerikon;03:23:18.4; +2924;Ijland Marcel;1962;Forch;04:06:59.7; +2925;Illi Ruedi;1962;Fällanden;03:28:01.8; +2927;Immer Marcel;1981;Obfelden;03:34:15.8; +2929;Inglin Roger;1970;Winterthur;04:28:05.4; +2930;Ingold Marc;1982;Berikon;03:54:20.3; +2931;Ingold Markus;1967;Zürich;03:25:36.6; +2932;Ingold-Martinez Lukas;1966;Basel;03:43:56.2; +2934;Inzirillo Maurice;1960;Cortébert;03:03:34.5; +2935;Ippel Rene;1965;Bonstetten;03:35:14.9; +2937;Iseli Ernst;1951;Burgdorf;04:32:16.9; +2938;Isenring Martin;1973;Oberengstringen;03:39:07.5; +2939;Aeschlimann Ulrich;1951;Gippingen;03:13:16.6; +2940;Ismajli Alban;1978;Utzenstorf;03:42:49.6; +2941;Iten Ralph;1975;Hausen am Albis;04:28:17.3; +2942;Iten Roman;1977;Rheinau;03:48:06.4; +2944;Jacky Florian;1991;Dietikon;03:57:40.1; +2946;Jacobs Reto;1964;Zürich;03:21:41.6; +2949;Jäger Fabian;1979;Zürich;04:16:02.4; +2950;Jäggi Andreas;1969;Stein AR;03:40:32.7; +2951;Jähde Oliver;1974;Winterthur;03:28:19.8; +2954;Janes Paul;1979;Zürich;03:29:51.7; +2955;Janssen Volker;1958;Hagendorn;03:50:45.8; +2962;Jegerlehner Andreas;1962;Glashütten;05:07:38.7; +2963;Jenny Florian;1983;Zürich;03:58:43.3; +2965;Jimenez José Manuel;1969;Müllheim Dorf;03:30:23.0; +2967;Jöchle Werner;1966;Oberglatt ZH;04:28:05.2; +2970;Johnson Mike;1979;Richterswil;03:29:50.5; +2971;Joos Markus;1963;Trimmis;02:40:24.0; +2972;Jörgensen Martin;1971;Schaffhausen;04:05:49.6; +2973;Jöri Sandro;1985;Alpnach Dorf;02:45:27.7; +2974;Jornot-Schmitt Michael;1963;Dietikon;04:23:37.8; +2975;Joss Marc;1972;Lostorf;02:57:44.3; +2977;Jost Urs;1964;Ruppoldsried;03:39:56.8; +2984;Jud Toni;1956;Rufi;02:52:57.6; +2985;Juengling Stephan;1966;Zürich;03:43:04.6; +2988;Jung Urs;1963;Grub AR;03:21:31.7; +2989;Jutz Josef Sepp;1953;Eglisau;04:48:17.4; +2990;Jutz Otto;1972;Arbon;03:14:52.0; +2991;Jutz Stephan;1971;Affoltern am Albi;04:16:13.2; +2992;Jutzi Urs;1964;Oberdiessbach;04:54:10.1; +2994;Kaderli Oliver;1970;Salenstein;04:03:21.3; +2995;Kägi Benjamin;1971;Horgen;04:15:08.3; +2996;Kägi Christian;1953;Obfelden;04:35:32.5; +2997;Kägi Rolf;1964;Uster;03:54:31.9; +2998;Kaiser Walter;1948;Thalwil;05:10:37.2; +2999;Kälin Christian;1958;Stallikon;03:28:06.3; +3000;Stampfli Marc;1973;Oberägeri;04:23:41.2; +3001;Kälin Stefan;1965;Zürich;03:07:00.7; +3003;Kalt Markus;1959;Wangen SZ;02:57:56.6; +3004;Kameni Gaétan;1972;Zürich;03:28:13.3; +3005;Kamer Stefan;1965;Obernau;03:08:06.5; +3006;Känzig Jürg;1951;Zürich;03:57:34.5; +3008;Karlen Werner;1967;Embrach;04:23:48.6; +3010;Käser Hans;1952;Anwil;03:56:16.3; +3011;Kastrati Albert;1991;Kloten;05:21:39.8; +3012;Kathriner Reto;1973;Cham;03:01:41.9; +3013;Kätsch Hans-Martin;1965;Hasliberg Goldern;04:24:59.6; +3016;Kaufmann Corrado;1958;Moutier;04:19:27.1; +3017;Kaufmann Ferdi;1947;Zürich;03:43:39.3; +3018;Kaufmann Hubert;1967;Buttisholz;03:04:03.6; +3019;Kaufmann Michael;1968;Dürnten;02:53:19.2; +3022;Kehl Arthur;1963;Zürich;03:41:36.8; +3023;Keller Christian;1968;Zürich;02:53:05.9; +3027;Keller Michael;1973;Luzern Reussbühl;03:14:50.1; +3030;Kellerhals Martin;1970;Niederbipp;02:59:54.3; +3032;Kempter Christoph;1967;Neuendorf;03:47:44.2; +3034;Kerenyi Alexander;1971;Brüttisellen;03:24:44.5; +3035;Kern Andreas;1963;Glattbrugg;04:27:23.6; +3036;Kern Daniel;1964;Zürich;03:34:17.1; +3037;Kersten Udo;1967;Zürich;03:58:34.3; +3038;Kessler Beat;1959;Hedingen;03:22:49.2; +3039;Kessler Marcel;1969;Lengnau BE;04:36:38.0; +3040;Kessler Nicolas;1974;Orsonnens;02:54:36.3; +3041;Kessler Thomas;1966;Elsau;04:17:33.7; +3042;Key Matthew;1975;Baden;03:41:19.8; +3043;Kimati Celso;1965;Luzern;04:34:19.4; +3045;Kirchmayr Wolfgang;1964;Therwil;03:36:00.5; +3047;Kirst Christian;1975;Zürich;03:06:06.1; +3048;Kiser Felix;1949;Meggen;04:31:01.6; +3049;Kistler Roger;1971;Lachen SZ;03:26:48.5; +3051;Klaus Oliver;1973;Tuggen;03:04:59.5; +3052;Kläusler Stefan;1962;Winterthur;03:02:23.3; +3055;Klingelfuss Marc;1965;Adliswil;03:52:57.3; +3056;Klingenberg Björn;1969;Grüningen;03:11:35.5; +3057;Klopfenstein Marco;1981;Hilterfingen;03:41:02.8; +3059;Klotz Matthias;1972;Biel/Bienne;02:53:23.2; +3060;Klotzsch Thomas;1958;Oftringen;02:57:37.5; +3062;Knapp Christian;1967;Zürich;03:11:29.8; +3064;Knobel Albert;1950;Altendorf;03:13:01.7; +3067;Koch Dominik;1981;Eptingen;02:45:03.4; +3068;Kock Carsten;1979;Jona;02:59:08.3; +3069;Kodlinsky Christian;1973;Othmarsingen;04:37:31.6; +3072;Kohler Marcel;1982;Zürich;05:10:40.1; +3073;Kohler Pirmin;1974;Nänikon;04:00:18.2; +3077;Koller Gerold;1980;Steinen;02:59:33.2; +3079;Kölliker Thomas;1976;Eich;03:14:11.2; +3080;Kolly Jean-Bernard;1979;Tentlingen;03:13:14.0; +3081;Königbauer Stefan;1983;Winterthur;03:43:36.7; +3086;Koskela Ari;1961;Adliswil;03:09:54.7; +3088;Kostic Milan;1982;Zürich;03:57:18.7; +3089;Koutny Zdenek;1958;Möhlin;03:23:51.1; +3091;Krähemann Thomas;1977;Wil SG;03:40:47.4; +3093;Kral Philipp;1981;Zürich;04:19:30.0; +3095;Krause Rainer;1962;Dörflingen;03:14:44.7; +3097;Krebs Marcel;1969;Basel;03:38:13.1; +3098;Krebs Markus;1961;Brüttisellen;03:33:16.8; +3100;Krebs Sandro;1970;Uttigen;03:47:07.4; +3101;Krebs Thomas;1965;Pfäffikon ZH;03:41:12.5; +3103;Kreis Pablo;1973;Zürich;04:03:57.3; +3104;Kreis Simon;1987;Neukirch (Egnach);03:19:31.0; +3107;Krieger Urs;1970;Rüschlikon;02:59:44.4; +3108;Kron Marius;1959;Muri AG;03:18:23.7; +3109;Krucher Daniel;1964;Zürich;03:13:52.3; +3112;Kubli Jürg;1957;Wädenswil;03:45:40.2; +3113;Kuczynski Roman;1980;Zürich;03:25:29.1; +3116;Kuhn Bruno;1957;Schinznach Bad;04:09:49.9; +3119;Kühne Raphael;1956;Flawil;03:23:39.4; +3121;Kuipers Dennis;1971;Zug;02:42:30.1; +3122;Kulendik Martin;1982;Fehraltorf;04:29:19.8; +3124;Kümin Michael;1988;Wollerau;05:05:16.6; +3127;Kündig Walter;1962;Hochdorf;03:24:59.1; +3128;Küng Martin;1970;Waldstatt;03:56:01.3; +3129;Küng Ralf;1974;Hochfelden;04:11:58.5; +3130;Kunkel Maximilian;1982;Zürich;03:07:48.5; +3131;Kunz Dieter;1973;Rüschlikon;04:22:50.6; +3132;Kunz Gerhard;1969;Urswil;03:09:07.6; +3133;Kunz Markus;1969;Arni-Islisberg;04:40:40.0; +3136;Künzle Peter;1949;Kirchberg SG;03:16:12.1; +3137;Kupny Wojciech;1980;Rüschlikon;05:23:35.3; +3140;Kushwaha Imran;1972;Dürnten;03:12:23.2; +3141;Küttel Lars;1972;Obernau;03:45:04.6; +3142;Küttel Peter;1978;Küssnacht am Rigi;02:58:08.2; +3143;Küttel Ruedi;1971;Schmerikon;03:23:20.7; +3145;Kyburz Reto;1968;Zürich;03:23:32.8; +3146;Lagotzki Andreas;1962;Leuggern;04:21:42.7; +3148;Lamard David;1970;Ecublens VD;03:36:50.7; +3149;Lambert Gerard;1953;Wettswil;04:02:37.0; +3150;Lampart Remo;1966;Benglen;03:26:15.9; +3151;Landi Marco;1980;Buchs AG;03:23:33.8; +3152;Landtwing Martin;1957;Dietlikon;04:54:11.6; +3154;Langenegger Christian;1982;Zürich;03:25:43.7; +3157;Langridge James;1976;Kemptthal;03:43:34.7; +3158;Lanter Guido;1968;Zürich;03:39:57.9; +3159;Lanz Peter;1961;Oberengstringen;04:07:17.9; +3161;Larsson David;1989;Adliswil;03:56:14.8; +3163;Lasser Philippe;1970;Zürich;03:51:09.8; +3164;Laticevschi Dumitru;1969;Genève;03:35:32.4; +3168;Lay Daniel;1982;Zürich;03:42:40.1; +3169;Le Quang Duc;1964;La Chaux-de-Fonds;03:59:50.7; +3170;Ledergerber Ruedi;1958;Stäfa;04:32:10.3; +3171;Ledergerber Stefan;1970;Glattbrugg;04:32:10.5; +3174;Leek Peter;1978;Zürich;02:59:20.8; +3179;Lehner Jürg;1979;Gränichen;03:57:37.1; +3182;Leimgruber Jörg;1963;Dietikon;03:15:32.3; +3186;Lennon Mark Antony;1968;Buonas;04:03:01.3; +3187;Lerose Luigi;1982;Zürich;03:54:21.4; +3188;Leserf Gottlieb;1938;Uster;04:38:43.5; +3189;Letta Marco;1965;Abtwil SG;03:24:07.6; +3190;Leuenberger Frank;1974;Liestal;03:36:30.0; +3191;Leuenberger Hans;1964;Bremgarten AG;03:54:21.9; +3192;Leuenberger Michael;1973;Dättwil AG;03:41:23.2; +3194;Leuthold Bernhard;1971;Kloten;03:26:03.5; +3197;Liard Gilles;1963;Sâles (Gruyère);03:21:25.7; +3198;Lichtin Jürg;1967;Willisau;03:34:19.1; +3199;Lichtsteiner Klemens;1970;Rothenburg;03:51:32.0; +3200;Liechti Alexander;1955;Bisikon;04:10:06.8; +3202;Lienhard Cédric;1977;Nyon;03:06:33.8; +3203;Lienhard Tobias;1981;Zürich;04:27:54.1; +3209;Lindner Jack Olav;1967;Adliswil;03:26:11.1; +3210;Lindsay Luke;1977;Zürich;03:42:14.7; +3211;Lippuner Christoph;1966;Frauenfeld;03:49:09.0; +3212;Liver Richard;1976;Embrach;03:50:15.1; +3214;Lloyd William;1980;Thalwil;03:35:22.3; +3215;Locantore Paolo;1974;Oftringen;04:27:21.7; +3217;Lockyer Mark;1991;Oberwil b. Zug;04:01:55.6; +3218;Lockyer Paul;1965;Oberwil b. Zug;04:30:44.9; +3220;Loher Martin;1959;Montlingen;03:26:47.0; +3221;Lohri Philipp;1963;Frauenfeld;02:52:34.0; +3222;Loiudice Giulio;1958;Schaffhausen;04:01:09.9; +3223;Loosli Peter;1948;Riehen;03:21:24.2; +3225;Lorenz Roman;1970;Spreitenbach;03:43:56.6; +3226;Lorenz Tino;1975;Châtelaine;03:50:20.8; +3230;Louis Jvan;1990;Nesslau;03:39:52.0; +3231;Loye Eric;1963;Haute-Nendaz;03:27:17.7; +3234;Luder Beat;1972;Kirchberg BE;02:44:46.7; +3236;Luginbühl Guy;1963;Zürich;03:36:20.6; +3238;Lüönd Urs;1965;Brunnen;03:42:14.2; +3239;Lupp Bjoern;1973;Bottmingen;04:04:57.0; +3241;Lüscher Urs;1974;Arni AG;03:00:51.0; +3242;Lustenberger Silvan;1967;Oberglatt ZH;03:46:35.3; +3243;Lusti André;1961;Unterengstringen;03:41:12.8; +3246;Lutz Hansjörg;1953;Glattfelden;03:47:12.2; +3248;Luzzani Roger;1975;Schattdorf;02:57:26.5; +3250;Maccioni Sandro;1965;Hinteregg;04:04:04.7; +3251;Machowetz Alex;1984;Zürich;03:49:38.8; +3253;Macquarrie Hugh;1978;Zürich;04:08:57.1; +3254;Stadler Christian;1974;Dielsdorf;02:51:48.2; +3255;Magnenat David;1977;Zürich;03:26:51.3; +3256;Maier Jürgen;1970;Alten;03:47:16.1; +3259;Maier Robert;1973;Kilchberg ZH;03:57:45.8; +3260;Maier Thomas;1977;Dielsdorf;05:04:51.4; +3261;Maier-Thurn Marcus;1974;Horgen;05:25:28.0; +3262;Maillard Joel;1961;Winterthur;04:23:55.4; +3263;Maillefer Joël;1969;Cheseaux-Noréaz;02:45:44.7; +3264;Maio Giuseppe;1961;Zürich;03:55:33.4; +3268;Mani Simon;1964;Weggis;02:50:34.2; +3269;Mann Felix;1967;Clarmont;03:38:33.8; +3272;Marchand Antoine;1979;Colombier NE;02:46:45.4; +3273;Marchand Tony;1970;St-Imier;02:52:58.6; +3278;Mariuzzo Christian;1964;Bernex;03:27:13.4; +3279;Marrel David;1975;Wettingen;03:21:55.0; +3280;Marro Alain;1967;Genève;03:20:56.9; +3283;Marta Massimo;1973;Roveredo GR;03:24:48.8; +3284;Martel Sylvain;1972;Lausanne;03:34:24.9; +3286;Marti Michael;1968;Rorschacherberg;03:59:00.9; +3287;Martin Javier;1983;Zürich;04:33:40.7; +3289;Martin Sergio;1982;Jonen;03:37:34.2; +3291;Martino Giuseppe;1968;Vezia;03:32:26.7; +3292;Marty Patrick;1975;Derendingen;03:12:04.6; +3293;Marty Philipp;1975;Hünibach;04:27:48.1; +3296;Matos Gilberto;1975;Zürich;04:06:32.7; +3297;Matter Chrigi;1975;Ebmatingen;04:41:38.8; +3298;Mattheis Hartmut;1969;Seewen SZ;05:12:34.9; +3300;Mattle Paul;1958;Widnau;03:46:07.8; +3301;Mattmüller Martin;1954;Winterthur;03:45:00.0; +3303;Maurer Heinz;1964;Chéserex;03:15:31.1; +3304;Maurer Oliver;1984;Unterentfelden;03:25:13.3; +3305;Maurer Urs;1965;Hittnau;03:17:04.8; +3306;Maury Laribiere Martia;1962;Gockhausen;03:37:06.3; +3308;Mayer Jens;1975;Winterthur;03:53:36.6; +3311;Mccreadie Murray;1959;Luzern;02:57:57.5; +3313;Mecchia Francesco;1969;Zürich;03:59:13.7; +3314;Meier Andreas;1964;Elsau;03:37:11.4; +3315;Meier Daniel;1964;Aarau;03:51:59.7; +3316;Meier Elias;1992;Illnau;03:23:41.4; +3317;Meier Franz;1960;Windisch;03:35:51.3; +3318;Meier Heinz;1958;Winterthur;03:35:11.1; +3319;Meier Kusi;1963;Baden;04:36:10.4; +3320;Meier Marcel;1968;Niederhasli;03:57:58.0; +3321;Meier Marcel;1963;Unterbözberg;03:56:53.4; +3322;Meier Michael;1966;Baden;03:24:24.0; +3323;Meier Patrick;1971;Langnau am Albis;03:45:18.5; +3325;Meier Peter;1966;Büren SO;04:17:58.2; +3328;Meier Roland;1964;Herzogenbuchsee;03:57:37.9; +3329;Meier Simon;1982;Zürich;03:09:02.0; +3330;Meier Stefan;1954;Fehraltorf;05:18:06.7; +3332;Meierhans Roman;1974;Zürich;03:49:47.5; +3333;Felix Manuela;1965;Zürich;04:27:31.7; +3334;Meisser Reto;1970;Uster;03:43:24.9; +3335;Meister Roger;1978;Zürich;04:08:36.6; +3337;Mele Piero;1987;Ettingen;04:17:55.5; +3338;Melzer Tino;1961;Kreuzlingen;03:01:31.3; +3339;Menghini Daniel;1968;Nürensdorf;03:40:05.3; +3340;Menzi Micha;1976;Rüti ZH;03:07:26.1; +3342;Merkle Othmar;1963;Kreuzlingen;03:18:39.4; +3343;Merkt Peter;1964;Hüntwangen;02:46:41.7; +3345;Merup Christian;1986;Zürich;03:11:09.0; +3347;Mesaros Thomas;1978;St. Gallen;03:31:36.5; +3349;Metger Georg;1968;Dottikon;04:11:15.4; +3351;Metzler Hans;1961;Freidorf TG;03:28:18.4; +3352;Meuris Richard;1981;Zürich;03:56:30.3; +3353;Meyer Daniel;1964;Amriswil;03:54:19.2; +3356;Meyer Stephan;1964;Dällikon;03:39:00.0; +3358;Michel Dominique;1966;Sierre;02:53:22.9; +3359;Michel Walter;1953;Kloten;03:28:38.6; +3360;Michnac Ivan;1957;Bülach;03:17:43.2; +3361;Milesi Luca;1976;Arbedo;03:29:29.2; +3362;Milic Mladen;1971;Zürich;03:50:36.8; +3363;Millius Beat;1959;Baltschieder;03:05:01.2; +3366;Misic Andrija;1981;Zürich;03:45:35.2; +3367;Misiek Wiktor;1968;Kloten;04:39:59.9; +3368;Mistretta Antinoo;1967;Ebikon;03:22:25.9; +3369;Mittelholcz Béla;1979;Zürich;02:59:34.5; +3374;Moehlecke Thomas;1969;Lupfig;03:38:22.7; +3375;Moggi Christoph;1961;Bonstetten;03:07:46.8; +3376;Mohring Stephan;1975;Adliswil;04:14:29.0; +3377;Mollitt Andrew;1973;Stallikon;03:43:01.7; +3379;Monachon Jean-Claude;1960;Heimensten;03:48:13.6; +3380;Monney Roland;1961;Ménières;03:55:16.2; +3381;Montanari Matteo;1953;Zürich;03:58:59.3; +3382;Monterosso Germano;1996;Feuerthalen;04:11:41.3; +3383;Monterosso Vincenzo;1964;Dachsen;03:31:29.0; +3384;Mordasini Niccolo;1985;St. Gallen;03:50:29.5; +3385;Moret Eloi;1966;Ménières;04:20:10.4; +3387;Morley Tim;1974;Horgen;05:01:53.6; +3388;Moscetti Christian;1973;Agno;04:23:30.5; +3389;Moser Felix;1968;Zürich;03:25:57.2; +3390;Moser Rudolf;1960;Belp;03:36:15.4; +3391;Mosetti Nicolas;1966;Froideville;03:07:06.4; +3392;Mourtada Samir Paul;1962;Zug;04:04:00.4; +3393;Mozzi Guido;1944;Zürich;04:58:45.1; +3395;Muehlethaler Adrian;1975;Bern;03:05:54.3; +3397;Muff Christian;1951;Obernau;03:17:48.1; +3398;Muff René;1960;Köniz;02:59:55.7; +3399;Muff Roland;1976;Zürich;03:44:48.1; +3402;Müller Andreas;1961;Winterthur;04:19:43.0; +3403;Müller Bruno;1970;Udligenswil;02:59:29.8; +3404;Müller Daniel;1973;Küssnacht am Rigi;02:41:27.6; +3407;Müller Hans-Jörg;1960;Bonstetten;03:39:32.5; +3408;Müller Hansruedi;1959;Rudolfingen;04:54:25.1; +3409;Müller Heinrich;1951;Hombrechtikon;04:50:24.5; +3412;Müller Lukas;1970;Wettswil;02:58:48.0; +3414;Müller Michael;1981;Steinmaur;03:27:18.4; +3415;Müller Michael;1953;Effretikon;04:47:25.2; +3416;Müller Patrick;1965;Kloten;03:20:42.2; +3417;Müller Rolf;1960;Zürich;03:24:52.5; +3418;Müller Ronnie;1974;Ennetbaden;03:37:55.2; +3420;Müller Thomas;1962;Zürich;03:18:13.2; +3422;Mumenthaler Stephan;1971;Zürich;03:18:08.8; +3423;Munz Thomas;1957;Bern;04:44:53.8; +3424;Murer Werner;1962;Zug;04:12:53.0; +3425;Muriqi Agron;1971;Niederuzwil;03:51:22.8; +3426;Murray Mark;1969;Jonen;03:12:56.2; +3428;Nachbaur Gerd;1972;Corcelles-près-Pa;03:42:44.4; +3431;Nater Remo;1989;Wittenbach;03:15:12.2; +3432;Naylor Charles;1956;Zürich;03:55:34.7; +3433;Nazabal Alexis;1975;Zürich;03:27:10.9; +3436;Neff Armin;1960;Amriswil;03:23:51.9; +3438;Neff Yanick;1983;Zürich;03:35:05.6; +3443;Neuländner Martin;1961;Oberuzwil;03:45:52.5; +3445;Neumüller Peter;1975;Wetzikon ZH;02:59:15.1; +3447;Nicolet Samuel;1981;Bulle;02:57:24.5; +3448;Niederberger Guido;1970;Menznau;05:01:39.4; +3449;Niederberger Philippe;1976;Islisberg;03:11:47.0; +3450;Niederer Christian;1959;Endingen;03:44:10.4; +3451;Niedermair Uli;1983;Uster;03:13:04.2; +3452;Niethammer Thomas;1960;Flawil;03:22:03.9; +3454;Niklaus Michael;1988;Kirchberg BE;03:26:55.0; +3457;Nobis Markus;1973;Solothurn;03:30:49.1; +3460;Noli Lorenz;1978;Schliern b. Köniz;03:57:45.7; +3462;Notter René;1967;Walchwil;04:10:33.5; +3463;Notter Stefan;1966;Luzern;03:13:32.4; +3464;Notz Ruedi;1963;Bonstetten;04:12:35.0; +3465;Nussbaum Walter;1958;Muttenz;02:51:47.6; +3467;Nutt Reto;1958;Zürich;03:31:59.7; +3469;Nyikos Thomas;1980;Zürich;02:58:29.4; +3471;Oberkalmsteiner Karl;1944;Schänis;03:25:11.7; +3472;Oberle Adrian;1982;Zürich;03:32:21.9; +3474;Obermeit Volker;1957;Zürich;03:48:01.2; +3475;Obrecht Walter;1959;Hünenberg See;03:41:35.5; +3476;Ochsner Daniel;1975;Winterthur;03:50:44.7; +3477;Ochsner Harry;1971;Zürich;03:57:42.9; +3478;Odermatt Fredi;1955;Adligenswil;03:14:26.0; +3479;Odermatt Michael;1975;Rothenburg;02:56:50.0; +3480;Odermatt Urs;1961;Merlischachen;03:18:56.2; +3481;Oehninger Ernst;1936;Watt;04:44:48.1; +3482;Oester Patrick;1975;Genève;04:29:57.7; +3485;Omollo Omondi;1962;Winterthur;03:39:25.4; +3486;Oppitz Lothar;1962;St. Gallen;03:30:46.4; +3487;Oppitz Ulrich;1966;Bern;03:33:17.7; +3488;Oppliger Christophe;1972;Lonay;02:58:07.5; +3489;Oreilly David;1968;Winterthur;03:22:25.4; +3490;Ortega Ilias;1961;Zürich;04:50:08.7; +3491;Ortkemper Frank;1972;Baar;04:00:41.3; +3492;Ott Manuel;1976;Stäfa;04:19:27.5; +3493;Otter Ueli;1957;Subingen;04:05:48.4; +3494;Overbeck Gernot;1965;Basel;04:04:16.5; +3497;Overeem Joost;1965;Stetten SH;04:00:38.8; +3498;Paccaud Christophe;1978;Lausanne;03:23:05.7; +3499;Pacozzi Romeo;1961;Birchwil;03:54:08.0; +3501;Page Basile;1985;Morlon;03:24:58.5; +3503;Pagy Eilam;1974;Kilchberg ZH;04:17:56.6; +3504;Palmiere Cristian;1972;Nyon;03:36:36.7; +3505;Panatti Erik;1987;Castasegna;02:55:22.0; +3510;Passera Giacomo;1980;Volketswil;03:58:51.6; +3512;Pauchard Patrick;1969;Cousset;03:42:45.6; +3517;Pedrini Claudio;1980;Opfikon;04:34:43.7; +3518;Peinsold Martin;1984;Seon;03:23:16.6; +3519;Pellegrini Flavio;1981;Zürich;03:19:52.9; +3520;Pellet Laurent;1958;Zürich;03:30:38.5; +3521;Peng Pierre;1949;Uster;05:29:00.9; +3522;Pepe Pasquale;1961;Hinteregg;03:55:45.2; +3527;Perisset Laurent;1982;Esmonts;03:27:54.1; +3531;Perseghini Mauro;1975;Montagnola;03:06:10.0; +3532;Pescheta Donato;1983;Effretikon;02:47:34.7; +3533;Peter Guido;1966;Dübendorf;04:13:58.5; +3534;Peterhans Urs;1961;Bassersdorf;04:45:28.4; +3535;Petrig Markus;1964;Einsiedeln;03:42:58.9; +3536;Peyer Thomas;1986;Zürich;03:43:03.0; +3537;Pfäffli Roger;1979;Wil SG;04:23:41.2; +3538;Pfändler Jonas;1985;Full-Reuenthal;03:23:40.4; +3540;Pfenninger Roland;1967;Uster;04:25:03.0; +3541;Pfister Felix;1959;Menzingen;03:49:12.2; +3542;Pfister Heinz;1956;Thayngen;04:49:13.4; +3543;Pfister Jeremias;1982;Erlinsbach SO;03:57:51.8; +3544;Pfister Samuel;1986;Müllheim Dorf;04:19:00.1; +3547;Pfyffer Roland;1961;Würenlingen;03:18:30.6; +3548;Pfyffer Urs;1960;Luzern;03:20:18.4; +3551;Pianaro Claudio;1961;Dübendorf;03:17:17.1; +3557;Piguet Florian;1981;Biel/Bienne;02:44:03.2; +3558;Pillard Luc;1973;Uster;05:12:05.1; +3560;Piras Davide;1977;Zürich;03:58:44.8; +3561;Pirrello Antonino;1970;Zürich;03:54:18.8; +3562;Pirscher Andreas;1966;Freienwil;03:20:13.0; +3563;Pittet Laurent;1975;Bercher;02:48:33.8; +3564;Place Raymond;1971;Basel;03:57:29.2; +3567;Ploetz Armin;1966;Jona;03:36:55.6; +3568;Plum Carsten;1970;Liebefeld;03:28:52.6; +3569;Plüss Fabian;1980;Zürich;03:42:49.1; +3571;Porfido Franco;1971;Kloten;03:25:53.3; +3573;Portmann Hansjörg;1971;Winterthur;03:18:53.2; +3574;Portmann Marco;1977;Hünenberg;03:53:52.0; +3575;Németh Aniko;1975;Dübendorf;03:38:23.1; +3576;Portmann Thomas;1969;St. Gallen;03:04:13.2; +3578;Praz Max;1958;Sion;03:46:00.7; +3581;Procacci Fabio;1962;Vevey;05:27:44.8; +3582;Protze Sören;1979;Nürensdorf;03:32:31.6; +3583;Pulizzi Antonino;1958;Effretikon;04:30:16.3; +3586;Putallaz Jean-Yves;1947;St-Séverin;03:46:42.2; +3587;Quauka Daniel;1980;Altstätten SG;03:24:49.4; +3588;Quirici Giulio;1959;Hinteregg;03:13:54.4; +3589;Raca Mirko;1984;Lausanne;03:56:05.5; +3590;Raccuglia Armando;1975;Mägenwil;03:50:52.4; +3593;Ramer Stefan;1963;Fahrwangen;03:47:44.9; +3595;Randegger Erwin;1948;Adliswil;04:35:57.6; +3596;Ranta Tommy;1981;Buchs AG;03:13:32.0; +3597;Raschle Adrian;1962;Egnach;03:53:25.5; +3598;Rasquinet Patrick;1967;Zürich;05:33:14.5; +3601;Raymann Patrick;1970;Lufingen;03:32:12.0; +3603;Rechsteiner Helmut;1959;Romanshorn;03:28:02.9; +3604;Rechsteiner Kuno;1979;Zürich;02:54:25.3; +3606;Rehm Martin;1968;Weggis;03:36:33.3; +3607;Rehmet Joachim;1973;Zürich;03:58:16.8; +3608;Reichmuth Thomas;1986;Schwyz;03:43:29.9; +3611;Reinhard-Miltz Gerhard;1956;Kreuzlingen;03:39:41.8; +3612;Reinhardt Stephan;1966;Aarau;04:24:27.6; +3614;Reitbauer Stefan;1980;Horgen;03:26:39.9; +3617;Rentsch Peter;1959;Wollerau;04:22:15.2; +3620;Reutemann Patrick;1975;Baar;04:39:43.6; +3622;Rentsch Max;1967;Gelterkinden;03:21:56.5; +3623;Rezzonico Andrea;1981;Zürich;03:27:57.2; +3625;Richter Carsten;1978;Feusisberg;03:15:23.8; +3627;Richter Manfred;1971;Winterthur;04:25:00.3; +3628;Richterich Lukas;1956;Basel;03:21:29.5; +3631;Riedi Mattias;1979;Sedrun;04:03:12.7; +3635;Riekert Patrick;1973;Hedingen;04:10:28.1; +3637;Rigoni Bruno;1969;Obfelden;03:45:09.7; +3638;Rinderknecht Christoph;1979;Neerach;03:39:20.5; +3639;Rindlisbacher Martin;1969;Münsingen;02:45:30.3; +3640;Rippstein Guido;1953;Baden;03:45:54.2; +3641;Risby Lee Alexander;1971;Cham;04:13:36.7; +3642;Risi Christoph;1964;St. Niklausen LU;04:03:02.2; +3643;Ritler Roger;1968;Winterthur;03:25:15.4; +3644;Ritschard Mario;1970;Uetendorf;03:59:14.8; +3645;Ritter Daniel;1964;Zürich;03:21:43.3; +3646;Ritz Daniel;1971;Diepoldsau;03:19:33.6; +3647;Rizzello Roberto;1964;Dübendorf;04:23:05.6; +3651;Rodelli Leo;1945;Turbenthal;03:59:53.5; +3652;Roduit Pascal;1958;Martigny;03:38:15.8; +3653;Roduner Christoph;1966;Balgach;04:00:27.0; +3654;Roffler Markus;1962;Churwalden;03:32:14.8; +3655;Rohner Marius;1990;Heiden;04:09:52.2; +3656;Rohr Stephan;1980;Vira (Gambarogno);02:46:41.1; +3657;Rohrer Hansruedi;1958;Rubigen;03:07:34.0; +3659;Röllin Martin;1974;Zug;04:13:18.0; +3660;Roman Emilio;1965;Thayngen;03:18:19.8; +3664;Rosen Oliver;1975;Pully;03:43:32.7; +3665;Rosic Renato;1973;Basel;04:39:25.6; +3667;Rosset Gilles;1969;St-Aubin FR;03:43:26.7; +3668;Rossi Lorenzo;1969;Uerikon;03:23:54.0; +3669;Roth Heiner;1960;Hinwil;04:15:00.2; +3670;Roth Nick;1978;Zürich;03:36:42.9; +3671;Röthlisberger Andres;1976;Winterthur;04:37:29.6; +3672;Röthlisberger Sergio;1990;Zürich;04:25:03.5; +3673;Röthlisberger Urs;1973;Opfikon;04:16:25.6; +3676;Roulet Vincent;1964;Ecoteaux;03:54:01.8; +3680;Rückstein Bruno;1978;Thalwil;04:34:57.3; +3681;Rudaz Gérald;1957;Bramois;04:23:41.7; +3682;Rudolf Hanspeter;1955;Bad Zurzach;03:27:18.9; +3683;Rüede Christian;1969;Sulz AG;03:53:44.9; +3684;Rüede Nico;1978;Kloten;03:59:46.6; +3685;Rueegg Patrick Stefan;1973;Bassersdorf;03:44:51.7; +3686;Rüegg Armin;1959;Adliswil;04:53:59.0; +3687;Rüegg Walter;1964;Niederglatt ZH;03:27:05.9; +3688;Rüesch Peter;1961;Zürich;03:42:38.2; +3689;Ruf Andreas;1967;Wetzikon ZH;04:11:30.1; +3693;Rupper Patrick;1960;Zürich;03:56:31.2; +3694;Rusch Stefan;1967;Wetzikon ZH;03:39:31.0; +3706;Safi Kamran;1974;Winterthur;03:52:32.5; +3708;Sägesser Simon;1969;Reinach BL;03:10:45.4; +3710;Salamin Michel;1963;Martigny;03:14:35.9; +3713;Salmi Janne;1969;Forch;02:40:56.0; +3715;Salzmann Urs;1955;Worb;02:58:48.1; +3716;Sanchez Walter;1976;Mettmenstetten;05:02:44.7; +3718;Sano Shogo;1986;Dietikon;04:07:36.9; +3721;Sara Benedé Enrique;1970;Zürich;03:49:28.4; +3723;Sauder Patrick;1966;Oberbözberg;02:46:46.9; +3724;Saurer Werner;1962;Grüningen;03:51:01.8; +3725;Sauter Markus;1958;Salenstein;03:05:55.1; +3726;Savill Ian;1971;Zürich;04:04:16.3; +3727;Savola Juha;1958;Reinach BL;02:59:23.7; +3729;Schaad Marco;1976;Matzendorf;02:59:09.3; +3730;Schaad Thomas;1977;Basel;03:31:23.0; +3731;Schaerer Bruno;1949;Geroldswil;04:37:21.1; +3732;Schaermeli Claudio;1980;Romanshorn;03:32:27.7; +3733;Schäfer Andreas;1977;Zürich;04:44:07.9; +3734;Schäfer Roger;1970;Embrach;03:54:43.3; +3735;Schäffer Beat;1974;Schwerzenbach;03:30:50.2; +3739;Schär Markus;1970;Rheineck;03:25:26.7; +3740;Schärer Kurt;1941;Worb;03:38:13.8; +3741;Schärli Christoph;1981;Sempach Stadt;04:27:06.9; +3742;Schaub Rolf;1952;Zürich;03:40:58.9; +3743;Schegg Stefan;1978;Kriessern;03:53:05.2; +3745;Scheidegger René;1955;Spreitenbach;03:34:04.4; +3746;Schelbert Armin;1976;Muotathal;03:17:03.3; +3749;Schenk Felix;1964;Wigoltingen;02:40:59.9; +3750;Schenkel Patrick;1973;Stein am Rhein St;03:54:05.6; +3753;Scherer Kurt;1963;Udligenswil;02:48:44.0; +3757;Scherzinger Fredy;1955;Schmerikon;03:47:12.0; +3758;Schibig Viktor;1948;Illnau;04:14:23.6; +3763;Schilling Martin;1971;Neuhausen am Rhei;03:26:17.5; +3765;Schläfli Matthias;1977;Thalwil;03:27:33.2; +3766;Schläpfer Marco;1984;Zürich;03:41:13.5; +3767;Schlatter Adrian;1965;Basel;02:47:58.4; +3768;Schlatter David;1955;Amriswil;03:56:07.0; +3771;Schlicht Michael;1974;Niederrohrdorf;03:56:54.8; +3772;Schlub Jarbas;1975;Zürich;03:32:39.0; +3773;Schlüchter Roland;1966;Teufen AR;04:08:56.7; +3777;Schmid Philipp;1986;Wald AR;04:35:30.8; +3779;Schmid Tobias;1969;Glattfelden;04:24:42.1; +3780;Schmid Tom;1974;Buchs SG;03:50:12.9; +3781;Schmid-Erni Reto;1963;Neukirch (Egnach);03:54:33.1; +3785;Schmidt Roberto;1965;Ottenbach;03:28:11.7; +3787;Schmidt Urs;1970;Seuzach;04:11:40.1; +3788;Schmidt Urs-Peter;1967;Uster;03:24:14.3; +3789;Schmied Bruno;1962;Ostermundigen;04:15:44.7; +3792;Schmutz Dominik;1979;Riehen;03:10:12.2; +3793;Schneckenburger Julian;1973;Andelfingen;03:20:55.8; +3794;Schneider Hans-Peter;1963;Niederweningen;03:43:26.5; +3795;Schneider Jochen;1959;Magglingen/Macoli;03:59:45.6; +3797;Schneider Martin;1953;Wetzikon ZH;03:49:35.3; +3798;Schneider Martin;1983;Niederuzwil;03:14:47.1; +3800;Schneider Reto;1978;Derendingen;03:31:42.6; +3803;Schnüriger Erwin;1964;Steinen;03:21:49.3; +3805;Schnyder Roger;1962;Varen;02:39:40.0; +3807;Schoch Christoph;1975;Zürich;03:45:11.6; +3808;Scholian Heinz;1958;Dietikon;03:18:56.5; +3809;Scholl Hans;1946;Uetendorf;03:09:32.4; +3813;Schönenberger Bruno;1960;Niederwil SG;03:44:13.9; +3814;Schönenberger Felix;1969;Füllinsdorf;04:12:40.9; +3815;Schönenberger Samuel;1984;St. Gallen;03:48:07.0; +3816;Schönenberger Tim;1988;Windisch;03:22:48.0; +3817;Schönenberger Urs;1971;Niederhelfenschwi;02:59:20.6; +3818;Schönherr Andreas;1974;Zürich;03:27:28.9; +3819;Schöni Beat;1959;Bätterkinden;03:37:03.4; +3820;Schöni Martin;1961;Hasle-Rüegsau;03:14:32.6; +3821;Schoppe Mathias;1965;Stäfa;03:20:08.7; +3822;Schorno Enrico;1960;Zürich;03:27:34.8; +3824;Schranz Fred;1959;Thun;03:13:16.8; +3826;Schreiber Mark;1955;Embrach;03:30:52.4; +3827;Schreiber Simon;1973;Zürich;03:24:29.2; +3829;Schröder Jan;1967;Zürich;03:45:37.6; +3832;Schüepp Daniel;1964;Stallikon;03:58:33.0; +3834;Schuler Paul;1962;Adliswil;03:16:16.7; +3835;Schuler Werner;1957;Hünenberg;04:56:45.6; +3836;Schulte Christian;1976;Baar;03:47:49.3; +3839;Schultheiss Tobias;1988;Zug;03:45:27.9; +3840;Schulze Elko;1972;Rheinau;03:49:49.4; +3843;Schüpbach Fabian;1986;Nänikon;04:19:23.7; +3844;Schütz Patrick;1969;Zürich;02:54:51.3; +3845;Schütz Reinhart;1964;Wetzikon ZH;03:06:23.8; +3849;Schweitzer Pascal;1976;Baden;04:03:43.6; +3850;Schweizer Marcel;1974;Dietlikon;04:37:07.7; +3851;Schwery Rolf;1969;Biel/Bienne;04:49:04.8; +3854;Scotece Gerardo;1963;Vilters;03:11:52.4; +3856;Seeger Andreas;1974;Zürich;04:15:25.0; +3859;Seiler Rico;1959;Jona;03:19:04.9; +3860;Seipel Oliver;1965;Oberembrach;04:28:28.1; +3863;Seki Tomoo;1967;Zürich;04:30:38.1; +3864;Semadeni Gian Andrea;1961;Rüschlikon;03:48:33.3; +3865;Senn Lucien;1978;Schlieren;03:58:23.8; +3867;Senteler Roger;1979;Volketswil;03:26:22.0; +3868;Serrano Camilo;1980;Zürich;04:25:15.4; +3870;Sgier Giusep;1961;Chur;03:17:08.5; +3871;Sibilia Enrico;1974;Dällikon;03:56:19.7; +3874;Sieber Oliver;1984;Zürich;03:44:20.5; +3875;Siegenthaler Fredy;1962;Oberentfelden;03:38:44.8; +3877;Siegrist Thomas;1965;Bern;03:16:43.6; +3881;Signer Martin;1969;Langnau a Albis;03:06:23.2; +3882;Signer Ueli;1956;Weiningen TG;03:42:23.1; +3883;Sigrist Daniel;1965;Luzern Reussbühl;03:40:57.5; +3884;Sigrist Felix;1965;Ennetbürgen;03:07:04.2; +3886;Silberschmidt Rico;1980;Schaffhausen;03:26:22.9; +3887;Simon Robert;1947;Zürich;04:53:49.2; +3889;Siragusa Pietro Giovan;1979;Neuhausen am Rhei;04:03:53.2; +3890;Sitruk Yves;1957;Horgen;04:32:17.3; +3895;Smith Craig;1977;Lausanne;03:27:00.7; +3898;Somerville Trevor;1957;Rorschacherberg;04:03:32.3; +3901;Soto Josetxo;1969;Zürich;03:20:56.8; +3904;Spaargaren Marco;1966;Zürich;03:06:49.2; +3905;Spaggiari Giuseppe;1955;Bellinzona;03:54:22.4; +3906;Späh Martin;1981;Zürich;04:06:19.7; +3907;Specht Dominique;1971;Watt;04:03:52.9; +3908;Al-Godari Hamid;1967;St. Margrethen SG;03:41:40.7; +3909;Spielhofer Hans;1952;Wattwil;03:59:34.2; +3910;Spielhofer Reto;1989;Wattwil;03:54:43.7; +3911;Spiess Thomas;1960;Thun;03:10:09.5; +3912;Spilker Max;1978;Zürich;04:03:58.3; +3913;Spitteler Peter;1969;Wittinsburg;03:18:07.2; +3914;Spitznagel Kurt;1964;Buchs AG;04:10:00.5; +3915;Spörndli Daniel;1975;Schaffhausen;03:19:23.3; +3916;Sprenger Raphael;1987;Wängi;02:58:37.5; +3917;Spring Daniel;1984;Thun;02:44:39.4; +3920;Stadelmann Marc;1973;Langenthal;04:22:33.9; +3921;Maeder Walter;1951;Courgevaux;03:24:38.6; +3922;Stadler Marcel;1966;Niederscherli;03:16:27.9; +3923;Stadler Reto;1965;Zürich;03:44:02.1; +3924;Staeheli Oliver;1971;Horgen;03:57:53.2; +3925;Staffelbach Thomas;1969;St. Urban;03:08:56.5; +3926;Stähli Sandro;1989;Zwillikon;03:45:28.5; +3927;Stamm Dominik;1978;Reinach BL;03:52:10.3; +3928;Stamm Franz;1956;Elsau;03:21:11.0; +3929;Stamm Urs;1952;Schleitheim;04:25:34.8; +3931;Stämpfli Bernhard;1967;Oberwil BL;02:54:25.7; +3932;Kälin Kurt;1967;Wetzikon ZH;03:43:37.0; +3933;Stangl Dominik;1969;Schaffhausen;03:00:46.5; +3934;Stangl Stefan;1968;Jona;03:04:52.5; +3935;Stäuble Roland;1961;Zürich;03:04:43.0; +3936;Staudenmann Beat;1970;Toffen;03:15:38.4; +3938;Stauffacher Ruedi;1968;Aeugst am Albis;03:11:28.7; +3939;Stauffer Alexandre;1985;Corcelles NE;04:06:21.6; +3940;Stauffer Mario;1974;Wilen b. Wollerau;05:15:15.7; +3941;Stauffer Markus;1954;Bern;03:42:13.0; +3942;Stebler Markus;1965;Wünnewil;03:02:06.8; +3943;Steffen Peter;1958;Küttigen;03:10:42.4; +3946;Steigmeier Linus;1956;Villigen;04:08:41.2; +3947;Stein Martin;1973;Zürich;03:22:45.4; +3948;Steiner Armin;1979;Uerkheim;02:50:52.4; +3949;Steiner Daniel;1961;Neuhausen am Rhei;03:43:36.2; +3950;Steiner Markus;1986;Zielebach;03:05:14.2; +3951;Steiner Patrick;1979;Schindellegi;03:24:12.0; +3952;Steiner Peter;1965;Bern;04:09:50.0; +3953;Steiner Rolf;1970;Schwyz;03:09:05.2; +3954;Steiner Thomas;1955;Glattfelden;04:10:46.1; +3956;Steinhof Co Rosen Arne;1974;Pully;03:47:55.7; +3958;Stern Pascal Nicolas;1964;Zürich;03:19:11.3; +3959;Stettler Roman;1970;Flums;03:40:48.8; +3961;Stifel Peter;1947;Steinhausen;04:15:30.1; +3962;Stillman David;1981;Siebnen;02:38:27.6; +3964;Stirnemann Paul;1954;Zürich;03:40:07.0; +3966;Stirnimann Daniel;1978;Winterthur;02:41:11.4; +3968;Stocker Ueli;1963;Zug;03:49:26.0; +3969;Stockmann Hubertus;1966;Kilchberg ZH;03:25:34.4; +3973;Stoll Oliver;1963;Zeihen;04:02:48.0; +3975;Storchenegger Daniel;1986;Altishausen;03:42:10.7; +3977;Strähl Stefan;1970;Oensingen;02:51:29.0; +3981;Strebel Philipp;1967;Tägerig;02:59:26.1; +3982;Strehler Erich;1969;Zürich;03:13:55.1; +3983;Streich Daniel;1957;La Tour-de-Trême;04:41:40.2; +3984;Streiff Christoph;1981;Winterthur;03:43:42.3; +3985;Streule Ralf;1976;Herisau;04:01:55.6; +3987;Strickler Werner;1954;Volketswil;04:03:01.8; +3988;Strimer Simon;1960;Jona;03:34:57.6; +3990;Stucker Jürg;1971;Zürich;03:46:43.0; +3992;Studer Adrian;1967;Baltschieder;03:15:06.9; +3993;Studer Jürg;1972;Niederösch;03:44:32.3; +3994;Studer Peter;1963;Affoltern am Albi;03:36:35.5; +3995;Stupp Oliver;1982;Greifensee;03:26:35.1; +3996;Sturzenegger Hans-Rudo;1959;Hittnau;03:28:40.3; +3997;Sturzenegger Michael;1984;Hittnau;03:33:10.9; +3999;Sturzenegger Thomas;1958;Dübendorf;03:32:38.9; +4001;Stütz Andy;1967;Schenkon;03:11:15.4; +4002;Stutz Bruno;1963;Dietlikon;04:20:28.5; +4003;Stutz Michael;1978;Zürich;03:26:25.5; +4004;Stutz Toni;1959;Emmenbrücke;03:46:37.2; +4005;Sulser Silvio;1976;Zürich;03:09:20.4; +4006;Sumi Arthur;1953;Wigoltingen;04:36:55.9; +4008;Süssli Eric;1975;Glarus;03:16:24.9; +4010;Suter Jürg;1981;Wettingen;03:50:56.7; +4013;Sutter Jürg;1980;Flims Waldhaus;04:32:57.9; +4014;Swars Erik;1971;Ecublens VD;03:53:42.4; +4015;Szegvary Thomas;1979;Basel;02:51:21.5; +4016;Szentgyörgyi Istvan;1971;Zürich;04:12:33.5; +4018;Tabakovic Velid;1969;Zürich;03:48:12.8; +4019;Tacca Gianni;1964;Monthey;03:48:33.6; +4021;Tanner Marcel;1968;Ostermundigen;03:02:51.3; +4023;Tauber Albert;1963;Wetzikon ZH;03:52:15.9; +4025;Tellefsen Anders;1968;Zumikon;03:49:52.4; +4026;Teshima Ryo;1973;Zürich;05:12:50.9; +4030;Thalmann Rolf;1957;Emmenbrücke;03:25:29.9; +4031;Theis Manuel;1972;Forch;03:26:20.6; +4033;Theules Olivier;1970;Sâles (Gruyère);03:43:07.9; +4034;Thiel Dieter;1975;Zürich;04:13:20.5; +4036;Thoma Remo;1977;Nänikon;03:23:37.5; +4037;Thoma Turi;1959;Cham;03:17:57.7; +4044;Thür Raphaél;1981;Rüti ZH;03:39:33.5; +4045;Thurre Jean-Daniel;1966;Saxon;04:37:23.7; +4046;Tighnavard Babak;1983;Zürich;04:11:49.9; +4047;Tobler Urs;1956;Arni AG;04:26:49.9; +4054;Tourolle Bruno;1968;Zürich;05:09:51.3; +4056;Traber Fabio;1981;Oberägeri;04:23:21.4; +4058;Trajkovic Ivo;1980;Baden;03:18:32.4; +4063;Tremp Christof;1974;Zürich;03:32:14.2; +4064;Tresch Reto;1972;Schöftland;03:27:44.2; +4065;Triantafillou Christos;1968;Bern;04:52:37.0; +4067;Tripolt Fabio;1989;Horgen;04:50:44.1; +4069;Troller Rolf;1952;Langnau am Albis;03:16:04.1; +4070;Trolp Frank;1967;St. Gallen;03:47:42.8; +4071;Troxler Andreas;1973;Zürich;03:05:43.5; +4073;Trümpler Michael;1980;Ottikon (Gossau Z;03:59:59.4; +4074;Truninger Joey;1986;Rüschlikon;04:21:42.2; +4076;Trüssel Stefan;1974;Uster;03:32:50.1; +4077;Tschamon Martin;1969;Nenzing;04:26:02.9; +4078;Tschanz Lukas;1982;Nänikon;03:50:40.1; +4079;Tschopp Silvan;1985;Ottenbach;03:11:38.3; +4081;Tschumper Markus;1969;Uerikon;03:23:05.0; +4082;Turberg Yves;1960;Movelier;03:11:45.6; +4084;Uebbing Jürgen;1966;Zürich;03:25:51.0; +4085;Ueltschi Thomas;1961;Allschwil;03:03:16.8; +4087;Ulber Wolfgang;1963;Domat/Ems;02:56:59.8; +4088;Ullmann Rolf;1946;Bern;04:23:43.6; +4091;Ulrich Daniel;1965;Zug;02:47:17.1; +4093;Umbricht Niklaus;1966;Untersiggenthal;03:28:21.8; +4094;Vacheron Thierry;1968;Vionnaz;03:56:01.6; +4095;Vagt Toni;1979;Zürich;03:05:22.5; +4097;van Zyl Charl;1967;Horgen;03:17:57.7; +4100;Veronesi Silvio;1969;Birmensdorf ZH;04:04:59.4; +4101;Vetsch Matthias;1965;Zufikon;03:20:04.1; +4103;Vieux Florian;1986;Muraz (Collombey);02:44:19.9; +4104;Vilchez Martin;1978;Zürich;03:32:58.5; +4109;Voegeli Matthias;1984;Zürich;03:46:10.7; +4110;Vögeli Pierre;1961;Reinach BL;04:20:39.9; +4111;Voegeli Ueli;1965;Egliswil;03:36:28.4; +4114;Vogel Hanspeter;1965;Evilard;04:59:03.8; +4115;Vogel Markus;1963;Aarau;03:42:53.5; +4116;Vogel Roland;1984;Kloten;03:59:22.0; +4117;Vögeli Bernhard;1958;Buchs SG;04:15:08.8; +4122;Völlmin Manuel;1984;Ormalingen;03:19:55.7; +4125;von Dahlen Steffen;1984;Baden;03:47:50.9; +4126;von Holzen Christoph;1960;Menzingen;03:01:28.8; +4127;von Kaenel Dominik;1978;Oensingen;04:54:14.0; +4128;von Mandach Conrad;1968;Bern;03:15:07.5; +4129;Vonarburg Christian;1964;Zürich;03:43:28.5; +4130;Vonbach Lukas;1975;Männedorf;03:27:53.3; +4132;Vonplon Raymond;1981;Baar;03:46:02.7; +4133;Votteler Michael;1965;Herisau;04:08:24.6; +4134;Vournelis Ellin;1975;Uster;03:19:49.1; +4135;Vuillemez Samuel;1979;Le Cerneux-Péquig;03:08:05.7; +4136;Vuilleumier Cédric;1982;Neyruz FR;04:14:26.1; +4138;Waeber Pascal;1968;Tafers;03:03:57.3; +4142;Wahl Kurt;1951;Stallikon;03:53:47.6; +4143;Waldburger Hans;1963;Wetzikon ZH;03:57:57.1; +4144;Walder Vitus;1975;Schluein;03:13:37.1; +4145;Waldis Stefan;1964;Volketswil;02:55:28.2; +4146;Waldner Peter;1965;Zürich;03:19:31.4; +4148;Allemann Urs;1977;Winterthur;03:34:53.7; +4152;Wälti Jean Pierre;1960;Wallisellen;03:28:59.4; +4153;Wälti Thomas;1977;Bolligen;03:30:38.1; +4154;Wangler Timothy;1979;Bassersdorf;03:43:31.5; +4155;Wanner Florian;1979;Bern;03:27:05.3; +4156;Wanner Laurent;1964;Nyon;03:44:52.1; +4161;Weber Heinrich;1956;Müllheim-Wigoltin;04:07:24.7; +4162;Weber Jakob;1961;Reinach BL;03:15:35.5; +4164;Weber Peter;1959;Netstal;03:13:56.6; +4166;Weber Stefan;1964;Oberrieden;03:28:52.6; +4167;Wegmann Marco;1965;Zürich;02:53:05.3; +4168;Wegmann-Wittlin Andrea;1959;Fällanden;03:08:13.7; +4169;Wegscheider Beat;1968;Kloten;03:13:23.5; +4170;Wehrli Fabian;1981;Buchs ZH;03:53:27.5; +4171;Weibel Patrick;1967;Zürich;03:45:57.3; +4172;Weibel Xaver;1980;Zürich;03:20:43.3; +4173;Weiersmüller J-C;1971;Lenzburg;05:01:02.3; +4175;Weilenmann Pascal;1984;Winterthur;04:21:39.3; +4176;Weiler Andreas;1967;Altstätten SG;02:49:59.5; +4177;Weiler Christoph;1956;St. Gallen;03:53:47.9; +4181;Weiser Thomas;1974;Zürich;04:26:18.4; +4182;Weisheimer Thomas;1972;Ehrendingen;03:21:52.9; +4183;Weisser Klaus;1961;Zürich;03:47:57.0; +4184;Welbergen Anthony;1983;Zürich;03:18:37.6; +4185;Welten Ernst;1968;Tägerig;04:24:38.0; +4192;Wenger Urban;1958;Weinfelden;03:33:01.9; +4195;Werder Daniel;1967;Kilchberg ZH;03:44:31.4; +4199;Wernli Oliver;1976;Buochs;03:27:50.9; +4200;Wernli Raphael;1981;Baden;03:39:33.1; +4201;Wespi Marcel;1969;Uitikon Waldegg;03:13:52.0; +4204;Westphalen Stephan;1941;Basel;05:24:41.6; +4205;Wettstein Erich;1958;Biberist;03:48:10.3; +4206;Wettstein Markus;1983;Russikon;03:27:17.7; +4212;Wicki Roger;1974;Winterthur;03:14:34.4; +4214;Widmer Erhard;1955;Zürich;03:49:04.0; +4219;Wildhaber Walter;1986;Bonstetten;03:49:04.8; +4220;Wilkening Jan;1981;Zürich;03:08:18.8; +4222;Willisegger Christoph;1971;Winterthur;03:25:32.0; +4223;Wilson Antony;1961;Baar;03:48:14.0; +4224;Windmüller Stefan;1970;Zürich;03:56:11.3; +4225;Winistörfer Georges;1956;Zürich;04:20:29.0; +4226;Winkler Michael;1971;Zürich;02:44:19.7; +4230;Wirz Daniel;1967;Oetwil am See;03:27:50.7; +4231;Wittlin Marc;1976;Birsfelden;03:42:46.4; +4232;Wittwer David;1970;Obfelden;05:10:20.7; +4233;Wohlers Florian;1975;Dübendorf;03:42:07.4; +4234;Wolf Etienne;1971;Gundetswil;02:32:49.2; +4236;Wollnow Jörg;1969;Sursee;04:10:28.4; +4240;Wörner Mike;1971;Eschenbach SG;03:23:40.6; +4241;Wullimann Markus;1976;Grenchen;02:51:35.0; +4243;Würzebesser Christian;1977;Zürich;04:26:22.1; +4246;Wüthrich Jürg;1966;Thal;03:47:43.4; +4248;Wyler Karl;1961;Teufen AR;03:47:18.4; +4249;Wymann Fredi;1953;Uetikon am See;04:30:06.6; +4250;Wymann Markus;1968;Zürich;04:43:36.1; +4251;Wyniger Lukas;1977;Wettingen;03:21:22.8; +4253;Wyss Eric;1966;St. Moritz;02:54:59.2; +4254;Wyss Roman;1976;Niederbipp;02:55:54.9; +4255;Wyss Stefan;1982;Thun;03:26:00.0; +4257;Yamashita Masato;1949;Versoix;03:43:53.9; +4258;Zabe-Kühn Martin;1964;Ostermundigen;03:41:01.1; +4262;Zampiccoli Manuel;1988;Mettmenstetten;04:05:48.2; +4263;Zanella Bruno;1959;Richterswil;04:49:35.7; +4264;Zangl Christian;1965;Mörschwil;03:41:31.8; +4265;Zaouia Mehdi;1952;Zürich;04:14:01.3; +4266;Zbinden Manfred;1970;Düdingen;03:40:48.7; +4267;Zbinden René;1972;Bern;03:25:40.5; +4268;Zbinden Thomas;1972;Schenkon;02:54:31.5; +4269;Zeder Markus;1973;Burgdorf;03:11:35.9; +4270;Zeder Patrick;1974;Bern;03:06:35.5; +4272;Zehnder Marcel;1959;Wohlen AG;03:10:08.5; +4274;Zekhnini Ahmed;1969;Weiningen TG;04:49:37.5; +4275;Zemp Marco;1972;Root;03:23:55.1; +4276;Zemp Markus;1966;Berikon;03:07:50.2; +4277;Zengaffinen Erwin;1955;Hochfelden;03:54:57.9; +4278;Zgraggen Franz;1966;Bülach;03:20:19.9; +4279;Ziegler Marc;1971;Hünenberg See;04:19:45.6; +4280;Ziegler Robert;1953;Schübelbach;03:44:31.8; +4284;Zimmerli Thomas;1962;Wolfhausen;03:32:23.9; +4285;Zimmermann Patrick;1973;Rothrist;03:29:36.6; +4286;Zimmermann Robert;1975;Forch;03:38:54.1; +4288;Zingg Christoph;1986;Zürich;03:02:52.0; +4290;Zink Fritz;1991;Schöfflisdorf;04:07:32.2; +4293;Zoder Roland;1972;Rotkreuz;02:53:55.6; +4294;Zoller Stefan;1968;Pfaffhausen;03:23:42.0; +4295;Zollinger Marcel;1963;Oberglatt ZH;03:17:44.3; +4297;Zuber Benno;1960;Randa;03:40:35.5; +4298;Zuber Ralf;1960;St. Gallen;04:35:44.6; +4299;Zubler Martin;1971;Metzerlen;03:22:58.5; +4300;Zulauf Stefan;1962;Gutenburg;04:04:22.2; +4301;Zumer Robert;1966;Benglen;03:36:37.2; +4302;Zumsteg Rene;1978;Embrach;03:45:16.9; +4303;Zurbuchen Christian;1983;Niederbipp;03:51:40.2; +4305;Zurflüh-Begré Daniel;1964;Bern;03:13:49.8; +4306;Zutter Jerome;1980;Dietikon;04:04:45.2; +4307;Zwahlen Beat;1965;Hünenberg;03:57:51.2; +4308;Zwick Jürg;1963;Bülach;03:17:10.8; +4310;Zwygart Stephan;1964;Walzenhausen;04:01:59.8; +4311;Alvarez Fernando;1976;Dietikon;03:51:14.8; +4313;Ambrosini Stefan;1971;Büttikon AG;04:55:45.4; +4315;Ayeah Ebenezer;1971;Fribourg;03:17:16.7; +4316;Bachsteffel Niklaus;1960;Ennetbaden;03:30:01.2; +4317;Bagnoud Gérard;1970;Genève;02:39:30.3; +4318;Bartel Marco;1973;Aarau;03:44:18.2; +4319;Barz Andreas;1962;Uetikon am See;04:09:47.4; +4320;Baumann Rainer;1971;Uetikon a.S.;03:15:53.4; +4321;Baumann Walter;1953;Flawil;02:57:59.7; +4323;Baumgartner Andreas;1980;Cham;03:51:00.5; +4324;Beck Jan;1970;Dornach;03:03:19.3; +4327;Beer Sebastian;1984;Zürich;03:17:11.4; +4328;Beerli Urs-Peter;1953;Märstetten;03:20:06.6; +4329;Beermann Stefan;1981;Uster;03:09:44.7; +4330;Bekcic Vladimir;1987;Zug;03:37:21.9; +4331;Benkert Fritz;1949;Bergdietikon;03:38:32.5; +4334;Birkenmaier Claude;1977;Zürich;03:38:56.5; +4335;Blum Edgar;1951;Niederrohrdorf;03:52:36.6; +4336;Bogner Walter;1976;Zürich;03:03:47.5; +4337;Bonfanti Stefan;1960;Zürich;03:17:04.7; +4341;Bronner Reto;1972;Untersiggenthal;03:52:08.1; +4342;Brönnimann Ruedi;1951;Nussbaumen AG;03:24:43.9; +4343;Bucher Martin;1976;Zürich;03:07:06.7; +4344;Buehler Andreas;1960;Hombrechtikon;03:34:03.6; +4345;Buerki Fritz;1948;Herzogenbuchsee;04:35:05.4; +4346;Bühlmann Daniel;1963;Buchrain;04:12:59.2; +4347;Burgener Hubert;1958;Naters;03:35:04.4; +4348;Bürgi Thomas;1971;Goldau;03:06:51.1; +4350;Businger Urs;1955;Luzern;03:20:45.9; +4351;Camenzind Peter;1951;Adliswil;02:54:41.7; +4354;Carisch Emanuel;1978;Zürich;03:55:06.5; +4355;Carrasco Ernesto;1965;Steinmaur;04:38:15.0; +4356;Casanova Lukas;1976;Zürich;03:37:50.9; +4357;Castella Jean-Marc;1964;Fribourg;05:11:31.3; +4358;Caviezel Marzel;1960;Schluein;03:39:40.9; +4361;Coradi Thomas;1971;Lenzburg;03:57:57.3; +4362;Coray Roger;1967;Altstätten SG;03:59:48.4; +4363;Crosara Michel;1968;Elsau;03:09:28.6; +4367;Derron Simon;1974;Uster;04:07:34.9; +4369;Dobler Christoph;1982;Zürich;03:32:07.5; +4370;Dos Santos Nelson;1974;St-Luc;04:33:45.9; +4373;Duschen Patrick;1977;Jona;03:07:44.2; +4374;Dütschler Reto;1987;Horgen;03:57:58.0; +4375;Eckert Marc;1982;Thun;04:24:13.0; +4376;Egger Daniel;1980;Zürich;03:12:08.4; +4377;Ehrbar Martin;1966;Wil SG;03:13:13.1; +4378;Eigenmann Raffael;1971;Gossau SG;03:26:14.5; +4379;Enemrke Simon;1982;Zürich;03:34:52.6; +4381;Fallegger Hans-Jörg;1964;Uitikon Waldegg;03:26:03.3; +4383;Fessler Andreas;1962;Arth;05:33:39.1; +4384;Forster Martin;1955;Baden;03:57:47.7; +4385;Frei Nicola;1986;Zürich;03:18:16.7; +4386;Fritz Romeo;1969;Nürensdorf;04:21:34.3; +4388;Geissmann Willy;1945;Ormalingen;04:04:51.8; +4390;Gisi Daniel;1968;Aarau Rohr;02:58:06.3; +4391;Gomez Carlos;1971;Genève;03:09:16.6; +4392;Gossauer Andreas;1969;Kilchberg ZH;04:23:59.5; +4393;Graham Colin;1978;Kloten;03:25:39.3; +4394;Grau Patrick;1977;Dietikon;04:38:55.4; +4395;Grüninger Thomas;1968;Gland;03:56:50.4; +4397;Gujer Hanspeter;1969;Egg b. Zürich;04:21:31.6; +4398;Gyger Franz;1968;Steffisburg;03:06:10.5; +4399;Haider Thomas;1977;Zürich;02:53:41.2; +4400;Haller Heinrich;1954;Zernez;03:14:40.7; +4401;Hartmann Thomas;1990;Herisau;04:21:26.2; +4402;Haueter Max;1955;Sumiswald;04:12:49.0; +4403;Hauser Wolfgang;1964;Jona;02:55:57.6; +4404;Häusler Philippe;1971;Mollis;03:26:49.3; +4406;Herren Lars;1990;Zürich;04:11:27.4; +4407;Hertach Alain;1980;Zürich;03:46:24.5; +4408;Hess Ivan;1972;Seuzach;03:43:57.6; +4409;Hess Oliver;1972;Wetzikon ZH;04:05:34.2; +4411;Hohler Patrick;1973;Aesch BL;03:56:55.4; +4412;Holenweger Michael;1990;Stäfa;04:16:36.2; +4413;Hollenstein Alex;1964;Bütschwil;03:44:11.4; +4414;Hösli Hans;1960;Glattfelden;03:28:24.9; +4415;Hubacher Thomas;1981;Bern;03:13:08.5; +4416;Huber René;1956;Kloten;04:36:47.8; +4417;Hug Rene;1971;Neftenbach;03:14:54.9; +4419;Humbel Jürg;1960;Untersiggenthal;03:30:52.9; +4420;Hungerbuehler Pius;1961;Zürich;03:53:02.2; +4421;Inniger Hans-Christoph;1970;Bern;04:41:42.5; +4424;Janser Alfred;1946;Niederhasli;04:13:22.2; +4425;Jegen Thomas;1963;Illnau;03:57:29.2; +4426;Joller Thomas;1968;Luzern;03:23:38.6; +4428;Jutzi Stephan;1970;Zürich;04:09:25.0; +4433;Kaufmann Hanspeter;1963;Emmenbrücke;03:50:16.8; +4435;Kellenberger Stephan;1976;Bern;03:15:43.1; +4436;Keller Daniel;1969;Rafz;03:58:39.7; +4437;Keller Ernst;1961;Dorf;02:58:15.0; +4438;Kelling Udo;1968;Turgi;03:04:50.7; +4440;Kimmerlin Thierry;1968;Basel;03:16:52.9; +4441;Kindlimann Heinz;1954;Regensdorf;03:43:31.0; +4444;Kobi Peider;1960;Stadel b. Niederg;04:43:57.9; +4445;Kopalek Peter;1973;Steinmaur;03:20:33.6; +4448;Küchler Thorsten;1971;Zürich;03:22:32.7; +4449;Kuster Marcel;1966;Pratteln;03:17:29.6; +4450;Kuster Matthias;1960;Zürich;03:53:57.8; +4452;Lanz Peter;1979;Mollis;02:51:38.1; +4453;Laubscher Daniel;1968;Büren an der Aare;03:35:14.5; +4454;Leach Steven;1969;Weesen;04:22:52.4; +4455;Leder Manfred;1965;Kaisten;03:38:05.7; +4456;Lehmann Nik;1964;Gossau SG;03:08:46.4; +4457;Lehni Markus;1954;Zug;03:51:10.8; +4458;Leiggener Christoph;1964;Wallbach;04:24:27.4; +4459;Leuener Felix;1969;Oberriet SG;03:56:31.0; +4461;Loosli Adrian;1973;Ibach;03:07:31.4; +4462;Lopes Oliveira Leonel;1971;Dietikon;03:05:47.9; +4463;Lorencez Isaac;1954;Spreitenbach;03:48:08.4; +4465;Lucas François;1961;Zürich;03:44:05.5; +4466;Lüthi Jean-Pierre;1965;Lausanne;03:36:16.2; +4467;Lüthi Marc;1981;Forch;04:06:42.3; +4468;Lüthi Markus;1968;Dussnang;03:55:50.1; +4469;Maag Reto;1971;Illnau;03:30:04.5; +4470;Maegli Rolf;1955;Meggen;04:07:31.1; +4471;Maier Bernhard;1966;Wallisellen;03:49:12.4; +4472;Malacarne Sergio;1962;Winterthur;03:57:34.6; +4475;Martel Jan;1973;St. Gallen;04:12:25.3; +4477;Maurer Dani;1965;Binningen;03:06:14.8; +4478;Meichtry Urs;1960;Bonstetten;03:14:13.7; +4479;Meier Bruno;1969;Stetten AG;03:03:26.5; +4480;Meier Daniel;1973;Winterthur;03:28:25.1; +4481;Meier Martin;1973;Winterthur;04:39:50.7; +4483;Merian Paul;1963;Urdorf;03:27:56.6; +4484;Messer Markus;1963;Flims Dorf;03:18:13.8; +4485;Metzger Bernhard;1966;Lufingen;04:24:15.7; +4487;Minuscoli Patrik;1981;Wollerau;03:17:11.0; +4488;Miralhos Paulo;1974;Frauenfeld;02:42:54.8; +4490;Moncaro Andrea;1970;Volketswil;04:00:17.6; +4491;Montagut Vidal Jorge;1975;Ottikon (Gossau Z;03:27:46.0; +4492;Moser Ives Jan;1984;Bülach;03:13:18.8; +4493;Moser Mario;1976;Wettingen;04:25:43.7; +4494;Motavalli Masoud;1962;Rüschlikon;04:39:41.9; +4495;Mühle Housi;1960;Utzenstorf;03:44:56.6; +4496;Mullaney Chris;1967;Ottoberg;04:00:35.0; +4497;Murbach Umberto;1948;Horgen;04:44:47.0; +4499;Nehmer Raphael;1989;Adliswil;04:12:31.0; +4500;Neuenschwander Hanspet;1966;Unterbözberg;04:31:36.4; +4501;Notter Thomy;1974;Hochfelden;04:11:43.5; +4502;Nünlist Nüni;1970;Brütten;04:26:57.3; +4503;Nusseck Peter;1963;Unterentfelden;03:20:19.2; +4504;Nyfeler Thomas;1979;Bleienbach;03:29:17.7; +4505;Oberhänsli Fabian;1990;Zezikon;03:20:58.3; +4506;Obrist Beat;1965;Rüfenach AG;04:26:57.6; +4507;Obrist Fabio;1977;Kloten;04:11:19.7; +4508;Odden Lee;1956;Zug;03:26:42.2; +4509;Odermatt Karlheinz;1965;Rain;04:23:05.4; +4510;Oetiker Beat;1965;Samstagern;04:43:15.9; +4511;Omlin Niklaus;1965;Rudolfstetten;03:39:26.4; +4512;Ommerborn Stephan;1964;Zürich;03:57:30.2; +4513;Ort Fred;1942;Bertschikon (Goss;03:42:06.9; +4514;Pagan Olivier;1963;Münchenstein;03:56:16.6; +4515;Pauli Marc;1970;Mirchel;03:18:53.3; +4516;Perez De La Sota Gabri;1980;Zürich;04:08:57.6; +4517;Perren Patrick;1971;Chalais;02:42:52.6; +4519;Pfäffli Andreas;1968;Winterthur;03:12:35.9; +4521;Pfister Andreas;1990;Märwil;03:11:43.3; +4522;Pfister Christian;1975;Esslingen;03:51:55.3; +4523;Plattner Daniel;1978;Greifensee;04:14:34.5; +4525;Poenaru Daniel;1971;Brugg AG;03:58:25.8; +4527;Portmann Philipp;1973;Mönchaltorf;03:33:19.1; +4529;Pravato David;1972;Zürich;03:18:04.8; +4530;Provinzano Ignazio;1975;Mels;03:14:06.3; +4531;Racine Gabriel;1956;Zürich;04:12:19.3; +4532;Raiser Thomas;1968;Wohlen AG;03:30:12.3; +4533;Rando Andrés;1955;Zürich;03:36:42.3; +4535;Reber Rolf;1958;Domat/Ems;03:30:37.7; +4537;Renz Thomas;1959;Bülach;03:17:41.1; +4538;Rickenbacher Leo;1960;Frauenfeld;03:03:42.2; +4541;Risler Martin;1972;Bern;03:31:03.8; +4542;Romer Paul;1962;Rüti ZH;03:16:56.2; +4544;Rüegg Roman;1981;Winterthur;03:23:46.4; +4545;Russenberger Thomas;1963;Lenzburg;03:30:07.3; +4546;Rütimann Willy;1960;Bülach;04:06:31.0; +4547;Sadriu Kreshnik;1994;Bülach;05:17:51.5; +4548;Salisbury David;1970;Zürich;03:40:37.7; +4549;Schädeli Ernst;1949;Pfäffikon SZ;03:44:00.9; +4550;Schäfer Kai;1966;Hauptwil;03:05:08.6; +4551;Scheller Gerd;1964;Kilchberg ZH;03:15:32.5; +4552;Schiavarelli Nicola;1957;Zürich;03:31:43.0; +4554;Schlepfer Roland;1990;Appenzell;04:07:21.4; +4556;Schmidl Martin;1967;Galgenen;03:21:19.3; +4558;Schmitt Marius Gerhard;1990;Zürich;03:43:19.3; +4559;Schuler Othmar;1965;Schattdorf;03:10:19.1; +4560;Schwegler Klaus;1990;Menzingen;04:12:49.8; +4561;Siegenthaler Thomas;1954;Kilchberg ZH;03:43:26.1; +4562;Signer Peter;1965;Wiesendangen;03:36:24.1; +4564;Spiegel Patrick;1977;Dornach;03:11:15.1; +4565;Städler Oliver;1967;Affoltern a.A.;03:32:53.0; +4568;Steiner Daniel;1988;Samstagern;04:36:39.3; +4569;Steinhauser Jürg;1966;Uster;03:55:45.8; +4570;Stephani Reto;1989;Samstagern;04:14:32.2; +4571;Stoppiello Frank;1966;Chavornay;04:27:04.8; +4572;Strebel Paddy;1961;Stäfa;03:33:53.2; +4573;Suter Daniel;1964;Aarau;04:04:30.7; +4574;Taucher Joshua;1990;Buchs SG;04:22:37.3; +4576;Thode Andreas;1975;Stallikon;03:34:42.0; +4577;Isler Bruno;1963;Niederhasli;03:33:38.7; +4578;Thomschke Till;1981;Zürich;03:33:50.5; +4579;Tobler Daniel;1970;Hedingen;03:12:40.1; +4580;Tomic Slobodan Bob;1943;Unterengstringen;04:29:48.6; +4581;Tonak Torsten;1976;Fahrweid;02:52:15.5; +4582;Tonolli Alberto;1948;Davos Dorf;05:04:59.1; +4584;Tuta Niko;1986;Zürich;04:18:53.6; +4588;Vogt Roland;1953;Hettlingen;03:42:03.5; +4589;von Känel Hans;1950;Wallisellen;03:40:14.8; +4590;Vonchristen Martin;1967;Birmensdorf ZH;04:08:13.8; +4591;Walder Christoph;1954;Zürich;04:27:39.5; +4592;Walker Steven;1969;Ollon VD;03:10:20.3; +4593;Walter Martin;1962;Weinfelden;03:02:43.1; +4594;Wang Lei;1979;Zürich;05:21:55.4; +4596;Wehren Marcel;1982;Niederwil AG;03:31:01.8; +4597;Wey Franz;1954;Rickenbach LU;04:08:53.7; +4598;Wey Herbert;1943;Oberengstringen;04:01:43.8; +4599;Wey Simon;1976;Zürich;03:22:42.6; +4600;Wick Bernhard;1970;Andwil SG;03:50:22.0; +4602;Wille David;1985;Zürich;04:46:13.0; +4603;Wirth Thomas;1971;Hombrechtikon;04:30:41.6; +4605;Wüest Simon;1978;Wettingen;03:59:02.1; +4606;Wunderli Andreas;1961;Zürich;03:38:17.9; +4607;Wyler Marco;1976;Rapperswil SG;04:21:15.1; +4608;Zähnler Bruno;1970;Waldkirch;04:27:22.2; +4609;Zehnder Rolf;1957;Uster;03:58:45.5; +4610;Zehntner Daniel;1955;Liestal;03:23:23.5; +4611;Zimmermann Niklaus;1963;Oberdorf SO;03:36:50.5; +4612;Zimmermann Werner;1951;Zürich;04:37:54.2; +4613;Zumbach Charles;1954;Hüttikon;03:33:26.8; +4614;Ackermann Martin;1957;Rothenhausen;03:28:06.3; +4615;Berndt Matthias;1959;Arisdorf;04:05:43.4; +4616;Bertucci Dario;1977;Zürich;03:51:29.8; +4619;Buchmann Remo;1973;Stäfa;04:12:44.2; +4620;Flückiger Hans;1953;Dübendorf;03:46:16.2; +4621;Germann Peter;1955;Dällikon;03:32:20.3; +4622;Hagemann Peter;1951;Steffisburg;03:31:09.0; +4623;Halme Tero;1985;Genève;02:59:02.2; +4625;Huber Daniel;1966;Zürich;03:25:29.1; +4626;Jeannet Olivier;1961;Neuchâtel;03:26:00.8; +4627;Jorge Humberto;1968;Zürich;03:38:11.0; +4629;Kälin Sepp;1962;Einsiedeln;03:27:46.9; +4631;Kellenberger Daniel;1990;Sirnach;04:33:31.9; +4632;Knupfer Stefan;1982;Grabs;02:58:32.2; +4633;Knüsel Markus;1955;Uster;03:26:26.8; +4634;Kovar Thomas;1971;Bassins;02:59:45.9; +4636;Kuhn Matthias;1979;Lützelflüh-Goldba;03:02:55.4; +4638;Lustenberger Kurt;1967;Aeugst am Albis;02:39:45.1; +4640;Mantel Rico;1959;Zollikerberg;05:11:09.4; +4641;Martin Ludwig;1982;Zürich;03:26:31.4; +4642;Mazzotta Cosimo;1962;Viganello;03:21:14.2; +4644;Moret Raoul;1978;Aigle;03:55:48.2; +4645;Nebbe Harry;1966;Affoltern a. Albi;03:13:15.5; +4646;Neuenschwander Andre;1992;Dübendorf;04:13:30.5; +4647;Pellegrini Fausto;1967;Chur;03:08:09.8; +4648;Pellkofer Martin;1972;Zürich;03:32:45.4; +4649;Peterli Ralph;1965;Winterthur;04:26:53.4; +4650;Phan Quang Biu;1971;Reinach BL;03:38:30.9; +4653;Ruoss Patrick;1971;Zug;03:17:49.2; +4654;Ryser Martin;1960;Reiden;03:22:53.6; +4655;Schmid Andreas;1961;Steinhausen;02:45:39.7; +4656;Schmidt Yvan;1966;Ollon VD;04:03:33.3; +4657;Schwarzkopf Dominik;1990;Flawil;04:57:38.5; +4660;Stoob Max;1994;Fällanden;04:29:24.7; +4661;Tomczak Krzysztof;1976;Lachen SZ;03:13:04.2; +4664;Wellington Daniel;1960;Allschwil;03:57:55.6; +4665;Zgraggen Lorenzo;1991;Luzern;04:01:05.6; +4668;Häuptli Daniel;1983;Zürich;03:34:36.8; +4669;Babounakis Antonios;1990;Zürich;03:20:54.8; +4670;Di Giovanni Bruno;1979;Würenlos;03:54:13.1; +4672;Böni André;1970;Samstagern;04:21:43.2; +4673;Keller Christian;1968;Abtwil SG;04:40:52.6; +4674;Briner-Weber Markus;1957;Fehraltorf;03:43:34.2; +4676;Brenner Patrick;1968;Zürich;02:38:58.1; +4677;Oyetan Seun;1976;Zürich;04:24:23.2; +4678;Manivanan Vijay Sudhak;1972;Zürich;04:08:11.8; +4679;Lehner Markus;1959;Bellmund;04:23:29.0; +4680;Stadel Joachim;1968;Forch;03:14:49.9; +4681;Sudan Philippe;1978;Wollerau;03:11:11.3; +4682;Holzapfel Helmut;1953;Sevelen;04:10:32.5; +4683;Lanz Martin;1973;Zürich;02:37:54.8; +4684;Gorrie Luke;1978;Zürich;04:44:13.6; +4685;Sutter Markus;1966;Hochfelden;03:05:39.8; +4686;Meier Werner;1966;Wetzikon ZH;03:51:16.6; +4687;Mvongo Jean-Paul;1983;Zürich;03:20:08.7; +4688;Czaykowsky Marco;1985;Zürich;03:25:26.2; +4689;Czaykowsky Yves;1987;Zürich;03:14:06.0; +4690;Kümin Otto;1951;Pfäffikon SZ;05:09:42.8; +4691;Thalmann Daniel;1961;Bern;03:15:41.4; +4692;Wespi Bernhard;1973;Dintikon;03:41:54.0; +4693;Geiger Christoph;1942;Biel/Bienne;04:18:19.6; +4694;Oswald Flurin;1955;Zürich;05:01:23.6; +4695;Mader Kevin;1986;Brugg AG;03:20:24.8; +4696;Gentile Daniele;1965;Schlieren;03:26:43.6; +4698;Ahler Markus;1977;Heiligenschwendi;03:58:28.3; +4700;Zuzolo Vincenzo;1967;Pfäffikon SZ;04:32:45.9; +4701;Lochmann Guido;1959;Lostorf;04:03:18.1; +4702;Bartosch Lukas;1972;Binningen;03:54:56.4; +4703;Pfyffer Stefan;1982;Zürich;03:37:36.1; +4704;Unternährer René;1969;Bubikon;03:24:40.5; +4705;Habisreutinger Thomas;1969;Boppelsen;03:35:27.8; +4706;Pokora Daniel;1972;Zürich;03:13:45.2; +4708;Steinbach Simon;1975;Stäfa;03:44:59.6; +4709;Bischof Harald;1957;Zürich;04:06:47.0; +4710;Kohli Bernhard;1978;Zürich;03:40:30.6; +4711;Bigger Reto;1972;Zürich;03:25:21.6; +4712;Lopez Oswaldo;1975;Lausanne;04:38:07.8; +4713;Ortiz Claviso Luis Alb;1966;Lausanne;04:28:03.2; +4949;Richner Peter;1962;Winterthur;03:29:21.3; +6003;Beinhoff Martin;1970;Zollikon;03:51:58.2; +6004;Bucherer Thomas;1982;Zollikon;04:07:49.2; +6005;Cupples Richard;1978;Zollikon;03:34:25.9; +6006;Dorn Alexander;1976;Zollikon;03:47:21.5; +6007;Frou Benoit;1980;Zollikon;03:31:11.6; +6008;Gerull John-Phillip;1974;Zollikon;03:23:42.2; +6010;Hertig Andi;1973;Zollikon;03:59:01.1; +6011;Joss Myriam;1975;Zollikon;03:33:17.7; +6012;Lichtenberger Alexande;1975;Zollikon;04:10:32.4; +6013;Mimouni Didier;1965;Zollikon;03:13:49.1; +6014;Moeckli Simon;1993;Zollikon;03:55:15.5; +6015;Nashid Ibrahim;1966;Zollikon;04:13:34.7; +6016;Ochsner Thomy;1976;Zollikon;04:52:15.2; +6017;Schmid Alex;1959;Zollikon;04:20:38.5; +6018;van Ulzen Manuela;1967;Zollikon;03:56:48.8; +6019;Vogeli Bernhard;1968;Zollikon;03:23:07.4; +6020;Waldburger Claudio;1962;Zollikon;03:43:51.9; +6021;Walser Alexander;1954;Zollikon;04:15:57.0; +6022;Witzel Christian;1977;Zollikon;03:17:20.1; +6023;Rupp Thomas H.;1969;Zollikon;03:29:09.6; +6101;Affolter Darius;1990;Küsnacht ZH;03:24:44.8; +6104;Graham Angus;1967;Küsnacht ZH;04:31:29.8; +6106;Lee Jon;1971;Küsnacht ZH;03:55:54.6; +6107;Luessi Andreas;1974;Küsnacht ZH;03:19:44.4; +6108;Melas Theocharis;1956;Küsnacht ZH;05:24:59.7; +6110;Rentsch Beat;1966;Küsnacht ZH;03:41:14.7; +6111;Rezk Markus;1976;Küsnacht ZH;03:56:55.2; +6112;Schumacher Martin;1968;Küsnacht ZH;03:44:43.2; +6113;Sieger Pascal;1982;Küsnacht ZH;03:17:43.8; +6115;Sutter Andy;1971;Küsnacht ZH;04:12:08.0; +6116;van Buul Peter;1966;Küsnacht ZH;03:26:02.6; +6118;Wieland Lucio;1989;Küsnacht ZH;04:56:57.3; +6119;Zuzak Miro;1978;Küsnacht ZH;04:30:29.7; +6120;De-Vizzi Evelyn;1959;Küsnacht ZH;04:52:55.3; +6121;De-Vizzi Fiona;1992;Küsnacht ZH;04:26:54.7; +6122;Kläger Roland;1977;Küsnacht ZH;03:15:58.8; +6201;Allard Darren;1967;Erlenbach ZH;04:26:56.4; +6204;Greco Luigi;1967;Erlenbach ZH;04:01:57.2; +6205;Huber Sibylle;1959;Erlenbach ZH;03:52:02.2; +6206;Ostertag Andreas;1957;Erlenbach ZH;03:02:03.7; +6207;Piekarz Iwona;1976;Erlenbach ZH;04:05:35.5; +6208;Rodriguez José Manuel;1969;Erlenbach ZH;04:26:30.9; +6210;Waelti Philippe;1964;Erlenbach ZH;03:43:39.0; +6211;Ziegler Philippe;1993;Erlenbach ZH;03:26:06.0; +6301;Baumgartner Rico;1959;Herrliberg;03:57:39.3; +6302;Cestonato Antonella;1966;Herrliberg;04:01:16.4; +6303;Eggenberger Kurt;1963;Herrliberg;03:40:38.8; +6304;Enderlin Michèle;1944;Herrliberg;04:41:47.1; +6305;Hauser Claudia;1965;Herrliberg;03:53:32.8; +6306;Litscher Daniel;1972;Herrliberg;04:06:55.2; +6307;Regenscheit Fabian;1984;Herrliberg;03:43:11.8; +6308;Sommer Martin;1971;Herrliberg;04:23:44.8; +6309;Mathis Stefan;1981;Herrliberg;03:36:46.0; +6310;Merkli Stephan;1973;Herrliberg;03:06:32.1; +6311;Türler Thomas;1967;Herrliberg;03:08:12.6; +6401;Baumann Matthias;1973;Meilen;03:31:08.5; +6402;Baumgartner Philip;1964;Meilen;03:42:46.7; +6403;Biefer Christian;1947;Meilen;03:34:56.4; +6405;Faller Sascha;1988;Meilen;04:17:10.0; +6406;Ganz Jeannette;1967;Meilen;03:52:36.6; +6407;Hari Daniel;1972;Meilen;03:01:44.4; +6408;Hüsser Zoe;1986;Meilen;04:10:43.6; +6409;Lacy David;1968;Meilen;03:26:32.1; +6411;Maag Felix;1970;Meilen;03:38:30.9; +6412;Rehal Jaspal;1978;Meilen;03:53:54.4; +6413;Sax Fredi;1965;Meilen;04:31:08.8; +6414;Schmitt Martin;1977;Meilen;03:54:46.5; +6415;Schraven Jan-Christian;1964;Obermeilen;05:28:19.0; +6416;Stoller Fabienne;1985;Meilen;04:38:16.1; +6417;Winkler Hansjörg;1962;Meilen;03:25:01.0; +6418;Zanotelli Reto;1955;Meilen;03:47:17.5; +6419;Hug Pascal;1969;Meilen;03:13:19.9; +6420;Pavlovic Marko;1960;Feldmeilen;03:06:25.1; +6421;Seebach Nicole;1968;Meilen;04:18:42.6; +6422;Wegmann Joachim;1973;Feldmeilen;04:22:49.0; +7001;Leupi Daniel;1965;Zürich;03:38:01.3; +7002;Ziegler Roger;1990;Bassersdorf;03:16:34.3; +7003;Fässler Hildegard;1951;Grabs;03:38:29.4; +7005;Egger Urs;1955;Zürich;03:17:35.5; +7006;Egger Urs;1955;Zürich;03:35:12.7; +7007;Abele Martin;1963;Zürich;03:17:01.9; +7008;Schmidig Urs;1968;Uster;03:25:06.6; +7009;Mayenzet Didier;1973;Zürich;03:24:19.9; +7010;Rüdisüli Pius;1959;Herrliberg;03:09:17.0; +7011;Lauener Nicole;1970;Erlenbach ZH;03:55:59.2; +7012;Wettstein Peter;1967;Küsnacht ZH;03:58:32.8; +7013;Wettstein Peter;1967;Illnau;03:33:56.4; +7014;Wettstein Peter;1967;Illnau;03:48:10.4; +7015;Welti Martin;1978;Kilchberg ZH;03:21:19.9; +7016;Smits Léon;1964;Zürich;03:31:41.3; +7017;Diethelm Theri;1968;Zug;04:17:34.0; +7018;Achermann Annemarie;1958;Zürich;04:04:04.4; +7019;Thomys Heike;1980;Réclère;03:55:56.8; +7020;Thomys Heike;1980;Réclère;04:04:24.4; +7021;Dettwiler Daniel;1969;Pfäffikon SZ;03:35:12.1; +7022;Zehr Bruno;1975;Glattfelden;03:20:21.9; +7024;Spycher Hunziker Susan;1980;Mellingen;03:29:11.2; +7025;Grieder Sandra;1973;Winterthur;04:03:23.1; +7026;Schumpf Nicole;1980;Schindellegi;04:33:36.3; +7027;Gantner Felicitas;1969;Wädenswil;03:39:29.7; +7028;Vaucher Pascale;1978;Uster;03:37:56.5; +7029;Frost Elke;1973;Zürich;03:15:55.7; +7030;Vorbrodt Dominique;1965;Zürich;03:41:23.8; +7031;Koch Pascal;1985;Schlieren;03:21:34.9; +7032;Ferrari-Fidel Frederic;1983;Zürich;03:21:19.8; +7033;Cloos Lis;1985;Zürich;03:42:50.9; +7034;Urosevic Aleksandra;1986;Buchs ZH;03:36:55.0; +7035;Knaus Michèle;1969;Berikon;04:24:04.0; +7036;Flückiger Miriam;1976;Zürich;03:48:12.8; +7037;Stutz Markus;1961;Herrliberg;03:29:55.2; +7038;Niffenegger Viktor;1952;Hinwil;03:15:01.3; +7039;Wehleit Kolja;1971;Zürich;03:37:34.4; +7040;Wehleit Kolja;1971;Zürich;03:53:06.3; +7041;Wehleit Kolja;1971;Zürich;03:38:34.9; +7042;Knecht Anina;1985;Zürich;03:28:39.7; +7043;Pfister René;1968;Wangen SZ;04:04:57.2; +7044;Fröhlich Valérie;1971;Aeugst am Albis;03:35:20.5; +7045;Blomberg Per-Inge;1961;Zürich;04:02:01.8; +7046;Lhommel Laurence;1971;Mettmenstetten;03:13:06.8; +7047;Bollinger-Könz Dieter;1960;Meilen;03:08:41.2; +7049;Brutschi Daniela;1964;Zürich;03:38:47.8; +7050;Platzer Martina;1967;Zürich;03:46:53.0; +7051;Ammann Barbara;1970;Oberrieden;02:58:56.3; +7052;Aubry Luzia;1959;Würenlos;03:29:33.1; +7054;Stössel Daniel;1969;Uster;03:26:15.0; +7055;Gschwend Christian;1982;Zürich;03:41:46.2; +7056;Leiser Kolja;1976;Affoltern am Albi;03:37:04.8; +7057;Grütter Urs;1954;Hombrechtikon;03:05:29.8; +7058;Coester Franz;1958;Eggenwil;03:53:05.8; +7059;Wirz Markus;1967;Uster;03:25:52.8; +7060;Wirz Markus;1967;Uster;03:22:32.2; +7061;Albisser Beat;1965;Bubendorf;03:36:49.4; +7062;Endres Julia;1979;Zürich;03:56:24.5; +7063;Ummel Beat;1960;Suhr;03:14:20.7; +7064;Fischer Hurter Daniel;1976;Aarau;03:12:31.4; +7065;Senn Rolf;1968;Bellikon;03:04:12.0; +7066;Tobler Raphael;1987;Winterthur;03:17:22.0; +7067;Tobler Raphael;1987;Winterthur;03:16:41.6; +7068;Tobler Raphael;1987;Winterthur;03:15:21.0; +7070;Eggimann Thomas;1967;Kehrsatz;03:25:22.5; +7071;Bartholdi Andre;1966;Rümlang;03:26:19.9; +7072;Merk Gaby;1962;Dübendorf;03:49:16.5; +7073;Limacher Esther;1985;Winterthur;03:20:57.8; +7074;Badertscher Sara;1978;Wermatswil;03:45:10.6; +7075;Francotte Benedicte;1981;Olten;03:55:30.9; +7076;Boschung Bernard;1951;Epagny;04:01:42.7; +7077;Oswald Manfred;1971;Zürich;03:27:07.8; +7078;Steiner Markus;1986;Zielebach;03:28:41.5; +7079;von Euw Martin;1984;Stäfa;03:40:19.3; +7080;Buergi Taboada Carole;1980;Zürich;03:09:43.1; +7081;Cordey Olivier;1972;Feldmeilen;03:44:06.7; +7082;Richinger David;1971;Zürich;03:29:20.7; +7083;Caminada Rafael;1972;Kloten;03:47:59.1; +7084;Schuermann Balz;1974;Zollikon;03:14:12.4; +7085;Charrière Thomas;1990;Herrliberg;03:49:45.7; +7086;Vaterlaus Peter;1962;Wittenbach;03:34:58.1; +7087;Eggimann Andreas;1982;Zürich;03:21:26.4; +7088;Gemperle Patrik;1976;Langnau a.A;03:40:13.6; +7090;Point Laetitia;1981;Zürich;03:24:53.5; +7091;Preisig Ueli;1978;Adliswil;03:25:43.5; +7092;Huber Nadine;1987;Urdorf;04:15:00.0; +7093;Friedli Corinne;1964;Rubigen;03:30:37.4; +7094;Knechtli Thomas;1969;Zürich;03:26:56.1; +7095;Hasler Catherine;1977;Zürich;03:32:33.5; +7096;Böllenrücher Melanie;1987;Dänikon ZH;03:09:13.6; +7097;Oung Raymond;1983;Zürich;03:57:14.8; +7098;Hassler Daniel;1981;Hedingen;03:33:44.8; +7099;Bachmann Maria;1985;Seedorf BE;03:43:11.0; +7100;Petersen Claus Gregers;1966;Zürich;04:00:18.8; +7101;Petersen Claus Gregers;1966;Zürich;03:52:08.6; +7102;Koch Roman;1960;Pfäffikon SZ;03:56:38.8; +7103;Thalmann Hans-Peter;1963;Bertschikon (Goss;03:44:32.5; +7104;Beck Lea;1982;Zürich;03:30:28.7; +7105;Beck Lea;1982;Zürich;03:10:59.2; +7106;Beck Lea;1982;Zürich;03:27:46.3; +7107;Inderbitzin Kevin;1984;Baar;03:30:31.4; +7108;Ledergerber Isabelle;1979;Zürich;03:26:53.5; +7109;Carnevale Vito;1982;Villars-sur-Glâne;03:54:49.9; +7110;Nguyen Raphael;1979;Villars-sur-Glâne;03:38:06.6; +7111;Huwyler Reto;1957;Zürich;03:49:32.6; +7112;Trappitsch Stefan;1965;Uetikon a.S.;03:49:28.6; +7113;Meier David;1969;Widen;03:55:16.3; +7114;Weisstanner Andreas;1962;Celerina/Schlarig;03:39:43.2; +7115;Donath Marc;1963;Adliswil;03:33:25.0; +7117;Klein Tobias;1969;Meilen;03:51:55.8; +7118;Keller Claudia;1973;Zürich;03:33:02.7; +7119;Gabriel Reto;1967;Herrliberg;03:35:04.0; +7120;Holzinger Thomas;1961;Zürich;03:35:01.2; +7121;Frischknecht Christine;1960;Zürich;03:52:07.1; +7122;Roth Jeannine;1969;Winterthur;04:01:38.6; +7123;Delahaye Benjamin;1979;Zürich;03:22:30.2; +7124;Trifari Patricia;1963;Grenchen;03:34:45.5; +7125;Mühlberg Martin;1965;Weiningen ZH;03:28:10.9; +7127;Leuenberger Susanne;1978;Schindellegi;04:09:14.5; +7128;Lurati Laura;1987;Zürich;03:41:38.9; +7129;Cackett Joanne;1984;Zürich;03:35:02.7; +7130;Baumgartner Philipp;1963;Embrach;03:31:11.3; +7131;Altmann Andreas;1970;Stäfa;03:38:29.8; +7132;Marti Gabriel;1988;Samstagern;03:20:21.8; +7133;Steiger-Glocker Gaby;1962;Fällanden;03:59:20.6; +7134;Ruprecht Balz;1984;Herisau;03:04:17.3; +7135;Stoessel Laura;1988;Feldmeilen;03:39:06.5; +7136;Lauffenburger Roman;1972;Winterthur;03:56:36.6; +7138;Williamson Libby;1976;Zürich;03:54:41.0; +7139;Koch Gisela;1974;Schwerzenbach;04:21:23.3; +7140;Gubelmann Patrick;1976;Dietikon;03:49:50.0; +7141;Majoleth Stefan;1980;Domat/Ems;03:16:44.7; +7142;Parro Paolo;1982;Samstagern;03:23:59.2; +7143;Zollinger Reto;1960;Wetzikon ZH;03:23:12.7; +7144;Gundermann Julia;1982;Meilen;04:19:35.5; +7145;Tross-Müller Marianne;1967;Bachenbülach;04:02:29.8; +7146;Müller Anna-Katharina;1981;Zürich;03:32:55.9; +7147;Suter Lorena;1992;Fehraltorf;03:46:31.1; +7148;Grindley Peter;1956;Ebmatingen;03:49:28.6; +7149;Leutwiler Sara;1973;Oetwil am See;03:40:08.6; +7150;Bachmann Beatrice;1982;Obfelden;04:23:48.9; +7151;Streuli Gabriela;1978;Stäfa;03:18:41.6; +7152;Stefka Daniel;1977;Zürich;03:49:46.4; +7153;Kofel Felix;1961;Ehrendingen;03:34:29.6; +7154;Burkhard Patrick;1980;Würenlos;03:06:38.8; +7155;Hess Corina;1984;Meilen;03:56:24.7; +7156;Lehmann Beat;1977;Baden;04:18:47.4; +7157;Patkovic Slavica;1972;Turgi;04:14:22.9; +7158;Rudat Jörg;1969;Würenlingen;04:03:15.4; +7159;Price Robert;1981;Dübendorf;03:48:57.9; +7160;Imhof Nathalie;1971;Baden;04:10:43.7; +7161;Sommer Ernesto;1956;Urdorf;04:23:31.9; +7162;von Gunten Erich;1959;Grüningen;03:36:42.9; +7163;Niederberger Katja;1979;Zürich;04:31:56.7; +7164;Püchel Johannes;1978;Zürich;03:43:53.3; +7165;Studer Lukas;1988;St. Gallen;03:20:55.7; +7167;Graf Bettina;1983;Zürich;03:32:31.9; +7168;Burckhardt Straub Caro;1972;Herrliberg;04:10:05.5; +7169;Camenzind Sepp;1956;Buchs ZH;03:36:18.1; +7170;Rech Marielle;1968;Winterthur;03:25:46.7; +7171;Gut Michael;1980;Wetzikon ZH;03:31:07.9; +7172;Sigg Arnold;1965;Henggart;03:25:00.5; +7173;Honegger Silja;1981;Wetzikon ZH;03:45:55.5; +7174;Heiz Patrick;1977;Zürich;04:12:02.0; +7175;Rais Jeanne;1981;Winterthur;04:01:39.4; +7176;Beyeler Erika;1971;Urdorf;03:53:31.7; +7177;Zürcher Thomas;1964;Thalwil;03:33:57.9; +7178;Sutter Matthias;1962;Weiningen ZH;03:46:55.3; +7179;Sutter Matthias;1962;Weiningen ZH;03:24:44.2; +7180;Sutter Matthias;1962;Weiningen ZH;03:54:50.5; +7181;Jud Maria;1987;Lütisburg;03:49:48.5; +7182;Bonfranchi Riccardo;1950;Wolfhausen;04:33:12.3; +7183;Rigamonti Alessandro;1989;Adliswil;03:31:34.0; +7184;Kaufmann Patrick;1987;Zürich;03:26:30.1; +7185;Ortega Lydia;1978;Winterthur;04:20:15.7; +7186;De Faveri Marisa;1978;Neerach;03:50:29.7; +7187;Ortega Lydia;1978;Winterthur;03:41:42.2; +7188;Hruba Gabriela;1979;Bern;03:35:52.7; +7189;Hruba Gabriela;1979;Bern;03:53:28.6; +7190;Kilbert Gert;1965;Hittnau;02:58:12.3; +7191;Aniol Wars;1972;Neuhausen am Rhei;02:51:31.1; +7192;Kraus Bret;1961;Winterthur;03:31:50.2; +7193;Wenger Esther;1959;Hombrechtikon;03:58:17.1; +7194;Schneeberger Ivonne;1973;Morgarten;03:33:36.3; +7195;Luginbühl Carolin;1982;Zürich;03:41:17.9; +7196;Furrer Roman;1988;St. Gallen;03:24:42.4; +7197;Nesme Salome;1988;St. Gallen;03:41:42.7; +7198;Pirlet Xavier;1991;Avry-sur-Matran;02:51:29.0; +7199;Schneeberger Ivonne;1973;Morgarten;03:55:03.3; +7200;Schneeberger Ivonne;1973;Morgarten;03:30:43.7; +7201;Schneeberger Ivonne;1973;Morgarten;04:34:24.8; +7202;Schneeberger Ivonne;1973;Morgarten;03:40:37.1; +7203;Schneeberger Ivonne;1973;Morgarten;03:13:40.7; +7204;Schneeberger Ivonne;1973;Morgarten;03:50:16.8; +7205;Schneeberger Ivonne;1973;Morgarten;03:54:05.3; +7206;Schneeberger Ivonne;1973;Morgarten;03:14:16.9; +7207;Schneeberger Ivonne;1973;Morgarten;04:05:02.7; +7208;Montanari Dani;1987;Zürich;03:01:41.2; +7209;Dolfing Henrico;1981;Zürich;02:52:39.4; +7210;Maag Ana;1975;Meilen;02:50:57.2; +7211;Hafner Markus;1969;Dübendorf;03:48:44.7; +7213;Schilliger Rolf;1968;Hedingen;03:41:56.1; +7214;Fontanive Christian;1977;Wädenswil;04:39:49.0; +7215;Fontanive Christian;1977;Wädenswil;03:32:31.9; +7216;Fontanive Christian;1977;Wädenswil;03:50:43.3; +7217;Mäder Petra;1974;Binz;04:12:24.2; +7218;Schneeberger Ivonne;1973;Morgarten;04:13:15.0; +7219;Ritter Christine;1979;Aarwangen;03:53:54.8; +7220;Hancock Julia;1968;Zollikon;04:06:52.5; +7221;Hildebrand Carmen;1969;Hedingen;03:30:30.0; +7222;Reiser Evelyne;1975;Hettlingen;03:23:32.0; +7223;Schaller Oscar;1959;Oberwil BL;02:58:40.7; +7224;Fäh Marco;1973;Kaltbrunn;03:03:43.9; +7225;Grogg Diana;1972;Kaltbrunn;03:08:03.7; +7226;Holdener Laura;2001;Benken SG;03:57:17.3; +7227;Jud Janine;1991;Benken SG;03:28:37.9; +7228;Ebnöther Reto;1980;Wetzikon ZH;03:18:10.3; +7229;Thomas Astrid;1959;Embrach;04:08:52.8; +7230;Schawalder Peter;1952;Embrach;03:51:06.5; +7231;Lassmann Fredi;1963;Zürich;03:09:56.7; +7232;Hansmann Nicole;1983;Rickenbach ZH;03:52:12.0; +7233;Fuhrer Susanna;1972;Fehraltorf;03:36:22.6; +7235;Güttinger Daniel;1980;Zürich;03:34:01.3; +7236;Eugster Olivier;1982;La Tour-de-Peilz;02:53:58.1; +7237;Fitoussi Cecile;1972;Wangen b. Dübendo;04:32:55.9; +7238;Holzberg Nina;1983;Dübendorf;03:38:14.5; +7239;Zahno Andi;1957;Geroldswil;03:54:03.4; +7240;Gyomlay Katinka;1969;Eglisau;03:40:30.9; +7241;Leitner Fabian;1984;Bassersdorf;03:19:16.4; +7242;Reber Samuel;1981;Zürich;03:13:08.2; +7243;Marti Georg;1964;Zollikerberg;03:33:04.8; +7244;Ruggaber Michel;1965;Zürich;03:18:31.2; +7245;Theiler Helen;1971;Luzern;04:11:34.1; +7246;Theiler Helen;1971;Luzern;03:44:07.8; +7247;Hormann Christian;1970;Männedorf;03:28:45.1; +7248;Hempen Roland;1959;Zürich;03:55:05.5; +7249;Koch Gisela;1974;Schwerzenbach;03:50:52.0; +7250;Kollbrunner Rebekka;1982;Winterthur;03:53:14.9; +7251;Schmid Daria;1976;Zürich;03:35:02.3; +7252;Wigger Marcel;1960;Kilchberg ZH;03:32:08.3; +7253;Hirt Christian;1960;Rümlang;04:11:43.3; +7254;Mühlethaler Armando;1972;Glattfelden;03:37:55.2; +7258;Weiss Ruth;1975;Zürich;03:45:49.1; +7259;Weisstanner Andreas;1962;Celerina/Schlarig;03:30:56.0; +7260;Roberts Tania;1976;Zürich;03:52:05.6; +7261;Fischer Marcel;1979;Hünenberg See;03:21:50.0; +7262;Fischer Marcel;1979;Hünenberg See;03:37:54.2; +7263;Blunschi Selina;1983;Zürich;04:04:23.1; +7264;Säuberli Franziska;1982;St. Moritz;03:50:01.9; +7265;Hürlimann Janine;1984;Bassersdorf;04:30:01.3; +7266;Favre Guy;1975;Bretonnières;02:38:31.4; +7267;Wehrli Edith;1952;Russikon;03:40:23.1; +7268;Bonfils Jacqueline;1973;Bassersdorf;03:40:51.1; +7269;Schneider Sven;1999;Bassersdorf;03:37:03.3; +7270;Annaheim Simon;1979;St. Gallen;02:29:43.2; +7271;Mohenski Brigitte;1978;Ennetmoos;04:06:01.5; +7272;Fischer Marc Pascal;1979;Küsnacht ZH;03:17:03.8; +7273;Stettler Stefan;1974;Kollbrunn;03:49:30.2; +7274;Stettler Christa;1978;Kollbrunn;03:20:45.8; +7275;Hocher Ursula;1980;Luzern;04:09:44.0; +7276;Hager Michel;1970;Eggenwil;03:29:40.7; +7277;Kreppke Jan-Niklas;1992;Binningen;02:37:53.1; +7278;Grassi Grazia;1974;Zürich;04:03:01.1; +7279;Cerjak-Frei Cornelia;1969;Kilchberg ZH;03:52:05.8; +7280;Suter Peter A.;1957;Ossingen;03:32:10.6; +7281;Föllmi Carolyn;1967;Zürich;04:15:45.6; +7282;Bischof Simone;1976;Wagen;03:08:49.4; +7284;Ruile Stefan;1968;Zürich;02:46:27.9; +7285;Schneider Roland;1965;Hedingen;03:46:04.9; +7286;Scott Steven;1995;Zollikerberg;03:04:03.1; +7287;Hohl Isabelle;1965;Thalwil;03:33:15.7; +7288;Stirnimann Ruedi;1979;Ebikon;03:47:04.2; +7289;Stirnimann Ruedi;1979;Ebikon;03:44:25.4; +7290;Weiss Martin;1965;Wetzikon ZH;03:07:33.0; +7291;Fuccaro Alexandra;1977;Salgesch;03:31:42.7; +7292;Ratjen Christian;1978;Zürich;03:33:12.7; +7293;Walter Susanna;1979;Kilchberg ZH;04:09:57.4; +7294;Lucas Elise;1984;Zürich;03:29:58.8; +7295;Abbenseth Ben;1980;Zürich;03:13:55.0; +7296;Skalik Vojtech;1986;Turbenthal;03:25:57.6; +7297;Meier Michael;1975;Zollikon;03:08:48.7; +7298;Bieler Sarah;1993;Urdorf;03:57:19.5; +7299;Vetter Beat;1965;Aadorf;03:02:15.8; +7300;Klinkmann Thomas;1988;Uerikon;03:22:48.2; +7301;Frey Marcel;1975;Uster;04:07:28.3; +7302;Frey Marcel;1975;Uster;03:33:33.8; +7304;Scholz Urte;1975;Zürich;04:03:08.1; +7305;Maltry Karin;1976;Gattikon;03:50:28.7; +7306;Gloor Marco;1969;Zürich;03:47:16.8; +7307;Ströbele René;1971;Eglisau;04:01:34.2; +7308;Calörtscher Denise;1981;Altendorf;03:37:54.9; +7309;Magee Karina;1976;Wallisellen;03:21:43.1; +7310;Rabenbauer Karin;1965;Wettswil;03:48:48.0; +7311;Rauber-Lüthy Christine;1955;Zürich;03:58:37.3; +7312;Ballabio-Höhne Sabrina;1965;Hinteregg;03:52:51.5; +7314;Mächler Emil;1969;Lachen SZ;03:36:50.7; +7315;Hausmann Nicole;1975;Wetzikon ZH;04:00:49.7; +7316;Kälin Robin;1992;Würenlos;04:24:31.2; +7317;Maier Sandy;1970;Pfungen;04:04:36.9; +7319;Werer Karin;1972;Zürich;03:41:33.6; +7320;Schilling Stephanie;1982;Aadorf;04:22:31.9; +7321;Ineichen Gerhard;1959;Rüti ZH;03:16:54.1; +7322;Gilgen Sascha;1982;Oberengstringen;03:27:09.1; +7323;Salinas Antoinette;1970;Wil SG;03:52:57.3; +7324;Rüthemann Helen;1984;Würenlos;03:25:42.5; +7325;Bracko Oliver;1979;Zürich;03:09:00.2; +7326;Schaelin Marcel;1978;Zürich;03:47:54.9; +7327;Lüllau Claus;1969;Zürich;04:07:23.3; +7328;Späni Andrea;1984;Pfäffikon SZ;03:41:38.7; +7329;Donner Georg;1977;Winterthur;03:26:31.9; +7330;Rutz Eric;1960;Greifensee;03:49:55.7; +7331;Stampfli Reto;1964;Gattikon;03:10:50.2; +7332;Wloka Martin;1978;Bülach;03:32:23.2; +7333;Belguendouz Abdelmalek;1956;Wohlen AG;03:51:14.4; +7334;Wüthrich Thomas;1969;Uster;03:21:20.5; +7335;Schmiedler Ursula;1943;Rüschlikon;03:25:43.0; +7336;Güldenapfel Erhard;1937;Adliswil;03:41:31.0; +7337;Schönbächler Ralph;1967;Feusisberg;03:41:31.5; +7338;Hofmann Daniel;1968;Thalwil;03:20:55.5; +7339;Traxler Sabrina;1979;Wil SG;03:23:26.2; +7340;Traxler Sabrina;1979;Wil SG;03:24:52.8; +7341;Schneble Max Charles;1980;Kilchberg ZH;03:11:57.8; +7342;Wichmann Fabienne;1981;Münchenstein;03:47:39.0; +7343;Frei Stefan;1960;Thalwil;03:41:43.6; +7344;Biedermann Urs;1961;Glattfelden;03:27:19.3; +7345;Guindo Dominique;1972;Zollikon;04:17:47.1; +7346;Niehus Swaantje;1985;Zollikon;03:43:50.3; +7347;Chèvre Frédéric;1976;Zollikon;04:07:45.6; +7349;Mose Soren;1964;Zollikon;03:43:22.5; +7350;Shtufi Lara;1989;Zollikon;03:59:00.0; +7352;Müller Wenzel;1977;Zollikon;03:51:13.7; +7353;Schoenholzer Beat;1974;Zollikon;03:46:45.7; +7354;Schultz Tilman;1973;Zollikon;04:07:14.6; +7355;Kölsky Carsten;1980;Zollikon;03:40:21.6; +7356;Schieler Katrin;1974;Zollikon;04:27:28.6; +7357;Schmidt Marc Andre;1973;Zollikon;04:13:16.0; +7358;Kadlec Sven;1967;Reinach AG;03:35:45.2; +7359;Hörler Rhea;1983;Rapperswil;03:59:12.4; +7360;Gehri Friederike;1992;Grüningen;04:01:45.4; +7361;Kaufmann Christian;1977;Zürich;03:51:07.3; +7362;Tschurr Flavian;1993;Wetzikon ZH;03:20:50.2; +7363;Dörgeloh Martin;1958;Uitikon Waldegg;03:13:13.5; +7364;Elmer Heiri;1977;Lachen SZ;03:23:34.2; +7365;Elmer Heiri;1977;Lachen SZ;03:31:30.3; +7366;Elmer Heiri;1977;Lachen SZ;03:26:55.4; +7367;Stauch Vanessa;1976;Zürich;03:11:35.6; +7368;Sieber Eva;1985;Zürich;03:57:18.3; +7369;Suter Franziska;1970;Oberrieden;02:59:01.5; +7370;Scattolin Pascal;1972;Dübendorf;03:11:31.8; +7371;Walter Thomas;1970;Würenlos;03:29:40.3; +7372;Seger Holger;1970;Herrliberg;03:29:57.5; +7373;Ruest Erich;1973;Jona;03:29:54.5; +7375;Sigrist Yvonne;1964;Luzern Reussbühl;03:28:37.3; +7376;Landolt Fridolin;1956;Zürich;03:15:18.2; +7377;Meier Anita;1983;Zürich;04:12:26.0; +7379;Bleiker Rolf;1966;Zürich;03:21:31.4; +7380;Fontolliet Daniel;1949;Zürich;03:55:58.9; +7381;Foletti Anita;1977;Zürich;03:51:07.8; +7382;Denier Claudia;1986;Urtenen-Schönbühl;04:05:17.5; +7383;Fuchs Ruth;1968;Uster;04:28:01.9; +7384;Studer Larissa;1993;Inwil;04:07:31.6; +7385;Flückiger Reto;1971;Schüpfen;03:42:29.2; +7386;Egli Susanne;1962;Uster;03:54:19.9; +7388;Bachmann Roger;1969;Ottenbach;03:51:44.7; +7389;Brunner Heiko;1966;Oberrieden;03:46:08.8; +7390;Zemp Peter;1973;Regensdorf;03:51:09.1; +7391;Bachmann Ruedi;1968;Uster;03:22:08.6; +7392;Camenzind André;1975;Kilchberg ZH;02:54:12.8; +7393;Steiner Sarah;1982;Zürich;03:34:59.1; +7394;Walter Urs;1966;Lindau;03:28:45.0; +7395;Curiger Andreas;1964;Buchs ZH;03:08:36.7; +7396;Romaniuc Marcelo Rober;1971;Horgen;04:07:36.4; +7397;Fehr Jessica;1985;Wetzikon ZH;03:30:09.2; +7398;Jakob Barbara;1981;Rheinau;03:42:04.4; +7399;Jakob Barbara;1981;Rheinau;04:00:14.3; +7400;Casali Daniela;1967;Hittnau;03:54:45.6; +7401;Casali Fulvio;1965;Hittnau;03:46:58.7; +7402;Felger Martin;1970;Samstagern;03:38:26.5; +7403;Zürcher Toni;1963;Wädenswil;03:32:47.5; +7404;Flachsmann Stefan;1965;Gockhausen;03:03:28.0; +7405;Weiersmüller Jacquelin;1963;Kilchberg ZH;04:07:45.3; +7406;Weiersmüller Jacquelin;1963;Kilchberg ZH;04:06:21.6; +7407;Weiersmüller Jacquelin;1963;Kilchberg ZH;04:02:38.3; +7408;Weiersmüller Jacquelin;1963;Kilchberg ZH;04:27:12.0; +7410;Willi Barbara;1982;Zürich;03:20:14.4; +7411;Auf der Mauer Raphael;1980;Aarau;02:43:58.0; +7412;Kutej Stefan;1968;Uitikon Waldegg;03:27:40.5; +7413;Cappiello Mauro;1967;Zürich;03:28:20.4; +7414;Tatalias Melina;1982;Zollikon;03:41:37.0; +7415;Sherlock Cushla;1986;Zürich;03:41:14.2; +7416;Benhauresch Abdel;1966;Rotkreuz;03:27:43.6; +7417;Pircher Daniel;1975;Möriken AG;03:54:15.9; +7418;Sasso Angela;1975;Zürich;03:46:20.3; +7419;Meyer Bernhard;1956;Hunzenschwil;03:13:50.2; +7420;Olson Garrett;1979;Zürich;03:36:52.4; +7421;Künzle Doris;1971;Horgen;03:39:37.1; +7422;Knauer Anne-Juliane;1978;Zürich;03:25:26.0; +7423;Schleifer Judith;1980;Zürich;03:57:50.6; +7424;Goessler Franziska;1966;Uitikon Waldegg;03:43:50.0; +7425;Beeler Etienne;1987;Wallisellen;03:27:16.0; +7426;Wagner Mario;1990;Zürich;03:27:13.1; +7427;Niklaus Christin;1978;Zürich;03:41:38.2; +7429;Birkeland Ina;1980;Zürich;03:55:35.1; +7430;Adelmann Horst;1964;Thalwil;03:41:01.5; +7431;Sommer Martin;1983;Zürich;03:55:51.4; +7432;Eltgen Johannes;1985;Zürich;03:19:10.5; +7433;Jörg Silvana;1966;Kloten;03:42:14.0; +7434;Baumann Thomas;1981;Zürich;03:47:21.1; +7435;Ulrich Barbara;1962;Zürich;03:41:15.5; +7436;Volz Andreas;1974;Zürich;03:34:37.7; +7437;Britschgi Dani;1977;Meierskappel;03:51:54.0; +7438;Fleetwood Rahel;1980;Adliswil;03:40:22.3; +7439;Goulbourne Jane;1968;Zürich;04:06:30.0; +7440;Plüss Samuel;1987;Zürich;03:22:32.4; +7441;Fotheringham Jilly;1965;Thalwil;04:39:27.5; +7442;Wirz Peter;1950;Zürich;03:05:58.8; +7443;Hall Terry;1978;Zürich;03:25:45.6; +7444;Wintsch Hanna;1954;Zürich;03:52:58.5; +7445;Götz Thomas;1972;Gockhausen;03:14:35.0; +7446;Götz Thomas;1972;Gockhausen;03:10:48.9; +7447;Krampf Eckhard;1973;Zürich;04:18:50.5; +7448;Akpinar Hakan;1968;Würenlos;03:04:17.3; +7449;Bourquin Philippe;1969;Geroldswil;03:41:35.5; +7450;Bley Petra;1981;Zürich;03:44:29.2; +7451;Landolt Thomas;1967;Baar;03:18:15.3; +7452;Thoma Rolf;1954;Langnau am Albis;03:11:29.2; +7453;Dickenmann Stefan;1981;Frauenfeld;03:09:23.3; +7454;Lehner Christoph;1986;Arbon;03:37:26.4; +7455;Marxer Ruth;1968;Oberengstringen;04:12:30.2; +7456;Koch Gisela;1974;Schwerzenbach;04:00:22.9; +7457;Hiestand Steve;1984;Wädenswil;04:09:43.0; +7458;Maggiulli Ivan;1970;Volketswil;04:22:05.4; +7459;Wu Daye;1979;Zürich;03:43:45.0; +7460;Wantz Nadine;1985;Zürich;03:37:12.6; +7461;Müller Rolf;1968;Zeiningen;03:34:40.7; +7462;Locher Beatrice;1963;Bubikon;03:25:04.9; +7463;Cevik Selim;1980;Zürich;03:40:55.8; +7464;Schulz Bianca;1977;Küsnacht ZH;03:30:38.0; +7465;von Aesch Christoph;1971;Langnau am Albis;03:07:51.5; +7466;Borner Laura;1990;Adliswil;03:19:52.4; +7467;Koch Gustav;1949;Geroldswil;03:21:28.8; +7468;Lendenmann Tobias;1987;Zürich;03:37:11.0; +7469;Berger Verena;1984;Wädenswil;03:36:21.3; +7470;Berger Verena;1984;Wädenswil;03:31:16.4; +7471;Berger Verena;1984;Wädenswil;03:35:27.7; +7472;Betschart Markus;1975;Zürich;03:27:50.5; +7473;Feroce Adrian;1970;Aathal-Seegräben;02:59:01.1; +7474;Meier Thomas;1971;Dürnten;03:02:31.4; +7475;Müller Lothar;1964;Uetikon am See;03:19:58.5; +7476;Böni Ralf;1985;Dübendorf;03:20:43.9; +7477;Koller Urs;1965;Männedorf;03:23:11.9; +7478;Bründl Michael;1989;Stäfa;03:46:03.5; +7479;Wicki Robin;1975;Henggart;03:10:14.0; +7480;Fisler Guido;1977;Dübendorf;04:16:11.0; +7481;Bonato Dario;1965;Uster;04:00:03.7; +7482;Müller Matthias;1972;Winterthur;03:49:18.0; +7483;Balz Rene;1966;Jona;03:18:02.0; +7484;Geiger Dominik;1991;Wädenswil;04:10:40.8; +7485;Werder Roland;1954;Fehraltorf;03:35:59.1; +7486;Haldemann Peter;1972;Volketswil;03:47:50.5; +7487;Peterhans Renato;1985;Uster;03:50:15.9; +7488;Heusser Daniel;1964;Hinwil;03:32:16.0; +7489;Meuli Barbara;1979;Kloten;04:15:41.5; +7490;Abplanalp Beat;1966;Obfelden;02:56:18.8; +7491;Hoogerwerf Erik;1970;Richterswil;03:20:51.9; +7492;Feurer Olivia;1987;Kloten;03:32:15.5; +7493;Lange Otto;1962;Richterswil;03:37:58.9; +7494;De Lemos Antonio;1974;Dübendorf;04:10:09.7; +7495;Seematter Marc;1979;Horgen;03:02:33.2; +7496;Bühlmann Sandra;1989;Herrliberg;04:00:50.0; +7497;Benz Fabienne;1992;Erlenbach ZH;04:00:49.9; +7498;Huber Paul;1957;Wald ZH;03:40:27.0; +7499;Pilz Michelle M.;1967;Oberhasli;03:56:20.5; +7500;Walser Thomas;1973;Gossau ZH;03:40:42.7; +7501;Senn Monika;1971;Zürich;03:40:59.4; +7502;Denneberg Jürg;1949;Herrliberg;03:55:59.1; +7503;Lutz Stephan;1985;Zwillikon;03:12:00.6; +7504;Steiner Melvin;1975;Zürich;03:59:26.5; +7505;Jetter Patrick;1975;Opfikon;03:39:07.8; +7506;Isler Dominik;1974;Zürich;03:33:58.7; +7507;Kaufmann Ursula;1976;Affoltern am Albi;04:14:10.7; +7508;Reimann Olivia;1977;Zürich;03:41:57.2; +7509;Ziesack Myriam;1974;Zürich;03:44:39.6; +7510;Moser-Hausammann Brigi;1966;Männedorf;03:56:57.8; +7511;Moser-Hausammann Brigi;1966;Männedorf;03:56:57.7; +7512;Manz Hansruedi;1958;Zürich;03:40:15.9; +7513;Manz Hansruedi;1958;Zürich;03:41:44.7; +7514;Berli Beatrice;1950;Hausen am Albis;04:01:07.5; +7515;Weiler Walter;1969;Walchwil;03:05:54.9; +7516;Bos Heleen;1968;Uhwiesen;04:43:34.3; +7517;Hoidn Anuschka;1980;Zürich;03:55:28.0; +7519;Schroeder Bernd;1966;Zürich;03:26:23.5; +7520;Barlow Mike;1965;Watt;03:17:44.7; +7521;Müller Philippe;1986;Seuzach;03:17:20.1; +7522;Grob Gabriela;1964;Unterengstringen;03:34:51.3; +7523;Bosshardt Felix;1961;Kloten;03:33:12.2; +7524;Bührer Roger;1969;Dinhard;03:55:46.8; +7526;Pletscher Thomas;1954;Benglen;03:29:04.7; +7527;Rüttimann Erhard;1976;Langnau am Albis;03:13:11.7; +7528;Janik Evelyn;1961;Niederteufen;03:09:22.8; +7529;Huber Peter;1967;Zürich;03:35:41.4; +7530;Federspiel Heike;1967;Männedorf;03:44:35.7; +7531;Müller Patrick;1969;Wädenswil;03:06:35.9; +7532;Karrer Dominique;1984;Wetzikon ZH;03:38:35.0; +7533;Bührer Roger;1969;Dinhard;03:47:50.4; +7534;Schönbächler Pascal;1983;Affoltern am Albi;04:12:22.4; +7535;Kögel Harald;1959;Wädenswil;03:26:37.7; +7536;Huber Nicolas;1985;Zürich;03:53:55.4; +7537;Utz Patrick;1968;Langnau am Albis;03:29:23.6; +7538;Ricardoch Ag;1979;Zug;03:54:22.7; +7539;Ricardoch Ag;1979;Zug;03:39:43.7; +7540;Luise Ivo;1971;Dübendorf;03:24:29.5; +7541;Enz Daniel;1985;Bassersdorf;03:38:51.4; +7542;Wiederkehr Mirjam;1980;Eriswil;03:33:14.0; +7543;Ricardoch Ag;1979;Zug;03:42:17.8; +7544;Ricardoch Ag;1979;Zug;04:04:55.3; +7545;Jäggi Jean-Pierre;1954;La Chaux-de-Fonds;04:09:59.3; +7546;Habermacher Claudia;1969;Zug;03:21:07.0; +7547;Rey Bruno;1969;Zollikerberg;04:04:48.9; +7548;Krismer Saskia;1962;Birmensdorf ZH;03:44:54.0; +7549;Greuel Wanja;1977;Zürich;03:17:44.7; +7550;Weibel Martina;1983;Basel;04:02:34.4; +7551;Hofmann Markus;1974;Uster;03:20:40.2; +7552;Cathrein Rene;1960;Grüt (Gossau ZH);03:39:27.6; +7553;Cathrein Rene;1960;Grüt (Gossau ZH);03:28:22.3; +7554;Badertscher Jörg;1968;Uster;03:12:07.7; +7555;Hassler Brigitte;1958;Zürich;04:09:54.8; +7556;Gisler Sybille;1988;Altdorf UR;03:24:08.0; +7557;Bräm Corina;1990;Otelfingen;03:24:43.0; +7558;Hinder Christine;1965;Kaltbrunn;03:52:37.9; +7559;Buner Sacha;1980;Gutenswil;03:23:47.2; +7560;Illi Liselotte;1950;Bassersdorf;03:28:04.8; +7561;Gasser Ronny;1984;Spreitenbach;03:03:53.1; +7562;Schefer Stefan;1978;Ebmatingen;02:59:20.5; +7563;Carl Anna Barbla;1984;Scuol;03:43:24.5; +7564;Hottinger Nicole;1967;Volketswil;03:21:51.0; +7565;Rechsteiner Simone;1975;Einsiedeln;03:28:45.5; +7566;Rutz Miriam;1977;Zürich;03:14:39.8; +7567;Umbricht Sarah;1985;Lohn-Ammannsegg;03:15:55.8; +7568;Gonzalez Arza Jose;1984;Zürich;04:28:07.1; +7570;Tedeschi Alfonso;1981;Zürich;03:28:39.8; +7571;Krebs Michaela;1982;Oberglatt ZH;03:31:25.8; +7572;Willborn Alexander;1983;Herrliberg;03:30:52.6; +7573;Niederbacher Martin;1968;Wetzikon ZH;04:10:14.3; +7574;Langhard Markus;1979;Winterthur;03:34:16.7; +7575;Blatter Samuel;1990;Schweiz;03:20:59.4; +7576;Kwak Grace;1977;Adliswil;03:47:04.2; +7577;Müri Michaela;1973;Zürich;03:35:15.5; +7578;Seuring Carolin;1983;Zürich;03:45:02.9; +7579;Bär Eva;1984;Zürich;03:48:23.5; +7580;Meyer Nina;1985;Zürich;04:32:29.3; +7581;Zellweger Monique;1968;Goldach;03:25:58.5; +7582;Sutter Samuel;1980;Schlieren;03:30:12.4; +7583;Saar Rachel-Lee;1970;Adliswil;03:52:13.9; +7584;Morf Celine;1979;Wädenswil;03:29:13.6; +7585;Naito Shinichi;1976;Versoix;03:24:00.8; +7586;De Boni Oliver;1974;Horgen;03:30:53.5; +7587;Keller Max;1948;Urdorf;03:29:53.3; +7588;Pinchiroli Ettore;1982;Zürich;03:14:14.3; +7589;Peter Peter;1966;Männedorf;02:30:28.8; +7590;Ziegler Paul;1944;Galgenen;02:29:58.0; +7591;Schärer Sandra;1976;Zürich;03:36:52.0; +7592;Kessler Hannes;1981;Rapperswil SG;03:22:18.0; +7593;Fraczak Marcin;1980;Glattpark (Opfiko;03:43:49.7; +7594;Rüegg Roger;1965;Winterthur;03:32:10.6; +7595;Tschudi Michèle;1978;Ottikon bei Kempt;03:12:09.2; +7596;Bächer Rico;1951;Tann;03:34:27.7; +7597;Hottarek Tatjana;1995;Oberrieden;03:58:52.1; +7598;Blatter Samuel;1990;Schweiz;03:16:14.9; +7599;Bingesser Barbara;1972;Esslingen;03:24:11.3; +7600;Vaia Karin;1985;Zürich;03:53:39.9; +7601;Gellert Alexandre;1979;Zürich;03:35:09.7; +7602;Sagolla Markus;1976;Zürich;03:41:17.9; +7603;Bisgaard Jane;1978;Zürich;04:00:09.4; +7604;Beurret Hermes;1991;Biel-Benken BL;03:08:37.5; +7605;Harder Daniel;1990;Uster;03:29:57.9; +7606;Harder Daniel;1990;Uster;03:30:32.1; +7607;Kugler Raphael;1975;Zürich;03:13:30.7; +7608;Ploskonka Elmar;1981;Berikon;03:39:46.1; +7609;Kammerer Dorothee;1981;Aarau;03:26:09.6; +7610;Kammerer Dorothee;1981;Aarau;03:02:54.5; +7611;Koch Rachelle;1986;Embrach;03:44:11.7; +7612;Bolliger Aino;1973;Langnau am Albis;03:02:42.2; +7613;Bolliger Aino;1973;Langnau am Albis;03:55:59.6; +7614;Guggisberg Michael;1974;Jegenstorf;03:03:11.1; +7615;Winter Beatrix;1971;Zürich;04:39:01.4; +7616;Vincenz Claudia;1974;Hirzel;03:30:31.1; +7617;Györvari Lars;1980;Basel;03:50:30.3; +7618;Künzle Stefan;1979;Uster;03:25:50.0; +7619;Dütting André;1981;Altendorf;03:42:42.2; +7620;Mondini Michèle;1972;Zürich;04:09:20.5; +7621;Rohner Catherine;1981;Winterthur;03:29:21.0; +7622;Ammann Beat;1965;Zürich;02:37:36.2; +7623;Kummrow Valerie;1990;Volketswil;03:36:06.5; +7624;Graf Peter;1966;Zürich;03:44:18.9; +7625;Graf Peter;1966;Zürich;02:42:09.8; +7626;Winiger Benjamin;1976;Hombrechtikon;03:50:28.6; +7627;Lüthi Markus;1974;Winterthur;03:24:57.6; +7628;Blatter Samuel;1990;Schweiz;03:33:51.6; +7629;Gaillard Stephane;1982;Lenzburg;03:33:35.1; +7630;Rüegg Marco;1961;Baar;03:23:19.8; +7631;Rüttimann Urs;1974;Zürich;03:07:43.9; +7633;Koller Markus;1973;Zürich;03:04:41.8; +7634;Flury Ernesto;1961;Berikon;03:16:30.0; +7635;Specker Marco;1976;Zürich;03:09:45.6; +7636;Niklaus Tina;1973;Zürich;03:37:33.4; +7637;Widmer Nathalie;1990;Dübendorf;03:49:31.9; +7638;Gröbli Susanne;1968;Zollikerberg;03:34:44.0; +7639;Rütimann Thomas;1978;Würenlos;03:26:25.4; +7640;Graf Beatrice;1965;Uster;03:31:13.2; +7641;Steiner Elisabeth;1950;Kilchberg ZH;03:45:54.0; +7642;Croset Marcel;1974;Oberurnen;03:25:34.8; +7643;Scherrer Rainer;1993;Zürich;03:00:26.2; +7644;Kuhn Gabriela;1980;Wettingen;03:36:44.4; +7645;Bernold Roman;1980;Zürich;03:25:29.2; +7646;Insley Anne;1967;Zürich;04:01:04.7; +7647;Wirth Jessy;1981;Zürich;03:17:09.9; +7648;Soldo Lovro;1987;Meilen;03:56:04.1; +7649;Mazziotta Raffaele;1980;Wetzikon ZH;03:52:18.5; +7650;Lacharite Claudie;1981;Zürich;03:51:29.9; +7651;Manz Alexander;1980;Zürich;04:14:01.7; +7652;Staub Jürg;1960;Gockhausen;04:12:48.2; +7653;Petrakis Stefanos;1979;Zürich;03:37:33.9; +7654;Gerber Mark;1970;Zürich;03:15:01.1; +7655;Gerber Mark;1970;Zürich;03:17:27.8; +7656;Franzi Roger;1973;Uster;03:27:52.3; +7657;Schmid Stefanie;1963;Biel-Benken BL;03:36:29.5; +7658;Mehta Sunil;1974;Baden;04:00:20.4; +7660;Spillmann Roger;1979;Zürich;04:05:07.3; +7661;Bolli Andreas;1981;Zürich;04:02:04.2; +7662;Suter Sabrina;1982;Zürich;03:52:01.0; +7663;Meier Helen;1989;Rüschlikon;03:57:12.2; \ No newline at end of file diff --git a/06/src/test/java/ch/zhaw/ads/AVLSearchTreeTest.java b/06/src/test/java/ch/zhaw/ads/AVLSearchTreeTest.java new file mode 100644 index 0000000..c775efc --- /dev/null +++ b/06/src/test/java/ch/zhaw/ads/AVLSearchTreeTest.java @@ -0,0 +1,130 @@ +import java.util.*; +import org.junit.Test; +import org.junit.Before; +import static org.junit.Assert.*; + +public class AVLSearchTreeTest { + Tree tree; + + private void init(Tree tree) { + tree.add("E"); + tree.add("F"); + tree.add("G"); + tree.add("H"); + tree.add("J"); + tree.add("A"); + tree.add("B"); + tree.add("C"); + tree.add("D"); + } + + @Before + public void setUp() throws Exception { + tree = new AVLSearchTree(); + init(tree); + } + + @Test + public void testInorder() { + Visitor v = new MyVisitor(); + tree.traversal().inorder(v); + assertEquals("inorder", "ABCDEFGHJ", v.toString()); + } + + @Test + public void testPreorder() { + Visitor v = new MyVisitor(); + tree.traversal().preorder(v); + assertEquals("preorder", "FBADCEHGJ", v.toString()); + } + + @Test + public void testPostorder() { + Visitor v = new MyVisitor(); + tree.traversal().postorder(v); + assertEquals("postorder", "ACEDBGJHF", v.toString()); + } + + @Test + public void testLevelörder() { + Visitor v = new MyVisitor(); + tree.traversal().levelorder(v); + assertEquals("levelorder", "FBHADGJCE", v.toString()); + } + + @Test + public void testHeight() { + assertEquals(4,tree.height()); + } + + @Test + public void testBalanced() { + assertTrue(tree.balanced()); + Tree tree2 = new SortedBinaryTree (); + tree2.add("A"); + tree2.add("B"); + tree2.add("C"); + assertFalse(tree2.balanced()); + } + + + @Test + public void testRemove() { + tree = new AVLSearchTree(); + init(tree); + tree.remove("F"); + tree.remove("H"); + tree.remove("J"); + Visitor v = new MyVisitor(); + tree.traversal().inorder(v); + assertEquals("remove", "ABCDEG", v.toString()); + v = new MyVisitor(); + tree.traversal().levelorder(v); + assertEquals("remove", "DBEACG", v.toString()); + } + + + @Test + public void testMixed() { + tree = new AVLSearchTree(); + List list = new LinkedList<>(); + for (int i = 0; i < 1000; i++) { + Character c = (char) ('A' + (Math.random() * 26)); + int op = (int) (Math.random() * 2); + switch (op) { + case 0: + list.add(c.toString()); + tree.add(c.toString()); + break; + case 1: + list.remove(c.toString()); + tree.remove(c.toString()); + break; + } + } + assertTrue(tree.balanced()); + assertEquals(tree.size(),list.size()); + Collections.sort(list); + StringBuilder b = new StringBuilder(); + for (String s : list) {b.append(s);}; + Visitor v = new MyVisitor(); + tree.traversal().inorder(v); + assertEquals("mixed",b.toString(), v.toString()); + } +} + +class MyVisitor implements Visitor { + StringBuilder output; + + MyVisitor() { + output = new StringBuilder(); + } + + public void visit(T s) { + output.append(s); + } + + public String toString() { + return output.toString(); + } +} \ No newline at end of file