diff --git a/bac2/modalDev/tp1/.gitattributes b/bac2/modalDev/tp1/.gitattributes new file mode 100644 index 0000000..097f9f9 --- /dev/null +++ b/bac2/modalDev/tp1/.gitattributes @@ -0,0 +1,9 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + diff --git a/bac2/modalDev/tp1/.gitignore b/bac2/modalDev/tp1/.gitignore new file mode 100644 index 0000000..1b6985c --- /dev/null +++ b/bac2/modalDev/tp1/.gitignore @@ -0,0 +1,5 @@ +# Ignore Gradle project-specific cache directory +.gradle + +# Ignore Gradle build output directory +build diff --git a/bac2/modalDev/tp1/.project b/bac2/modalDev/tp1/.project new file mode 100644 index 0000000..f23e1d2 --- /dev/null +++ b/bac2/modalDev/tp1/.project @@ -0,0 +1,28 @@ + + + tp1 + Project tp1 created by Buildship. + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.buildship.core.gradleprojectnature + + + + 1701330804548 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/bac2/modalDev/tp1/.settings/org.eclipse.buildship.core.prefs b/bac2/modalDev/tp1/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 0000000..7c57082 --- /dev/null +++ b/bac2/modalDev/tp1/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,13 @@ +arguments=--init-script /home/tonitch/.dotfiles/vim/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/eclipse.jdt.ls/workspace/config_linux/org.eclipse.osgi/51/0/.cp/gradle/init/init.gradle +auto.sync=false +build.scans.enabled=false +connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER) +connection.project.dir=app +eclipse.preferences.version=1 +gradle.user.home= +java.home=/usr/lib/jvm/java-17-openjdk +jvm.arguments= +offline.mode=false +override.workspace.settings=true +show.console.view=true +show.executions.view=true diff --git a/bac2/modalDev/tp1/TP1.pdf b/bac2/modalDev/tp1/TP1.pdf new file mode 100644 index 0000000..9a7f183 Binary files /dev/null and b/bac2/modalDev/tp1/TP1.pdf differ diff --git a/bac2/modalDev/tp1/answer.md b/bac2/modalDev/tp1/answer.md new file mode 100644 index 0000000..278331d --- /dev/null +++ b/bac2/modalDev/tp1/answer.md @@ -0,0 +1,12 @@ +# TP's Answer + +## Exercice 2.1 + +1) + test1) ❎ devrais fail car $ E1 \neq E2 $ + test2) ✅ + test3) ❎ shoud throw an error (no real number) + +2-4) dans fichiers + +## Exercice 2.2 diff --git a/bac2/modalDev/tp1/app/.classpath b/bac2/modalDev/tp1/app/.classpath new file mode 100644 index 0000000..be377dd --- /dev/null +++ b/bac2/modalDev/tp1/app/.classpath @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bac2/modalDev/tp1/app/.project b/bac2/modalDev/tp1/app/.project new file mode 100644 index 0000000..f5430c0 --- /dev/null +++ b/bac2/modalDev/tp1/app/.project @@ -0,0 +1,34 @@ + + + app + Project app created by Buildship. + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.buildship.core.gradleprojectbuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.buildship.core.gradleprojectnature + + + + 1701330804524 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/bac2/modalDev/tp1/app/.settings/org.eclipse.buildship.core.prefs b/bac2/modalDev/tp1/app/.settings/org.eclipse.buildship.core.prefs new file mode 100644 index 0000000..e479558 --- /dev/null +++ b/bac2/modalDev/tp1/app/.settings/org.eclipse.buildship.core.prefs @@ -0,0 +1,13 @@ +arguments= +auto.sync=false +build.scans.enabled=false +connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER) +connection.project.dir= +eclipse.preferences.version=1 +gradle.user.home= +java.home= +jvm.arguments= +offline.mode=false +override.workspace.settings=false +show.console.view=false +show.executions.view=false diff --git a/bac2/modalDev/tp1/app/bin/test/tp1/ex2_1/SolveEquationTest.java.orig b/bac2/modalDev/tp1/app/bin/test/tp1/ex2_1/SolveEquationTest.java.orig new file mode 100644 index 0000000..0f32fcf --- /dev/null +++ b/bac2/modalDev/tp1/app/bin/test/tp1/ex2_1/SolveEquationTest.java.orig @@ -0,0 +1,32 @@ +package tp1.ex2_1; + +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +/** + * Suite de tests pour vérifier la méthode sqrt dans la classe Sqrt + */ +public class SolveEquationTest { + @Test + public void test1() { + SolveEquation se = new SolveEquation(1.0, -2.0, -3.0); + assertEquals(se.getNbSolutions(), 2); + assertTrue(se.getSolutions().getE1() + .equals(se.getSolutions().getE2())); + } + + @Test + public void test2() { + double epsilon = 0.0001; + SolveEquation se = new SolveEquation(1.0, 0.0, 0.0); + assertEquals(se.getSolutions().getE1(), + se.getSolutions().getE2(), epsilon); + assertEquals(se.getNbSolutions(), 1); + } + + @Test + public void test3() { + SolveEquation se = new SolveEquation(5.0, 0.0, 3.0); + assertEquals(se.getSolutions().getE1(), se.getSolutions().getE2()); + } +} diff --git a/bac2/modalDev/tp1/app/build.gradle.kts b/bac2/modalDev/tp1/app/build.gradle.kts new file mode 100644 index 0000000..6c8d2c3 --- /dev/null +++ b/bac2/modalDev/tp1/app/build.gradle.kts @@ -0,0 +1,45 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Java application project to get you started. + * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation. + */ + +plugins { + // Apply the application plugin to add support for building a CLI application in Java. + application +} + +repositories { + // Use Maven Central for resolving dependencies. + mavenCentral() +} + +dependencies { + // Use JUnit Jupiter for testing. + testImplementation("org.junit.jupiter:junit-jupiter:5.9.3") + + testRuntimeOnly("org.junit.platform:junit-platform-launcher") + + // This dependency is used by the application. + implementation("com.google.guava:guava:32.1.1-jre") + + implementation("org.mockito:mockito-core:5.7.0") +} + +// Apply a specific Java toolchain to ease working on different environments. +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } +} + +application { + // Define the main class for the application. + mainClass.set("tp1.App") +} + +tasks.named("test") { + // Use JUnit Platform for unit tests. + useJUnitPlatform() +} diff --git a/bac2/modalDev/tp1/app/src/main/java/tp1/App.java b/bac2/modalDev/tp1/app/src/main/java/tp1/App.java new file mode 100644 index 0000000..1d593bd --- /dev/null +++ b/bac2/modalDev/tp1/app/src/main/java/tp1/App.java @@ -0,0 +1,15 @@ +/* + * This Java source file was generated by the Gradle 'init' task. + */ +package tp1; + +public class App { + // for the sake of showing an example of testing + public String getGreeting() { + return "Hello World!"; + } + + public static void main(String[] args) { + System.out.println(new App().getGreeting()); + } +} diff --git a/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_1/Pair.java b/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_1/Pair.java new file mode 100644 index 0000000..0c09391 --- /dev/null +++ b/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_1/Pair.java @@ -0,0 +1,27 @@ +package tp1.ex2_1; + +public class Pair { + private T e1, e2; + + public Pair(T e1, T e2) { + this.e1 = e1; + this.e2 = e2; + } + + public T getE1() { + return e1; + } + + public T getE2() { + return e2; + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof Pair) { + Pair p = (Pair) obj; + return e1.equals(p.e1) && e2.equals(p.e2); + } + return false; + } +} diff --git a/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_1/SolveEquation.java b/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_1/SolveEquation.java new file mode 100644 index 0000000..d7f57b1 --- /dev/null +++ b/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_1/SolveEquation.java @@ -0,0 +1,53 @@ +package tp1.ex2_1; + +public class SolveEquation { + private double a, b, c; + + public SolveEquation(double a, double b, double c) { + this.a = a; + this.b = b; + this.c = c; + } + + /* + * Gives the number of solutions of the equation . + * + * @return the number of solution . + * + * @throws ArithmeticException if there + * is an infinite number of solutions . + */ + public int getNbSolutions() throws ArithmeticException { + double delta = b * b - 4 * a * c; + if (delta < 0) + throw new ArithmeticException("No real solution"); + else if (delta == 0) + return 1; + else + return 2; + } + + /* + * * Gives the equation ’s solutions for x . + * + * @return the 2 solutions of the equation . If there is + * only 1 solution , the 2 members of the pair are equal . + * + * @throws ArithmeticException if there is no real + * solution for x , or if there is an infinite number + * of solutions . + */ + public Pair getSolutions() throws ArithmeticException { + double delta = b * b - 4 * a * c; + if (delta < 0) + throw new ArithmeticException("No real solution"); + else if (delta == 0) { + double x = -b / (2 * a); + return new Pair(x, x); + } + else + return new Pair( + (-b - Math.sqrt(delta)) / (2 * a), + (-b + Math.sqrt(delta)) / (2 * a)); + } +} diff --git a/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_2/Sqrt.java b/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_2/Sqrt.java new file mode 100644 index 0000000..79b7f79 --- /dev/null +++ b/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_2/Sqrt.java @@ -0,0 +1,40 @@ +package tp1.ex2_2; + +import java.lang.Math; + +/** + * Calcule la racine carrée d'un nombre positif + */ +public class Sqrt +{ + public static final double EPSILON = 1e-8; + + /** + * Cacule la racine carrée d'un nombre positif en utilisant la méhtode + * de Newton. + * Il s'agit de calculer la racine de l'équation x^2-b=0 avec b + * le nombre dont on veut la racine carrée. + * La méthode de Newton consiste à utiliser la formule suivante : + * x_i = x_(i-1) - f(x_(i-1)) / f'(x_(i-1)). + * @param val La valeur dont on cherche la racine carrée (val >= 0) + * @return La racine carrée de val avec une précision de 1e-12. + * @throws IllegalArgumentException Si val < 0 + */ + public static double sqrt(double val) throws IllegalArgumentException + { + if(val < 0) + throw new IllegalArgumentException("ne peut pas être négatif"); + if(val == 0 || val == 1) + return val; + + double curr = nextIteration(val, val); + while(Math.abs(val - Math.pow(curr, 2)) > EPSILON){ + curr = nextIteration(val, curr); + } + return curr; + } + + private static double nextIteration(double val, double curr){ + return (curr + (val / curr))/2; + } +} diff --git a/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_3/Fibonacci.java b/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_3/Fibonacci.java new file mode 100644 index 0000000..3a1a184 --- /dev/null +++ b/bac2/modalDev/tp1/app/src/main/java/tp1/ex2_3/Fibonacci.java @@ -0,0 +1,19 @@ +package tp1.ex2_3; + +public class Fibonacci { + public static int fibo(int n) throws IllegalArgumentException { + if (n < 0) { + throw new IllegalArgumentException(); + } else { + int f_n_1 = 1; + int f_n = 0; + int tmp; + for (int i = 0; i < n; i++) { + tmp = f_n; + f_n = f_n + f_n_1; + f_n_1 = tmp; + } + return f_n; + } + } +} diff --git a/bac2/modalDev/tp1/app/src/test/java/tp1/AppTest.java b/bac2/modalDev/tp1/app/src/test/java/tp1/AppTest.java new file mode 100644 index 0000000..ebce22d --- /dev/null +++ b/bac2/modalDev/tp1/app/src/test/java/tp1/AppTest.java @@ -0,0 +1,14 @@ +/* + * This Java source file was generated by the Gradle 'init' task. + */ +package tp1; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +class AppTest { + @Test void appHasAGreeting() { + App classUnderTest = new App(); + assertNotNull(classUnderTest.getGreeting(), "app should have a greeting"); + } +} diff --git a/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_1/SolveEquationTest.java b/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_1/SolveEquationTest.java new file mode 100644 index 0000000..d63d45c --- /dev/null +++ b/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_1/SolveEquationTest.java @@ -0,0 +1,38 @@ +package tp1.ex2_1; + +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +/** + * Suite de tests pour vérifier la méthode sqrt dans la classe Sqrt + */ +public class SolveEquationTest { + @Test + public void test1() { + SolveEquation se = new SolveEquation(1.0, -2.0, -3.0); + assertEquals(se.getNbSolutions(), 2); + assertFalse(se.getSolutions().getE1() + .equals(se.getSolutions().getE2())); + } + + @Test + public void test2() { + double epsilon = 0.0001; + SolveEquation se = new SolveEquation(1.0, 0.0, 0.0); + assertEquals(se.getSolutions().getE1(), + se.getSolutions().getE2(), epsilon); + assertEquals(se.getNbSolutions(), 1); + } + + @Test + public void test3() { + SolveEquation se = new SolveEquation(5.0, 0.0, 3.0); + assertThrows(ArithmeticException.class, () -> se.getSolutions(), "No real solution"); + } + + @Test + public void test4(){ + SolveEquation se = new SolveEquation(3, 0, 0); + assertEquals(se.getNbSolutions(), 1); + } +} diff --git a/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_1/SolveEquationTest.java.orig b/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_1/SolveEquationTest.java.orig new file mode 100644 index 0000000..0f32fcf --- /dev/null +++ b/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_1/SolveEquationTest.java.orig @@ -0,0 +1,32 @@ +package tp1.ex2_1; + +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +/** + * Suite de tests pour vérifier la méthode sqrt dans la classe Sqrt + */ +public class SolveEquationTest { + @Test + public void test1() { + SolveEquation se = new SolveEquation(1.0, -2.0, -3.0); + assertEquals(se.getNbSolutions(), 2); + assertTrue(se.getSolutions().getE1() + .equals(se.getSolutions().getE2())); + } + + @Test + public void test2() { + double epsilon = 0.0001; + SolveEquation se = new SolveEquation(1.0, 0.0, 0.0); + assertEquals(se.getSolutions().getE1(), + se.getSolutions().getE2(), epsilon); + assertEquals(se.getNbSolutions(), 1); + } + + @Test + public void test3() { + SolveEquation se = new SolveEquation(5.0, 0.0, 3.0); + assertEquals(se.getSolutions().getE1(), se.getSolutions().getE2()); + } +} diff --git a/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_2/SqrtTest.java b/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_2/SqrtTest.java new file mode 100644 index 0000000..025f3e8 --- /dev/null +++ b/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_2/SqrtTest.java @@ -0,0 +1,49 @@ +package tp1.ex2_2; + +import static org.junit.jupiter.api.Assertions.*; + +import java.time.Duration; + +import org.junit.jupiter.api.Test; + + +/** + * Suite de tests pour vérifier la méthode sqrt dans la classe Sqrt + */ +public class SqrtTest { + @Test + public void testSortie(){ + assertTrue(Sqrt.sqrt(42) >= 0); + } + + @Test + public void testprecision(){ + assertEquals(Math.sqrt(16), Sqrt.sqrt(16), Sqrt.EPSILON); + } + + @Test + public void testValidInput(){ + double t1 = Sqrt.sqrt(0.4); + assertTrue(t1 > 0 && t1 < 1); + + double t2 = Sqrt.sqrt(21); + assertTrue(t2 > 1); + } + + @Test + public void testBorne(){ + assertEquals(0, Sqrt.sqrt(0)); + assertEquals(1, Sqrt.sqrt(1)); + } + + @Test + public void testBig(){ + double val = assertTimeoutPreemptively(Duration.ofSeconds(1), () -> Sqrt.sqrt(1e16)); + assertEquals(Math.sqrt(1e16), val, Sqrt.EPSILON); + } + + @Test + public void testInvalid(){ + assertThrows(IllegalArgumentException.class, () -> Sqrt.sqrt(-42)); + } +} diff --git a/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_3/FibonacciTest.java b/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_3/FibonacciTest.java new file mode 100644 index 0000000..0554875 --- /dev/null +++ b/bac2/modalDev/tp1/app/src/test/java/tp1/ex2_3/FibonacciTest.java @@ -0,0 +1,21 @@ +package tp1.ex2_3; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class FibonacciTest { + @Test + void test1() { + assertEquals(2, Fibonacci.fibo(2)); + } + + @Test void test2() { + assertTrue(Fibonacci.fibo(-2) >= 0); + } + + @Test void test3() { + assertTrue(Fibonacci.fibo(4) == 3); + } +} diff --git a/bac2/modalDev/tp1/gradle/wrapper/gradle-wrapper.jar b/bac2/modalDev/tp1/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..7f93135 Binary files /dev/null and b/bac2/modalDev/tp1/gradle/wrapper/gradle-wrapper.jar differ diff --git a/bac2/modalDev/tp1/gradle/wrapper/gradle-wrapper.properties b/bac2/modalDev/tp1/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3fa8f86 --- /dev/null +++ b/bac2/modalDev/tp1/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/bac2/modalDev/tp1/gradlew b/bac2/modalDev/tp1/gradlew new file mode 100755 index 0000000..1aa94a4 --- /dev/null +++ b/bac2/modalDev/tp1/gradlew @@ -0,0 +1,249 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original 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 POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# 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 ;; #( + MSYS* | 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 + if ! command -v java >/dev/null 2>&1 + then + 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 +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# 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"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/bac2/modalDev/tp1/gradlew.bat b/bac2/modalDev/tp1/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/bac2/modalDev/tp1/gradlew.bat @@ -0,0 +1,92 @@ +@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=. +@rem This is normally unused +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% equ 0 goto execute + +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 execute + +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 + +: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 %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 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! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/bac2/modalDev/tp1/settings.gradle.kts b/bac2/modalDev/tp1/settings.gradle.kts new file mode 100644 index 0000000..fa7b34a --- /dev/null +++ b/bac2/modalDev/tp1/settings.gradle.kts @@ -0,0 +1,14 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * For more detailed information on multi-project builds, please refer to https://docs.gradle.org/8.4/userguide/building_swift_projects.html in the Gradle documentation. + */ + +plugins { + // Apply the foojay-resolver plugin to allow automatic download of JDKs + id("org.gradle.toolchains.foojay-resolver-convention") version "0.7.0" +} + +rootProject.name = "tp1" +include("app") diff --git a/bac2/os/chap3/Makefile b/bac2/os/chap3/Makefile index 4cf7ec5..acf9c03 100644 --- a/bac2/os/chap3/Makefile +++ b/bac2/os/chap3/Makefile @@ -2,7 +2,9 @@ CC = gcc CFLAGS = -g -Wall -all: ex1 ex2 ex3 ex4 ex5 ex6 ex7 group +SRC = ex1 ex2 ex3 ex4 ex5 ex6 ex7 group + +all: $(SRC) group: group.o mergeSort.o $(CC) $(CFLAGS) -o $@ $+ @@ -15,9 +17,8 @@ group: group.o mergeSort.o clean: rm -f *.o core.* - -mrproper: clean - rm -f ex1 + rm -f plot.png + rm -f $(SRC) run: group ./$< diff --git a/bac2/os/chap3/group.c b/bac2/os/chap3/group.c index 9ac9c6f..8aea801 100644 --- a/bac2/os/chap3/group.c +++ b/bac2/os/chap3/group.c @@ -6,18 +6,19 @@ #define printlist(s, x) printf("%s = [", #x); for (int i = 0; i < s; ++i) { printf("%d, ", x[i]); } printf("\b\b]\n"); -#define listSize 10000000 +#define listSize 1000000 int list[listSize]; int main(void) { + // liste de nombre aléatoires srand(time(NULL)); for (int i = 0; i < listSize; ++i) { - list[i] = rand(); + list[i] = rand()%listSize; } /* printlist(listSize, list); */ - margs_t args = {list, 0, 9}; + mrg_t args = merge_init(list, listSize); merge_sort(&args); printlist(listSize, list); } diff --git a/bac2/os/chap3/group01-chap3/Makefile b/bac2/os/chap3/group01-chap3/Makefile new file mode 100644 index 0000000..0aa036b --- /dev/null +++ b/bac2/os/chap3/group01-chap3/Makefile @@ -0,0 +1,18 @@ +.PHONY: clean, all +CC = gcc +CFLAGS = -g -Wall + +all: group + +%.o: %.c + $(CC) $(CFLAGS) -c -o $@ $< + +group: group.o mergeSort.o + $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS) + +clean: + rm -f *.o core.* + rm -f group + +run: group + ./$< diff --git a/bac2/os/chap3/group01-chap3/group.c b/bac2/os/chap3/group01-chap3/group.c new file mode 100644 index 0000000..8aea801 --- /dev/null +++ b/bac2/os/chap3/group01-chap3/group.c @@ -0,0 +1,24 @@ +#include "mergeSort.h" + +#include +#include +#include + +#define printlist(s, x) printf("%s = [", #x); for (int i = 0; i < s; ++i) { printf("%d, ", x[i]); } printf("\b\b]\n"); + +#define listSize 1000000 +int list[listSize]; + +int main(void) +{ + // liste de nombre aléatoires + srand(time(NULL)); + for (int i = 0; i < listSize; ++i) { + list[i] = rand()%listSize; + } + /* printlist(listSize, list); */ + + mrg_t args = merge_init(list, listSize); + merge_sort(&args); + printlist(listSize, list); +} diff --git a/bac2/os/chap3/group01-chap3/mergeSort.c b/bac2/os/chap3/group01-chap3/mergeSort.c new file mode 100644 index 0000000..6e257d3 --- /dev/null +++ b/bac2/os/chap3/group01-chap3/mergeSort.c @@ -0,0 +1,58 @@ +#include "mergeSort.h" + +#include +#include +#include + +void* merge_sort(void* args) { + mrg_t* f = (mrg_t*) args; + if(f->slice.start < f->slice.final) { + int middle = (f->slice.start + f->slice.final) / 2; + + mrg_t args1 = {f->array, f->_depth+1, {f->slice.start, middle}}; + mrg_t args2 = {f->array, f->_depth+1, { middle+1, f->slice.final}}; + + if(f->_depth * f->_depth < THREADS){ + pthread_t t1, t2; + assert(!pthread_create(&t1, NULL, merge_sort, (void*) &args1)); + assert(!pthread_create(&t2, NULL, merge_sort, (void*) &args2)); + assert(!pthread_join(t1, NULL)); + assert(!pthread_join(t2, NULL)); + }else{ + merge_sort((void*) &args1); + merge_sort((void*) &args2); + } + merge(f->array, f->slice.start, middle, f->slice.final); + } + return NULL; +} + +void merge(int array[], uint8_t start, uint8_t middle, uint8_t final) { + + uint8_t countL = middle - start + 1; + int *arrayL = malloc(countL * sizeof(int)); + for(uint8_t currentL = 0; currentL < countL; currentL ++) + arrayL[currentL] = array[start + currentL ]; + + uint8_t countR = final - middle; + int* arrayR = malloc(countR * sizeof(int)); + for(uint8_t currentR = 0; currentR < countR; currentR ++) + arrayR[currentR] = array[middle + 1 + currentR ]; + + uint8_t currentL, currentR, current; + for(currentL = 0, currentR = 0, current = start; + current <= final && currentL < countL && currentR < countR; + current ++) + if(arrayL[currentL] <= arrayR[currentR]) + array[current] = arrayL[currentL++]; + else + array[current] = arrayR[currentR++]; + + while(currentR < countR) + array[current++] = arrayR[currentR++]; + while(currentL < countL) + array[current++] = arrayL[currentL++]; + + free(arrayL); + free(arrayR); +} diff --git a/bac2/os/chap3/group01-chap3/mergeSort.h b/bac2/os/chap3/group01-chap3/mergeSort.h new file mode 100644 index 0000000..a92a5af --- /dev/null +++ b/bac2/os/chap3/group01-chap3/mergeSort.h @@ -0,0 +1,21 @@ +#pragma once + +#include +#include + +#define THREADS 4 +#define merge_init(array, size) {(array), 0, {1, (size)}} + +typedef struct{ + int start; + int final; +} SLICE; + +typedef struct { + int* array; + int _depth; + SLICE slice; +} mrg_t; + +void* merge_sort(void*); +void merge(int array[], uint8_t start, uint8_t middle, uint8_t final); diff --git a/bac2/os/chap3/mergeSort.c b/bac2/os/chap3/mergeSort.c index 899baf9..6e257d3 100644 --- a/bac2/os/chap3/mergeSort.c +++ b/bac2/os/chap3/mergeSort.c @@ -4,42 +4,42 @@ #include #include -#define THREADS - -pthread_t threads[THREADS]; - void* merge_sort(void* args) { - margs_t* f = (margs_t*) args; - if(f->start < f->final) { - pthread_t t1, t2; - index middle = (f->start + f->final) / 2; + mrg_t* f = (mrg_t*) args; + if(f->slice.start < f->slice.final) { + int middle = (f->slice.start + f->slice.final) / 2; - margs_t args1 = {f->array, f->start, middle}; - assert(!pthread_create(&t1, NULL, merge_sort, (void*) &args1)); - margs_t args2 = {f->array, middle+1, f->final}; - assert(!pthread_create(&t2, NULL, merge_sort, (void*) &args2)); + mrg_t args1 = {f->array, f->_depth+1, {f->slice.start, middle}}; + mrg_t args2 = {f->array, f->_depth+1, { middle+1, f->slice.final}}; - assert(pthread_join(t1, NULL)); - assert(pthread_join(t2, NULL)); - merge(f->array, f->start, middle, f->final); + if(f->_depth * f->_depth < THREADS){ + pthread_t t1, t2; + assert(!pthread_create(&t1, NULL, merge_sort, (void*) &args1)); + assert(!pthread_create(&t2, NULL, merge_sort, (void*) &args2)); + assert(!pthread_join(t1, NULL)); + assert(!pthread_join(t2, NULL)); + }else{ + merge_sort((void*) &args1); + merge_sort((void*) &args2); + } + merge(f->array, f->slice.start, middle, f->slice.final); } - int *ret = 0; - return ret; + return NULL; } -void merge(int array[], index start, index middle, index final) { +void merge(int array[], uint8_t start, uint8_t middle, uint8_t final) { - length countL = middle - start + 1; + uint8_t countL = middle - start + 1; int *arrayL = malloc(countL * sizeof(int)); - for(index currentL = 0; currentL < countL; currentL ++) + for(uint8_t currentL = 0; currentL < countL; currentL ++) arrayL[currentL] = array[start + currentL ]; - length countR = final - middle; + uint8_t countR = final - middle; int* arrayR = malloc(countR * sizeof(int)); - for(index currentR = 0; currentR < countR; currentR ++) + for(uint8_t currentR = 0; currentR < countR; currentR ++) arrayR[currentR] = array[middle + 1 + currentR ]; - index currentL, currentR, current; + uint8_t currentL, currentR, current; for(currentL = 0, currentR = 0, current = start; current <= final && currentL < countL && currentR < countR; current ++) diff --git a/bac2/os/chap3/mergeSort.h b/bac2/os/chap3/mergeSort.h index 9453966..a92a5af 100644 --- a/bac2/os/chap3/mergeSort.h +++ b/bac2/os/chap3/mergeSort.h @@ -1,15 +1,21 @@ #pragma once -typedef unsigned int index; -typedef unsigned int length; +#include +#include -typedef struct merge_args{ +#define THREADS 4 +#define merge_init(array, size) {(array), 0, {1, (size)}} + +typedef struct{ + int start; + int final; +} SLICE; + +typedef struct { int* array; - index start; - index final; -} margs_t; + int _depth; + SLICE slice; +} mrg_t; - -void merge(int array[], index start, index middle, index final); -/* void merge_sort(int array [], index start , index final ); */ void* merge_sort(void*); +void merge(int array[], uint8_t start, uint8_t middle, uint8_t final); diff --git a/bac2/os/chap3/plot b/bac2/os/chap3/plot new file mode 100644 index 0000000..3b03610 --- /dev/null +++ b/bac2/os/chap3/plot @@ -0,0 +1,10000 @@ +0 74 +1 23 +2 24 +3 23 +4 22 +5 22 +6 22 +7 24 +8 22 +9 23 +10 24 +11 23 +12 23 +13 24 +14 25 +15 21 +16 23 +17 23 +18 23 +19 23 +20 22 +21 23 +22 24 +23 22 +24 22 +25 22 +26 23 +27 22 +28 23 +29 23 +30 23 +31 22 +32 22 +33 22 +34 24 +35 22 +36 24 +37 23 +38 23 +39 22 +40 22 +41 23 +42 25 +43 22 +44 22 +45 24 +46 23 +47 22 +48 24 +49 23 +50 23 +51 22 +52 23 +53 23 +54 23 +55 24 +56 23 +57 23 +58 24 +59 22 +60 24 +61 23 +62 22 +63 24 +64 23 +65 23 +66 24 +67 22 +68 22 +69 22 +70 25 +71 22 +72 23 +73 23 +74 23 +75 21 +76 22 +77 22 +78 23 +79 23 +80 24 +81 22 +82 22 +83 23 +84 22 +85 22 +86 22 +87 23 +88 22 +89 24 +90 24 +91 23 +92 22 +93 22 +94 24 +95 23 +96 22 +97 22 +98 22 +99 25 +100 24 +101 22 +102 22 +103 23 +104 22 +105 21 +106 24 +107 25 +108 23 +109 23 +110 23 +111 23 +112 23 +113 23 +114 22 +115 22 +116 22 +117 23 +118 22 +119 24 +120 22 +121 23 +122 22 +123 24 +124 22 +125 21 +126 22 +127 22 +128 22 +129 23 +130 24 +131 22 +132 22 +133 21 +134 23 +135 22 +136 23 +137 25 +138 23 +139 23 +140 23 +141 22 +142 24 +143 23 +144 22 +145 22 +146 22 +147 23 +148 23 +149 23 +150 24 +151 23 +152 23 +153 23 +154 23 +155 23 +156 23 +157 24 +158 23 +159 23 +160 21 +161 22 +162 25 +163 23 +164 23 +165 22 +166 23 +167 25 +168 25 +169 23 +170 22 +171 23 +172 23 +173 24 +174 23 +175 24 +176 23 +177 22 +178 23 +179 23 +180 24 +181 22 +182 22 +183 23 +184 22 +185 24 +186 23 +187 23 +188 23 +189 22 +190 23 +191 23 +192 23 +193 22 +194 21 +195 23 +196 24 +197 22 +198 21 +199 23 +200 23 +201 22 +202 23 +203 22 +204 23 +205 24 +206 23 +207 24 +208 23 +209 21 +210 23 +211 24 +212 24 +213 24 +214 22 +215 24 +216 22 +217 23 +218 22 +219 22 +220 22 +221 23 +222 22 +223 22 +224 24 +225 23 +226 22 +227 24 +228 22 +229 21 +230 23 +231 22 +232 22 +233 23 +234 23 +235 25 +236 23 +237 23 +238 23 +239 23 +240 23 +241 25 +242 23 +243 23 +244 23 +245 23 +246 23 +247 23 +248 21 +249 25 +250 23 +251 23 +252 23 +253 23 +254 22 +255 22 +256 22 +257 22 +258 21 +259 22 +260 24 +261 22 +262 22 +263 23 +264 23 +265 23 +266 23 +267 23 +268 22 +269 24 +270 22 +271 21 +272 22 +273 24 +274 22 +275 25 +276 23 +277 22 +278 24 +279 24 +280 22 +281 22 +282 21 +283 25 +284 23 +285 22 +286 25 +287 23 +288 23 +289 21 +290 24 +291 22 +292 22 +293 24 +294 22 +295 24 +296 23 +297 25 +298 22 +299 23 +300 24 +301 22 +302 23 +303 22 +304 25 +305 23 +306 23 +307 23 +308 23 +309 23 +310 23 +311 22 +312 22 +313 22 +314 22 +315 22 +316 22 +317 22 +318 22 +319 24 +320 23 +321 22 +322 24 +323 22 +324 21 +325 22 +326 22 +327 24 +328 23 +329 23 +330 22 +331 24 +332 24 +333 23 +334 25 +335 23 +336 22 +337 22 +338 22 +339 22 +340 22 +341 22 +342 22 +343 22 +344 22 +345 22 +346 22 +347 22 +348 22 +349 21 +350 22 +351 22 +352 22 +353 23 +354 24 +355 22 +356 22 +357 22 +358 25 +359 23 +360 23 +361 24 +362 23 +363 23 +364 23 +365 24 +366 23 +367 23 +368 23 +369 22 +370 23 +371 23 +372 23 +373 24 +374 23 +375 25 +376 23 +377 24 +378 23 +379 25 +380 25 +381 24 +382 25 +383 23 +384 23 +385 24 +386 23 +387 23 +388 25 +389 23 +390 23 +391 22 +392 24 +393 22 +394 21 +395 23 +396 23 +397 24 +398 23 +399 23 +400 23 +401 23 +402 22 +403 22 +404 23 +405 22 +406 23 +407 24 +408 23 +409 21 +410 23 +411 24 +412 22 +413 24 +414 22 +415 22 +416 22 +417 23 +418 22 +419 24 +420 22 +421 23 +422 22 +423 22 +424 22 +425 22 +426 24 +427 22 +428 23 +429 22 +430 24 +431 24 +432 23 +433 23 +434 23 +435 23 +436 23 +437 24 +438 25 +439 23 +440 22 +441 24 +442 24 +443 23 +444 21 +445 23 +446 23 +447 23 +448 21 +449 23 +450 23 +451 22 +452 22 +453 23 +454 23 +455 22 +456 24 +457 22 +458 23 +459 22 +460 22 +461 22 +462 22 +463 23 +464 23 +465 23 +466 23 +467 23 +468 25 +469 23 +470 25 +471 23 +472 23 +473 23 +474 24 +475 21 +476 22 +477 22 +478 23 +479 21 +480 24 +481 24 +482 22 +483 23 +484 24 +485 22 +486 23 +487 23 +488 23 +489 24 +490 22 +491 24 +492 23 +493 24 +494 22 +495 22 +496 22 +497 22 +498 22 +499 22 +500 24 +501 23 +502 23 +503 23 +504 23 +505 24 +506 23 +507 22 +508 23 +509 23 +510 22 +511 24 +512 22 +513 24 +514 22 +515 24 +516 22 +517 24 +518 24 +519 22 +520 22 +521 23 +522 23 +523 25 +524 23 +525 23 +526 23 +527 24 +528 24 +529 24 +530 22 +531 22 +532 22 +533 21 +534 20 +535 24 +536 24 +537 23 +538 22 +539 23 +540 22 +541 23 +542 23 +543 23 +544 21 +545 23 +546 23 +547 25 +548 23 +549 25 +550 23 +551 23 +552 23 +553 25 +554 25 +555 23 +556 23 +557 23 +558 24 +559 23 +560 24 +561 23 +562 25 +563 23 +564 22 +565 22 +566 22 +567 25 +568 23 +569 23 +570 25 +571 20 +572 22 +573 24 +574 23 +575 25 +576 22 +577 23 +578 22 +579 22 +580 21 +581 22 +582 22 +583 24 +584 21 +585 22 +586 22 +587 24 +588 21 +589 22 +590 24 +591 22 +592 23 +593 22 +594 22 +595 24 +596 23 +597 24 +598 22 +599 23 +600 22 +601 22 +602 23 +603 22 +604 22 +605 22 +606 22 +607 22 +608 24 +609 22 +610 22 +611 22 +612 22 +613 22 +614 23 +615 25 +616 24 +617 24 +618 23 +619 25 +620 23 +621 22 +622 23 +623 23 +624 25 +625 24 +626 25 +627 23 +628 22 +629 23 +630 23 +631 22 +632 20 +633 22 +634 22 +635 22 +636 22 +637 22 +638 22 +639 20 +640 24 +641 23 +642 23 +643 23 +644 23 +645 22 +646 23 +647 23 +648 23 +649 23 +650 23 +651 23 +652 23 +653 22 +654 23 +655 23 +656 23 +657 23 +658 23 +659 22 +660 23 +661 22 +662 23 +663 22 +664 23 +665 23 +666 23 +667 23 +668 23 +669 23 +670 23 +671 23 +672 22 +673 23 +674 22 +675 24 +676 22 +677 23 +678 22 +679 22 +680 23 +681 25 +682 23 +683 23 +684 23 +685 23 +686 23 +687 23 +688 24 +689 23 +690 23 +691 24 +692 22 +693 24 +694 24 +695 23 +696 22 +697 22 +698 22 +699 22 +700 22 +701 22 +702 22 +703 22 +704 22 +705 22 +706 22 +707 21 +708 22 +709 24 +710 22 +711 21 +712 23 +713 23 +714 23 +715 23 +716 25 +717 23 +718 23 +719 23 +720 24 +721 23 +722 21 +723 20 +724 22 +725 23 +726 23 +727 23 +728 24 +729 22 +730 22 +731 22 +732 24 +733 22 +734 22 +735 22 +736 22 +737 24 +738 22 +739 22 +740 20 +741 22 +742 22 +743 22 +744 23 +745 22 +746 22 +747 22 +748 23 +749 23 +750 23 +751 24 +752 22 +753 23 +754 22 +755 22 +756 22 +757 22 +758 22 +759 22 +760 20 +761 22 +762 22 +763 23 +764 23 +765 23 +766 24 +767 23 +768 23 +769 23 +770 24 +771 21 +772 24 +773 22 +774 21 +775 22 +776 21 +777 23 +778 21 +779 24 +780 23 +781 21 +782 22 +783 23 +784 23 +785 25 +786 22 +787 24 +788 22 +789 23 +790 25 +791 25 +792 22 +793 23 +794 23 +795 23 +796 24 +797 23 +798 23 +799 24 +800 23 +801 23 +802 22 +803 21 +804 22 +805 23 +806 23 +807 23 +808 22 +809 23 +810 25 +811 23 +812 23 +813 23 +814 23 +815 25 +816 24 +817 23 +818 25 +819 23 +820 23 +821 22 +822 22 +823 22 +824 22 +825 22 +826 23 +827 22 +828 22 +829 24 +830 22 +831 22 +832 20 +833 24 +834 23 +835 25 +836 24 +837 24 +838 23 +839 22 +840 23 +841 22 +842 22 +843 22 +844 24 +845 23 +846 22 +847 22 +848 22 +849 23 +850 22 +851 23 +852 23 +853 25 +854 25 +855 22 +856 23 +857 23 +858 22 +859 22 +860 22 +861 22 +862 22 +863 22 +864 22 +865 23 +866 22 +867 24 +868 24 +869 23 +870 25 +871 23 +872 24 +873 23 +874 25 +875 23 +876 22 +877 23 +878 22 +879 22 +880 22 +881 22 +882 21 +883 22 +884 22 +885 24 +886 25 +887 23 +888 23 +889 23 +890 23 +891 23 +892 23 +893 22 +894 23 +895 22 +896 22 +897 24 +898 22 +899 23 +900 21 +901 22 +902 22 +903 20 +904 21 +905 23 +906 24 +907 23 +908 23 +909 23 +910 22 +911 22 +912 22 +913 22 +914 22 +915 22 +916 24 +917 23 +918 24 +919 24 +920 23 +921 22 +922 22 +923 23 +924 23 +925 23 +926 22 +927 23 +928 23 +929 23 +930 24 +931 24 +932 23 +933 23 +934 23 +935 22 +936 22 +937 23 +938 24 +939 23 +940 23 +941 22 +942 24 +943 22 +944 23 +945 22 +946 23 +947 22 +948 23 +949 23 +950 23 +951 23 +952 23 +953 22 +954 23 +955 23 +956 23 +957 24 +958 23 +959 23 +960 23 +961 23 +962 25 +963 23 +964 23 +965 23 +966 23 +967 23 +968 21 +969 23 +970 23 +971 23 +972 24 +973 23 +974 22 +975 23 +976 23 +977 23 +978 23 +979 21 +980 22 +981 22 +982 20 +983 23 +984 23 +985 23 +986 23 +987 23 +988 23 +989 23 +990 22 +991 20 +992 22 +993 23 +994 23 +995 22 +996 24 +997 22 +998 23 +999 23 +1000 21 +1001 24 +1002 25 +1003 23 +1004 22 +1005 24 +1006 22 +1007 23 +1008 23 +1009 22 +1010 23 +1011 22 +1012 24 +1013 23 +1014 22 +1015 22 +1016 23 +1017 23 +1018 22 +1019 23 +1020 23 +1021 22 +1022 24 +1023 24 +1024 23 +1025 21 +1026 24 +1027 24 +1028 23 +1029 24 +1030 22 +1031 23 +1032 21 +1033 22 +1034 22 +1035 22 +1036 23 +1037 24 +1038 23 +1039 23 +1040 23 +1041 22 +1042 24 +1043 23 +1044 23 +1045 25 +1046 24 +1047 23 +1048 22 +1049 23 +1050 23 +1051 22 +1052 25 +1053 23 +1054 24 +1055 22 +1056 22 +1057 22 +1058 22 +1059 24 +1060 24 +1061 22 +1062 22 +1063 22 +1064 24 +1065 23 +1066 21 +1067 22 +1068 23 +1069 23 +1070 22 +1071 24 +1072 22 +1073 23 +1074 23 +1075 22 +1076 22 +1077 25 +1078 20 +1079 23 +1080 22 +1081 22 +1082 24 +1083 23 +1084 22 +1085 22 +1086 23 +1087 21 +1088 22 +1089 23 +1090 23 +1091 23 +1092 23 +1093 22 +1094 22 +1095 21 +1096 23 +1097 23 +1098 23 +1099 23 +1100 21 +1101 22 +1102 21 +1103 23 +1104 22 +1105 22 +1106 23 +1107 24 +1108 23 +1109 23 +1110 24 +1111 23 +1112 21 +1113 22 +1114 22 +1115 22 +1116 22 +1117 22 +1118 23 +1119 24 +1120 22 +1121 21 +1122 24 +1123 21 +1124 22 +1125 22 +1126 24 +1127 22 +1128 22 +1129 25 +1130 22 +1131 22 +1132 23 +1133 23 +1134 22 +1135 22 +1136 22 +1137 22 +1138 23 +1139 22 +1140 22 +1141 23 +1142 22 +1143 22 +1144 21 +1145 23 +1146 23 +1147 22 +1148 23 +1149 23 +1150 22 +1151 22 +1152 22 +1153 22 +1154 23 +1155 24 +1156 22 +1157 25 +1158 21 +1159 24 +1160 22 +1161 23 +1162 24 +1163 22 +1164 22 +1165 23 +1166 24 +1167 22 +1168 23 +1169 23 +1170 22 +1171 24 +1172 23 +1173 23 +1174 22 +1175 22 +1176 22 +1177 23 +1178 22 +1179 22 +1180 23 +1181 22 +1182 23 +1183 25 +1184 24 +1185 22 +1186 23 +1187 24 +1188 22 +1189 22 +1190 21 +1191 24 +1192 23 +1193 22 +1194 24 +1195 22 +1196 22 +1197 23 +1198 21 +1199 22 +1200 23 +1201 22 +1202 22 +1203 25 +1204 22 +1205 23 +1206 23 +1207 22 +1208 24 +1209 23 +1210 23 +1211 22 +1212 22 +1213 24 +1214 23 +1215 23 +1216 24 +1217 22 +1218 25 +1219 23 +1220 22 +1221 22 +1222 23 +1223 22 +1224 22 +1225 22 +1226 23 +1227 24 +1228 24 +1229 23 +1230 22 +1231 23 +1232 23 +1233 24 +1234 22 +1235 24 +1236 23 +1237 24 +1238 22 +1239 25 +1240 23 +1241 22 +1242 23 +1243 24 +1244 22 +1245 22 +1246 23 +1247 22 +1248 24 +1249 23 +1250 23 +1251 24 +1252 22 +1253 24 +1254 23 +1255 22 +1256 23 +1257 24 +1258 22 +1259 25 +1260 22 +1261 22 +1262 25 +1263 22 +1264 22 +1265 23 +1266 22 +1267 23 +1268 22 +1269 24 +1270 23 +1271 23 +1272 23 +1273 22 +1274 23 +1275 24 +1276 21 +1277 25 +1278 23 +1279 22 +1280 22 +1281 22 +1282 24 +1283 23 +1284 22 +1285 24 +1286 23 +1287 22 +1288 21 +1289 22 +1290 23 +1291 23 +1292 22 +1293 23 +1294 24 +1295 23 +1296 23 +1297 22 +1298 24 +1299 22 +1300 23 +1301 23 +1302 22 +1303 22 +1304 22 +1305 25 +1306 22 +1307 22 +1308 23 +1309 24 +1310 21 +1311 22 +1312 23 +1313 24 +1314 22 +1315 23 +1316 24 +1317 21 +1318 23 +1319 23 +1320 22 +1321 23 +1322 23 +1323 22 +1324 20 +1325 22 +1326 23 +1327 22 +1328 22 +1329 25 +1330 22 +1331 22 +1332 23 +1333 23 +1334 21 +1335 22 +1336 23 +1337 22 +1338 22 +1339 24 +1340 22 +1341 23 +1342 25 +1343 22 +1344 24 +1345 23 +1346 24 +1347 24 +1348 24 +1349 23 +1350 23 +1351 22 +1352 21 +1353 22 +1354 23 +1355 23 +1356 22 +1357 23 +1358 22 +1359 23 +1360 24 +1361 23 +1362 22 +1363 22 +1364 23 +1365 22 +1366 23 +1367 24 +1368 23 +1369 23 +1370 24 +1371 21 +1372 22 +1373 24 +1374 22 +1375 24 +1376 23 +1377 22 +1378 22 +1379 23 +1380 22 +1381 24 +1382 22 +1383 22 +1384 23 +1385 24 +1386 23 +1387 22 +1388 24 +1389 23 +1390 22 +1391 22 +1392 22 +1393 22 +1394 24 +1395 23 +1396 23 +1397 22 +1398 23 +1399 25 +1400 22 +1401 24 +1402 23 +1403 22 +1404 23 +1405 22 +1406 24 +1407 22 +1408 23 +1409 22 +1410 23 +1411 25 +1412 22 +1413 24 +1414 24 +1415 22 +1416 22 +1417 23 +1418 23 +1419 22 +1420 21 +1421 23 +1422 22 +1423 23 +1424 23 +1425 23 +1426 22 +1427 23 +1428 23 +1429 22 +1430 23 +1431 22 +1432 23 +1433 22 +1434 22 +1435 22 +1436 24 +1437 24 +1438 23 +1439 22 +1440 23 +1441 23 +1442 20 +1443 22 +1444 21 +1445 24 +1446 23 +1447 22 +1448 22 +1449 22 +1450 25 +1451 23 +1452 22 +1453 22 +1454 22 +1455 22 +1456 22 +1457 23 +1458 22 +1459 23 +1460 22 +1461 24 +1462 23 +1463 23 +1464 22 +1465 22 +1466 23 +1467 23 +1468 22 +1469 22 +1470 24 +1471 23 +1472 24 +1473 23 +1474 22 +1475 24 +1476 24 +1477 23 +1478 23 +1479 24 +1480 23 +1481 25 +1482 22 +1483 24 +1484 22 +1485 25 +1486 23 +1487 24 +1488 22 +1489 24 +1490 23 +1491 22 +1492 22 +1493 22 +1494 25 +1495 23 +1496 22 +1497 22 +1498 23 +1499 22 +1500 22 +1501 22 +1502 23 +1503 22 +1504 22 +1505 22 +1506 22 +1507 23 +1508 22 +1509 22 +1510 22 +1511 23 +1512 24 +1513 22 +1514 22 +1515 25 +1516 22 +1517 22 +1518 22 +1519 23 +1520 22 +1521 22 +1522 21 +1523 23 +1524 21 +1525 22 +1526 23 +1527 23 +1528 23 +1529 22 +1530 22 +1531 22 +1532 23 +1533 22 +1534 23 +1535 23 +1536 23 +1537 23 +1538 22 +1539 25 +1540 22 +1541 23 +1542 22 +1543 22 +1544 22 +1545 23 +1546 24 +1547 22 +1548 22 +1549 23 +1550 24 +1551 22 +1552 25 +1553 21 +1554 24 +1555 23 +1556 23 +1557 23 +1558 22 +1559 22 +1560 23 +1561 25 +1562 24 +1563 23 +1564 23 +1565 21 +1566 22 +1567 25 +1568 24 +1569 24 +1570 23 +1571 23 +1572 22 +1573 25 +1574 23 +1575 24 +1576 23 +1577 23 +1578 22 +1579 23 +1580 23 +1581 22 +1582 22 +1583 23 +1584 23 +1585 24 +1586 22 +1587 23 +1588 22 +1589 22 +1590 23 +1591 22 +1592 22 +1593 22 +1594 23 +1595 24 +1596 23 +1597 23 +1598 23 +1599 24 +1600 23 +1601 24 +1602 22 +1603 24 +1604 20 +1605 24 +1606 23 +1607 23 +1608 22 +1609 23 +1610 23 +1611 23 +1612 22 +1613 23 +1614 24 +1615 22 +1616 24 +1617 24 +1618 23 +1619 23 +1620 22 +1621 23 +1622 21 +1623 22 +1624 22 +1625 22 +1626 25 +1627 21 +1628 22 +1629 23 +1630 25 +1631 22 +1632 24 +1633 23 +1634 22 +1635 24 +1636 23 +1637 23 +1638 24 +1639 22 +1640 22 +1641 24 +1642 22 +1643 23 +1644 23 +1645 22 +1646 23 +1647 22 +1648 23 +1649 23 +1650 23 +1651 23 +1652 22 +1653 23 +1654 22 +1655 22 +1656 23 +1657 22 +1658 21 +1659 22 +1660 25 +1661 23 +1662 22 +1663 23 +1664 22 +1665 23 +1666 23 +1667 24 +1668 22 +1669 24 +1670 24 +1671 22 +1672 22 +1673 23 +1674 22 +1675 22 +1676 23 +1677 22 +1678 24 +1679 23 +1680 23 +1681 22 +1682 22 +1683 23 +1684 23 +1685 21 +1686 22 +1687 23 +1688 23 +1689 22 +1690 22 +1691 22 +1692 25 +1693 23 +1694 22 +1695 23 +1696 25 +1697 22 +1698 22 +1699 22 +1700 23 +1701 23 +1702 22 +1703 23 +1704 23 +1705 21 +1706 22 +1707 21 +1708 23 +1709 22 +1710 22 +1711 22 +1712 23 +1713 22 +1714 22 +1715 23 +1716 24 +1717 23 +1718 22 +1719 23 +1720 23 +1721 22 +1722 22 +1723 24 +1724 21 +1725 22 +1726 22 +1727 21 +1728 23 +1729 23 +1730 22 +1731 23 +1732 22 +1733 22 +1734 25 +1735 24 +1736 22 +1737 23 +1738 23 +1739 22 +1740 22 +1741 23 +1742 23 +1743 22 +1744 22 +1745 23 +1746 23 +1747 22 +1748 23 +1749 25 +1750 22 +1751 24 +1752 21 +1753 23 +1754 23 +1755 24 +1756 23 +1757 22 +1758 24 +1759 23 +1760 24 +1761 22 +1762 23 +1763 22 +1764 23 +1765 25 +1766 22 +1767 24 +1768 22 +1769 23 +1770 22 +1771 22 +1772 23 +1773 25 +1774 22 +1775 24 +1776 23 +1777 22 +1778 22 +1779 24 +1780 24 +1781 22 +1782 24 +1783 23 +1784 22 +1785 22 +1786 25 +1787 21 +1788 22 +1789 23 +1790 24 +1791 22 +1792 22 +1793 22 +1794 22 +1795 24 +1796 23 +1797 23 +1798 24 +1799 23 +1800 23 +1801 22 +1802 23 +1803 22 +1804 22 +1805 21 +1806 22 +1807 23 +1808 23 +1809 22 +1810 22 +1811 22 +1812 23 +1813 22 +1814 24 +1815 22 +1816 22 +1817 24 +1818 21 +1819 22 +1820 24 +1821 22 +1822 24 +1823 22 +1824 23 +1825 23 +1826 22 +1827 23 +1828 22 +1829 22 +1830 23 +1831 23 +1832 23 +1833 21 +1834 23 +1835 24 +1836 22 +1837 25 +1838 24 +1839 21 +1840 23 +1841 22 +1842 22 +1843 22 +1844 25 +1845 23 +1846 22 +1847 23 +1848 23 +1849 22 +1850 22 +1851 25 +1852 23 +1853 22 +1854 21 +1855 22 +1856 22 +1857 25 +1858 22 +1859 22 +1860 23 +1861 21 +1862 24 +1863 23 +1864 23 +1865 23 +1866 22 +1867 23 +1868 23 +1869 22 +1870 24 +1871 22 +1872 23 +1873 22 +1874 23 +1875 23 +1876 22 +1877 21 +1878 24 +1879 23 +1880 24 +1881 22 +1882 24 +1883 24 +1884 22 +1885 20 +1886 22 +1887 23 +1888 22 +1889 21 +1890 23 +1891 22 +1892 22 +1893 23 +1894 23 +1895 22 +1896 22 +1897 23 +1898 23 +1899 22 +1900 24 +1901 23 +1902 23 +1903 22 +1904 22 +1905 23 +1906 23 +1907 22 +1908 22 +1909 22 +1910 23 +1911 21 +1912 22 +1913 23 +1914 23 +1915 22 +1916 23 +1917 23 +1918 22 +1919 22 +1920 22 +1921 24 +1922 23 +1923 22 +1924 22 +1925 21 +1926 23 +1927 22 +1928 22 +1929 23 +1930 23 +1931 22 +1932 22 +1933 23 +1934 22 +1935 22 +1936 22 +1937 23 +1938 22 +1939 24 +1940 23 +1941 23 +1942 22 +1943 23 +1944 23 +1945 24 +1946 21 +1947 23 +1948 21 +1949 22 +1950 22 +1951 23 +1952 23 +1953 22 +1954 23 +1955 24 +1956 24 +1957 22 +1958 22 +1959 22 +1960 23 +1961 22 +1962 22 +1963 23 +1964 22 +1965 22 +1966 23 +1967 23 +1968 22 +1969 22 +1970 22 +1971 22 +1972 20 +1973 23 +1974 22 +1975 22 +1976 24 +1977 24 +1978 20 +1979 24 +1980 23 +1981 22 +1982 22 +1983 23 +1984 23 +1985 23 +1986 21 +1987 22 +1988 23 +1989 23 +1990 22 +1991 22 +1992 23 +1993 24 +1994 22 +1995 25 +1996 22 +1997 22 +1998 22 +1999 24 +2000 22 +2001 22 +2002 23 +2003 24 +2004 22 +2005 23 +2006 22 +2007 22 +2008 23 +2009 22 +2010 22 +2011 22 +2012 22 +2013 24 +2014 23 +2015 22 +2016 22 +2017 23 +2018 22 +2019 22 +2020 23 +2021 22 +2022 22 +2023 23 +2024 22 +2025 23 +2026 24 +2027 23 +2028 22 +2029 23 +2030 23 +2031 22 +2032 23 +2033 21 +2034 24 +2035 23 +2036 24 +2037 22 +2038 23 +2039 24 +2040 22 +2041 22 +2042 23 +2043 22 +2044 22 +2045 23 +2046 23 +2047 22 +2048 24 +2049 22 +2050 23 +2051 22 +2052 22 +2053 23 +2054 22 +2055 22 +2056 22 +2057 23 +2058 22 +2059 22 +2060 22 +2061 23 +2062 22 +2063 22 +2064 22 +2065 22 +2066 22 +2067 23 +2068 23 +2069 24 +2070 22 +2071 23 +2072 23 +2073 24 +2074 22 +2075 23 +2076 24 +2077 22 +2078 24 +2079 23 +2080 22 +2081 22 +2082 23 +2083 22 +2084 22 +2085 23 +2086 23 +2087 20 +2088 24 +2089 23 +2090 23 +2091 22 +2092 22 +2093 23 +2094 23 +2095 22 +2096 22 +2097 23 +2098 24 +2099 22 +2100 22 +2101 24 +2102 23 +2103 22 +2104 24 +2105 21 +2106 23 +2107 23 +2108 22 +2109 22 +2110 23 +2111 23 +2112 23 +2113 22 +2114 23 +2115 23 +2116 23 +2117 22 +2118 22 +2119 24 +2120 23 +2121 22 +2122 21 +2123 23 +2124 22 +2125 22 +2126 23 +2127 23 +2128 24 +2129 24 +2130 24 +2131 22 +2132 22 +2133 24 +2134 23 +2135 22 +2136 22 +2137 23 +2138 21 +2139 22 +2140 22 +2141 23 +2142 23 +2143 23 +2144 24 +2145 21 +2146 22 +2147 22 +2148 23 +2149 21 +2150 22 +2151 23 +2152 21 +2153 22 +2154 22 +2155 25 +2156 23 +2157 24 +2158 21 +2159 23 +2160 22 +2161 23 +2162 22 +2163 22 +2164 23 +2165 25 +2166 24 +2167 23 +2168 23 +2169 23 +2170 22 +2171 24 +2172 22 +2173 23 +2174 22 +2175 22 +2176 23 +2177 22 +2178 23 +2179 23 +2180 25 +2181 23 +2182 22 +2183 23 +2184 23 +2185 20 +2186 22 +2187 25 +2188 24 +2189 23 +2190 24 +2191 22 +2192 23 +2193 24 +2194 24 +2195 22 +2196 23 +2197 22 +2198 24 +2199 25 +2200 22 +2201 24 +2202 24 +2203 24 +2204 25 +2205 22 +2206 24 +2207 22 +2208 22 +2209 23 +2210 24 +2211 25 +2212 22 +2213 24 +2214 25 +2215 22 +2216 23 +2217 22 +2218 23 +2219 24 +2220 24 +2221 25 +2222 24 +2223 24 +2224 22 +2225 22 +2226 23 +2227 23 +2228 22 +2229 23 +2230 21 +2231 24 +2232 23 +2233 21 +2234 25 +2235 22 +2236 24 +2237 21 +2238 23 +2239 22 +2240 23 +2241 21 +2242 23 +2243 24 +2244 24 +2245 23 +2246 22 +2247 23 +2248 24 +2249 23 +2250 24 +2251 21 +2252 22 +2253 22 +2254 25 +2255 22 +2256 23 +2257 22 +2258 23 +2259 23 +2260 24 +2261 22 +2262 22 +2263 25 +2264 23 +2265 22 +2266 23 +2267 22 +2268 24 +2269 22 +2270 23 +2271 23 +2272 24 +2273 22 +2274 23 +2275 23 +2276 22 +2277 22 +2278 24 +2279 23 +2280 22 +2281 24 +2282 22 +2283 23 +2284 22 +2285 23 +2286 23 +2287 23 +2288 22 +2289 23 +2290 22 +2291 22 +2292 23 +2293 22 +2294 23 +2295 25 +2296 23 +2297 22 +2298 24 +2299 22 +2300 25 +2301 22 +2302 24 +2303 22 +2304 25 +2305 23 +2306 22 +2307 22 +2308 25 +2309 20 +2310 22 +2311 23 +2312 22 +2313 24 +2314 24 +2315 25 +2316 22 +2317 23 +2318 24 +2319 23 +2320 22 +2321 22 +2322 23 +2323 23 +2324 25 +2325 23 +2326 24 +2327 22 +2328 21 +2329 23 +2330 22 +2331 23 +2332 22 +2333 23 +2334 24 +2335 24 +2336 23 +2337 24 +2338 22 +2339 24 +2340 23 +2341 22 +2342 22 +2343 23 +2344 22 +2345 22 +2346 25 +2347 24 +2348 23 +2349 22 +2350 25 +2351 22 +2352 22 +2353 24 +2354 23 +2355 23 +2356 22 +2357 23 +2358 22 +2359 23 +2360 23 +2361 23 +2362 22 +2363 23 +2364 24 +2365 23 +2366 21 +2367 24 +2368 23 +2369 22 +2370 23 +2371 20 +2372 23 +2373 24 +2374 24 +2375 23 +2376 24 +2377 24 +2378 24 +2379 24 +2380 22 +2381 23 +2382 22 +2383 24 +2384 22 +2385 22 +2386 25 +2387 22 +2388 24 +2389 23 +2390 24 +2391 24 +2392 22 +2393 22 +2394 22 +2395 23 +2396 24 +2397 22 +2398 24 +2399 23 +2400 23 +2401 23 +2402 25 +2403 20 +2404 24 +2405 22 +2406 25 +2407 23 +2408 23 +2409 24 +2410 23 +2411 22 +2412 24 +2413 22 +2414 25 +2415 21 +2416 25 +2417 22 +2418 23 +2419 21 +2420 23 +2421 24 +2422 23 +2423 22 +2424 24 +2425 23 +2426 23 +2427 22 +2428 23 +2429 24 +2430 24 +2431 22 +2432 21 +2433 24 +2434 24 +2435 23 +2436 22 +2437 23 +2438 22 +2439 22 +2440 22 +2441 23 +2442 22 +2443 22 +2444 23 +2445 23 +2446 22 +2447 25 +2448 22 +2449 22 +2450 24 +2451 24 +2452 22 +2453 25 +2454 23 +2455 24 +2456 23 +2457 23 +2458 21 +2459 22 +2460 22 +2461 23 +2462 24 +2463 23 +2464 25 +2465 24 +2466 24 +2467 24 +2468 25 +2469 24 +2470 24 +2471 23 +2472 23 +2473 23 +2474 23 +2475 23 +2476 24 +2477 23 +2478 25 +2479 22 +2480 23 +2481 25 +2482 22 +2483 24 +2484 22 +2485 22 +2486 22 +2487 22 +2488 23 +2489 23 +2490 23 +2491 22 +2492 22 +2493 23 +2494 21 +2495 24 +2496 23 +2497 23 +2498 23 +2499 25 +2500 24 +2501 23 +2502 23 +2503 23 +2504 23 +2505 24 +2506 25 +2507 22 +2508 22 +2509 22 +2510 23 +2511 24 +2512 22 +2513 24 +2514 23 +2515 23 +2516 22 +2517 24 +2518 23 +2519 22 +2520 22 +2521 23 +2522 22 +2523 21 +2524 22 +2525 24 +2526 23 +2527 23 +2528 22 +2529 24 +2530 23 +2531 24 +2532 21 +2533 22 +2534 23 +2535 22 +2536 22 +2537 23 +2538 23 +2539 22 +2540 22 +2541 23 +2542 22 +2543 23 +2544 23 +2545 24 +2546 23 +2547 23 +2548 22 +2549 24 +2550 23 +2551 22 +2552 22 +2553 24 +2554 24 +2555 22 +2556 24 +2557 23 +2558 21 +2559 22 +2560 22 +2561 23 +2562 22 +2563 24 +2564 23 +2565 22 +2566 24 +2567 24 +2568 23 +2569 24 +2570 23 +2571 22 +2572 22 +2573 23 +2574 22 +2575 24 +2576 23 +2577 22 +2578 23 +2579 22 +2580 22 +2581 22 +2582 23 +2583 22 +2584 22 +2585 24 +2586 23 +2587 24 +2588 21 +2589 24 +2590 22 +2591 22 +2592 24 +2593 25 +2594 23 +2595 22 +2596 22 +2597 22 +2598 24 +2599 21 +2600 22 +2601 22 +2602 23 +2603 22 +2604 22 +2605 25 +2606 23 +2607 22 +2608 22 +2609 22 +2610 23 +2611 22 +2612 22 +2613 22 +2614 22 +2615 24 +2616 22 +2617 24 +2618 22 +2619 24 +2620 23 +2621 24 +2622 24 +2623 21 +2624 23 +2625 25 +2626 22 +2627 21 +2628 22 +2629 24 +2630 22 +2631 23 +2632 22 +2633 22 +2634 24 +2635 22 +2636 23 +2637 24 +2638 22 +2639 24 +2640 23 +2641 24 +2642 24 +2643 23 +2644 22 +2645 23 +2646 22 +2647 25 +2648 23 +2649 22 +2650 23 +2651 23 +2652 23 +2653 22 +2654 23 +2655 24 +2656 21 +2657 24 +2658 24 +2659 23 +2660 23 +2661 23 +2662 23 +2663 22 +2664 20 +2665 23 +2666 22 +2667 23 +2668 24 +2669 22 +2670 25 +2671 22 +2672 23 +2673 22 +2674 22 +2675 23 +2676 21 +2677 25 +2678 22 +2679 22 +2680 22 +2681 23 +2682 22 +2683 24 +2684 23 +2685 25 +2686 23 +2687 22 +2688 22 +2689 22 +2690 23 +2691 23 +2692 21 +2693 24 +2694 22 +2695 23 +2696 23 +2697 24 +2698 24 +2699 22 +2700 24 +2701 24 +2702 21 +2703 22 +2704 23 +2705 24 +2706 24 +2707 24 +2708 23 +2709 23 +2710 25 +2711 22 +2712 22 +2713 24 +2714 23 +2715 22 +2716 23 +2717 22 +2718 21 +2719 22 +2720 22 +2721 22 +2722 23 +2723 22 +2724 21 +2725 22 +2726 23 +2727 23 +2728 22 +2729 22 +2730 23 +2731 23 +2732 22 +2733 22 +2734 23 +2735 22 +2736 24 +2737 23 +2738 22 +2739 22 +2740 25 +2741 22 +2742 24 +2743 23 +2744 22 +2745 23 +2746 24 +2747 23 +2748 23 +2749 23 +2750 21 +2751 22 +2752 23 +2753 22 +2754 23 +2755 22 +2756 23 +2757 24 +2758 22 +2759 23 +2760 22 +2761 23 +2762 22 +2763 23 +2764 23 +2765 24 +2766 24 +2767 22 +2768 22 +2769 22 +2770 22 +2771 23 +2772 23 +2773 25 +2774 22 +2775 24 +2776 24 +2777 23 +2778 23 +2779 22 +2780 23 +2781 23 +2782 24 +2783 23 +2784 22 +2785 22 +2786 25 +2787 24 +2788 23 +2789 22 +2790 22 +2791 23 +2792 22 +2793 23 +2794 22 +2795 23 +2796 24 +2797 24 +2798 25 +2799 22 +2800 24 +2801 23 +2802 22 +2803 24 +2804 24 +2805 23 +2806 22 +2807 25 +2808 23 +2809 22 +2810 23 +2811 23 +2812 24 +2813 24 +2814 23 +2815 22 +2816 22 +2817 23 +2818 23 +2819 22 +2820 22 +2821 23 +2822 22 +2823 23 +2824 23 +2825 22 +2826 22 +2827 23 +2828 22 +2829 23 +2830 22 +2831 23 +2832 24 +2833 23 +2834 24 +2835 23 +2836 23 +2837 23 +2838 22 +2839 24 +2840 25 +2841 22 +2842 25 +2843 24 +2844 24 +2845 23 +2846 24 +2847 22 +2848 22 +2849 23 +2850 23 +2851 22 +2852 24 +2853 23 +2854 23 +2855 22 +2856 22 +2857 22 +2858 25 +2859 23 +2860 24 +2861 22 +2862 23 +2863 22 +2864 23 +2865 24 +2866 23 +2867 22 +2868 23 +2869 23 +2870 22 +2871 23 +2872 22 +2873 22 +2874 23 +2875 22 +2876 23 +2877 23 +2878 24 +2879 23 +2880 24 +2881 22 +2882 22 +2883 24 +2884 24 +2885 23 +2886 22 +2887 25 +2888 24 +2889 23 +2890 22 +2891 22 +2892 23 +2893 24 +2894 22 +2895 21 +2896 23 +2897 24 +2898 22 +2899 22 +2900 23 +2901 24 +2902 23 +2903 22 +2904 25 +2905 24 +2906 24 +2907 23 +2908 24 +2909 21 +2910 25 +2911 22 +2912 22 +2913 23 +2914 22 +2915 23 +2916 21 +2917 24 +2918 22 +2919 23 +2920 22 +2921 21 +2922 23 +2923 24 +2924 23 +2925 23 +2926 22 +2927 23 +2928 23 +2929 23 +2930 24 +2931 23 +2932 21 +2933 25 +2934 23 +2935 24 +2936 22 +2937 22 +2938 24 +2939 22 +2940 22 +2941 22 +2942 23 +2943 22 +2944 25 +2945 20 +2946 22 +2947 25 +2948 24 +2949 23 +2950 24 +2951 23 +2952 22 +2953 23 +2954 21 +2955 25 +2956 22 +2957 22 +2958 22 +2959 23 +2960 24 +2961 24 +2962 20 +2963 23 +2964 23 +2965 22 +2966 25 +2967 22 +2968 24 +2969 23 +2970 24 +2971 23 +2972 23 +2973 24 +2974 24 +2975 22 +2976 25 +2977 22 +2978 22 +2979 23 +2980 22 +2981 22 +2982 23 +2983 23 +2984 25 +2985 24 +2986 23 +2987 22 +2988 24 +2989 21 +2990 22 +2991 23 +2992 22 +2993 22 +2994 23 +2995 22 +2996 22 +2997 23 +2998 24 +2999 23 +3000 22 +3001 23 +3002 22 +3003 22 +3004 22 +3005 23 +3006 22 +3007 24 +3008 25 +3009 22 +3010 23 +3011 22 +3012 22 +3013 24 +3014 22 +3015 24 +3016 22 +3017 23 +3018 22 +3019 22 +3020 22 +3021 22 +3022 23 +3023 24 +3024 24 +3025 22 +3026 25 +3027 24 +3028 23 +3029 22 +3030 24 +3031 23 +3032 24 +3033 21 +3034 24 +3035 23 +3036 23 +3037 21 +3038 23 +3039 23 +3040 22 +3041 22 +3042 21 +3043 22 +3044 22 +3045 23 +3046 20 +3047 23 +3048 22 +3049 24 +3050 23 +3051 22 +3052 23 +3053 24 +3054 22 +3055 23 +3056 22 +3057 22 +3058 22 +3059 23 +3060 22 +3061 21 +3062 24 +3063 23 +3064 24 +3065 23 +3066 24 +3067 23 +3068 24 +3069 23 +3070 23 +3071 23 +3072 23 +3073 22 +3074 23 +3075 22 +3076 22 +3077 23 +3078 23 +3079 22 +3080 23 +3081 22 +3082 23 +3083 23 +3084 24 +3085 22 +3086 24 +3087 22 +3088 23 +3089 23 +3090 24 +3091 23 +3092 21 +3093 23 +3094 22 +3095 23 +3096 23 +3097 22 +3098 22 +3099 21 +3100 22 +3101 24 +3102 23 +3103 24 +3104 23 +3105 24 +3106 22 +3107 22 +3108 24 +3109 23 +3110 23 +3111 21 +3112 22 +3113 23 +3114 23 +3115 23 +3116 22 +3117 22 +3118 23 +3119 24 +3120 22 +3121 22 +3122 23 +3123 23 +3124 24 +3125 21 +3126 25 +3127 22 +3128 22 +3129 22 +3130 24 +3131 23 +3132 22 +3133 23 +3134 24 +3135 21 +3136 24 +3137 22 +3138 22 +3139 23 +3140 22 +3141 24 +3142 23 +3143 22 +3144 23 +3145 24 +3146 22 +3147 24 +3148 22 +3149 22 +3150 23 +3151 22 +3152 22 +3153 22 +3154 23 +3155 23 +3156 23 +3157 22 +3158 24 +3159 23 +3160 22 +3161 22 +3162 22 +3163 20 +3164 22 +3165 22 +3166 23 +3167 23 +3168 22 +3169 24 +3170 25 +3171 22 +3172 22 +3173 22 +3174 23 +3175 22 +3176 21 +3177 22 +3178 24 +3179 22 +3180 21 +3181 22 +3182 23 +3183 20 +3184 22 +3185 21 +3186 23 +3187 22 +3188 23 +3189 22 +3190 22 +3191 23 +3192 20 +3193 25 +3194 22 +3195 21 +3196 23 +3197 22 +3198 22 +3199 22 +3200 25 +3201 22 +3202 22 +3203 22 +3204 22 +3205 23 +3206 24 +3207 24 +3208 23 +3209 23 +3210 22 +3211 24 +3212 24 +3213 25 +3214 23 +3215 23 +3216 24 +3217 22 +3218 23 +3219 23 +3220 24 +3221 23 +3222 22 +3223 23 +3224 23 +3225 24 +3226 25 +3227 23 +3228 22 +3229 23 +3230 24 +3231 22 +3232 23 +3233 23 +3234 24 +3235 22 +3236 25 +3237 24 +3238 23 +3239 24 +3240 24 +3241 24 +3242 23 +3243 22 +3244 22 +3245 22 +3246 24 +3247 22 +3248 22 +3249 23 +3250 23 +3251 23 +3252 23 +3253 23 +3254 22 +3255 23 +3256 25 +3257 24 +3258 23 +3259 25 +3260 22 +3261 22 +3262 23 +3263 24 +3264 23 +3265 24 +3266 23 +3267 22 +3268 22 +3269 25 +3270 24 +3271 23 +3272 24 +3273 22 +3274 22 +3275 22 +3276 23 +3277 21 +3278 22 +3279 23 +3280 22 +3281 22 +3282 23 +3283 23 +3284 23 +3285 22 +3286 23 +3287 23 +3288 22 +3289 23 +3290 22 +3291 23 +3292 23 +3293 22 +3294 24 +3295 23 +3296 23 +3297 21 +3298 23 +3299 23 +3300 24 +3301 22 +3302 22 +3303 22 +3304 22 +3305 23 +3306 23 +3307 22 +3308 23 +3309 23 +3310 24 +3311 23 +3312 25 +3313 22 +3314 22 +3315 22 +3316 23 +3317 24 +3318 23 +3319 22 +3320 21 +3321 23 +3322 24 +3323 22 +3324 23 +3325 24 +3326 22 +3327 22 +3328 22 +3329 22 +3330 24 +3331 23 +3332 24 +3333 23 +3334 24 +3335 22 +3336 22 +3337 23 +3338 22 +3339 24 +3340 24 +3341 24 +3342 22 +3343 23 +3344 23 +3345 22 +3346 23 +3347 22 +3348 23 +3349 25 +3350 22 +3351 22 +3352 24 +3353 24 +3354 22 +3355 25 +3356 24 +3357 20 +3358 23 +3359 22 +3360 24 +3361 23 +3362 22 +3363 22 +3364 23 +3365 22 +3366 21 +3367 23 +3368 22 +3369 22 +3370 23 +3371 22 +3372 24 +3373 22 +3374 23 +3375 23 +3376 24 +3377 23 +3378 22 +3379 23 +3380 22 +3381 22 +3382 22 +3383 23 +3384 22 +3385 24 +3386 25 +3387 21 +3388 22 +3389 23 +3390 22 +3391 22 +3392 23 +3393 22 +3394 25 +3395 22 +3396 23 +3397 22 +3398 24 +3399 23 +3400 24 +3401 22 +3402 23 +3403 23 +3404 24 +3405 23 +3406 24 +3407 22 +3408 25 +3409 24 +3410 23 +3411 23 +3412 24 +3413 23 +3414 24 +3415 22 +3416 23 +3417 22 +3418 22 +3419 23 +3420 22 +3421 22 +3422 23 +3423 22 +3424 22 +3425 23 +3426 22 +3427 22 +3428 23 +3429 22 +3430 23 +3431 25 +3432 22 +3433 24 +3434 23 +3435 24 +3436 24 +3437 23 +3438 24 +3439 23 +3440 24 +3441 22 +3442 23 +3443 23 +3444 23 +3445 22 +3446 24 +3447 22 +3448 22 +3449 23 +3450 22 +3451 24 +3452 23 +3453 22 +3454 24 +3455 23 +3456 23 +3457 24 +3458 24 +3459 24 +3460 22 +3461 24 +3462 22 +3463 23 +3464 24 +3465 23 +3466 23 +3467 20 +3468 24 +3469 23 +3470 22 +3471 24 +3472 25 +3473 23 +3474 24 +3475 23 +3476 24 +3477 23 +3478 24 +3479 22 +3480 23 +3481 23 +3482 22 +3483 22 +3484 22 +3485 23 +3486 22 +3487 22 +3488 23 +3489 22 +3490 24 +3491 23 +3492 23 +3493 21 +3494 24 +3495 23 +3496 22 +3497 22 +3498 24 +3499 24 +3500 22 +3501 23 +3502 22 +3503 24 +3504 24 +3505 23 +3506 24 +3507 23 +3508 24 +3509 20 +3510 23 +3511 22 +3512 22 +3513 22 +3514 23 +3515 22 +3516 24 +3517 23 +3518 23 +3519 22 +3520 23 +3521 23 +3522 22 +3523 22 +3524 22 +3525 22 +3526 22 +3527 23 +3528 22 +3529 24 +3530 24 +3531 23 +3532 24 +3533 22 +3534 23 +3535 22 +3536 24 +3537 24 +3538 23 +3539 23 +3540 22 +3541 21 +3542 23 +3543 21 +3544 22 +3545 23 +3546 22 +3547 22 +3548 23 +3549 22 +3550 21 +3551 23 +3552 23 +3553 22 +3554 22 +3555 23 +3556 23 +3557 22 +3558 23 +3559 23 +3560 22 +3561 22 +3562 23 +3563 23 +3564 22 +3565 23 +3566 23 +3567 22 +3568 25 +3569 24 +3570 23 +3571 23 +3572 22 +3573 22 +3574 23 +3575 23 +3576 21 +3577 23 +3578 23 +3579 21 +3580 23 +3581 23 +3582 23 +3583 23 +3584 23 +3585 23 +3586 22 +3587 23 +3588 23 +3589 22 +3590 24 +3591 23 +3592 22 +3593 23 +3594 23 +3595 22 +3596 23 +3597 23 +3598 22 +3599 24 +3600 25 +3601 22 +3602 22 +3603 23 +3604 23 +3605 23 +3606 22 +3607 22 +3608 24 +3609 23 +3610 22 +3611 23 +3612 25 +3613 22 +3614 23 +3615 22 +3616 23 +3617 22 +3618 24 +3619 20 +3620 24 +3621 23 +3622 24 +3623 22 +3624 25 +3625 22 +3626 24 +3627 22 +3628 22 +3629 22 +3630 24 +3631 24 +3632 23 +3633 24 +3634 23 +3635 24 +3636 24 +3637 24 +3638 24 +3639 22 +3640 23 +3641 22 +3642 22 +3643 23 +3644 22 +3645 21 +3646 24 +3647 22 +3648 23 +3649 25 +3650 22 +3651 22 +3652 25 +3653 23 +3654 24 +3655 23 +3656 24 +3657 22 +3658 23 +3659 22 +3660 22 +3661 23 +3662 23 +3663 22 +3664 23 +3665 23 +3666 21 +3667 22 +3668 25 +3669 20 +3670 24 +3671 23 +3672 22 +3673 23 +3674 24 +3675 23 +3676 22 +3677 22 +3678 25 +3679 23 +3680 22 +3681 22 +3682 23 +3683 22 +3684 24 +3685 23 +3686 23 +3687 22 +3688 25 +3689 23 +3690 22 +3691 23 +3692 24 +3693 22 +3694 22 +3695 22 +3696 23 +3697 23 +3698 23 +3699 25 +3700 23 +3701 22 +3702 22 +3703 23 +3704 22 +3705 22 +3706 23 +3707 23 +3708 24 +3709 22 +3710 23 +3711 23 +3712 24 +3713 22 +3714 25 +3715 22 +3716 24 +3717 23 +3718 25 +3719 22 +3720 22 +3721 22 +3722 23 +3723 23 +3724 21 +3725 22 +3726 23 +3727 22 +3728 21 +3729 23 +3730 23 +3731 21 +3732 22 +3733 21 +3734 23 +3735 22 +3736 22 +3737 22 +3738 24 +3739 22 +3740 24 +3741 23 +3742 23 +3743 23 +3744 22 +3745 23 +3746 22 +3747 22 +3748 22 +3749 22 +3750 22 +3751 22 +3752 23 +3753 23 +3754 22 +3755 22 +3756 23 +3757 25 +3758 22 +3759 20 +3760 23 +3761 22 +3762 22 +3763 22 +3764 23 +3765 23 +3766 22 +3767 21 +3768 23 +3769 22 +3770 22 +3771 22 +3772 25 +3773 24 +3774 23 +3775 23 +3776 23 +3777 22 +3778 21 +3779 23 +3780 21 +3781 22 +3782 23 +3783 20 +3784 24 +3785 23 +3786 22 +3787 23 +3788 23 +3789 23 +3790 20 +3791 23 +3792 22 +3793 22 +3794 22 +3795 23 +3796 22 +3797 22 +3798 23 +3799 22 +3800 21 +3801 23 +3802 21 +3803 22 +3804 22 +3805 23 +3806 24 +3807 23 +3808 25 +3809 23 +3810 22 +3811 23 +3812 25 +3813 22 +3814 24 +3815 23 +3816 25 +3817 22 +3818 22 +3819 22 +3820 22 +3821 22 +3822 24 +3823 24 +3824 22 +3825 23 +3826 22 +3827 24 +3828 22 +3829 23 +3830 23 +3831 24 +3832 23 +3833 23 +3834 22 +3835 22 +3836 23 +3837 23 +3838 22 +3839 22 +3840 25 +3841 22 +3842 22 +3843 23 +3844 24 +3845 23 +3846 22 +3847 23 +3848 22 +3849 22 +3850 23 +3851 22 +3852 22 +3853 24 +3854 23 +3855 22 +3856 24 +3857 23 +3858 23 +3859 22 +3860 24 +3861 23 +3862 25 +3863 22 +3864 22 +3865 23 +3866 23 +3867 22 +3868 22 +3869 23 +3870 23 +3871 22 +3872 22 +3873 23 +3874 22 +3875 22 +3876 23 +3877 23 +3878 22 +3879 22 +3880 24 +3881 22 +3882 22 +3883 22 +3884 23 +3885 23 +3886 21 +3887 21 +3888 23 +3889 24 +3890 21 +3891 23 +3892 22 +3893 22 +3894 22 +3895 23 +3896 23 +3897 22 +3898 21 +3899 24 +3900 23 +3901 23 +3902 22 +3903 21 +3904 23 +3905 23 +3906 20 +3907 20 +3908 23 +3909 22 +3910 23 +3911 22 +3912 22 +3913 23 +3914 23 +3915 21 +3916 22 +3917 23 +3918 25 +3919 22 +3920 22 +3921 22 +3922 24 +3923 24 +3924 22 +3925 22 +3926 23 +3927 22 +3928 22 +3929 22 +3930 23 +3931 24 +3932 22 +3933 23 +3934 23 +3935 22 +3936 22 +3937 22 +3938 22 +3939 22 +3940 22 +3941 23 +3942 23 +3943 22 +3944 21 +3945 22 +3946 23 +3947 23 +3948 22 +3949 23 +3950 24 +3951 22 +3952 22 +3953 22 +3954 23 +3955 23 +3956 21 +3957 24 +3958 23 +3959 22 +3960 22 +3961 22 +3962 24 +3963 22 +3964 24 +3965 22 +3966 23 +3967 22 +3968 23 +3969 22 +3970 22 +3971 24 +3972 23 +3973 23 +3974 22 +3975 23 +3976 22 +3977 23 +3978 22 +3979 22 +3980 22 +3981 23 +3982 22 +3983 22 +3984 22 +3985 23 +3986 22 +3987 22 +3988 23 +3989 22 +3990 22 +3991 22 +3992 22 +3993 22 +3994 22 +3995 23 +3996 24 +3997 23 +3998 25 +3999 23 +4000 22 +4001 23 +4002 23 +4003 22 +4004 23 +4005 23 +4006 22 +4007 22 +4008 23 +4009 22 +4010 23 +4011 22 +4012 24 +4013 22 +4014 23 +4015 22 +4016 24 +4017 25 +4018 23 +4019 22 +4020 23 +4021 23 +4022 22 +4023 23 +4024 22 +4025 22 +4026 23 +4027 23 +4028 22 +4029 25 +4030 23 +4031 25 +4032 22 +4033 22 +4034 24 +4035 22 +4036 22 +4037 22 +4038 22 +4039 24 +4040 23 +4041 23 +4042 22 +4043 21 +4044 24 +4045 23 +4046 22 +4047 22 +4048 23 +4049 22 +4050 23 +4051 23 +4052 22 +4053 22 +4054 22 +4055 23 +4056 23 +4057 22 +4058 23 +4059 23 +4060 22 +4061 22 +4062 23 +4063 22 +4064 22 +4065 23 +4066 23 +4067 24 +4068 22 +4069 22 +4070 25 +4071 22 +4072 22 +4073 22 +4074 22 +4075 24 +4076 22 +4077 23 +4078 23 +4079 22 +4080 23 +4081 22 +4082 23 +4083 22 +4084 22 +4085 23 +4086 22 +4087 23 +4088 22 +4089 23 +4090 22 +4091 23 +4092 22 +4093 23 +4094 24 +4095 24 +4096 22 +4097 22 +4098 22 +4099 24 +4100 22 +4101 24 +4102 23 +4103 25 +4104 23 +4105 22 +4106 22 +4107 23 +4108 23 +4109 23 +4110 23 +4111 24 +4112 22 +4113 23 +4114 22 +4115 22 +4116 22 +4117 23 +4118 22 +4119 22 +4120 23 +4121 22 +4122 22 +4123 24 +4124 23 +4125 21 +4126 21 +4127 23 +4128 22 +4129 22 +4130 23 +4131 22 +4132 22 +4133 22 +4134 23 +4135 21 +4136 22 +4137 22 +4138 23 +4139 24 +4140 22 +4141 23 +4142 23 +4143 22 +4144 22 +4145 22 +4146 23 +4147 23 +4148 22 +4149 22 +4150 23 +4151 23 +4152 24 +4153 22 +4154 25 +4155 23 +4156 20 +4157 22 +4158 25 +4159 23 +4160 22 +4161 23 +4162 25 +4163 22 +4164 22 +4165 22 +4166 23 +4167 21 +4168 22 +4169 22 +4170 22 +4171 25 +4172 22 +4173 22 +4174 23 +4175 23 +4176 22 +4177 22 +4178 22 +4179 23 +4180 22 +4181 22 +4182 23 +4183 25 +4184 22 +4185 22 +4186 23 +4187 22 +4188 22 +4189 22 +4190 23 +4191 21 +4192 22 +4193 23 +4194 23 +4195 22 +4196 22 +4197 22 +4198 23 +4199 25 +4200 22 +4201 22 +4202 22 +4203 23 +4204 22 +4205 22 +4206 23 +4207 24 +4208 24 +4209 24 +4210 24 +4211 22 +4212 22 +4213 23 +4214 24 +4215 21 +4216 23 +4217 23 +4218 22 +4219 23 +4220 25 +4221 22 +4222 22 +4223 23 +4224 22 +4225 23 +4226 23 +4227 22 +4228 22 +4229 23 +4230 23 +4231 22 +4232 24 +4233 23 +4234 22 +4235 24 +4236 22 +4237 24 +4238 22 +4239 25 +4240 22 +4241 23 +4242 23 +4243 24 +4244 22 +4245 24 +4246 24 +4247 24 +4248 24 +4249 23 +4250 22 +4251 24 +4252 22 +4253 23 +4254 23 +4255 22 +4256 21 +4257 22 +4258 23 +4259 23 +4260 22 +4261 23 +4262 24 +4263 22 +4264 22 +4265 23 +4266 23 +4267 22 +4268 25 +4269 24 +4270 22 +4271 24 +4272 20 +4273 23 +4274 22 +4275 22 +4276 25 +4277 25 +4278 22 +4279 24 +4280 23 +4281 23 +4282 22 +4283 24 +4284 23 +4285 22 +4286 24 +4287 24 +4288 23 +4289 22 +4290 22 +4291 23 +4292 22 +4293 23 +4294 23 +4295 22 +4296 21 +4297 23 +4298 24 +4299 23 +4300 22 +4301 22 +4302 23 +4303 24 +4304 22 +4305 24 +4306 25 +4307 22 +4308 22 +4309 22 +4310 22 +4311 23 +4312 22 +4313 22 +4314 23 +4315 22 +4316 22 +4317 23 +4318 23 +4319 22 +4320 22 +4321 23 +4322 23 +4323 23 +4324 22 +4325 25 +4326 22 +4327 22 +4328 21 +4329 23 +4330 23 +4331 22 +4332 22 +4333 22 +4334 23 +4335 22 +4336 22 +4337 23 +4338 23 +4339 22 +4340 23 +4341 24 +4342 23 +4343 24 +4344 24 +4345 23 +4346 23 +4347 23 +4348 22 +4349 22 +4350 23 +4351 24 +4352 22 +4353 22 +4354 23 +4355 24 +4356 22 +4357 24 +4358 22 +4359 23 +4360 22 +4361 23 +4362 23 +4363 24 +4364 24 +4365 23 +4366 25 +4367 22 +4368 22 +4369 25 +4370 22 +4371 24 +4372 23 +4373 22 +4374 24 +4375 25 +4376 22 +4377 23 +4378 22 +4379 24 +4380 21 +4381 22 +4382 24 +4383 22 +4384 23 +4385 23 +4386 23 +4387 23 +4388 24 +4389 23 +4390 22 +4391 22 +4392 23 +4393 24 +4394 24 +4395 22 +4396 22 +4397 22 +4398 24 +4399 24 +4400 23 +4401 25 +4402 24 +4403 24 +4404 24 +4405 22 +4406 22 +4407 23 +4408 23 +4409 24 +4410 23 +4411 24 +4412 23 +4413 22 +4414 23 +4415 22 +4416 23 +4417 25 +4418 22 +4419 24 +4420 23 +4421 24 +4422 24 +4423 24 +4424 23 +4425 23 +4426 22 +4427 22 +4428 22 +4429 24 +4430 23 +4431 22 +4432 24 +4433 25 +4434 23 +4435 24 +4436 23 +4437 23 +4438 23 +4439 24 +4440 23 +4441 22 +4442 22 +4443 21 +4444 22 +4445 23 +4446 24 +4447 25 +4448 22 +4449 23 +4450 23 +4451 24 +4452 22 +4453 22 +4454 25 +4455 24 +4456 24 +4457 22 +4458 23 +4459 22 +4460 22 +4461 22 +4462 22 +4463 23 +4464 23 +4465 22 +4466 22 +4467 23 +4468 22 +4469 22 +4470 23 +4471 23 +4472 23 +4473 23 +4474 23 +4475 24 +4476 23 +4477 22 +4478 23 +4479 23 +4480 23 +4481 22 +4482 22 +4483 22 +4484 23 +4485 24 +4486 22 +4487 22 +4488 21 +4489 23 +4490 23 +4491 24 +4492 23 +4493 23 +4494 23 +4495 23 +4496 24 +4497 22 +4498 24 +4499 22 +4500 22 +4501 23 +4502 24 +4503 22 +4504 22 +4505 24 +4506 22 +4507 23 +4508 22 +4509 24 +4510 23 +4511 23 +4512 23 +4513 24 +4514 21 +4515 22 +4516 23 +4517 22 +4518 22 +4519 23 +4520 24 +4521 24 +4522 21 +4523 24 +4524 23 +4525 23 +4526 22 +4527 23 +4528 22 +4529 23 +4530 22 +4531 24 +4532 23 +4533 22 +4534 24 +4535 23 +4536 22 +4537 21 +4538 23 +4539 23 +4540 21 +4541 23 +4542 21 +4543 24 +4544 22 +4545 24 +4546 24 +4547 24 +4548 23 +4549 22 +4550 22 +4551 22 +4552 24 +4553 22 +4554 23 +4555 24 +4556 22 +4557 22 +4558 22 +4559 23 +4560 22 +4561 22 +4562 23 +4563 23 +4564 25 +4565 22 +4566 23 +4567 22 +4568 24 +4569 24 +4570 22 +4571 23 +4572 23 +4573 22 +4574 23 +4575 24 +4576 24 +4577 23 +4578 23 +4579 23 +4580 22 +4581 22 +4582 22 +4583 25 +4584 22 +4585 24 +4586 23 +4587 23 +4588 24 +4589 24 +4590 22 +4591 23 +4592 22 +4593 23 +4594 22 +4595 24 +4596 23 +4597 22 +4598 22 +4599 22 +4600 23 +4601 22 +4602 22 +4603 25 +4604 22 +4605 22 +4606 23 +4607 23 +4608 23 +4609 23 +4610 22 +4611 23 +4612 22 +4613 23 +4614 23 +4615 21 +4616 22 +4617 22 +4618 21 +4619 23 +4620 23 +4621 24 +4622 23 +4623 23 +4624 24 +4625 23 +4626 22 +4627 22 +4628 23 +4629 24 +4630 23 +4631 23 +4632 23 +4633 24 +4634 23 +4635 24 +4636 21 +4637 23 +4638 24 +4639 25 +4640 22 +4641 23 +4642 22 +4643 22 +4644 23 +4645 24 +4646 24 +4647 22 +4648 23 +4649 24 +4650 23 +4651 22 +4652 23 +4653 23 +4654 22 +4655 22 +4656 22 +4657 23 +4658 21 +4659 22 +4660 23 +4661 23 +4662 22 +4663 23 +4664 25 +4665 22 +4666 22 +4667 22 +4668 22 +4669 23 +4670 22 +4671 23 +4672 23 +4673 25 +4674 23 +4675 22 +4676 21 +4677 24 +4678 23 +4679 22 +4680 22 +4681 25 +4682 23 +4683 24 +4684 21 +4685 22 +4686 23 +4687 22 +4688 23 +4689 24 +4690 22 +4691 22 +4692 22 +4693 23 +4694 22 +4695 24 +4696 24 +4697 23 +4698 23 +4699 22 +4700 23 +4701 22 +4702 23 +4703 23 +4704 23 +4705 24 +4706 22 +4707 23 +4708 22 +4709 24 +4710 23 +4711 21 +4712 23 +4713 23 +4714 23 +4715 22 +4716 23 +4717 24 +4718 23 +4719 22 +4720 23 +4721 22 +4722 24 +4723 25 +4724 21 +4725 24 +4726 24 +4727 24 +4728 23 +4729 23 +4730 22 +4731 22 +4732 22 +4733 23 +4734 24 +4735 22 +4736 23 +4737 23 +4738 22 +4739 23 +4740 22 +4741 23 +4742 24 +4743 22 +4744 22 +4745 23 +4746 22 +4747 23 +4748 25 +4749 20 +4750 22 +4751 22 +4752 23 +4753 25 +4754 24 +4755 23 +4756 25 +4757 22 +4758 22 +4759 22 +4760 23 +4761 23 +4762 22 +4763 23 +4764 24 +4765 22 +4766 23 +4767 22 +4768 22 +4769 20 +4770 21 +4771 23 +4772 22 +4773 24 +4774 23 +4775 22 +4776 20 +4777 22 +4778 25 +4779 23 +4780 22 +4781 23 +4782 23 +4783 24 +4784 22 +4785 24 +4786 24 +4787 22 +4788 22 +4789 23 +4790 21 +4791 22 +4792 22 +4793 23 +4794 22 +4795 22 +4796 22 +4797 23 +4798 21 +4799 22 +4800 22 +4801 23 +4802 22 +4803 22 +4804 22 +4805 25 +4806 22 +4807 22 +4808 23 +4809 23 +4810 21 +4811 22 +4812 23 +4813 23 +4814 22 +4815 24 +4816 24 +4817 23 +4818 22 +4819 24 +4820 23 +4821 23 +4822 23 +4823 23 +4824 23 +4825 24 +4826 22 +4827 22 +4828 22 +4829 22 +4830 22 +4831 23 +4832 21 +4833 22 +4834 23 +4835 23 +4836 23 +4837 22 +4838 22 +4839 22 +4840 23 +4841 25 +4842 22 +4843 22 +4844 23 +4845 22 +4846 23 +4847 22 +4848 22 +4849 22 +4850 22 +4851 22 +4852 24 +4853 23 +4854 24 +4855 21 +4856 23 +4857 21 +4858 24 +4859 22 +4860 23 +4861 24 +4862 22 +4863 22 +4864 23 +4865 23 +4866 22 +4867 22 +4868 22 +4869 24 +4870 22 +4871 22 +4872 22 +4873 22 +4874 23 +4875 23 +4876 23 +4877 22 +4878 23 +4879 23 +4880 24 +4881 21 +4882 22 +4883 23 +4884 23 +4885 22 +4886 23 +4887 25 +4888 22 +4889 22 +4890 23 +4891 24 +4892 22 +4893 24 +4894 23 +4895 23 +4896 22 +4897 22 +4898 22 +4899 23 +4900 23 +4901 24 +4902 23 +4903 22 +4904 22 +4905 23 +4906 23 +4907 24 +4908 23 +4909 22 +4910 24 +4911 23 +4912 23 +4913 23 +4914 22 +4915 23 +4916 22 +4917 22 +4918 23 +4919 22 +4920 23 +4921 23 +4922 22 +4923 22 +4924 24 +4925 22 +4926 22 +4927 24 +4928 23 +4929 23 +4930 21 +4931 22 +4932 23 +4933 22 +4934 22 +4935 22 +4936 23 +4937 22 +4938 22 +4939 23 +4940 22 +4941 22 +4942 23 +4943 23 +4944 22 +4945 23 +4946 23 +4947 22 +4948 24 +4949 23 +4950 23 +4951 22 +4952 23 +4953 23 +4954 22 +4955 24 +4956 24 +4957 23 +4958 22 +4959 22 +4960 23 +4961 22 +4962 21 +4963 23 +4964 23 +4965 22 +4966 23 +4967 25 +4968 24 +4969 22 +4970 23 +4971 22 +4972 22 +4973 23 +4974 22 +4975 21 +4976 23 +4977 22 +4978 22 +4979 23 +4980 22 +4981 22 +4982 23 +4983 23 +4984 22 +4985 22 +4986 23 +4987 24 +4988 22 +4989 22 +4990 22 +4991 22 +4992 22 +4993 22 +4994 23 +4995 23 +4996 22 +4997 23 +4998 22 +4999 22 +5000 22 +5001 22 +5002 22 +5003 22 +5004 25 +5005 23 +5006 22 +5007 23 +5008 23 +5009 23 +5010 22 +5011 21 +5012 23 +5013 21 +5014 22 +5015 23 +5016 22 +5017 22 +5018 23 +5019 22 +5020 24 +5021 23 +5022 22 +5023 23 +5024 23 +5025 22 +5026 22 +5027 22 +5028 23 +5029 24 +5030 21 +5031 22 +5032 22 +5033 24 +5034 22 +5035 23 +5036 22 +5037 22 +5038 24 +5039 23 +5040 24 +5041 22 +5042 24 +5043 23 +5044 22 +5045 22 +5046 23 +5047 23 +5048 22 +5049 21 +5050 23 +5051 23 +5052 22 +5053 22 +5054 22 +5055 22 +5056 21 +5057 22 +5058 24 +5059 23 +5060 24 +5061 21 +5062 22 +5063 23 +5064 22 +5065 22 +5066 22 +5067 22 +5068 24 +5069 22 +5070 24 +5071 23 +5072 22 +5073 21 +5074 23 +5075 22 +5076 24 +5077 22 +5078 22 +5079 21 +5080 23 +5081 22 +5082 22 +5083 24 +5084 24 +5085 22 +5086 23 +5087 22 +5088 24 +5089 24 +5090 20 +5091 23 +5092 22 +5093 22 +5094 21 +5095 23 +5096 24 +5097 22 +5098 23 +5099 22 +5100 22 +5101 23 +5102 23 +5103 21 +5104 22 +5105 23 +5106 24 +5107 22 +5108 23 +5109 23 +5110 24 +5111 24 +5112 23 +5113 22 +5114 23 +5115 23 +5116 24 +5117 23 +5118 22 +5119 22 +5120 22 +5121 22 +5122 23 +5123 24 +5124 22 +5125 22 +5126 23 +5127 23 +5128 22 +5129 23 +5130 23 +5131 21 +5132 24 +5133 23 +5134 22 +5135 22 +5136 24 +5137 24 +5138 24 +5139 22 +5140 23 +5141 23 +5142 22 +5143 23 +5144 23 +5145 22 +5146 22 +5147 23 +5148 22 +5149 22 +5150 24 +5151 23 +5152 23 +5153 23 +5154 24 +5155 22 +5156 22 +5157 24 +5158 23 +5159 25 +5160 22 +5161 22 +5162 23 +5163 23 +5164 21 +5165 22 +5166 23 +5167 24 +5168 22 +5169 23 +5170 22 +5171 22 +5172 24 +5173 23 +5174 22 +5175 22 +5176 24 +5177 23 +5178 24 +5179 22 +5180 23 +5181 22 +5182 22 +5183 22 +5184 22 +5185 23 +5186 23 +5187 22 +5188 21 +5189 24 +5190 23 +5191 23 +5192 23 +5193 21 +5194 23 +5195 25 +5196 22 +5197 22 +5198 25 +5199 22 +5200 22 +5201 22 +5202 23 +5203 21 +5204 22 +5205 22 +5206 23 +5207 24 +5208 22 +5209 23 +5210 25 +5211 22 +5212 22 +5213 22 +5214 23 +5215 21 +5216 22 +5217 23 +5218 23 +5219 21 +5220 24 +5221 24 +5222 24 +5223 24 +5224 24 +5225 22 +5226 24 +5227 23 +5228 22 +5229 21 +5230 23 +5231 23 +5232 22 +5233 22 +5234 23 +5235 22 +5236 22 +5237 21 +5238 23 +5239 22 +5240 22 +5241 21 +5242 23 +5243 21 +5244 22 +5245 22 +5246 23 +5247 22 +5248 24 +5249 24 +5250 25 +5251 23 +5252 24 +5253 23 +5254 25 +5255 22 +5256 24 +5257 22 +5258 23 +5259 28 +5260 23 +5261 24 +5262 22 +5263 23 +5264 21 +5265 24 +5266 24 +5267 23 +5268 23 +5269 23 +5270 24 +5271 22 +5272 25 +5273 25 +5274 22 +5275 22 +5276 22 +5277 23 +5278 23 +5279 22 +5280 23 +5281 23 +5282 22 +5283 22 +5284 24 +5285 22 +5286 22 +5287 23 +5288 25 +5289 22 +5290 23 +5291 23 +5292 22 +5293 21 +5294 23 +5295 22 +5296 24 +5297 25 +5298 22 +5299 24 +5300 23 +5301 23 +5302 21 +5303 23 +5304 22 +5305 23 +5306 23 +5307 23 +5308 22 +5309 22 +5310 24 +5311 22 +5312 22 +5313 22 +5314 25 +5315 23 +5316 22 +5317 21 +5318 24 +5319 23 +5320 23 +5321 24 +5322 22 +5323 23 +5324 25 +5325 22 +5326 22 +5327 23 +5328 22 +5329 23 +5330 24 +5331 22 +5332 22 +5333 23 +5334 22 +5335 22 +5336 24 +5337 23 +5338 22 +5339 22 +5340 24 +5341 25 +5342 23 +5343 23 +5344 23 +5345 24 +5346 22 +5347 25 +5348 24 +5349 22 +5350 23 +5351 22 +5352 22 +5353 24 +5354 22 +5355 25 +5356 23 +5357 24 +5358 22 +5359 25 +5360 21 +5361 22 +5362 25 +5363 21 +5364 22 +5365 23 +5366 23 +5367 24 +5368 22 +5369 24 +5370 22 +5371 22 +5372 22 +5373 23 +5374 23 +5375 23 +5376 22 +5377 25 +5378 22 +5379 23 +5380 25 +5381 22 +5382 22 +5383 23 +5384 21 +5385 24 +5386 24 +5387 25 +5388 23 +5389 24 +5390 22 +5391 23 +5392 23 +5393 22 +5394 22 +5395 25 +5396 22 +5397 24 +5398 22 +5399 23 +5400 23 +5401 24 +5402 23 +5403 25 +5404 22 +5405 22 +5406 22 +5407 23 +5408 23 +5409 22 +5410 22 +5411 21 +5412 23 +5413 23 +5414 22 +5415 24 +5416 22 +5417 25 +5418 21 +5419 24 +5420 22 +5421 22 +5422 23 +5423 23 +5424 22 +5425 22 +5426 22 +5427 23 +5428 22 +5429 22 +5430 22 +5431 23 +5432 22 +5433 23 +5434 24 +5435 24 +5436 23 +5437 22 +5438 22 +5439 24 +5440 23 +5441 25 +5442 23 +5443 24 +5444 21 +5445 23 +5446 23 +5447 24 +5448 22 +5449 24 +5450 25 +5451 23 +5452 22 +5453 22 +5454 24 +5455 24 +5456 24 +5457 22 +5458 23 +5459 22 +5460 22 +5461 21 +5462 24 +5463 23 +5464 22 +5465 22 +5466 23 +5467 25 +5468 23 +5469 22 +5470 22 +5471 22 +5472 24 +5473 23 +5474 22 +5475 24 +5476 23 +5477 23 +5478 23 +5479 22 +5480 22 +5481 23 +5482 23 +5483 23 +5484 24 +5485 23 +5486 22 +5487 22 +5488 22 +5489 24 +5490 23 +5491 22 +5492 22 +5493 23 +5494 24 +5495 21 +5496 24 +5497 22 +5498 23 +5499 24 +5500 22 +5501 22 +5502 21 +5503 23 +5504 22 +5505 24 +5506 24 +5507 23 +5508 23 +5509 24 +5510 22 +5511 23 +5512 22 +5513 22 +5514 23 +5515 23 +5516 22 +5517 24 +5518 23 +5519 22 +5520 22 +5521 24 +5522 23 +5523 24 +5524 22 +5525 24 +5526 22 +5527 23 +5528 21 +5529 24 +5530 22 +5531 25 +5532 23 +5533 24 +5534 22 +5535 23 +5536 20 +5537 22 +5538 22 +5539 23 +5540 24 +5541 25 +5542 24 +5543 22 +5544 25 +5545 22 +5546 22 +5547 23 +5548 22 +5549 22 +5550 23 +5551 24 +5552 23 +5553 22 +5554 23 +5555 24 +5556 22 +5557 23 +5558 22 +5559 24 +5560 22 +5561 23 +5562 22 +5563 24 +5564 25 +5565 24 +5566 22 +5567 22 +5568 23 +5569 22 +5570 22 +5571 22 +5572 23 +5573 22 +5574 23 +5575 22 +5576 22 +5577 23 +5578 21 +5579 24 +5580 23 +5581 22 +5582 22 +5583 23 +5584 22 +5585 22 +5586 23 +5587 24 +5588 22 +5589 25 +5590 22 +5591 22 +5592 23 +5593 25 +5594 23 +5595 22 +5596 23 +5597 23 +5598 21 +5599 22 +5600 23 +5601 25 +5602 20 +5603 22 +5604 22 +5605 22 +5606 22 +5607 22 +5608 23 +5609 23 +5610 21 +5611 22 +5612 21 +5613 22 +5614 22 +5615 24 +5616 22 +5617 23 +5618 24 +5619 22 +5620 22 +5621 23 +5622 23 +5623 22 +5624 21 +5625 25 +5626 22 +5627 22 +5628 22 +5629 23 +5630 21 +5631 23 +5632 22 +5633 22 +5634 22 +5635 23 +5636 22 +5637 22 +5638 22 +5639 24 +5640 23 +5641 24 +5642 21 +5643 25 +5644 23 +5645 22 +5646 22 +5647 25 +5648 22 +5649 24 +5650 22 +5651 23 +5652 23 +5653 24 +5654 21 +5655 22 +5656 25 +5657 24 +5658 24 +5659 23 +5660 24 +5661 22 +5662 21 +5663 24 +5664 23 +5665 22 +5666 21 +5667 23 +5668 23 +5669 24 +5670 22 +5671 23 +5672 22 +5673 22 +5674 22 +5675 23 +5676 23 +5677 24 +5678 23 +5679 23 +5680 25 +5681 24 +5682 24 +5683 22 +5684 25 +5685 22 +5686 20 +5687 23 +5688 23 +5689 22 +5690 22 +5691 22 +5692 23 +5693 22 +5694 22 +5695 25 +5696 23 +5697 22 +5698 23 +5699 22 +5700 22 +5701 23 +5702 22 +5703 22 +5704 22 +5705 22 +5706 23 +5707 22 +5708 21 +5709 23 +5710 22 +5711 22 +5712 23 +5713 23 +5714 22 +5715 24 +5716 24 +5717 23 +5718 22 +5719 22 +5720 21 +5721 24 +5722 23 +5723 23 +5724 22 +5725 23 +5726 22 +5727 22 +5728 22 +5729 23 +5730 22 +5731 22 +5732 23 +5733 22 +5734 23 +5735 22 +5736 22 +5737 23 +5738 24 +5739 22 +5740 22 +5741 23 +5742 22 +5743 22 +5744 24 +5745 25 +5746 22 +5747 24 +5748 21 +5749 25 +5750 21 +5751 23 +5752 23 +5753 22 +5754 22 +5755 24 +5756 23 +5757 22 +5758 22 +5759 23 +5760 22 +5761 22 +5762 23 +5763 22 +5764 22 +5765 23 +5766 22 +5767 24 +5768 23 +5769 24 +5770 23 +5771 24 +5772 24 +5773 23 +5774 22 +5775 22 +5776 23 +5777 23 +5778 24 +5779 23 +5780 23 +5781 21 +5782 22 +5783 23 +5784 24 +5785 22 +5786 23 +5787 24 +5788 21 +5789 23 +5790 25 +5791 22 +5792 22 +5793 25 +5794 22 +5795 21 +5796 23 +5797 22 +5798 22 +5799 23 +5800 23 +5801 22 +5802 22 +5803 21 +5804 23 +5805 22 +5806 24 +5807 23 +5808 21 +5809 23 +5810 24 +5811 24 +5812 22 +5813 23 +5814 23 +5815 22 +5816 22 +5817 23 +5818 24 +5819 22 +5820 22 +5821 22 +5822 23 +5823 23 +5824 22 +5825 23 +5826 24 +5827 23 +5828 22 +5829 22 +5830 25 +5831 24 +5832 22 +5833 22 +5834 23 +5835 22 +5836 24 +5837 22 +5838 25 +5839 22 +5840 24 +5841 23 +5842 25 +5843 22 +5844 23 +5845 24 +5846 22 +5847 22 +5848 22 +5849 23 +5850 22 +5851 22 +5852 24 +5853 22 +5854 22 +5855 23 +5856 24 +5857 22 +5858 23 +5859 21 +5860 24 +5861 22 +5862 23 +5863 22 +5864 22 +5865 22 +5866 24 +5867 23 +5868 22 +5869 22 +5870 24 +5871 21 +5872 24 +5873 24 +5874 23 +5875 22 +5876 24 +5877 24 +5878 22 +5879 22 +5880 24 +5881 24 +5882 23 +5883 23 +5884 23 +5885 24 +5886 23 +5887 23 +5888 24 +5889 23 +5890 25 +5891 22 +5892 24 +5893 23 +5894 24 +5895 23 +5896 22 +5897 22 +5898 22 +5899 23 +5900 23 +5901 24 +5902 23 +5903 25 +5904 22 +5905 22 +5906 23 +5907 24 +5908 22 +5909 22 +5910 24 +5911 22 +5912 24 +5913 22 +5914 22 +5915 23 +5916 24 +5917 24 +5918 23 +5919 24 +5920 22 +5921 24 +5922 22 +5923 21 +5924 23 +5925 24 +5926 22 +5927 23 +5928 24 +5929 22 +5930 22 +5931 23 +5932 22 +5933 24 +5934 23 +5935 23 +5936 24 +5937 23 +5938 24 +5939 21 +5940 22 +5941 22 +5942 24 +5943 22 +5944 22 +5945 25 +5946 22 +5947 23 +5948 24 +5949 24 +5950 24 +5951 22 +5952 22 +5953 23 +5954 22 +5955 22 +5956 23 +5957 23 +5958 22 +5959 23 +5960 22 +5961 22 +5962 24 +5963 23 +5964 24 +5965 23 +5966 24 +5967 22 +5968 23 +5969 23 +5970 22 +5971 23 +5972 22 +5973 22 +5974 25 +5975 22 +5976 21 +5977 22 +5978 23 +5979 23 +5980 24 +5981 24 +5982 24 +5983 24 +5984 22 +5985 23 +5986 22 +5987 24 +5988 23 +5989 23 +5990 24 +5991 23 +5992 22 +5993 22 +5994 23 +5995 22 +5996 22 +5997 23 +5998 23 +5999 22 +6000 23 +6001 25 +6002 21 +6003 22 +6004 22 +6005 23 +6006 23 +6007 22 +6008 22 +6009 23 +6010 22 +6011 22 +6012 25 +6013 22 +6014 23 +6015 24 +6016 23 +6017 22 +6018 23 +6019 20 +6020 22 +6021 23 +6022 23 +6023 24 +6024 24 +6025 23 +6026 23 +6027 21 +6028 22 +6029 23 +6030 22 +6031 22 +6032 23 +6033 23 +6034 23 +6035 21 +6036 23 +6037 22 +6038 23 +6039 23 +6040 22 +6041 22 +6042 22 +6043 23 +6044 25 +6045 24 +6046 22 +6047 22 +6048 23 +6049 23 +6050 24 +6051 23 +6052 23 +6053 23 +6054 22 +6055 22 +6056 25 +6057 22 +6058 24 +6059 22 +6060 23 +6061 22 +6062 22 +6063 23 +6064 23 +6065 22 +6066 22 +6067 23 +6068 23 +6069 22 +6070 22 +6071 23 +6072 23 +6073 22 +6074 22 +6075 23 +6076 21 +6077 22 +6078 22 +6079 23 +6080 23 +6081 22 +6082 22 +6083 23 +6084 22 +6085 22 +6086 23 +6087 24 +6088 21 +6089 22 +6090 23 +6091 22 +6092 23 +6093 21 +6094 22 +6095 23 +6096 22 +6097 24 +6098 24 +6099 22 +6100 24 +6101 24 +6102 23 +6103 24 +6104 23 +6105 25 +6106 22 +6107 22 +6108 23 +6109 23 +6110 24 +6111 23 +6112 23 +6113 21 +6114 22 +6115 21 +6116 25 +6117 23 +6118 22 +6119 22 +6120 25 +6121 22 +6122 22 +6123 22 +6124 24 +6125 22 +6126 25 +6127 22 +6128 22 +6129 23 +6130 23 +6131 22 +6132 23 +6133 23 +6134 22 +6135 22 +6136 25 +6137 23 +6138 22 +6139 24 +6140 22 +6141 24 +6142 22 +6143 22 +6144 23 +6145 25 +6146 23 +6147 24 +6148 23 +6149 23 +6150 23 +6151 22 +6152 22 +6153 23 +6154 22 +6155 24 +6156 23 +6157 22 +6158 24 +6159 23 +6160 22 +6161 23 +6162 23 +6163 22 +6164 24 +6165 22 +6166 22 +6167 23 +6168 24 +6169 22 +6170 23 +6171 23 +6172 23 +6173 24 +6174 23 +6175 22 +6176 22 +6177 25 +6178 23 +6179 22 +6180 23 +6181 24 +6182 22 +6183 23 +6184 24 +6185 23 +6186 23 +6187 21 +6188 22 +6189 23 +6190 23 +6191 23 +6192 24 +6193 23 +6194 25 +6195 22 +6196 24 +6197 22 +6198 22 +6199 22 +6200 23 +6201 22 +6202 22 +6203 23 +6204 23 +6205 24 +6206 22 +6207 24 +6208 23 +6209 22 +6210 21 +6211 23 +6212 22 +6213 22 +6214 23 +6215 23 +6216 22 +6217 22 +6218 23 +6219 23 +6220 22 +6221 22 +6222 25 +6223 23 +6224 22 +6225 22 +6226 22 +6227 23 +6228 22 +6229 22 +6230 24 +6231 23 +6232 23 +6233 22 +6234 23 +6235 22 +6236 24 +6237 21 +6238 22 +6239 20 +6240 24 +6241 24 +6242 24 +6243 22 +6244 21 +6245 23 +6246 24 +6247 24 +6248 22 +6249 22 +6250 22 +6251 23 +6252 23 +6253 22 +6254 24 +6255 25 +6256 23 +6257 24 +6258 24 +6259 24 +6260 24 +6261 23 +6262 22 +6263 22 +6264 25 +6265 25 +6266 21 +6267 22 +6268 24 +6269 23 +6270 23 +6271 22 +6272 23 +6273 23 +6274 22 +6275 22 +6276 23 +6277 22 +6278 22 +6279 24 +6280 22 +6281 22 +6282 23 +6283 23 +6284 23 +6285 23 +6286 23 +6287 22 +6288 22 +6289 24 +6290 24 +6291 22 +6292 23 +6293 24 +6294 22 +6295 23 +6296 23 +6297 22 +6298 22 +6299 23 +6300 22 +6301 23 +6302 22 +6303 23 +6304 23 +6305 22 +6306 24 +6307 23 +6308 24 +6309 23 +6310 23 +6311 22 +6312 22 +6313 23 +6314 22 +6315 22 +6316 23 +6317 23 +6318 23 +6319 23 +6320 22 +6321 22 +6322 22 +6323 23 +6324 22 +6325 22 +6326 25 +6327 23 +6328 22 +6329 23 +6330 22 +6331 21 +6332 23 +6333 23 +6334 22 +6335 23 +6336 23 +6337 22 +6338 22 +6339 23 +6340 22 +6341 23 +6342 25 +6343 22 +6344 22 +6345 22 +6346 24 +6347 22 +6348 23 +6349 22 +6350 23 +6351 23 +6352 21 +6353 24 +6354 23 +6355 21 +6356 22 +6357 23 +6358 23 +6359 21 +6360 23 +6361 23 +6362 24 +6363 22 +6364 23 +6365 22 +6366 22 +6367 24 +6368 23 +6369 22 +6370 22 +6371 23 +6372 23 +6373 22 +6374 25 +6375 22 +6376 24 +6377 23 +6378 22 +6379 25 +6380 22 +6381 24 +6382 23 +6383 24 +6384 24 +6385 23 +6386 22 +6387 23 +6388 23 +6389 22 +6390 23 +6391 22 +6392 22 +6393 22 +6394 22 +6395 22 +6396 22 +6397 23 +6398 22 +6399 22 +6400 23 +6401 23 +6402 22 +6403 24 +6404 21 +6405 23 +6406 23 +6407 22 +6408 22 +6409 25 +6410 23 +6411 22 +6412 21 +6413 25 +6414 22 +6415 24 +6416 21 +6417 23 +6418 22 +6419 22 +6420 25 +6421 22 +6422 24 +6423 23 +6424 23 +6425 23 +6426 22 +6427 22 +6428 23 +6429 23 +6430 21 +6431 22 +6432 23 +6433 21 +6434 24 +6435 23 +6436 23 +6437 22 +6438 24 +6439 23 +6440 24 +6441 24 +6442 21 +6443 24 +6444 24 +6445 22 +6446 23 +6447 23 +6448 22 +6449 21 +6450 23 +6451 23 +6452 22 +6453 22 +6454 23 +6455 22 +6456 22 +6457 22 +6458 24 +6459 23 +6460 24 +6461 22 +6462 21 +6463 23 +6464 24 +6465 22 +6466 23 +6467 24 +6468 22 +6469 22 +6470 23 +6471 23 +6472 22 +6473 24 +6474 24 +6475 23 +6476 22 +6477 22 +6478 23 +6479 23 +6480 22 +6481 24 +6482 23 +6483 22 +6484 24 +6485 22 +6486 25 +6487 23 +6488 24 +6489 23 +6490 23 +6491 21 +6492 24 +6493 23 +6494 23 +6495 22 +6496 23 +6497 22 +6498 22 +6499 24 +6500 21 +6501 22 +6502 22 +6503 21 +6504 23 +6505 23 +6506 22 +6507 22 +6508 23 +6509 24 +6510 22 +6511 23 +6512 23 +6513 24 +6514 22 +6515 23 +6516 23 +6517 22 +6518 22 +6519 23 +6520 22 +6521 22 +6522 22 +6523 23 +6524 22 +6525 22 +6526 21 +6527 22 +6528 24 +6529 22 +6530 23 +6531 22 +6532 24 +6533 23 +6534 22 +6535 22 +6536 25 +6537 22 +6538 22 +6539 23 +6540 23 +6541 22 +6542 22 +6543 22 +6544 22 +6545 22 +6546 23 +6547 24 +6548 22 +6549 24 +6550 22 +6551 22 +6552 22 +6553 23 +6554 23 +6555 22 +6556 23 +6557 23 +6558 22 +6559 24 +6560 23 +6561 22 +6562 22 +6563 24 +6564 24 +6565 22 +6566 23 +6567 23 +6568 22 +6569 23 +6570 23 +6571 22 +6572 23 +6573 21 +6574 24 +6575 23 +6576 23 +6577 23 +6578 22 +6579 23 +6580 24 +6581 22 +6582 23 +6583 22 +6584 22 +6585 23 +6586 23 +6587 22 +6588 22 +6589 23 +6590 21 +6591 22 +6592 21 +6593 23 +6594 24 +6595 23 +6596 22 +6597 24 +6598 23 +6599 24 +6600 24 +6601 22 +6602 22 +6603 24 +6604 22 +6605 23 +6606 23 +6607 22 +6608 24 +6609 25 +6610 23 +6611 23 +6612 22 +6613 23 +6614 23 +6615 22 +6616 22 +6617 23 +6618 22 +6619 24 +6620 23 +6621 23 +6622 22 +6623 25 +6624 23 +6625 22 +6626 21 +6627 24 +6628 23 +6629 23 +6630 20 +6631 23 +6632 22 +6633 22 +6634 22 +6635 23 +6636 22 +6637 22 +6638 23 +6639 21 +6640 22 +6641 22 +6642 22 +6643 23 +6644 22 +6645 22 +6646 22 +6647 23 +6648 23 +6649 22 +6650 22 +6651 21 +6652 23 +6653 21 +6654 23 +6655 25 +6656 23 +6657 23 +6658 22 +6659 22 +6660 24 +6661 23 +6662 23 +6663 22 +6664 22 +6665 22 +6666 22 +6667 21 +6668 24 +6669 24 +6670 21 +6671 22 +6672 23 +6673 22 +6674 23 +6675 22 +6676 23 +6677 23 +6678 22 +6679 21 +6680 23 +6681 23 +6682 24 +6683 22 +6684 24 +6685 23 +6686 22 +6687 21 +6688 23 +6689 22 +6690 22 +6691 24 +6692 22 +6693 22 +6694 23 +6695 22 +6696 22 +6697 22 +6698 24 +6699 22 +6700 22 +6701 23 +6702 22 +6703 22 +6704 22 +6705 23 +6706 22 +6707 22 +6708 25 +6709 22 +6710 24 +6711 23 +6712 23 +6713 22 +6714 22 +6715 24 +6716 21 +6717 21 +6718 22 +6719 22 +6720 25 +6721 22 +6722 22 +6723 24 +6724 22 +6725 22 +6726 25 +6727 22 +6728 23 +6729 23 +6730 23 +6731 23 +6732 23 +6733 22 +6734 22 +6735 22 +6736 23 +6737 22 +6738 22 +6739 23 +6740 22 +6741 22 +6742 23 +6743 22 +6744 23 +6745 22 +6746 24 +6747 23 +6748 23 +6749 22 +6750 22 +6751 23 +6752 22 +6753 22 +6754 23 +6755 22 +6756 24 +6757 22 +6758 22 +6759 23 +6760 24 +6761 23 +6762 23 +6763 22 +6764 22 +6765 23 +6766 22 +6767 22 +6768 21 +6769 22 +6770 25 +6771 23 +6772 22 +6773 22 +6774 23 +6775 22 +6776 22 +6777 22 +6778 23 +6779 24 +6780 23 +6781 22 +6782 22 +6783 22 +6784 23 +6785 23 +6786 22 +6787 24 +6788 23 +6789 23 +6790 25 +6791 24 +6792 22 +6793 23 +6794 24 +6795 24 +6796 25 +6797 24 +6798 23 +6799 23 +6800 23 +6801 22 +6802 23 +6803 23 +6804 22 +6805 24 +6806 23 +6807 24 +6808 22 +6809 24 +6810 22 +6811 24 +6812 22 +6813 22 +6814 23 +6815 24 +6816 23 +6817 23 +6818 23 +6819 22 +6820 23 +6821 22 +6822 24 +6823 22 +6824 23 +6825 22 +6826 24 +6827 23 +6828 21 +6829 24 +6830 24 +6831 23 +6832 25 +6833 22 +6834 24 +6835 24 +6836 21 +6837 25 +6838 23 +6839 22 +6840 21 +6841 23 +6842 21 +6843 22 +6844 24 +6845 23 +6846 23 +6847 22 +6848 22 +6849 23 +6850 22 +6851 24 +6852 25 +6853 22 +6854 22 +6855 22 +6856 23 +6857 22 +6858 22 +6859 25 +6860 23 +6861 23 +6862 24 +6863 23 +6864 22 +6865 22 +6866 23 +6867 22 +6868 22 +6869 23 +6870 23 +6871 24 +6872 21 +6873 23 +6874 21 +6875 25 +6876 22 +6877 22 +6878 23 +6879 22 +6880 24 +6881 25 +6882 21 +6883 24 +6884 22 +6885 23 +6886 22 +6887 23 +6888 22 +6889 22 +6890 22 +6891 23 +6892 22 +6893 22 +6894 23 +6895 24 +6896 22 +6897 22 +6898 22 +6899 23 +6900 22 +6901 22 +6902 25 +6903 23 +6904 20 +6905 25 +6906 24 +6907 24 +6908 23 +6909 23 +6910 23 +6911 25 +6912 22 +6913 24 +6914 25 +6915 22 +6916 22 +6917 22 +6918 22 +6919 22 +6920 24 +6921 24 +6922 20 +6923 23 +6924 21 +6925 22 +6926 23 +6927 24 +6928 22 +6929 23 +6930 22 +6931 24 +6932 22 +6933 22 +6934 22 +6935 24 +6936 24 +6937 23 +6938 24 +6939 23 +6940 23 +6941 24 +6942 23 +6943 25 +6944 22 +6945 24 +6946 23 +6947 21 +6948 24 +6949 24 +6950 22 +6951 25 +6952 22 +6953 24 +6954 23 +6955 23 +6956 23 +6957 24 +6958 23 +6959 25 +6960 22 +6961 24 +6962 22 +6963 21 +6964 23 +6965 23 +6966 22 +6967 23 +6968 22 +6969 22 +6970 24 +6971 21 +6972 23 +6973 23 +6974 22 +6975 23 +6976 22 +6977 22 +6978 24 +6979 22 +6980 23 +6981 22 +6982 22 +6983 23 +6984 22 +6985 24 +6986 24 +6987 22 +6988 22 +6989 23 +6990 22 +6991 22 +6992 23 +6993 24 +6994 24 +6995 24 +6996 22 +6997 22 +6998 23 +6999 24 +7000 23 +7001 22 +7002 20 +7003 23 +7004 23 +7005 22 +7006 23 +7007 22 +7008 23 +7009 24 +7010 23 +7011 24 +7012 22 +7013 25 +7014 22 +7015 23 +7016 25 +7017 22 +7018 23 +7019 23 +7020 24 +7021 23 +7022 22 +7023 22 +7024 22 +7025 23 +7026 22 +7027 22 +7028 23 +7029 23 +7030 22 +7031 24 +7032 25 +7033 22 +7034 22 +7035 24 +7036 22 +7037 22 +7038 22 +7039 23 +7040 22 +7041 24 +7042 23 +7043 22 +7044 24 +7045 22 +7046 23 +7047 24 +7048 22 +7049 25 +7050 23 +7051 24 +7052 22 +7053 23 +7054 22 +7055 24 +7056 24 +7057 23 +7058 22 +7059 24 +7060 23 +7061 22 +7062 21 +7063 24 +7064 21 +7065 22 +7066 24 +7067 23 +7068 22 +7069 23 +7070 23 +7071 23 +7072 22 +7073 22 +7074 23 +7075 22 +7076 22 +7077 23 +7078 23 +7079 22 +7080 24 +7081 25 +7082 23 +7083 23 +7084 21 +7085 24 +7086 22 +7087 23 +7088 22 +7089 22 +7090 23 +7091 22 +7092 23 +7093 22 +7094 21 +7095 23 +7096 23 +7097 22 +7098 23 +7099 22 +7100 22 +7101 24 +7102 22 +7103 24 +7104 21 +7105 23 +7106 22 +7107 23 +7108 23 +7109 22 +7110 21 +7111 22 +7112 24 +7113 25 +7114 23 +7115 23 +7116 24 +7117 24 +7118 22 +7119 22 +7120 23 +7121 22 +7122 22 +7123 23 +7124 22 +7125 22 +7126 23 +7127 22 +7128 24 +7129 24 +7130 22 +7131 25 +7132 22 +7133 24 +7134 23 +7135 24 +7136 23 +7137 23 +7138 22 +7139 23 +7140 24 +7141 22 +7142 23 +7143 22 +7144 22 +7145 24 +7146 24 +7147 23 +7148 24 +7149 24 +7150 23 +7151 22 +7152 22 +7153 24 +7154 24 +7155 23 +7156 23 +7157 22 +7158 23 +7159 23 +7160 21 +7161 22 +7162 24 +7163 22 +7164 23 +7165 25 +7166 23 +7167 23 +7168 23 +7169 22 +7170 22 +7171 23 +7172 22 +7173 24 +7174 22 +7175 22 +7176 23 +7177 23 +7178 22 +7179 23 +7180 23 +7181 24 +7182 23 +7183 24 +7184 22 +7185 25 +7186 22 +7187 24 +7188 25 +7189 23 +7190 22 +7191 23 +7192 22 +7193 22 +7194 25 +7195 24 +7196 21 +7197 24 +7198 22 +7199 24 +7200 22 +7201 23 +7202 22 +7203 23 +7204 23 +7205 22 +7206 24 +7207 23 +7208 22 +7209 24 +7210 24 +7211 22 +7212 23 +7213 22 +7214 23 +7215 22 +7216 22 +7217 23 +7218 25 +7219 24 +7220 22 +7221 25 +7222 21 +7223 23 +7224 23 +7225 24 +7226 23 +7227 23 +7228 24 +7229 23 +7230 23 +7231 22 +7232 24 +7233 25 +7234 22 +7235 24 +7236 24 +7237 22 +7238 22 +7239 23 +7240 21 +7241 24 +7242 22 +7243 24 +7244 24 +7245 22 +7246 23 +7247 22 +7248 24 +7249 23 +7250 23 +7251 24 +7252 22 +7253 23 +7254 24 +7255 24 +7256 22 +7257 23 +7258 23 +7259 22 +7260 24 +7261 23 +7262 22 +7263 22 +7264 23 +7265 24 +7266 22 +7267 23 +7268 23 +7269 22 +7270 20 +7271 23 +7272 23 +7273 24 +7274 23 +7275 23 +7276 22 +7277 22 +7278 25 +7279 24 +7280 22 +7281 24 +7282 24 +7283 22 +7284 25 +7285 24 +7286 22 +7287 23 +7288 23 +7289 22 +7290 23 +7291 24 +7292 24 +7293 24 +7294 24 +7295 22 +7296 22 +7297 23 +7298 22 +7299 22 +7300 23 +7301 22 +7302 22 +7303 23 +7304 23 +7305 22 +7306 22 +7307 23 +7308 23 +7309 22 +7310 24 +7311 20 +7312 25 +7313 22 +7314 23 +7315 23 +7316 24 +7317 23 +7318 22 +7319 23 +7320 24 +7321 23 +7322 24 +7323 22 +7324 22 +7325 23 +7326 22 +7327 22 +7328 24 +7329 24 +7330 22 +7331 25 +7332 22 +7333 24 +7334 22 +7335 23 +7336 22 +7337 21 +7338 23 +7339 22 +7340 22 +7341 23 +7342 22 +7343 23 +7344 24 +7345 20 +7346 25 +7347 22 +7348 23 +7349 23 +7350 24 +7351 23 +7352 22 +7353 22 +7354 22 +7355 22 +7356 24 +7357 22 +7358 24 +7359 23 +7360 23 +7361 20 +7362 23 +7363 22 +7364 23 +7365 22 +7366 24 +7367 24 +7368 24 +7369 22 +7370 22 +7371 23 +7372 24 +7373 22 +7374 23 +7375 24 +7376 23 +7377 22 +7378 23 +7379 22 +7380 22 +7381 23 +7382 22 +7383 23 +7384 22 +7385 22 +7386 23 +7387 22 +7388 22 +7389 23 +7390 22 +7391 22 +7392 23 +7393 23 +7394 25 +7395 22 +7396 23 +7397 22 +7398 24 +7399 22 +7400 22 +7401 23 +7402 23 +7403 23 +7404 23 +7405 22 +7406 23 +7407 25 +7408 23 +7409 22 +7410 23 +7411 24 +7412 23 +7413 23 +7414 24 +7415 23 +7416 23 +7417 24 +7418 23 +7419 23 +7420 22 +7421 23 +7422 22 +7423 21 +7424 23 +7425 22 +7426 22 +7427 23 +7428 22 +7429 22 +7430 22 +7431 21 +7432 23 +7433 24 +7434 23 +7435 22 +7436 22 +7437 23 +7438 24 +7439 23 +7440 24 +7441 23 +7442 22 +7443 22 +7444 23 +7445 23 +7446 24 +7447 22 +7448 24 +7449 22 +7450 22 +7451 23 +7452 24 +7453 25 +7454 24 +7455 21 +7456 25 +7457 22 +7458 24 +7459 23 +7460 23 +7461 23 +7462 22 +7463 22 +7464 25 +7465 23 +7466 22 +7467 22 +7468 23 +7469 22 +7470 22 +7471 23 +7472 23 +7473 23 +7474 22 +7475 23 +7476 24 +7477 24 +7478 24 +7479 23 +7480 22 +7481 25 +7482 24 +7483 23 +7484 24 +7485 22 +7486 23 +7487 22 +7488 23 +7489 22 +7490 23 +7491 22 +7492 22 +7493 23 +7494 24 +7495 22 +7496 22 +7497 25 +7498 24 +7499 23 +7500 24 +7501 22 +7502 23 +7503 22 +7504 24 +7505 25 +7506 22 +7507 24 +7508 24 +7509 22 +7510 22 +7511 23 +7512 22 +7513 22 +7514 23 +7515 23 +7516 24 +7517 23 +7518 25 +7519 24 +7520 23 +7521 23 +7522 23 +7523 23 +7524 22 +7525 23 +7526 22 +7527 23 +7528 24 +7529 23 +7530 24 +7531 22 +7532 23 +7533 22 +7534 22 +7535 22 +7536 23 +7537 22 +7538 22 +7539 25 +7540 22 +7541 23 +7542 23 +7543 23 +7544 22 +7545 23 +7546 24 +7547 22 +7548 23 +7549 22 +7550 25 +7551 22 +7552 23 +7553 22 +7554 22 +7555 22 +7556 24 +7557 22 +7558 22 +7559 24 +7560 25 +7561 24 +7562 22 +7563 23 +7564 22 +7565 21 +7566 22 +7567 22 +7568 22 +7569 23 +7570 22 +7571 22 +7572 24 +7573 22 +7574 23 +7575 22 +7576 24 +7577 23 +7578 24 +7579 22 +7580 22 +7581 23 +7582 24 +7583 22 +7584 22 +7585 22 +7586 24 +7587 24 +7588 22 +7589 22 +7590 23 +7591 22 +7592 22 +7593 23 +7594 22 +7595 24 +7596 23 +7597 22 +7598 22 +7599 24 +7600 22 +7601 23 +7602 22 +7603 22 +7604 23 +7605 22 +7606 22 +7607 23 +7608 22 +7609 22 +7610 25 +7611 24 +7612 23 +7613 22 +7614 22 +7615 24 +7616 23 +7617 22 +7618 23 +7619 22 +7620 24 +7621 22 +7622 22 +7623 21 +7624 23 +7625 22 +7626 22 +7627 23 +7628 24 +7629 23 +7630 23 +7631 22 +7632 24 +7633 23 +7634 24 +7635 22 +7636 22 +7637 24 +7638 24 +7639 23 +7640 23 +7641 22 +7642 22 +7643 23 +7644 24 +7645 24 +7646 23 +7647 23 +7648 22 +7649 22 +7650 22 +7651 22 +7652 23 +7653 24 +7654 24 +7655 22 +7656 22 +7657 22 +7658 22 +7659 22 +7660 25 +7661 22 +7662 23 +7663 25 +7664 24 +7665 24 +7666 23 +7667 23 +7668 22 +7669 23 +7670 23 +7671 23 +7672 22 +7673 24 +7674 24 +7675 21 +7676 23 +7677 22 +7678 22 +7679 23 +7680 23 +7681 22 +7682 22 +7683 23 +7684 23 +7685 22 +7686 23 +7687 24 +7688 23 +7689 23 +7690 23 +7691 24 +7692 22 +7693 23 +7694 22 +7695 25 +7696 24 +7697 23 +7698 23 +7699 22 +7700 24 +7701 25 +7702 22 +7703 24 +7704 24 +7705 21 +7706 24 +7707 22 +7708 24 +7709 24 +7710 24 +7711 24 +7712 24 +7713 25 +7714 24 +7715 22 +7716 22 +7717 22 +7718 23 +7719 22 +7720 24 +7721 21 +7722 23 +7723 22 +7724 23 +7725 22 +7726 22 +7727 22 +7728 22 +7729 23 +7730 24 +7731 24 +7732 23 +7733 22 +7734 21 +7735 22 +7736 22 +7737 23 +7738 22 +7739 22 +7740 22 +7741 22 +7742 22 +7743 23 +7744 22 +7745 23 +7746 23 +7747 21 +7748 23 +7749 22 +7750 25 +7751 22 +7752 24 +7753 22 +7754 24 +7755 23 +7756 24 +7757 23 +7758 24 +7759 21 +7760 23 +7761 23 +7762 23 +7763 22 +7764 22 +7765 22 +7766 22 +7767 22 +7768 23 +7769 22 +7770 24 +7771 23 +7772 23 +7773 22 +7774 22 +7775 25 +7776 24 +7777 24 +7778 25 +7779 23 +7780 23 +7781 22 +7782 23 +7783 23 +7784 24 +7785 22 +7786 24 +7787 23 +7788 24 +7789 24 +7790 22 +7791 23 +7792 23 +7793 22 +7794 24 +7795 22 +7796 22 +7797 25 +7798 24 +7799 20 +7800 25 +7801 23 +7802 23 +7803 22 +7804 23 +7805 22 +7806 22 +7807 25 +7808 22 +7809 24 +7810 23 +7811 23 +7812 23 +7813 21 +7814 24 +7815 21 +7816 25 +7817 23 +7818 22 +7819 23 +7820 24 +7821 23 +7822 23 +7823 23 +7824 22 +7825 22 +7826 23 +7827 21 +7828 22 +7829 23 +7830 22 +7831 23 +7832 23 +7833 23 +7834 21 +7835 22 +7836 23 +7837 22 +7838 21 +7839 24 +7840 23 +7841 22 +7842 22 +7843 23 +7844 24 +7845 20 +7846 22 +7847 23 +7848 23 +7849 22 +7850 21 +7851 23 +7852 23 +7853 22 +7854 22 +7855 23 +7856 22 +7857 22 +7858 22 +7859 24 +7860 24 +7861 24 +7862 25 +7863 22 +7864 22 +7865 23 +7866 24 +7867 23 +7868 22 +7869 24 +7870 23 +7871 23 +7872 23 +7873 24 +7874 23 +7875 23 +7876 22 +7877 22 +7878 22 +7879 24 +7880 22 +7881 24 +7882 23 +7883 22 +7884 23 +7885 24 +7886 23 +7887 23 +7888 22 +7889 24 +7890 22 +7891 23 +7892 22 +7893 23 +7894 23 +7895 24 +7896 23 +7897 24 +7898 22 +7899 22 +7900 24 +7901 23 +7902 22 +7903 22 +7904 23 +7905 22 +7906 22 +7907 23 +7908 24 +7909 23 +7910 23 +7911 22 +7912 21 +7913 23 +7914 23 +7915 22 +7916 22 +7917 22 +7918 23 +7919 23 +7920 22 +7921 23 +7922 22 +7923 23 +7924 23 +7925 22 +7926 22 +7927 23 +7928 23 +7929 23 +7930 22 +7931 24 +7932 22 +7933 23 +7934 23 +7935 22 +7936 23 +7937 23 +7938 22 +7939 23 +7940 23 +7941 23 +7942 22 +7943 24 +7944 22 +7945 23 +7946 22 +7947 24 +7948 22 +7949 23 +7950 22 +7951 24 +7952 22 +7953 22 +7954 25 +7955 23 +7956 22 +7957 23 +7958 23 +7959 22 +7960 22 +7961 23 +7962 23 +7963 22 +7964 23 +7965 25 +7966 22 +7967 22 +7968 23 +7969 22 +7970 21 +7971 24 +7972 22 +7973 22 +7974 24 +7975 22 +7976 22 +7977 22 +7978 22 +7979 23 +7980 23 +7981 24 +7982 23 +7983 23 +7984 23 +7985 22 +7986 23 +7987 25 +7988 22 +7989 22 +7990 21 +7991 23 +7992 22 +7993 22 +7994 22 +7995 22 +7996 21 +7997 23 +7998 24 +7999 22 +8000 23 +8001 22 +8002 22 +8003 22 +8004 23 +8005 24 +8006 22 +8007 22 +8008 22 +8009 21 +8010 23 +8011 21 +8012 22 +8013 24 +8014 23 +8015 24 +8016 21 +8017 24 +8018 23 +8019 22 +8020 22 +8021 22 +8022 24 +8023 23 +8024 22 +8025 22 +8026 22 +8027 23 +8028 23 +8029 20 +8030 24 +8031 22 +8032 23 +8033 22 +8034 24 +8035 22 +8036 22 +8037 23 +8038 23 +8039 22 +8040 22 +8041 24 +8042 23 +8043 23 +8044 21 +8045 24 +8046 22 +8047 23 +8048 23 +8049 22 +8050 22 +8051 23 +8052 22 +8053 22 +8054 22 +8055 22 +8056 22 +8057 22 +8058 24 +8059 23 +8060 22 +8061 23 +8062 22 +8063 23 +8064 23 +8065 22 +8066 23 +8067 24 +8068 22 +8069 23 +8070 24 +8071 22 +8072 22 +8073 23 +8074 22 +8075 22 +8076 22 +8077 23 +8078 23 +8079 22 +8080 22 +8081 23 +8082 23 +8083 22 +8084 22 +8085 23 +8086 22 +8087 22 +8088 22 +8089 23 +8090 23 +8091 22 +8092 23 +8093 22 +8094 20 +8095 22 +8096 22 +8097 22 +8098 24 +8099 23 +8100 22 +8101 22 +8102 23 +8103 23 +8104 22 +8105 22 +8106 24 +8107 21 +8108 22 +8109 23 +8110 23 +8111 22 +8112 23 +8113 22 +8114 23 +8115 23 +8116 23 +8117 22 +8118 23 +8119 23 +8120 24 +8121 23 +8122 23 +8123 21 +8124 22 +8125 23 +8126 22 +8127 21 +8128 23 +8129 23 +8130 22 +8131 24 +8132 23 +8133 22 +8134 21 +8135 23 +8136 22 +8137 22 +8138 22 +8139 25 +8140 22 +8141 24 +8142 23 +8143 23 +8144 22 +8145 23 +8146 23 +8147 21 +8148 24 +8149 23 +8150 23 +8151 22 +8152 24 +8153 24 +8154 22 +8155 24 +8156 23 +8157 24 +8158 22 +8159 23 +8160 22 +8161 20 +8162 23 +8163 22 +8164 22 +8165 22 +8166 22 +8167 24 +8168 22 +8169 23 +8170 23 +8171 22 +8172 23 +8173 24 +8174 25 +8175 22 +8176 22 +8177 23 +8178 24 +8179 23 +8180 22 +8181 23 +8182 22 +8183 22 +8184 21 +8185 22 +8186 23 +8187 23 +8188 22 +8189 22 +8190 22 +8191 22 +8192 23 +8193 22 +8194 24 +8195 23 +8196 22 +8197 22 +8198 22 +8199 23 +8200 23 +8201 22 +8202 22 +8203 21 +8204 22 +8205 20 +8206 22 +8207 22 +8208 21 +8209 22 +8210 23 +8211 23 +8212 24 +8213 23 +8214 22 +8215 23 +8216 24 +8217 22 +8218 23 +8219 24 +8220 23 +8221 22 +8222 23 +8223 23 +8224 24 +8225 22 +8226 23 +8227 22 +8228 22 +8229 22 +8230 24 +8231 22 +8232 22 +8233 22 +8234 22 +8235 23 +8236 22 +8237 21 +8238 24 +8239 23 +8240 23 +8241 22 +8242 22 +8243 23 +8244 23 +8245 24 +8246 22 +8247 22 +8248 23 +8249 23 +8250 23 +8251 23 +8252 22 +8253 21 +8254 23 +8255 23 +8256 24 +8257 22 +8258 22 +8259 23 +8260 23 +8261 22 +8262 22 +8263 24 +8264 22 +8265 22 +8266 22 +8267 22 +8268 23 +8269 24 +8270 22 +8271 22 +8272 22 +8273 23 +8274 22 +8275 23 +8276 22 +8277 21 +8278 23 +8279 21 +8280 22 +8281 24 +8282 23 +8283 20 +8284 22 +8285 21 +8286 23 +8287 23 +8288 22 +8289 23 +8290 25 +8291 22 +8292 22 +8293 24 +8294 23 +8295 24 +8296 22 +8297 24 +8298 23 +8299 23 +8300 22 +8301 22 +8302 23 +8303 23 +8304 21 +8305 22 +8306 23 +8307 22 +8308 22 +8309 22 +8310 24 +8311 23 +8312 22 +8313 23 +8314 22 +8315 21 +8316 23 +8317 22 +8318 24 +8319 22 +8320 23 +8321 22 +8322 22 +8323 23 +8324 23 +8325 22 +8326 23 +8327 24 +8328 22 +8329 23 +8330 23 +8331 24 +8332 23 +8333 23 +8334 22 +8335 23 +8336 23 +8337 22 +8338 22 +8339 23 +8340 24 +8341 23 +8342 23 +8343 22 +8344 25 +8345 21 +8346 24 +8347 25 +8348 22 +8349 23 +8350 23 +8351 22 +8352 24 +8353 23 +8354 22 +8355 22 +8356 24 +8357 23 +8358 24 +8359 23 +8360 23 +8361 22 +8362 24 +8363 23 +8364 22 +8365 22 +8366 24 +8367 24 +8368 24 +8369 24 +8370 23 +8371 22 +8372 21 +8373 24 +8374 23 +8375 22 +8376 22 +8377 23 +8378 21 +8379 22 +8380 22 +8381 23 +8382 22 +8383 24 +8384 25 +8385 23 +8386 22 +8387 23 +8388 23 +8389 20 +8390 22 +8391 22 +8392 22 +8393 22 +8394 25 +8395 22 +8396 23 +8397 23 +8398 22 +8399 22 +8400 22 +8401 21 +8402 22 +8403 22 +8404 23 +8405 23 +8406 21 +8407 23 +8408 23 +8409 22 +8410 23 +8411 23 +8412 23 +8413 22 +8414 22 +8415 22 +8416 23 +8417 22 +8418 21 +8419 22 +8420 23 +8421 23 +8422 22 +8423 24 +8424 22 +8425 22 +8426 22 +8427 22 +8428 24 +8429 23 +8430 23 +8431 22 +8432 22 +8433 22 +8434 24 +8435 22 +8436 22 +8437 21 +8438 24 +8439 23 +8440 22 +8441 23 +8442 24 +8443 22 +8444 24 +8445 23 +8446 22 +8447 22 +8448 25 +8449 24 +8450 22 +8451 22 +8452 22 +8453 22 +8454 22 +8455 23 +8456 24 +8457 23 +8458 25 +8459 23 +8460 24 +8461 24 +8462 23 +8463 23 +8464 23 +8465 22 +8466 22 +8467 23 +8468 22 +8469 24 +8470 24 +8471 23 +8472 23 +8473 22 +8474 23 +8475 23 +8476 24 +8477 22 +8478 22 +8479 22 +8480 23 +8481 22 +8482 23 +8483 23 +8484 22 +8485 23 +8486 22 +8487 22 +8488 22 +8489 23 +8490 22 +8491 21 +8492 23 +8493 23 +8494 22 +8495 22 +8496 24 +8497 24 +8498 22 +8499 23 +8500 25 +8501 22 +8502 22 +8503 22 +8504 22 +8505 20 +8506 23 +8507 22 +8508 22 +8509 22 +8510 23 +8511 25 +8512 22 +8513 23 +8514 22 +8515 22 +8516 22 +8517 23 +8518 24 +8519 22 +8520 23 +8521 21 +8522 22 +8523 23 +8524 23 +8525 22 +8526 23 +8527 23 +8528 22 +8529 22 +8530 23 +8531 24 +8532 24 +8533 22 +8534 24 +8535 22 +8536 22 +8537 23 +8538 22 +8539 22 +8540 24 +8541 23 +8542 24 +8543 23 +8544 22 +8545 22 +8546 24 +8547 24 +8548 22 +8549 24 +8550 22 +8551 24 +8552 23 +8553 22 +8554 22 +8555 23 +8556 22 +8557 23 +8558 24 +8559 24 +8560 22 +8561 23 +8562 24 +8563 22 +8564 23 +8565 23 +8566 22 +8567 22 +8568 22 +8569 22 +8570 22 +8571 24 +8572 23 +8573 24 +8574 24 +8575 23 +8576 22 +8577 23 +8578 22 +8579 23 +8580 22 +8581 22 +8582 23 +8583 22 +8584 22 +8585 22 +8586 25 +8587 23 +8588 24 +8589 22 +8590 23 +8591 22 +8592 22 +8593 22 +8594 22 +8595 21 +8596 22 +8597 24 +8598 22 +8599 25 +8600 22 +8601 20 +8602 25 +8603 21 +8604 24 +8605 23 +8606 24 +8607 23 +8608 24 +8609 23 +8610 25 +8611 22 +8612 24 +8613 24 +8614 22 +8615 22 +8616 22 +8617 23 +8618 24 +8619 22 +8620 22 +8621 22 +8622 23 +8623 22 +8624 22 +8625 22 +8626 24 +8627 22 +8628 22 +8629 24 +8630 22 +8631 22 +8632 22 +8633 23 +8634 22 +8635 21 +8636 22 +8637 23 +8638 23 +8639 22 +8640 21 +8641 23 +8642 23 +8643 22 +8644 22 +8645 24 +8646 22 +8647 23 +8648 23 +8649 20 +8650 22 +8651 22 +8652 24 +8653 22 +8654 22 +8655 23 +8656 22 +8657 24 +8658 23 +8659 23 +8660 22 +8661 23 +8662 23 +8663 22 +8664 24 +8665 23 +8666 23 +8667 22 +8668 23 +8669 23 +8670 22 +8671 24 +8672 22 +8673 25 +8674 21 +8675 22 +8676 23 +8677 25 +8678 22 +8679 22 +8680 24 +8681 23 +8682 22 +8683 22 +8684 22 +8685 23 +8686 24 +8687 22 +8688 23 +8689 23 +8690 21 +8691 22 +8692 22 +8693 23 +8694 24 +8695 22 +8696 22 +8697 22 +8698 22 +8699 23 +8700 23 +8701 24 +8702 22 +8703 25 +8704 23 +8705 23 +8706 22 +8707 22 +8708 22 +8709 23 +8710 22 +8711 23 +8712 23 +8713 22 +8714 21 +8715 22 +8716 24 +8717 22 +8718 24 +8719 25 +8720 22 +8721 22 +8722 23 +8723 23 +8724 22 +8725 22 +8726 25 +8727 23 +8728 24 +8729 25 +8730 22 +8731 24 +8732 23 +8733 22 +8734 23 +8735 25 +8736 23 +8737 22 +8738 25 +8739 23 +8740 22 +8741 22 +8742 25 +8743 22 +8744 22 +8745 23 +8746 24 +8747 24 +8748 23 +8749 22 +8750 22 +8751 23 +8752 24 +8753 24 +8754 21 +8755 23 +8756 22 +8757 22 +8758 23 +8759 22 +8760 22 +8761 24 +8762 22 +8763 22 +8764 23 +8765 24 +8766 22 +8767 23 +8768 23 +8769 24 +8770 23 +8771 22 +8772 22 +8773 23 +8774 22 +8775 23 +8776 23 +8777 23 +8778 22 +8779 21 +8780 23 +8781 23 +8782 22 +8783 22 +8784 25 +8785 23 +8786 22 +8787 23 +8788 23 +8789 22 +8790 24 +8791 22 +8792 24 +8793 23 +8794 24 +8795 22 +8796 25 +8797 22 +8798 22 +8799 23 +8800 23 +8801 22 +8802 24 +8803 24 +8804 22 +8805 21 +8806 24 +8807 23 +8808 24 +8809 22 +8810 22 +8811 22 +8812 25 +8813 24 +8814 23 +8815 22 +8816 23 +8817 21 +8818 23 +8819 22 +8820 22 +8821 21 +8822 23 +8823 21 +8824 22 +8825 22 +8826 25 +8827 23 +8828 24 +8829 24 +8830 25 +8831 22 +8832 22 +8833 21 +8834 24 +8835 22 +8836 24 +8837 22 +8838 23 +8839 24 +8840 22 +8841 22 +8842 25 +8843 23 +8844 22 +8845 22 +8846 23 +8847 21 +8848 22 +8849 21 +8850 23 +8851 22 +8852 22 +8853 22 +8854 23 +8855 23 +8856 22 +8857 22 +8858 25 +8859 23 +8860 24 +8861 22 +8862 23 +8863 22 +8864 24 +8865 24 +8866 22 +8867 23 +8868 23 +8869 24 +8870 23 +8871 23 +8872 22 +8873 22 +8874 22 +8875 23 +8876 22 +8877 22 +8878 23 +8879 25 +8880 22 +8881 24 +8882 22 +8883 25 +8884 22 +8885 21 +8886 22 +8887 22 +8888 24 +8889 22 +8890 22 +8891 22 +8892 23 +8893 22 +8894 22 +8895 25 +8896 23 +8897 22 +8898 22 +8899 23 +8900 22 +8901 22 +8902 22 +8903 22 +8904 25 +8905 23 +8906 22 +8907 22 +8908 23 +8909 24 +8910 23 +8911 22 +8912 22 +8913 23 +8914 22 +8915 24 +8916 24 +8917 23 +8918 24 +8919 22 +8920 23 +8921 22 +8922 22 +8923 23 +8924 22 +8925 24 +8926 21 +8927 24 +8928 21 +8929 23 +8930 22 +8931 22 +8932 23 +8933 22 +8934 22 +8935 22 +8936 21 +8937 22 +8938 23 +8939 23 +8940 22 +8941 24 +8942 22 +8943 22 +8944 22 +8945 23 +8946 23 +8947 22 +8948 25 +8949 23 +8950 22 +8951 23 +8952 24 +8953 22 +8954 23 +8955 22 +8956 23 +8957 23 +8958 22 +8959 23 +8960 23 +8961 22 +8962 23 +8963 24 +8964 23 +8965 23 +8966 23 +8967 22 +8968 23 +8969 23 +8970 23 +8971 23 +8972 24 +8973 22 +8974 24 +8975 22 +8976 20 +8977 22 +8978 23 +8979 22 +8980 22 +8981 25 +8982 23 +8983 22 +8984 23 +8985 23 +8986 22 +8987 23 +8988 24 +8989 24 +8990 22 +8991 24 +8992 23 +8993 23 +8994 23 +8995 24 +8996 22 +8997 23 +8998 22 +8999 22 +9000 24 +9001 22 +9002 22 +9003 23 +9004 22 +9005 24 +9006 23 +9007 24 +9008 22 +9009 22 +9010 23 +9011 21 +9012 22 +9013 22 +9014 23 +9015 22 +9016 23 +9017 23 +9018 22 +9019 21 +9020 23 +9021 23 +9022 22 +9023 22 +9024 23 +9025 24 +9026 23 +9027 22 +9028 22 +9029 23 +9030 23 +9031 21 +9032 22 +9033 22 +9034 25 +9035 24 +9036 22 +9037 22 +9038 23 +9039 23 +9040 22 +9041 24 +9042 23 +9043 24 +9044 22 +9045 22 +9046 23 +9047 22 +9048 22 +9049 22 +9050 22 +9051 22 +9052 23 +9053 22 +9054 22 +9055 22 +9056 22 +9057 23 +9058 24 +9059 24 +9060 23 +9061 24 +9062 22 +9063 22 +9064 23 +9065 22 +9066 23 +9067 24 +9068 21 +9069 23 +9070 22 +9071 22 +9072 23 +9073 23 +9074 24 +9075 22 +9076 23 +9077 21 +9078 24 +9079 22 +9080 23 +9081 22 +9082 22 +9083 21 +9084 22 +9085 22 +9086 23 +9087 22 +9088 21 +9089 25 +9090 22 +9091 23 +9092 24 +9093 22 +9094 22 +9095 22 +9096 22 +9097 22 +9098 23 +9099 22 +9100 20 +9101 23 +9102 22 +9103 22 +9104 22 +9105 23 +9106 22 +9107 22 +9108 23 +9109 23 +9110 22 +9111 22 +9112 23 +9113 22 +9114 22 +9115 22 +9116 23 +9117 22 +9118 22 +9119 23 +9120 23 +9121 21 +9122 24 +9123 23 +9124 24 +9125 22 +9126 23 +9127 22 +9128 20 +9129 22 +9130 23 +9131 22 +9132 22 +9133 23 +9134 21 +9135 22 +9136 23 +9137 22 +9138 24 +9139 23 +9140 24 +9141 22 +9142 23 +9143 24 +9144 23 +9145 23 +9146 22 +9147 23 +9148 22 +9149 22 +9150 24 +9151 23 +9152 24 +9153 23 +9154 23 +9155 22 +9156 22 +9157 24 +9158 22 +9159 24 +9160 22 +9161 24 +9162 23 +9163 23 +9164 22 +9165 23 +9166 24 +9167 22 +9168 21 +9169 24 +9170 22 +9171 23 +9172 22 +9173 22 +9174 23 +9175 25 +9176 22 +9177 22 +9178 24 +9179 24 +9180 23 +9181 23 +9182 22 +9183 23 +9184 22 +9185 22 +9186 22 +9187 23 +9188 22 +9189 24 +9190 23 +9191 21 +9192 22 +9193 23 +9194 22 +9195 22 +9196 23 +9197 22 +9198 23 +9199 23 +9200 23 +9201 22 +9202 22 +9203 24 +9204 22 +9205 22 +9206 23 +9207 23 +9208 22 +9209 24 +9210 23 +9211 23 +9212 22 +9213 23 +9214 22 +9215 23 +9216 22 +9217 23 +9218 24 +9219 20 +9220 25 +9221 23 +9222 24 +9223 21 +9224 23 +9225 22 +9226 22 +9227 23 +9228 22 +9229 24 +9230 22 +9231 23 +9232 22 +9233 22 +9234 21 +9235 23 +9236 23 +9237 22 +9238 23 +9239 25 +9240 20 +9241 22 +9242 24 +9243 20 +9244 22 +9245 23 +9246 22 +9247 22 +9248 21 +9249 23 +9250 22 +9251 22 +9252 25 +9253 23 +9254 22 +9255 22 +9256 23 +9257 23 +9258 24 +9259 22 +9260 23 +9261 23 +9262 24 +9263 22 +9264 23 +9265 23 +9266 22 +9267 23 +9268 23 +9269 22 +9270 22 +9271 22 +9272 25 +9273 22 +9274 24 +9275 23 +9276 23 +9277 23 +9278 24 +9279 23 +9280 22 +9281 24 +9282 22 +9283 22 +9284 22 +9285 23 +9286 24 +9287 23 +9288 22 +9289 22 +9290 25 +9291 23 +9292 22 +9293 23 +9294 22 +9295 23 +9296 23 +9297 22 +9298 22 +9299 23 +9300 23 +9301 22 +9302 22 +9303 23 +9304 24 +9305 22 +9306 22 +9307 25 +9308 22 +9309 24 +9310 23 +9311 22 +9312 22 +9313 21 +9314 23 +9315 22 +9316 22 +9317 24 +9318 24 +9319 22 +9320 23 +9321 24 +9322 22 +9323 24 +9324 24 +9325 22 +9326 24 +9327 22 +9328 22 +9329 22 +9330 23 +9331 23 +9332 22 +9333 23 +9334 22 +9335 22 +9336 23 +9337 22 +9338 23 +9339 23 +9340 22 +9341 24 +9342 21 +9343 23 +9344 22 +9345 22 +9346 25 +9347 22 +9348 24 +9349 22 +9350 22 +9351 23 +9352 23 +9353 22 +9354 23 +9355 25 +9356 22 +9357 24 +9358 24 +9359 25 +9360 21 +9361 22 +9362 23 +9363 23 +9364 23 +9365 23 +9366 23 +9367 23 +9368 22 +9369 23 +9370 22 +9371 23 +9372 22 +9373 23 +9374 22 +9375 23 +9376 23 +9377 23 +9378 22 +9379 23 +9380 23 +9381 23 +9382 23 +9383 23 +9384 24 +9385 22 +9386 23 +9387 22 +9388 23 +9389 23 +9390 22 +9391 24 +9392 22 +9393 24 +9394 24 +9395 22 +9396 22 +9397 24 +9398 24 +9399 22 +9400 23 +9401 23 +9402 22 +9403 24 +9404 23 +9405 21 +9406 21 +9407 23 +9408 24 +9409 23 +9410 23 +9411 24 +9412 23 +9413 25 +9414 21 +9415 22 +9416 23 +9417 23 +9418 23 +9419 23 +9420 22 +9421 22 +9422 23 +9423 21 +9424 23 +9425 22 +9426 22 +9427 25 +9428 22 +9429 23 +9430 24 +9431 24 +9432 23 +9433 23 +9434 23 +9435 22 +9436 23 +9437 24 +9438 23 +9439 23 +9440 22 +9441 23 +9442 23 +9443 22 +9444 22 +9445 24 +9446 22 +9447 22 +9448 24 +9449 24 +9450 22 +9451 22 +9452 24 +9453 24 +9454 22 +9455 23 +9456 23 +9457 24 +9458 23 +9459 22 +9460 24 +9461 23 +9462 22 +9463 24 +9464 24 +9465 24 +9466 20 +9467 25 +9468 22 +9469 24 +9470 24 +9471 24 +9472 23 +9473 22 +9474 24 +9475 24 +9476 22 +9477 24 +9478 21 +9479 23 +9480 22 +9481 23 +9482 23 +9483 23 +9484 23 +9485 22 +9486 23 +9487 23 +9488 23 +9489 23 +9490 22 +9491 25 +9492 23 +9493 22 +9494 24 +9495 22 +9496 22 +9497 24 +9498 24 +9499 25 +9500 21 +9501 22 +9502 23 +9503 22 +9504 25 +9505 22 +9506 23 +9507 22 +9508 24 +9509 22 +9510 22 +9511 22 +9512 23 +9513 22 +9514 23 +9515 24 +9516 25 +9517 23 +9518 22 +9519 23 +9520 22 +9521 25 +9522 22 +9523 24 +9524 23 +9525 24 +9526 23 +9527 22 +9528 23 +9529 23 +9530 22 +9531 22 +9532 24 +9533 22 +9534 22 +9535 22 +9536 25 +9537 22 +9538 23 +9539 23 +9540 22 +9541 22 +9542 24 +9543 24 +9544 25 +9545 22 +9546 23 +9547 23 +9548 23 +9549 22 +9550 22 +9551 24 +9552 22 +9553 24 +9554 22 +9555 24 +9556 22 +9557 21 +9558 23 +9559 24 +9560 22 +9561 25 +9562 23 +9563 24 +9564 22 +9565 22 +9566 23 +9567 23 +9568 23 +9569 22 +9570 21 +9571 23 +9572 22 +9573 23 +9574 21 +9575 22 +9576 23 +9577 22 +9578 23 +9579 22 +9580 24 +9581 22 +9582 24 +9583 22 +9584 22 +9585 24 +9586 22 +9587 25 +9588 23 +9589 23 +9590 24 +9591 24 +9592 22 +9593 22 +9594 23 +9595 22 +9596 23 +9597 23 +9598 22 +9599 23 +9600 23 +9601 22 +9602 21 +9603 23 +9604 22 +9605 22 +9606 23 +9607 24 +9608 24 +9609 22 +9610 22 +9611 23 +9612 24 +9613 25 +9614 21 +9615 22 +9616 22 +9617 22 +9618 22 +9619 23 +9620 24 +9621 24 +9622 24 +9623 24 +9624 24 +9625 23 +9626 22 +9627 22 +9628 20 +9629 23 +9630 22 +9631 23 +9632 22 +9633 22 +9634 22 +9635 22 +9636 23 +9637 22 +9638 24 +9639 22 +9640 23 +9641 22 +9642 23 +9643 23 +9644 23 +9645 23 +9646 23 +9647 24 +9648 23 +9649 24 +9650 22 +9651 23 +9652 23 +9653 22 +9654 22 +9655 23 +9656 22 +9657 22 +9658 22 +9659 24 +9660 23 +9661 23 +9662 24 +9663 24 +9664 22 +9665 22 +9666 22 +9667 24 +9668 24 +9669 22 +9670 23 +9671 23 +9672 23 +9673 23 +9674 20 +9675 24 +9676 23 +9677 24 +9678 25 +9679 22 +9680 24 +9681 25 +9682 22 +9683 22 +9684 22 +9685 23 +9686 22 +9687 23 +9688 23 +9689 24 +9690 23 +9691 22 +9692 24 +9693 23 +9694 22 +9695 22 +9696 22 +9697 22 +9698 24 +9699 23 +9700 24 +9701 24 +9702 25 +9703 21 +9704 22 +9705 23 +9706 20 +9707 23 +9708 23 +9709 24 +9710 22 +9711 23 +9712 22 +9713 23 +9714 24 +9715 23 +9716 22 +9717 25 +9718 24 +9719 23 +9720 22 +9721 22 +9722 23 +9723 22 +9724 23 +9725 23 +9726 23 +9727 23 +9728 23 +9729 22 +9730 22 +9731 23 +9732 21 +9733 24 +9734 22 +9735 23 +9736 22 +9737 22 +9738 23 +9739 24 +9740 22 +9741 23 +9742 23 +9743 21 +9744 25 +9745 22 +9746 22 +9747 22 +9748 23 +9749 23 +9750 24 +9751 23 +9752 23 +9753 22 +9754 24 +9755 22 +9756 23 +9757 24 +9758 23 +9759 22 +9760 24 +9761 22 +9762 22 +9763 24 +9764 22 +9765 25 +9766 24 +9767 21 +9768 22 +9769 24 +9770 22 +9771 22 +9772 22 +9773 22 +9774 22 +9775 23 +9776 22 +9777 24 +9778 21 +9779 24 +9780 22 +9781 25 +9782 23 +9783 23 +9784 23 +9785 23 +9786 22 +9787 24 +9788 20 +9789 25 +9790 24 +9791 22 +9792 22 +9793 22 +9794 24 +9795 22 +9796 23 +9797 24 +9798 24 +9799 24 +9800 22 +9801 23 +9802 22 +9803 22 +9804 22 +9805 23 +9806 20 +9807 24 +9808 22 +9809 22 +9810 23 +9811 23 +9812 22 +9813 22 +9814 22 +9815 23 +9816 23 +9817 22 +9818 23 +9819 22 +9820 24 +9821 24 +9822 24 +9823 24 +9824 22 +9825 25 +9826 22 +9827 24 +9828 22 +9829 23 +9830 23 +9831 22 +9832 22 +9833 25 +9834 23 +9835 24 +9836 22 +9837 22 +9838 23 +9839 21 +9840 22 +9841 23 +9842 22 +9843 23 +9844 22 +9845 23 +9846 24 +9847 22 +9848 25 +9849 22 +9850 22 +9851 22 +9852 23 +9853 22 +9854 22 +9855 22 +9856 23 +9857 22 +9858 22 +9859 23 +9860 22 +9861 22 +9862 24 +9863 22 +9864 22 +9865 22 +9866 22 +9867 26 +9868 22 +9869 23 +9870 21 +9871 24 +9872 23 +9873 22 +9874 23 +9875 23 +9876 22 +9877 22 +9878 22 +9879 23 +9880 23 +9881 24 +9882 24 +9883 24 +9884 22 +9885 23 +9886 22 +9887 24 +9888 23 +9889 22 +9890 22 +9891 22 +9892 23 +9893 22 +9894 25 +9895 22 +9896 22 +9897 23 +9898 22 +9899 22 +9900 21 +9901 23 +9902 22 +9903 22 +9904 22 +9905 24 +9906 23 +9907 22 +9908 24 +9909 21 +9910 24 +9911 24 +9912 23 +9913 23 +9914 23 +9915 22 +9916 24 +9917 22 +9918 23 +9919 23 +9920 22 +9921 24 +9922 23 +9923 22 +9924 23 +9925 24 +9926 25 +9927 24 +9928 23 +9929 22 +9930 23 +9931 23 +9932 22 +9933 24 +9934 23 +9935 25 +9936 24 +9937 25 +9938 22 +9939 22 +9940 22 +9941 23 +9942 22 +9943 24 +9944 21 +9945 22 +9946 23 +9947 22 +9948 22 +9949 22 +9950 23 +9951 24 +9952 23 +9953 22 +9954 23 +9955 23 +9956 22 +9957 24 +9958 23 +9959 24 +9960 22 +9961 23 +9962 22 +9963 22 +9964 22 +9965 24 +9966 24 +9967 22 +9968 22 +9969 24 +9970 22 +9971 25 +9972 23 +9973 23 +9974 23 +9975 22 +9976 22 +9977 23 +9978 22 +9979 24 +9980 22 +9981 23 +9982 22 +9983 23 +9984 23 +9985 22 +9986 24 +9987 22 +9988 25 +9989 22 +9990 23 +9991 24 +9992 25 +9993 24 +9994 22 +9995 24 +9996 22 +9997 25 +9998 22 +9999 24