diff --git a/trunk/paradiseo-mo/AUTHORS b/trunk/paradiseo-mo/AUTHORS deleted file mode 100644 index 5c3a864b2..000000000 --- a/trunk/paradiseo-mo/AUTHORS +++ /dev/null @@ -1,9 +0,0 @@ -Source Code: - Sebastien CAHON - Jean-Charles BOISSON : Jean-Charles.Boisson@lifl.fr - -Lessons: - Sebastien CAHON - -Documentation: - Jean-Charles BOISSON : Jean-Charles.Boisson@lifl.fr diff --git a/trunk/paradiseo-mo/CMakeLists.txt b/trunk/paradiseo-mo/CMakeLists.txt deleted file mode 100644 index 99a7232bd..000000000 --- a/trunk/paradiseo-mo/CMakeLists.txt +++ /dev/null @@ -1,41 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) - -########################################################################################################################################## -### 0) If you want to set your own variables in mo-conf.cmake and avoid the cmd line -########################################################################################################################################## - -INCLUDE(mo-conf.cmake OPTIONAL) - -########################################################################################################################################## - - -########################################################################################################################################## -### 1) Project properties -########################################################################################################################################## - -# set the project name -PROJECT(ParadisEO-MO) - -SET(PACKAGE_BUGREPORT "paradiseo-help@lists.gforge.inria.fr" CACHE STRING "Package bug report" FORCE) -SET(PACKAGE_NAME "ParadisEO-MO - Moving Objects" CACHE STRING "Package name" FORCE) -SET(PACKAGE_STRING "ParadisEO-MO 1.2" CACHE STRING "MO Package string full name" FORCE) -SET(PACKAGE_VERSION "1.2" CACHE STRING "Package version" FORCE) -SET(GLOBAL_VERSION "1.2" CACHE STRING "Global version" FORCE) -SET(VERSION "1.2" CACHE STRING "Version" FORCE) -########################################################################################################################################## - - -########################################################################################################################################## -### 2) Include the common CMake configuration -########################################################################################################################################## - -# The "config" variable must be provided on the command line -IF(NOT DEFINED config OR NOT config) - MESSAGE(FATAL_ERROR "The \"config\" variable must be set on the command line to - give the path of the install configuration file. ") -ENDIF(NOT DEFINED config OR NOT config) - -# Need the config file whose full path is given thanks to the "config" variable -INCLUDE(${config}) -########################################################################################################################################## - diff --git a/trunk/paradiseo-mo/CTestConfig.cmake b/trunk/paradiseo-mo/CTestConfig.cmake deleted file mode 100644 index 465d208d6..000000000 --- a/trunk/paradiseo-mo/CTestConfig.cmake +++ /dev/null @@ -1,7 +0,0 @@ -set(CTEST_PROJECT_NAME "ParadisEO") -set(CTEST_NIGHTLY_START_TIME "00:00:00 EST") - -set(CTEST_DROP_METHOD "http") -set(CTEST_DROP_SITE "cdash.inria.fr") -set(CTEST_DROP_LOCATION "/CDash/submit.php?project=ParadisEO") -set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/trunk/paradiseo-mo/README b/trunk/paradiseo-mo/README deleted file mode 100644 index 089902ff4..000000000 --- a/trunk/paradiseo-mo/README +++ /dev/null @@ -1,76 +0,0 @@ - PARADISEO-MO README FILE -======================================================================= - -======================================================================= - -Welcome to PARADISEO-MO (Moving Objects), one part of the ParadisEO framework. - -======================================================================= - BUILDING PARADISEO-MO -======================================================================= -The basic installation procedure goes the following: - -To compile paradiseo-mo in the default directory, -go to paradiseo-mo/build/ and run: - > cmake ../ -Dconfig= - > make - // for an easy-use of the provided lessons - > make install - // optional (if the documentation is not already available) - > make doc - -To compile paradiseo-mo anywhere else, simply run: - > cmake $(MO) -Dconfig= - > make - // for an easy-use of the provided lessons - > make install - // optional (if the documentation is not already available) - > make doc - -where $(MO) is the top-level directory of PARADISEO-MO. - -To clean everything, simply run - > make clean - -====================================================================== - DIRECTORY STRUCTURE -====================================================================== -After unpacking the archive file, you should end up with the following -structure: - -.../ The MAIN PARADISEO-MO directory, created when unpacking. - | - +-- build Repertory where the executables will be produced. - | - | - +-- src SOURCE directory contains most PARADISEO-MO .h files. - | - | - +-- doc DOCUMENTATION directory (generated by Doxygen). - | | - | +- html HTML files - start at index.html. - | | - | +- latex latex files - use to generate Postcript doc. - | | - | +- man Unix man format documentation. - | - | - +-- tutorial TUTORIAL with lessons - | - +- examples APPLICATIONS - one directory per separate application. - | | - | +- tsp traveling salesman problem (TSP) example sources. - | | - | +- benchs TSP instance files. - | - +- Lesson1 How make a Hill Climbing on the TSP example (source file and lesson_1.pdf). - | - +- Lesson2 How make a Tabu Search on the TSP example (source file and lesson_2.pdf). - | - +- Lesson3 How make a Simulated Annealing on the TSP example (source file and lesson_3.pdf). - -=================================================================== - NOTES -=================================================================== - -Mailing list : paradiseo-help@lists.gforge.inria.fr diff --git a/trunk/paradiseo-mo/doc/CMakeLists.txt b/trunk/paradiseo-mo/doc/CMakeLists.txt deleted file mode 100755 index 8963a9ba5..000000000 --- a/trunk/paradiseo-mo/doc/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ - -########################################################################################## -### MO Doc generation using Doxygen -########################################################################################## - -IF (DOXYGEN_FOUND) - - SET(DOC_DIR ${CMAKE_BINARY_DIR}/doc CACHE PATH "MO documentation directory") - SET(MO_DOC_CONFIG_FILE "mo.doxyfile" CACHE PATH "MO documentation configuration file") - # define the doc target - IF (DOXYGEN_EXECUTABLE) - ADD_CUSTOM_TARGET(doc - COMMAND ${DOXYGEN_EXECUTABLE} ${MO_DOC_CONFIG_FILE} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - ) - ENDIF (DOXYGEN_EXECUTABLE) - - # configure doxyfile file - CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/doc/${MO_DOC_CONFIG_FILE}.cmake" - "${CMAKE_BINARY_DIR}/doc/${MO_DOC_CONFIG_FILE}") - -ELSE (DOXYGEN_FOUND) - MESSAGE(STATUS "Unable to generate the documentation, Doxygen package not found") -ENDIF (DOXYGEN_FOUND) - -########################################################################################## diff --git a/trunk/paradiseo-mo/doc/mo.doxyfile.cmake b/trunk/paradiseo-mo/doc/mo.doxyfile.cmake deleted file mode 100644 index 60e84efda..000000000 --- a/trunk/paradiseo-mo/doc/mo.doxyfile.cmake +++ /dev/null @@ -1,1261 +0,0 @@ -# Doxyfile 1.5.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file that -# follow. The default is UTF-8 which is also the encoding used for all text before -# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into -# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of -# possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = @PACKAGE_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @PACKAGE_VERSION@ - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @CMAKE_BINARY_DIR@/doc - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, -# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, -# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, -# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = YES - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to -# include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = NO - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = NO - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @CMAKE_SOURCE_DIR@/src - -# This tag can be used to specify the character encoding of the source files that -# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default -# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. -# See http://www.gnu.org/software/libiconv for the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py - -FILE_PATTERNS = *.cpp \ - *.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the output. -# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, -# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 3 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = mo - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = YES - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = @EO_BIN_DIR@/doc/eo.doxytag=http://eodev.sourceforge.net/eo/doc/html - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = @CMAKE_BINARY_DIR@/doc/mo.doxytag - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to -# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to -# specify the directory where the mscgen tool resides. If left empty the tool is assumed to -# be found in the default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a caller dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen will always -# show the root nodes and its direct children regardless of this setting. - -DOT_GRAPH_MAX_NODES = 50 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = YES diff --git a/trunk/paradiseo-mo/doc/mo.doxytag b/trunk/paradiseo-mo/doc/mo.doxytag deleted file mode 100644 index 7ca1a54d1..000000000 --- a/trunk/paradiseo-mo/doc/mo.doxytag +++ /dev/null @@ -1,1367 +0,0 @@ - - - - main - Welcome to PARADISEO-Moving Objects - main - Paradiseo - authors - Introduction - LICENSE - Installation - - - moAlgo - classmo_algo.html - EOT - eoMonOp< EOT > - - - moAspirCrit - classmo_aspir_crit.html - M - eoBF - - virtual void - init - classmo_aspir_crit.html - a8ce84510a5ec7c9078381e542c6d140 - ()=0 - - - - moBestImprSelect - classmo_best_impr_select.html - M - moMoveSelect - - M::EOType::Fitness - Fitness - classmo_best_impr_select.html - c4ae17435221fb0a8e8acd285210cfcb - - - - void - init - classmo_best_impr_select.html - 83f961549986b8ad94692e433aa79114 - (const Fitness &_fitness) - - - bool - update - classmo_best_impr_select.html - 5c0729fd316b0ef78406bce5ca91de2a - (const M &_move, const Fitness &_fitness) - - - void - operator() - classmo_best_impr_select.html - 33b3de7bd322f737eb97cce9a5404527 - (M &_move, Fitness &_fitness) - - - bool - first_time - classmo_best_impr_select.html - 352b14d206b0772eb9f40efb7beb0f13 - - - - M - best_move - classmo_best_impr_select.html - bd86f70519f954c07ff0d8a2a3a8ff6a - - - - Fitness - best_fitness - classmo_best_impr_select.html - e51345fe28ca7cbaca65bdad1aa8ecb7 - - - - - moComparator - classmo_comparator.html - EOT - eoBF - - - moCoolingSchedule - classmo_cooling_schedule.html - eoUF< double &, bool > - - - moExponentialCoolingSchedule - classmo_exponential_cooling_schedule.html - moCoolingSchedule - - - moExponentialCoolingSchedule - classmo_exponential_cooling_schedule.html - e60ce9eb5e632f4758ea96ae92a52774 - (double _threshold, double _ratio) - - - bool - operator() - classmo_exponential_cooling_schedule.html - 95b075e9786a5cc984ef1bb59a2107e4 - (double &_temperature) - - - double - threshold - classmo_exponential_cooling_schedule.html - 8d4327c0bb33b7121a322279eea97f84 - - - - double - ratio - classmo_exponential_cooling_schedule.html - e8f3f87417c1c7253efb938a740846fa - - - - - moFirstImprSelect - classmo_first_impr_select.html - M - moMoveSelect - - M::EOType::Fitness - Fitness - classmo_first_impr_select.html - 64763ce3e6d2873266624382b407fa5a - - - - virtual void - init - classmo_first_impr_select.html - a923437ecc3db50e7052b002a9a1bbf8 - (const Fitness &_fitness) - - - bool - update - classmo_first_impr_select.html - f68b7ee7b35bf7347c16006f0587d313 - (const M &_move, const Fitness &_fitness) - - - void - operator() - classmo_first_impr_select.html - 976569efd882886cb13184daeba79766 - (M &_move, Fitness &_fitness) - - - bool - valid - classmo_first_impr_select.html - a99c0586ba07449234705c17a258d58c - - - - M - best_move - classmo_first_impr_select.html - dfed419a608dd7c41f07fa1f1279cb8c - - - - Fitness - initial_fitness - classmo_first_impr_select.html - 669f8f2f74e71bf2b7fdabfc9cca2c0e - - - - Fitness - best_fitness - classmo_first_impr_select.html - 287937f5c059b078ccec94e86e0a8238 - - - - - moFitComparator - classmo_fit_comparator.html - EOT - moComparator - - bool - operator() - classmo_fit_comparator.html - c920d5a49deb16710daf1e5fcde6b16c - (const EOT &_solution1, const EOT &_solution2) - - - - moFitSolContinue - classmo_fit_sol_continue.html - EOT - moSolContinue - - EOT::Fitness - Fitness - classmo_fit_sol_continue.html - 369ed94a788d8bdc08d5554f7669376f - - - - - moFitSolContinue - classmo_fit_sol_continue.html - 5f0dc5e529e8cd307ff4a1ae982d5b84 - (Fitness _fitness) - - - bool - operator() - classmo_fit_sol_continue.html - ce4e02895c13bfd131fc759adf83798f - (const EOT &_solution) - - - void - init - classmo_fit_sol_continue.html - 670bd895b4edfcd3aebb40d2295d7f7c - () - - - Fitness - fitness - classmo_fit_sol_continue.html - 87d0ba8f2f76f61c89317eed5f094dfc - - - - - moGenSolContinue - classmo_gen_sol_continue.html - EOT - moSolContinue - - - moGenSolContinue - classmo_gen_sol_continue.html - 8e2456421b641d38e3f800f3bbe45159 - (unsigned int _generationMaximumNumber) - - - bool - operator() - classmo_gen_sol_continue.html - 2fd5f2f10b6d6208412582578fad48ea - (const EOT &_solution) - - - void - init - classmo_gen_sol_continue.html - 6c5db8182157584b56507cc9075602d4 - () - - - unsigned int - generationMaximumNumber - classmo_gen_sol_continue.html - c838d923436b71c584891c1cbe3f47ba - - - - unsigned int - generationNumber - classmo_gen_sol_continue.html - af0b3e5ca3ceee0d843670955c8f1e58 - - - - - moHC - classmo_h_c.html - M - moAlgo< M::EOType > - - - moHC - classmo_h_c.html - 44a35bd30df6e79cff95a31b84889bd7 - (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection, eoEvalFunc< EOT > &_full_evaluation) - - - - moHC - classmo_h_c.html - 5002f969ef0a4d959610158fc62f137a - (moMoveExpl< M > &_move_explorer, eoEvalFunc< EOT > &_full_evaluation) - - - bool - operator() - classmo_h_c.html - b739f9586b647e32bf31605066f984ad - (EOT &_solution) - - - M::EOType - EOT - classmo_h_c.html - d219296ede03c679646bce2fe8ff96cb - - - - EOT::Fitness - Fitness - classmo_h_c.html - 56487c97a7cf0c423cc879d1bbd45027 - - - - moMoveExpl< M > & - move_explorer - classmo_h_c.html - ec4e702a6ec240f40ff9d262c36d080b - - - - eoEvalFunc< EOT > & - full_evaluation - classmo_h_c.html - 1175c588c19d3658cfc690d5f3f8d825 - - - - - moHCMoveLoopExpl - classmo_h_c_move_loop_expl.html - M - moMoveLoopExpl - - - moHCMoveLoopExpl - classmo_h_c_move_loop_expl.html - fac2eb6695ba1b797ffab4f290d760b8 - (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection) - - - void - operator() - classmo_h_c_move_loop_expl.html - fe9362c10d74a5e6ed09b56345396192 - (const EOT &_old_solution, EOT &_new_solution) - - - M::EOType - EOT - classmo_h_c_move_loop_expl.html - 077befd4106c201eafd3ea22bcea2fe9 - - - - M::EOType::Fitness - Fitness - classmo_h_c_move_loop_expl.html - f24871224316d5549b9013a2d27ab465 - - - - moMoveInit< M > & - move_initializer - classmo_h_c_move_loop_expl.html - 17506f3f1172714f9adbfa4e8a15953a - - - - moNextMove< M > & - next_move_generator - classmo_h_c_move_loop_expl.html - fdc44d40d8859bae1d7b92e77f36aa30 - - - - moMoveIncrEval< M > & - incremental_evaluation - classmo_h_c_move_loop_expl.html - a044b28f972d007a22736b646d86f265 - - - - moMoveSelect< M > & - move_selection - classmo_h_c_move_loop_expl.html - 5f0532e0ee8ef8ecaeeb4e56342be443 - - - - - moILS - classmo_i_l_s.html - M - moAlgo< M::EOType > - - - moILS - classmo_i_l_s.html - c83f81ba0836ae262305efa15eeb3da2 - (moAlgo< EOT > &_algorithm, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation) - - - - moILS - classmo_i_l_s.html - 6d684a1d13ad224a911c8b0277812297 - (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moMoveSelect< M > &_move_selection, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation) - - - - moILS - classmo_i_l_s.html - 740ac81a0d06eb471592ba0861d3a6d7 - (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion, moSolContinue< EOT > &_moTS_continue, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation) - - - - moILS - classmo_i_l_s.html - 36bab16abf36957dac36c467b86385bc - (moRandMove< M > &_random_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moSolContinue< EOT > &_moSA_continue, double _initial_temperature, moCoolingSchedule &_cooling_schedule, moSolContinue< EOT > &_continue, moComparator< EOT > &_acceptance_criterion, eoMonOp< EOT > &_perturbation, eoEvalFunc< EOT > &_full_evaluation) - - - bool - operator() - classmo_i_l_s.html - 3f6b950e5a6c363f04b8d4c259502488 - (EOT &_solution) - - - M::EOType - EOT - classmo_i_l_s.html - c81bafc611e4d4fd44347cf7162198c7 - - - - EOT::Fitness - Fitness - classmo_i_l_s.html - 8c464a9eae064a78eff75d4c722b619c - - - - moAlgo< EOT > & - algorithm - classmo_i_l_s.html - 5651a4d94b59d523d341d5d6e24ca311 - - - - moSolContinue< EOT > & - continu - classmo_i_l_s.html - 30edab439401d7ec04fd8d37b4513d94 - - - - moComparator< EOT > & - acceptance_criterion - classmo_i_l_s.html - 295f6d0342c67bd3dc4cb82e2adc26be - - - - eoMonOp< EOT > & - perturbation - classmo_i_l_s.html - f667a1bda06b6d221292df9aba3db8a2 - - - - eoEvalFunc< EOT > & - full_evaluation - classmo_i_l_s.html - 8e8c383ac6ec34aaf071fa18bb54be67 - - - - - moImprBestFitAspirCrit - classmo_impr_best_fit_aspir_crit.html - M - moAspirCrit - - M::EOType::Fitness - Fitness - classmo_impr_best_fit_aspir_crit.html - 0bc1a8c9af99781e662570c04750cca8 - - - - - moImprBestFitAspirCrit - classmo_impr_best_fit_aspir_crit.html - e2c697a5cf3a7696e38bb52b6694a340 - () - - - void - init - classmo_impr_best_fit_aspir_crit.html - ffa451a14ff4ea86fb8bd9fdbc348630 - () - - - bool - operator() - classmo_impr_best_fit_aspir_crit.html - b6e5e96d57a6b846033fc22a9951b067 - (const M &_move, const Fitness &_fitness) - - - Fitness - best_fitness - classmo_impr_best_fit_aspir_crit.html - 03230e8672389de65aacd2bf7b6c1184 - - - - bool - first_time - classmo_impr_best_fit_aspir_crit.html - 2d5226c7dd661b33011402dbbbe78265 - - - - - moItRandNextMove - classmo_it_rand_next_move.html - M - moNextMove - - - moItRandNextMove - classmo_it_rand_next_move.html - c27b1fb0d64d4862dd886f7a59419b8c - (moRandMove< M > &_random_move_generator, unsigned int _iteration_maximum_number) - - - bool - operator() - classmo_it_rand_next_move.html - 21454db723a12fe6c8eb5caeccd32df6 - (M &_move, const EOT &_solution) - - - M::EOType - EOT - classmo_it_rand_next_move.html - ee666007fc494bf4a5f0cd065e5671cf - - - - moRandMove< M > & - random_move_generator - classmo_it_rand_next_move.html - 92601819402ad00d01933113d0bcf40d - - - - unsigned int - iteration_maximum_number - classmo_it_rand_next_move.html - 1b06067aee7a78f8a255563391514d2d - - - - unsigned int - iteration_number - classmo_it_rand_next_move.html - 2f8d52c88d6c002be518091cc52beca1 - - - - - moLinearCoolingSchedule - classmo_linear_cooling_schedule.html - moCoolingSchedule - - - moLinearCoolingSchedule - classmo_linear_cooling_schedule.html - 420939ebf57f01d242cbe4eb668dffde - (double _threshold, double _quantity) - - - bool - operator() - classmo_linear_cooling_schedule.html - b0a1886aaa7ee2a0c8e929e55ca321ce - (double &_current_temperature) - - - double - threshold - classmo_linear_cooling_schedule.html - e7f539f986801ea71392c4a55ba08a76 - - - - double - quantity - classmo_linear_cooling_schedule.html - 6159dc39ceda89b23ffdab3d6ce8d8ed - - - - - moLSCheckPoint - classmo_l_s_check_point.html - M - eoBF - - void - operator() - classmo_l_s_check_point.html - e9b9d41e40dd7bab648327686b2b938d - (const M &_move, const typename M::EOType &_solution) - - - void - add - classmo_l_s_check_point.html - f95f2dc556cdfbdc81688562ca95202d - (eoBF< const M &, const typename M::EOType &, void > &_function) - - - std::vector< eoBF< const M &, const typename M::EOType &, void > * > - functions - classmo_l_s_check_point.html - 56a7427a6aebac7955c22bab302c050a - - - - - moMove - classmo_move.html - EOT - eoUF< EOT &, void > - - EOT - EOType - classmo_move.html - 7fb853a91ba1319530529e515380bbba - - - - - moMoveExpl - classmo_move_expl.html - M - eoBF< const M::EOType &, M::EOType &, void > - - - moMoveIncrEval - classmo_move_incr_eval.html - M - eoBF - - - moMoveInit - classmo_move_init.html - M - eoBF - - - moMoveLoopExpl - classmo_move_loop_expl.html - M - moMoveExpl - - - moMoveSelect - classmo_move_select.html - M - eoBF< M &, M::EOType::Fitness &, void > - - M::EOType::Fitness - Fitness - classmo_move_select.html - 8148ccc0e6fbd209c3fe6829559895c8 - - - - virtual void - init - classmo_move_select.html - 58038bd859632c1bd022d23d9792bdca - (const Fitness &_fitness)=0 - - - virtual bool - update - classmo_move_select.html - 5b4d3b2f030cca80c563c3db0c4af404 - (const M &_move, const Fitness &_fitness)=0 - - - - moNextMove - classmo_next_move.html - M - eoBF - - - moNoAspirCrit - classmo_no_aspir_crit.html - M - moAspirCrit - - bool - operator() - classmo_no_aspir_crit.html - 289aac56f03c4651fcbcec4a91fb6fd6 - (const M &_move, const typename M::EOType::Fitness &_fitness) - - - void - init - classmo_no_aspir_crit.html - f3a286fc4c2d36bd390ba9a3074f3037 - () - - - - moNoFitImprSolContinue - classmo_no_fit_impr_sol_continue.html - EOT - moSolContinue - - EOT::Fitness - Fitness - classmo_no_fit_impr_sol_continue.html - 64c184de66bb37d75d53aa600ac947b3 - - - - - moNoFitImprSolContinue - classmo_no_fit_impr_sol_continue.html - 0793f68a0ad558c8203b97c33c8f9c90 - (unsigned int _maxNumberOfIterationWithoutImprovement) - - - bool - operator() - classmo_no_fit_impr_sol_continue.html - d8966c73cbe625644df9061377f7221a - (const EOT &_solution) - - - void - init - classmo_no_fit_impr_sol_continue.html - 21641c0a38a4501baae6133cbc591de4 - () - - - unsigned int - maxNumberOfIterationsWithoutImprovement - classmo_no_fit_impr_sol_continue.html - 03612ffc3af9d943c1b1d2cde09d461b - - - - bool - firstFitnessSaved - classmo_no_fit_impr_sol_continue.html - ca3591e47a075b59e0826f31234c71ef - - - - Fitness - fitness - classmo_no_fit_impr_sol_continue.html - 3d3d2b43a4dd73e38689cc0018d44ee7 - - - - unsigned int - counter - classmo_no_fit_impr_sol_continue.html - 46fc008a8f7cd06dcaaeb4016b433adb - - - - - moRandImprSelect - classmo_rand_impr_select.html - M - moMoveSelect - - M::EOType::Fitness - Fitness - classmo_rand_impr_select.html - 3bff2fdb963297430543c82ffb567a5c - - - - void - init - classmo_rand_impr_select.html - 7af99966b31aa387ecef74fd307a42e8 - (const Fitness &_fitness) - - - bool - update - classmo_rand_impr_select.html - b20cfd0164266aa75960cba3c1673f69 - (const M &_move, const Fitness &_fitness) - - - void - operator() - classmo_rand_impr_select.html - 1bc88f10830960c1d88e22e444c4e670 - (M &_move, Fitness &_fitness) - - - Fitness - initial_fitness - classmo_rand_impr_select.html - d566fa23689861b1d04257e53c71ae20 - - - - std::vector< Fitness > - better_fitnesses - classmo_rand_impr_select.html - 220d6e3db838b11938e59bc7b29a0db6 - - - - std::vector< M > - better_moves - classmo_rand_impr_select.html - 8a2e7bd7d7a74d7f7402ef25737b09e1 - - - - - moRandMove - classmo_rand_move.html - M - eoUF< M &, void > - - - moSA - classmo_s_a.html - M - moAlgo< M::EOType > - - - moSA - classmo_s_a.html - 12e7da3a56b82daa29a30d1254da5823 - (moRandMove< M > &_random_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moSolContinue< EOT > &_continue, double _initial_temperature, moCoolingSchedule &_cooling_schedule, eoEvalFunc< EOT > &_full_evaluation) - - - bool - operator() - classmo_s_a.html - bea8176b0c05a96696b2ab29d3f3c544 - (EOT &_solution) - - - M::EOType - EOT - classmo_s_a.html - d5d64a8797bdedc7b3af7893aded0bd5 - - - - EOT::Fitness - Fitness - classmo_s_a.html - 97f1a40d5ab5a0b3f878d0347b34804b - - - - moRandMove< M > & - random_move_generator - classmo_s_a.html - 92656523f556669862fcffdccea178dd - - - - moMoveIncrEval< M > & - incremental_evaluation - classmo_s_a.html - fdb49f837dc602624554279418c94bdb - - - - moSolContinue< EOT > & - continu - classmo_s_a.html - 776586a839c2bbd6d12a731c12a1b748 - - - - double - initial_temperature - classmo_s_a.html - e07bf4ca64248e94ab85e8a1ba32aa8c - - - - moCoolingSchedule & - cooling_schedule - classmo_s_a.html - f514ae01cdfc67bf0b87d5389b3792e5 - - - - eoEvalFunc< EOT > & - full_evaluation - classmo_s_a.html - ace30095ffc4924d84e14a0e59f7746f - - - - - moSimpleMoveTabuList - classmo_simple_move_tabu_list.html - M - moTabuList - - M::EOType - EOT - classmo_simple_move_tabu_list.html - 91286ff3ba6b1e9e1db9e4fdade2edb7 - - - - std::list< M >::iterator - moveIterator - classmo_simple_move_tabu_list.html - 4ca9387c0a20bb9f4142682cbfee26bf - - - - - moSimpleMoveTabuList - classmo_simple_move_tabu_list.html - c27e7fabe1370ea65f56981c5cbc1769 - (unsigned int _memory_maximum_size) - - - bool - operator() - classmo_simple_move_tabu_list.html - 8d38f296f3d7721025820f16f25fcf7e - (const M &_move, const EOT &_solution) - - - void - add - classmo_simple_move_tabu_list.html - e6c0835fbfab2bdc63097cf2fd5328aa - (const M &_move, const EOT &_solution) - - - void - update - classmo_simple_move_tabu_list.html - 96cffc8118456ed762b07b9fc0e0679f - () - - - void - init - classmo_simple_move_tabu_list.html - b91ae9971be30769757d1ad92c6009dc - () - - - void - removeMove - classmo_simple_move_tabu_list.html - 922ac2e3c45cbb94698517265be95de5 - (const M &_move) - - - unsigned int - memory_maximum_size - classmo_simple_move_tabu_list.html - fea7fe7c62a6da9b8f087a2732f44251 - - - - unsigned int - memory_size - classmo_simple_move_tabu_list.html - defd20fe6d0d51fdaedbc5b95018aea7 - - - - std::list< M > - tabuList - classmo_simple_move_tabu_list.html - d91bc838361524720616b44eda9b2c3a - - - - - moSimpleSolutionTabuList - classmo_simple_solution_tabu_list.html - M - moTabuList - - M::EOType - EOT - classmo_simple_solution_tabu_list.html - 881060871a6b49e5e8554c5df85176d9 - - - - std::list< EOT >::iterator - solutionIterator - classmo_simple_solution_tabu_list.html - 3438db9ed9e1a94a24c418d8cbadec54 - - - - - moSimpleSolutionTabuList - classmo_simple_solution_tabu_list.html - 8499bf947de47519d155e9e45f815d41 - (unsigned int _memory_maximum_size) - - - bool - operator() - classmo_simple_solution_tabu_list.html - 9052858ae3e6765cbe4c344bdae6c692 - (const M &_move, const EOT &_solution) - - - void - add - classmo_simple_solution_tabu_list.html - 58ae13e7642c429ea51ff679a932aceb - (const M &_move, const EOT &_solution) - - - void - update - classmo_simple_solution_tabu_list.html - 91b8b01dba7ffea8b63765d931e56f56 - () - - - void - init - classmo_simple_solution_tabu_list.html - d5645c39fec71a6110a2cbccbb08b816 - () - - - void - removeSolution - classmo_simple_solution_tabu_list.html - e4a57001a201e1fb7446902381a7ac7d - (const EOT &_solution) - - - unsigned int - memory_maximum_size - classmo_simple_solution_tabu_list.html - 06631e7b9a2511e3c11540aa14b9e636 - - - - unsigned int - memory_size - classmo_simple_solution_tabu_list.html - 0d54e6b0af0e6088aafae596392c9490 - - - - std::list< EOT > - tabuList - classmo_simple_solution_tabu_list.html - 75df9cd683528d3722d02bac407b710b - - - - - moSolContinue - classmo_sol_continue.html - EOT - eoUF< const EOT &, bool > - - virtual void - init - classmo_sol_continue.html - 064dc966a210f4ffb9515be3f03ca4c7 - ()=0 - - - - moSteadyFitSolContinue - classmo_steady_fit_sol_continue.html - EOT - moSolContinue - - EOT::Fitness - Fitness - classmo_steady_fit_sol_continue.html - c289721abbbafe50f6e3b8305dd31007 - - - - - moSteadyFitSolContinue - classmo_steady_fit_sol_continue.html - c5e0e998b73e3a48ca3e87f4f816569b - (unsigned int _maxNumberOfIterations, unsigned int _maxNumberOfIterationWithoutImprovement) - - - bool - operator() - classmo_steady_fit_sol_continue.html - f7432bccb768d50a2fef248c2b174904 - (const EOT &_solution) - - - void - init - classmo_steady_fit_sol_continue.html - 87563493addc8e4b58982c55a67179b9 - () - - - unsigned int - maxNumberOfIterations - classmo_steady_fit_sol_continue.html - 36b43c2a252887ad027165ac32393fe8 - - - - unsigned int - maxNumberOfIterationsWithoutImprovement - classmo_steady_fit_sol_continue.html - cde593c09f497a5fa66ff62732544f40 - - - - bool - maxNumberOfIterationsReached - classmo_steady_fit_sol_continue.html - 7d88c0eb91b2a12121ba1c3ae9139887 - - - - bool - firstFitnessSaved - classmo_steady_fit_sol_continue.html - 025bf2789e470fdde989eee9121035c3 - - - - Fitness - fitness - classmo_steady_fit_sol_continue.html - a5c62e7049b36f6e71e92b559568c09e - - - - unsigned int - counter - classmo_steady_fit_sol_continue.html - 245c9099a2c40dfc4f34b3ff216d13ce - - - - - moTabuList - classmo_tabu_list.html - M - eoBF - - M::EOType - EOT - classmo_tabu_list.html - e219715cc3fdd5626764bc50ce6357df - - - - virtual void - add - classmo_tabu_list.html - 55204939b6d67b6d37b4af725d70cf6d - (const M &_move, const EOT &_solution)=0 - - - virtual void - update - classmo_tabu_list.html - a2e5d1132f064093c8ed57046405f5ca - ()=0 - - - virtual void - init - classmo_tabu_list.html - 0a06c459d56e8e2b408a8f3c6aec4e57 - ()=0 - - - - moTS - classmo_t_s.html - M - moAlgo< M::EOType > - - - moTS - classmo_t_s.html - 336408ddf8b7a29ffa8e01e9c18d8e10 - (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion, moSolContinue< EOT > &_continue, eoEvalFunc< EOT > &_full_evaluation) - - - - moTS - classmo_t_s.html - 7e435fac1b8d5a410b7374d114e005e2 - (moMoveExpl< M > &_move_explorer, moSolContinue< EOT > &_continue, eoEvalFunc< EOT > &_full_evaluation) - - - bool - operator() - classmo_t_s.html - 2a011779723e24a5132a37593775bf56 - (EOT &_solution) - - - M::EOType - EOT - classmo_t_s.html - 90d19d468c12ab5bd796948ce1ce79b1 - - - - EOT::Fitness - Fitness - classmo_t_s.html - aa0eefbb17111422e495d1255f876fca - - - - moMoveExpl< M > & - move_explorer - classmo_t_s.html - 9fd948a2c586f1991f5a1eee927af8a6 - - - - moSolContinue< EOT > & - continu - classmo_t_s.html - 962a37393faf5239e657388d375cd9b3 - - - - eoEvalFunc< EOT > & - full_evaluation - classmo_t_s.html - f44bb408007e2bff99f7a201842e8e48 - - - - - moTSMoveLoopExpl - classmo_t_s_move_loop_expl.html - M - moMoveLoopExpl - - - moTSMoveLoopExpl - classmo_t_s_move_loop_expl.html - be5cf0853777718c3bbcbef456b50bc7 - (moMoveInit< M > &_move_initializer, moNextMove< M > &_next_move_generator, moMoveIncrEval< M > &_incremental_evaluation, moTabuList< M > &_tabu_list, moAspirCrit< M > &_aspiration_criterion) - - - void - operator() - classmo_t_s_move_loop_expl.html - 853743f2e21def3ea129556f47fafa55 - (const EOT &_old_solution, EOT &_new_solution) - - - M::EOType - EOT - classmo_t_s_move_loop_expl.html - 47f42225e2ed096374b818bdb848a527 - - - - M::EOType::Fitness - Fitness - classmo_t_s_move_loop_expl.html - a1ba36c937b195ca2f7d1a24adaa7018 - - - - moMoveInit< M > & - move_initializer - classmo_t_s_move_loop_expl.html - cd680d22382b9941d2c34133a641d443 - - - - moNextMove< M > & - next_move_generator - classmo_t_s_move_loop_expl.html - a2bbb593af2beefb05a307277c22b3d5 - - - - moMoveIncrEval< M > & - incremental_evaluation - classmo_t_s_move_loop_expl.html - 491fa46e1cb7935cb515b27b85bf8765 - - - - moBestImprSelect< M > - move_selection - classmo_t_s_move_loop_expl.html - 1caa6939fbe65ec4255e9e6dc3ce333b - - - - moTabuList< M > & - tabu_list - classmo_t_s_move_loop_expl.html - 0e5988a940ba218e87c53b7e56d79790 - - - - moAspirCrit< M > & - aspiration_criterion - classmo_t_s_move_loop_expl.html - bdfc8efb22599c150b3c3d44cd416b09 - - - - diff --git a/trunk/paradiseo-mo/mo-conf.cmake b/trunk/paradiseo-mo/mo-conf.cmake deleted file mode 100755 index 2a7c9ecc4..000000000 --- a/trunk/paradiseo-mo/mo-conf.cmake +++ /dev/null @@ -1,6 +0,0 @@ -###################################################################################### -###################################################################################### -### In this file, you can specify many CMake variables used to build paradisEO-MO. -###################################################################################### -###################################################################################### - diff --git a/trunk/paradiseo-mo/src/CMakeLists.txt b/trunk/paradiseo-mo/src/CMakeLists.txt deleted file mode 100644 index 4ce15020e..000000000 --- a/trunk/paradiseo-mo/src/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ - -############################################################### -# This is a dummy file -############################################################### diff --git a/trunk/paradiseo-mo/src/index.h b/trunk/paradiseo-mo/src/index.h deleted file mode 100644 index c18fd6b98..000000000 --- a/trunk/paradiseo-mo/src/index.h +++ /dev/null @@ -1,68 +0,0 @@ -/** @mainpage Welcome to PARADISEO-Moving Objects - - @section Introduction - - MO is an extension of the ANSI-C++ compliant evolutionary computation library EO. -
- It contains classes for almost any kind of one solution based heuristics. - - @section authors AUTHORS - - - - - - - - -
Sebastien CAHON
- Jean-Charles BOISSON -
- - @section LICENSE - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - - - @section Paradiseo Home Page - - http://paradiseo.gforge.inria.fr - - @section Installation - - The installation procedure of the package is detailed in the - README file in the top-directory of the source-tree. - -*/ - - -// coding: iso-8859-1 -// mode: C++ -// c-file-style: "Stroustrup" -// fill-column: 80 -// End: diff --git a/trunk/paradiseo-mo/src/mo b/trunk/paradiseo-mo/src/mo deleted file mode 100755 index d0319b60a..000000000 --- a/trunk/paradiseo-mo/src/mo +++ /dev/null @@ -1,41 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef __mo -#define __mo - -#include "mo.h" - -#endif diff --git a/trunk/paradiseo-mo/src/mo.h b/trunk/paradiseo-mo/src/mo.h deleted file mode 100755 index efdab5ded..000000000 --- a/trunk/paradiseo-mo/src/mo.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 - (C) OPAC Team, LIFL, 2002-2007 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _mo_h -#define _mo_h - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/trunk/paradiseo-mo/src/moAlgo.h b/trunk/paradiseo-mo/src/moAlgo.h deleted file mode 100755 index a5152bb7f..000000000 --- a/trunk/paradiseo-mo/src/moAlgo.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - -*/ - -#ifndef _moAlgo_h -#define _moAlgo_h - -#include - -//! Description of an algorithm of the paradiseo-mo library -/*! - moHC, moTS and moSA are 3 examples of algorithm of the paradiseo-mo library. -*/ -template < class EOT > class moAlgo:public eoMonOp < EOT > -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moAspirCrit.h b/trunk/paradiseo-mo/src/moAspirCrit.h deleted file mode 100755 index efb6f74c2..000000000 --- a/trunk/paradiseo-mo/src/moAspirCrit.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moAspirCrit_h -#define _moAspirCrit_h - -#include - -//! Description of the conditions in which a tabu move could be accepted -/*! - It is only a description... An object that herits from this class is needed to be used in a moTS. - See moNoAspriCrit for example. -*/ -template < class M > -class moAspirCrit: public eoBF < const M &, const typename M::EOType::Fitness &, bool > -{ - public: - - //! Procedure which initialises all that needs an aspiration criterion. - /*! - It can be possible that this procedure does nothing... - */ - virtual void init () = 0; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moBestImprSelect.h b/trunk/paradiseo-mo/src/moBestImprSelect.h deleted file mode 100755 index c3aa6c2b5..000000000 --- a/trunk/paradiseo-mo/src/moBestImprSelect.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moBestImprSelect_h -#define _moBestImprSelect_h - -#include - -//! One of the possible moMoveSelect. -/*! - All neighbors are considered, and the movement - which enables the best improvement is selected. -*/ -template < class M > -class moBestImprSelect:public moMoveSelect < M > -{ - public: - - //! Alias for the fitness. - typedef typename M::EOType::Fitness Fitness; - - //! Procedure which initialise the exploration - /*! - \param _fitness The current fitness. - */ - void init (const Fitness & _fitness) - { - //Code only used to avoid warning because _fitness is not used in this procedure. - Fitness fitness; - fitness=(Fitness)_fitness; - - //std::cout.precision(10); - - //std::cout << "old fitness = " << _fitness << std::endl; - - first_time = true; - } - - - //!Function that indicates if the current move has not improved the fitness. - /*! - If the given fitness enables an improvment, - the move (moMove) and the fitness linked to this move are saved. - - \param _move a move. - \param _fitness a fitness linked to the move. - \return TRUE if the move does not improve the fitness. - */ - bool update (const M & _move, const Fitness & _fitness) - { - if ( first_time || (_fitness > best_fitness) ) - { - best_fitness = _fitness; - best_move = _move; - - first_time = false; - } - - //std::cout << "best fitness = " << best_fitness << std::endl; - - return true; - } - - //! Procedure which saved the best move and fitness. - /*! - \param _move the current move (result of the procedure). - \param _fitness the current fitness (result of the procedure). - */ - void operator () (M & _move, Fitness & _fitness) - { - if(first_time) - { - throw std::runtime_error("[moBestImprSelect.h]: no move or/and no fitness already saved, update has to be called first."); - } - - _move = best_move; - _fitness = best_fitness; - - - //std::cout << "Final fitness = " << best_fitness << std::endl; - } - - private: - - //! Allowing to know if at least one move has been generated. - bool first_time; - - //! The best move. - M best_move; - - //! The best fitness. - Fitness best_fitness; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moComparator.h b/trunk/paradiseo-mo/src/moComparator.h deleted file mode 100644 index 8c0f9ff60..000000000 --- a/trunk/paradiseo-mo/src/moComparator.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moComparator_h -#define _moComparator_h - - -//! Template for classes which need to compare two EOT and indicate if the first is "better" than the second. -/*! - The objects that extend this template describe how an EOT is "better" than an other. -*/ -template -class moComparator: public eoBF -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moCoolingSchedule.h b/trunk/paradiseo-mo/src/moCoolingSchedule.h deleted file mode 100644 index f2cd44164..000000000 --- a/trunk/paradiseo-mo/src/moCoolingSchedule.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moCoolingSchedule_h -#define _moCoolingSchedule_h - -#include - -//! This class gives the description of a cooling schedule. -/*! - It is only a description... An object that herits from this class is needed to be used in a moSA. - See moExponentialCoolingSchedule or moLinearCoolingSchedule for example. -*/ -class moCoolingSchedule : public eoUF < double &, bool > -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moExpl.h b/trunk/paradiseo-mo/src/moExpl.h deleted file mode 100644 index 803f0ead5..000000000 --- a/trunk/paradiseo-mo/src/moExpl.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Salma Mesmoudi (salma.mesmoudi@inria.fr), Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - */ -#ifndef _moExpl_h -#define _moExpl_h - -#include - -//! Description of an explorer -/*! - This class allows to use any mutation object as a neighborhood. -*/ -template < class EOT > -class moExpl : public eoBF < const EOT &, EOT &, bool > -{ - public: - - //! Generic constructor - /*! - Generic constructor using a eoMonOp - - \param _explorer Algorithme or mutation. - - */ - moExpl(eoMonOp & _explorer): index(0) - { - explorers.clear(); - addExplorer(_explorer); - } - - //! Procedure which launches the moExpl. - /*! - The exploration starts from an old solution and provides a new solution. - - \param _old_solution The current solution. - \param _new_solution The new solution (result of the procedure). - */ - - bool operator ()(const EOT & _old_solution, EOT & _new_solution) - { - _new_solution=(EOT)_old_solution; - return (*explorers[index])(_new_solution); - } - - //! Add an algorithm or mutation to neighborhoods vector - void addExplorer(eoMonOp & _new_explorer) - { - explorers.push_back(&_new_explorer); - } - - //! Procedure which modified the current explorer to use. - /*! - \param _index Index of the explorer to use. - */ - void setCurrentExplorer(unsigned int _index) - { - if( _index >= explorers.size() ) - { - std::cout << "[" << _index << "]" << std::endl; - throw std::runtime_error("[moExpl.h]: bad index "+_index); - } - index=_index; - } - - //! Function which returns the number of explorers already saved. - /*! - \return The number of explorers contained in the moExpl. - */ - unsigned int getExplorerNumber() - { - return explorers.size(); - } - - private : - - unsigned int index; - - //!Neighborhoods vector - std::vector< eoMonOp* > explorers; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moFirstImprSelect.h b/trunk/paradiseo-mo/src/moFirstImprSelect.h deleted file mode 100755 index 94ca93c16..000000000 --- a/trunk/paradiseo-mo/src/moFirstImprSelect.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moFirstImprSelect_h -#define _moFirstImprSelect_h - -#include - -//! One possible moMoveSelect. -/*! - The neighborhood is explored until - a move enables an improvment of the - current solution. -*/ -template < class M > -class moFirstImprSelect:public moMoveSelect < M > -{ - public: - - //! Alias for the fitness. - typedef typename M::EOType::Fitness Fitness; - - //! Procedure which initialise the exploration. - /*! - It save the current fitness as the initial value for the fitness. - \param _fitness The current fitness. - */ - virtual void init (const Fitness & _fitness) - { - valid = false; - initial_fitness = _fitness; - } - - //!Function that indicates if the current move has not improved the fitness. - /*! - If the given fitness enables an improvment, - the move (moMove) should be applied to the current solution. - - \param _move a move. - \param _fitness a fitness linked to the move. - \return true if the move does not improve the fitness. - */ - bool update (const M & _move, const Fitness & _fitness) - { - - if (_fitness > initial_fitness) - { - - best_fitness = _fitness; - best_move = _move; - valid = true; - - return false; - } - - return true; - } - - //! Procedure which saved the best move and fitness. - /*! - \param _move the current move (result of the procedure). - \param _fitness the current fitness (result of the procedure). - */ - void operator () (M & _move, Fitness & _fitness) - { - if (valid) - { - _move = best_move; - _fitness = best_fitness; - } - } - - private: - - //! Allow to know if at least one move has improved the solution. - bool valid; - - //! Best stored movement. - M best_move; - - //! Initial fitness. - Fitness initial_fitness; - - //! Best stored fitness. - Fitness best_fitness; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moFitComparator.h b/trunk/paradiseo-mo/src/moFitComparator.h deleted file mode 100644 index 6dd75b5ce..000000000 --- a/trunk/paradiseo-mo/src/moFitComparator.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moFitComparator_h -#define _moFitComparator_h - -#include - -//! Comparison according to the fitness. -/*! - An EOT is better than an other if its fitness is better. -*/ -template -class moFitComparator: public moComparator -{ - public: - - //! Function which makes the comparison and gives the result. - /*! - \param _solution1 The first solution. - \param _solution2 The second solution. - \return true if the fitness of the first solution is better than the second solution, false else. - */ - bool operator()(const EOT & _solution1, const EOT & _solution2) - { - return _solution1.fitness() > _solution2.fitness(); - } -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moFitSolContinue.h b/trunk/paradiseo-mo/src/moFitSolContinue.h deleted file mode 100644 index af3d375fc..000000000 --- a/trunk/paradiseo-mo/src/moFitSolContinue.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moFitSolContinue_h -#define _moFitSolContinue_h - -#include - -//! One possible stop criterion for a solution-based heuristic. -/*! - The stop criterion corresponds to a fitness threshold gained. -*/ -template < class EOT > -class moFitSolContinue:public moSolContinue < EOT > -{ - public: - - //! Alias for the fitness. - typedef typename EOT::Fitness Fitness; - - //! Basic constructor. - /*! - \param _fitness The fitness to reach. - */ - moFitSolContinue (Fitness _fitness): fitness(_fitness) - {} - - //! Function that activates the stopping criterion. - /*! - Indicates if the fitness threshold has not yet been reached. - - \param _solution the current solution. - \return true or false according to the value of the fitness. - */ - bool operator () (const EOT & _solution) - { - if ( _solution.invalid() ) - { - throw std::runtime_error("[moFitSolContinue.h]: The current solution has not been evaluated."); - } - - return fitness > _solution.fitness(); - } - - //! Procedure which allows to initialise all the stuff needed. - /*! - It can be also used to reinitialize all the needed things. - */ - void init () - {} - - private: - - //! Fitness target. - Fitness fitness; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moGenSolContinue.h b/trunk/paradiseo-mo/src/moGenSolContinue.h deleted file mode 100755 index f838e5447..000000000 --- a/trunk/paradiseo-mo/src/moGenSolContinue.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moGenSolContinue_h -#define _moGenSolContinue_h - -#include "moSolContinue.h" - -//! One possible stop criterion for a solution-based heuristic. -/*! - The stop criterion corresponds to a maximum number of iteration. -*/ -template < class EOT > -class moGenSolContinue:public moSolContinue < EOT > -{ - public: - - //! Simple constructor. - /*! - \param _generationMaximumNumber The maximum number of generations. - */ - moGenSolContinue (unsigned int _generationMaximumNumber): generationMaximumNumber(_generationMaximumNumber), generationNumber(0) - {} - - //! Function that activates the stop criterion. - /*! - Increments the counter and returns TRUE if the - current number of iteration is lower than the given - maximum number of iterations. - - \param _solution The current solution. - \return true or false according to the current generation number. - */ - bool operator () (const EOT & _solution) - { - //code only used for avoiding warning because _sol is not used in this function. - const EOT solution(_solution); - - return (++generationNumber < generationMaximumNumber); - } - - //! Procedure which allows to initialise the generation counter. - /*! - It can also be used to reset the iteration counter. - */ - void init () - { - generationNumber = 0; - } - - private: - - //! Iteration maximum number. - unsigned int generationMaximumNumber; - - //! Iteration current number. - unsigned int generationNumber; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moGeometricCoolingSchedule.h b/trunk/paradiseo-mo/src/moGeometricCoolingSchedule.h deleted file mode 100644 index c0cc6fc5a..000000000 --- a/trunk/paradiseo-mo/src/moGeometricCoolingSchedule.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moGeometricCoolingSchedule_h -#define _moGeometricCoolingSchedule_h - -#include - -//! One of the possible moCoolingSchedule -/*! - An other very simple cooling schedule, the temperature decrease according to a ratio while - the temperature is greater than a given threshold. -*/ -class moGeometricCoolingSchedule: public moCoolingSchedule -{ - public: - - //! Simple constructor - /*! - \param _threshold the threshold. - \param _ratio the ratio used to descrease the temperature. - */ - moGeometricCoolingSchedule (double _threshold, double _ratio):threshold (_threshold), ratio (_ratio) - {} - - //! Function which proceeds to the cooling. - /*! - It decreases the temperature and indicates if it is greater than the threshold. - - \param _temperature the current temperature. - \return if the new temperature (current temperature * ratio) is greater than the threshold. - */ - bool operator() (double & _temperature) - { - return (_temperature *= ratio) > threshold; - } - - private: - - //! The temperature threhold. - double threshold; - - //! The decreasing factor of the temperature. - double ratio; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moHC.h b/trunk/paradiseo-mo/src/moHC.h deleted file mode 100755 index d96c8c280..000000000 --- a/trunk/paradiseo-mo/src/moHC.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef __moHC_h -#define __moHC_h - -#include - -#include -#include - -//! Hill Climbing (HC) -/*! - Class which describes the algorithm for a hill climbing. -*/ -template < class M > -class moHC:public moAlgo < typename M::EOType > -{ - //! Alias for the type. - typedef typename M::EOType EOT; - - //! Alias for the fitness. - typedef typename EOT::Fitness Fitness; - - public: - - //! Full constructor. - /*! - All the boxes are given in order the HC to use a moHCMoveLoopExpl. - - \param _move_initializer a move initialiser. - \param _next_move_generator a neighborhood explorer. - \param _incremental_evaluation a (generally) efficient evaluation function. - \param _move_selection a move selector. - \param _full_evaluation a full evaluation function. - */ - moHC (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, - moMoveIncrEval < M > & _incremental_evaluation, moMoveSelect < M > & _move_selection, eoEvalFunc < EOT > & _full_evaluation) : - move_explorer(new moHCMoveLoopExpl(_move_initializer, _next_move_generator, _incremental_evaluation, _move_selection)), - full_evaluation (_full_evaluation), move_explorer_memory_allocation(true) - {} - - //! Light constructor. - /*! - This constructor allow to use another moMoveExpl (generally not a moHCMoveLoopExpl). - - \param _move_explorer a complete explorer. - \param _full_evaluation a full evaluation function. - */ - moHC (moMoveExpl < M > & _move_explorer, eoEvalFunc < EOT > & _full_evaluation): - move_explorer (&_move_explorer), full_evaluation (_full_evaluation), move_explorer_memory_allocation(false) - {} - - //! Destructor - ~moHC() - { - if(move_explorer_memory_allocation) - { - delete(move_explorer); - } - } - - //! Function which launches the HC - /*! - The HC has to improve a current solution. - As the moSA and the mo TS, it can be used for HYBRIDATION in an evolutionnary algorithm. - - \param _solution a current solution to improve. - \return true. - */ - bool operator ()(EOT & _solution) - { - EOT new_solution; - - if ( _solution.invalid() ) - { - full_evaluation(_solution); - } - - new_solution=_solution; - - do - { - _solution=new_solution; - (*move_explorer) (_solution, new_solution); - } - while ( new_solution.fitness() > _solution.fitness() ); - - return true; - } - - private: - - //! Complete exploration of the neighborhood. - moMoveExpl < M > * move_explorer; - - //! A full evaluation function. - eoEvalFunc < EOT > & full_evaluation; - - //! Indicate if the memory has been allocated for the move_explorer. - bool move_explorer_memory_allocation; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moHCMoveLoopExpl.h b/trunk/paradiseo-mo/src/moHCMoveLoopExpl.h deleted file mode 100755 index 44f806ecb..000000000 --- a/trunk/paradiseo-mo/src/moHCMoveLoopExpl.h +++ /dev/null @@ -1,138 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef __moHCMoveLoopExpl_h -#define __moHCMoveLoopExpl_h - -#include -#include -#include -#include -#include - -//! Iterative explorer used by a moHC. -template < class M > -class moHCMoveLoopExpl:public moMoveLoopExpl < M > -{ - //! Alias for the type. - typedef typename M::EOType EOT; - - //! Alias for the fitness. - typedef typename M::EOType::Fitness Fitness; - - public: - - //! Constructor. - /*! - All the boxes have to be specified. - - \param _move_initializer The move initialiser. - \param _next_move_generator The neighbourhood explorer. - \param _incremental_evaluation (generally) Efficient evaluation function. - \param _move_selection The move selector. - */ - moHCMoveLoopExpl (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, - moMoveIncrEval < M > & _incremental_evaluation, moMoveSelect < M > & _move_selection) : - move_initializer (_move_initializer), next_move_generator (_next_move_generator), - incremental_evaluation (_incremental_evaluation), move_selection (_move_selection) - {} - - //! Procedure which launches the explorer. - /*! - The exploration starts from an old solution and provides a new solution. - - \param _old_solution The current solution. - \param _new_solution The new solution (result of the procedure). - */ - void operator () (const EOT & _old_solution, EOT & _new_solution) - { - M move, best_move; - Fitness best_fitness; - bool has_next_move, selection_update_is_ok; - - if( _old_solution.invalid() ) - { - throw std::runtime_error("[moHCMoveLoopExpl.h]: The current solution has not been evaluated."); - } - - /* - The two following lines are added to avoid compilation warning. - <=> current best move fitness is the current fitness. - <=> move and best move are empty for the moment. - */ - best_fitness=_old_solution.fitness(); - move=best_move; - - //At the begining, the new sol is equivalent to the old one. - _new_solution=(EOT)_old_solution; - - // Restarting the exploration of the neighbourhood - move_initializer(move, _old_solution); - - move_selection.init(_old_solution.fitness ()); - - do - { - selection_update_is_ok = move_selection.update (move, incremental_evaluation(move, _old_solution) ); - has_next_move = next_move_generator (move, _old_solution); - } - while ( selection_update_is_ok && has_next_move); - - //The selecter gives the value of the best move and the corresponding best fitness. - move_selection (best_move, best_fitness); - - //The best move is applied on the new solution. - best_move(_new_solution); - - //The fitness is set (avoid an additional fitness compuation). - _new_solution.fitness (best_fitness); - } - - private: - - //! Move initialiser. - moMoveInit < M > & move_initializer; - - //! Neighborhood explorer. - moNextMove < M > & next_move_generator; - - //! (generally) Efficient evaluation. - moMoveIncrEval < M > & incremental_evaluation; - - //! Move selector. - moMoveSelect < M > & move_selection; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moILS.h b/trunk/paradiseo-mo/src/moILS.h deleted file mode 100644 index 48eac8565..000000000 --- a/trunk/paradiseo-mo/src/moILS.h +++ /dev/null @@ -1,228 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moILS_h -#define _moILS_h - -#include - -#include -#include -#include - -//! Iterated Local Search (ILS) -/*! - Class which describes the algorithm for a iterated local search. -*/ -template < class M > -class moILS:public moAlgo < typename M::EOType > -{ - //! Alias for the type. - typedef typename M::EOType EOT; - - //! Alias for the fitness. - typedef typename EOT::Fitness Fitness; - - public: - - //! Generic constructor - /*! - Generic constructor using a moAlgo - - \param _algorithm The solution based heuristic to use. - \param _continue The stopping criterion. - \param _acceptance_criterion The acceptance criterion. - \param _perturbation The pertubation generator. - \param _full_evaluation The evaluation function. - */ - moILS (moAlgo & _algorithm, moSolContinue & _continue, moComparator & _acceptance_criterion, - eoMonOp & _perturbation, eoEvalFunc & _full_evaluation): - algorithm(& _algorithm), continu(_continue), acceptance_criterion(_acceptance_criterion), - perturbation(_perturbation), full_evaluation(_full_evaluation), algorithm_memory_allocation(false) - {} - - //! Constructor for using a moHC for the moAlgo - /*! - \param _move_initializer The move initialisation (for the moHC). - \param _next_move_generator The move generator (for the moHC). - \param _incremental_evaluation The partial evaluation function (for the moHC). - \param _move_selection The move selection strategy (for the moHC). - \param _continue The stopping criterion. - \param _acceptance_criterion The acceptance criterion. - \param _perturbation The pertubation generator. - \param _full_evaluation The evaluation function. - */ - moILS (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, - moMoveIncrEval < M > & _incremental_evaluation, moMoveSelect < M > & _move_selection, - moSolContinue & _continue, moComparator & _acceptance_criterion, - eoMonOp & _perturbation, eoEvalFunc & _full_evaluation): - algorithm(new moHC(_move_initializer, _next_move_generator, _incremental_evaluation, _move_selection, _full_evaluation) ), - continu(_continue), acceptance_criterion(_acceptance_criterion), perturbation(_perturbation), full_evaluation(_full_evaluation), - algorithm_memory_allocation(true) - {} - - //! Constructor for using a moTS for the moAlgo - /*! - \param _move_initializer The move initialisation (for the moTS). - \param _next_move_generator The move generator (for the moTS). - \param _incremental_evaluation The partial evaluation function (for the moTS). - \param _tabu_list The tabu list (for the moTS !!!!). - \param _aspiration_criterion The aspiration criterion (for the moTS). - \param _moTS_continue The stopping criterion (for the moTS). - \param _continue The stopping criterion. - \param _acceptance_criterion The acceptance criterion. - \param _perturbation The pertubation generator. - \param _full_evaluation The evaluation function. - */ - moILS (moMoveInit & _move_initializer, moNextMove & _next_move_generator, - moMoveIncrEval & _incremental_evaluation, moTabuList & _tabu_list, - moAspirCrit & _aspiration_criterion, moSolContinue & _moTS_continue, - moSolContinue & _continue, moComparator & _acceptance_criterion, eoMonOp & _perturbation, - eoEvalFunc & _full_evaluation): - algorithm(new moTS(_move_initializer, _next_move_generator, _incremental_evaluation, _tabu_list, _aspiration_criterion, - _moTS_continue, _full_evaluation) ), - continu(_continue), acceptance_criterion(_acceptance_criterion), perturbation(_perturbation), full_evaluation(_full_evaluation), - algorithm_memory_allocation(true) - {} - - //! Constructor for using a moSA for the moAlgo - /*! - \param _random_move_generator The random move generator (for the moSA). - \param _incremental_evaluation The partial evaluation function (for the moSA). - \param _moSA_continue The stopping criterion (for the moSA). - \param _initial_temperature The initial temperature (for the moSA). - \param _cooling_schedule The cooling schedule (for the moSA). - \param _continue The stopping criterion. - \param _acceptance_criterion The acceptance criterion. - \param _perturbation The pertubation generator. - \param _full_evaluation The evaluation function. - */ - moILS (moRandMove & _random_move_generator, moMoveIncrEval & _incremental_evaluation, moSolContinue & _moSA_continue, - double _initial_temperature, moCoolingSchedule & _cooling_schedule, moSolContinue & _continue, - moComparator & _acceptance_criterion, eoMonOp & _perturbation, eoEvalFunc & _full_evaluation): - algorithm(new moSA(_random_move_generator, _incremental_evaluation, _moSA_continue, _initial_temperature, - _cooling_schedule, _full_evaluation) ), - continu(_continue), acceptance_criterion(_acceptance_criterion), perturbation(_perturbation), full_evaluation(_full_evaluation), - algorithm_memory_allocation(true) - {} - - //! Destructor - ~moILS() - { - if(algorithm_memory_allocation) - { - delete(algorithm); - } - } - - //! Function which launches the ILS - /*! - The ILS has to improve a current solution. - As the moSA, the moTS and the moHC, it can be used for HYBRIDATION in an evolutionnary algorithm. - - \param _solution a current solution to improve. - \return true. - */ - bool operator()(EOT & _solution) - { - EOT _solution_saved; - - if ( _solution.invalid() ) - { - full_evaluation(_solution); - } - - _solution_saved=_solution; - - continu.init (); - - // some code has been duplicated in order to avoid one perturbation and one evaluation without adding a test in the loop. - // better than a do {} while; with a test in the loop. - - (*algorithm)(_solution); - - if ( acceptance_criterion(_solution, _solution_saved) ) - { - _solution_saved=_solution; - - } - else - { - _solution=_solution_saved; - } - - while ( continu (_solution) ) - { - perturbation(_solution); - //_solution.invalidate(); - full_evaluation(_solution); - - (*algorithm)(_solution); - - if ( acceptance_criterion(_solution, _solution_saved) ) - { - _solution_saved=_solution; - } - else - { - _solution=_solution_saved; - } - } - - return true; - } - - private: - - //! The solution based heuristic. - moAlgo * algorithm; - - //! The stopping criterion. - moSolContinue & continu; - - //! The acceptance criterion. - moComparator & acceptance_criterion; - - //! The perturbation generator - eoMonOp & perturbation; - - //! The full evaluation function - eoEvalFunc & full_evaluation; - - //! Indicate if the memory has been allocated for the algorithm. - bool algorithm_memory_allocation; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moImprBestFitAspirCrit.h b/trunk/paradiseo-mo/src/moImprBestFitAspirCrit.h deleted file mode 100755 index af798a387..000000000 --- a/trunk/paradiseo-mo/src/moImprBestFitAspirCrit.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moImprBestFitAspirCrit_h -#define _moImprBestFitAspirCrit_h - -#include - -//! One of the possible moAspirCrit -/*! - This criterion is satisfied when a given fitness - is the best ever considered. -*/ -template < class M > -class moImprBestFitAspirCrit:public moAspirCrit < M > -{ - - public: - - //! Alias for the fitness - typedef typename M::EOType::Fitness Fitness; - - //! Contructor - moImprBestFitAspirCrit (): first_time(true) - {} - - //! Initialisation procedure - void init () - { - first_time = true; - } - - //! Function that indicates if the current fitness is better that the already saved fitness - /*! - The first time, the function only saved the current move and fitness. - - \param _move A move. - \param _fitness A fitness linked to the move. - \return true The first time and if _fitness > best_fitness, else false. - */ - bool operator () (const M & _move, const Fitness & _fitness) - { - //code only used for avoiding warning because _move is not used in this function. - const M move(_move); - - if (first_time) - { - best_fitness = _fitness; - first_time = false; - - return true; - } - - if (_fitness > best_fitness) - { - best_fitness = _fitness; - return true; - } - return false; - } - - private: - - //! Best fitness found until now - Fitness best_fitness; - - //! Indicates that a fitness has been already saved or not - bool first_time; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moItRandNextMove.h b/trunk/paradiseo-mo/src/moItRandNextMove.h deleted file mode 100755 index 0bb3ef155..000000000 --- a/trunk/paradiseo-mo/src/moItRandNextMove.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moItRandNextMove_h -#define _moItRandNextMove_h - -#include -#include - -//! One of the possible moNextMove. -/*! - This class is a move (moMove) generator with a bound for the maximum number of iterations. -*/ -template < class M > -class moItRandNextMove:public moNextMove < M > -{ - //! Alias for the type. - typedef typename M::EOType EOT; - - public: - - //! The constructor. - /*! - Parameters only for initialising the attributes. - - \param _random_move_generator The random move generator. - \param _iteration_maximum_number The iteration maximum number. - */ - moItRandNextMove (moRandMove < M > & _random_move_generator, unsigned int _iteration_maximum_number): - random_move_generator(_random_move_generator), iteration_maximum_number(_iteration_maximum_number), iteration_number(0) - {} - - //! Generation of a new move - /*! - If the maximum number is not already reached, the current move is forgotten and remplaced by another one. - - \param _move the current move. - \param _solution the current solution. - \return false if the maximum number of iteration is reached, else true. - */ - bool operator () (M & _move, const EOT & _solution) - { - //code only used to avoid warning because _solution is not used in this function. - const EOT solution(_solution); - - if (iteration_number > iteration_maximum_number) - { - iteration_number = 0; - return false; - } - - random_move_generator (_move); - iteration_number++; - - return true; - } - - private: - - //! A move generator (generally randomly). - moRandMove < M > & random_move_generator; - - //! Iteration maximum number. - unsigned int iteration_maximum_number; - - //! Iteration current number. - unsigned int iteration_number; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moLSCheckPoint.h b/trunk/paradiseo-mo/src/moLSCheckPoint.h deleted file mode 100755 index 1b5c64943..000000000 --- a/trunk/paradiseo-mo/src/moLSCheckPoint.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moLSCheckPoint_h -#define _moLSCheckPoint_h - -#include - -//! Class which allows a checkpointing system. -/*! - Thanks to this class, at each iteration, additionnal function can be used (and not only one). -*/ -template < class M > -class moLSCheckPoint:public eoBF < const M &, const typename M::EOType &, void > -{ - public: - - //! Function which launches the checkpointing - /*! - Each saved function is used on the current move and the current solution. - - \param _move a move. - \param _solution a solution. - */ - void operator () (const M & _move, const typename M::EOType & _solution) - { - unsigned int i; - - for (i = 0; i < functions.size (); i++) - { - functions[i]->operator ()(_move, _solution); - } - } - - //! Procedure which add a new function to the function vector - /*! - The new function is added at the end of the vector. - \param _function a new function to add. - */ - void add (eoBF < const M &, const typename M::EOType &, void >& _function) - { - functions.push_back(& _function); - } - - private: - - //! Vector of functions. - std::vector < eoBF < const M &, const typename M::EOType &, void >*> functions; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moLinearCoolingSchedule.h b/trunk/paradiseo-mo/src/moLinearCoolingSchedule.h deleted file mode 100644 index 205593ce4..000000000 --- a/trunk/paradiseo-mo/src/moLinearCoolingSchedule.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moLinearCoolingSchedule_h -#define _moLinearCoolingSchedule_h - -#include - -//! One of the possible moCoolingSchedule -/*! - An another very simple cooling schedule, the temperature decrease according to a quantity while - the temperature is greater than a threshold. -*/ -class moLinearCoolingSchedule: public moCoolingSchedule -{ - - public: - //! Simple constructor - /*! - \param _threshold the threshold. - \param _quantity the quantity used to descrease the temperature. - */ - moLinearCoolingSchedule (double _threshold, double _quantity):threshold (_threshold), quantity (_quantity) - {} - - //! Function which proceeds to the cooling. - /*! - It decreases the temperature and indicates if it is greater than the threshold. - - \param _current_temperature The current temperature. - \return true if the new temperature (current temperature - quantity) is greater than the threshold, false otherwise. - */ - bool operator() (double & _current_temperature) - { - return (_current_temperature -= quantity) > threshold; - } - - private: - - //! The temperature threhold. - double threshold; - - //! The quantity that allows the temperature to decrease. - double quantity; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moMove.h b/trunk/paradiseo-mo/src/moMove.h deleted file mode 100755 index d24832db3..000000000 --- a/trunk/paradiseo-mo/src/moMove.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - -*/ - -#ifndef _moMove_h -#define _moMove_h - -#include - -//! Definition of a move. - -/*! - A move transforms a solution to another close solution. - It describes how a solution can be modified to another one. -*/ -template < class EOT > -class moMove:public eoUF < EOT &, void > -{ - public: - - //! Alias for the type - typedef EOT EOType; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moMoveExpl.h b/trunk/paradiseo-mo/src/moMoveExpl.h deleted file mode 100755 index 3fb266f7a..000000000 --- a/trunk/paradiseo-mo/src/moMoveExpl.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moMoveExpl_h -#define _moMoveExpl_h - -#include - -//! Description of a move (moMove) explorer -/*! - Only a description...See moMoveLoopExpl. -*/ -template < class M > -class moMoveExpl : public eoBF < const typename M::EOType &, typename M::EOType &, void > -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moMoveIncrEval.h b/trunk/paradiseo-mo/src/moMoveIncrEval.h deleted file mode 100755 index af1032dcd..000000000 --- a/trunk/paradiseo-mo/src/moMoveIncrEval.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moMoveIncrEval_h -#define _moMoveIncrEval_h - -#include - -//! (generally) Efficient evaluation function based a move and a solution. - -/*! - From a move and a solution, it computes - a new fitness that could be associated to - the solution if this one is updated. -*/ -template < class M, class Objective = typename M::EOType::Fitness> -class moMoveIncrEval:public eoBF < const M &, const typename M::EOType &, Objective > -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moMoveInit.h b/trunk/paradiseo-mo/src/moMoveInit.h deleted file mode 100755 index bd521d90a..000000000 --- a/trunk/paradiseo-mo/src/moMoveInit.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moMoveInit_h -#define _moMoveInit_h - -#include - -//! Move (moMove) initializer -/*! - Class which allows to initiase a move. - Only a description... An object that herits from this class needs to be designed to be used. -*/ -template < class M > -class moMoveInit:public eoBF < M &, const typename M::EOType &, void > -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moMoveLoopExpl.h b/trunk/paradiseo-mo/src/moMoveLoopExpl.h deleted file mode 100755 index 9068f1c81..000000000 --- a/trunk/paradiseo-mo/src/moMoveLoopExpl.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - -*/ - -#ifndef _moMoveLoopExpl_h -#define _moMoveLoopExpl_h - -#include - -//! Class which describes an iterative explorer -/*! - Only a description... moHCMoveLoopExpl and moTSMoveLoopExpl are exemples of class that are a moMoveLoopExpl. -*/ -template < class M > -class moMoveLoopExpl:public moMoveExpl < M > -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moMoveSelect.h b/trunk/paradiseo-mo/src/moMoveSelect.h deleted file mode 100755 index 0b7b863a5..000000000 --- a/trunk/paradiseo-mo/src/moMoveSelect.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - -*/ - -#ifndef _moMoveSelect_h -#define _moMoveSelect_h - -#include -#include - -//! Class that describes a move selector (moMove). -/*! - It iteratively considers some moves (moMove) and their - associated fitnesses. The best move is so regularly updated. - At any time, it could be accessed. -*/ -template < class M > -class moMoveSelect:public eoBF < M &, typename M::EOType::Fitness &, void > -{ - public: - //! Alias for the fitness - typedef typename M::EOType::Fitness Fitness; - - //! Procedure which initialises all that the move selector needs including the initial fitness. - /*! - In order to know the fitness of the solution, - for which the neighborhood will - be soon explored - - \param _fitness the current fitness. - */ - virtual void init (const Fitness & _fitness) = 0; - - //! Function which updates the best solutions. - /*! - \param _move a new move. - \param _fitness a fitness linked to the new move. - \return a boolean that expresses the need to resume the exploration. - */ - virtual bool update (const M & _move, const Fitness & _fitness) = 0; - -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moNextMove.h b/trunk/paradiseo-mo/src/moNextMove.h deleted file mode 100755 index 5a067039c..000000000 --- a/trunk/paradiseo-mo/src/moNextMove.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moNextMove_h -#define _moNextMove_h - -#include - -//! Class which allows to generate a new move (moMove). -/*! - Useful for the explorer (for moTS or moHC). - Does nothing... An object that herits from this class needs to be designed for being used. -*/ -template < class M > -class moNextMove:public eoBF < M &, const typename M::EOType &, bool > -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moNoAspirCrit.h b/trunk/paradiseo-mo/src/moNoAspirCrit.h deleted file mode 100755 index cbff69ec7..000000000 --- a/trunk/paradiseo-mo/src/moNoAspirCrit.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - -*/ - -#ifndef _moNoAspirCrit_h -#define _moNoAspirCrit_h - -#include - -//! One of the possible aspiration criterion (moAspirCrit) -/*! - The simplest : never satisfied. -*/ -template < class M > -class moNoAspirCrit:public moAspirCrit < M > -{ - public: - - //! Function which describes the aspiration criterion behaviour - /*! - Does nothing. - - \param _move a move. - \param _fitness a fitness. - \return false. - */ - bool operator () (const M & _move, const typename M::EOType::Fitness & _fitness) - { - //Code only used to avoid warning because _move and _fitness are not used in this procedure. - const M move(_move); - typename M::EOType::Fitness fitness; - fitness=(typename M::EOType::Fitness)_fitness; - - return false; - } - - //! Procedure which initialises all that needs a moNoAspirCrit. - /*! - Nothing... - */ - void init () - {} -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moNoFitImprSolContinue.h b/trunk/paradiseo-mo/src/moNoFitImprSolContinue.h deleted file mode 100644 index 1ff44a788..000000000 --- a/trunk/paradiseo-mo/src/moNoFitImprSolContinue.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moNoFitImprSolContinue_h -#define _moNoFitImprSolContinue_h - -#include - -//! One possible stop criterion for a solution-based heuristic. -/*! - The stop criterion corresponds to a maximum number of iterations without improvement. -*/ -template < class EOT > -class moNoFitImprSolContinue:public moSolContinue < EOT > -{ - public: - - //! Alias for the fitness. - typedef typename EOT::Fitness Fitness; - - //! Basic constructor. - /*! - \param _maxNumberOfIterationWithoutImprovement The number of iterations without fitness improvement to reach for stop. - */ - moNoFitImprSolContinue (unsigned int _maxNumberOfIterationWithoutImprovement) - : maxNumberOfIterationsWithoutImprovement(_maxNumberOfIterationWithoutImprovement), firstFitnessSaved(true), counter(0) - {} - - //! Function that activates the stopping criterion. - /*! - Indicates if the fitness has not been improved since a given number of iterations (after a minimum of iterations). - \param _solution the current solution. - \return true or false. - */ - bool operator () (const EOT & _solution) - { - if (_solution.invalid()) - { - throw std::runtime_error("[moNoFitImprSolContinue.h]: The current solution has not been evaluated."); - } - - if (firstFitnessSaved) - { - fitness=_solution.fitness(); - counter=0; - firstFitnessSaved=false; - return true; - } - - counter++; - - if ( _solution.fitness() > fitness) - { - fitness=_solution.fitness(); - counter=0; - } - - if (counter==maxNumberOfIterationsWithoutImprovement) - { - std::cout << "[moNoFitImrpSolContinue.h]: Done [" << counter << "] iterations without improvement." << std::endl; - } - - return counter!=maxNumberOfIterationsWithoutImprovement; - } - - //! Procedure which allows to initialise all the stuff needed. - /*! - It can be also used to reinitialize all the needed things. - */ - void init () - { - firstFitnessSaved=true; - counter=0; - } - - private: - - //! Maximum number of iterations without improvement allowed. - unsigned int maxNumberOfIterationsWithoutImprovement; - - //! Flag that this is the first time that the fitness is used. - bool firstFitnessSaved; - - //! Current Fitness. - Fitness fitness; - - //! The iteration couter. - unsigned int counter; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moRandImprSelect.h b/trunk/paradiseo-mo/src/moRandImprSelect.h deleted file mode 100755 index 447b7b455..000000000 --- a/trunk/paradiseo-mo/src/moRandImprSelect.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moRandImprSelect_h -#define _moRandImprSelect_h - -#include -#include -#include - -//! One of the possible moMove selector (moMoveSelect) -/*! - All the neighbors are considered. - One of them that enables an improvment of the objective function is choosen. -*/ -template < class M > -class moRandImprSelect: public moMoveSelect < M > -{ - public: - - //! Alias for the fitness - typedef typename M::EOType::Fitness Fitness; - - //!Procedure which all that needs a moRandImprSelect - /*! - Give a value to the initialise fitness. - Clean the move and fitness vectors. - - \param _fitness the current best fitness - */ - void init (const Fitness & _fitness) - { - initial_fitness = _fitness; - better_fitnesses.clear(); - better_moves.clear(); - firstTime=true; - } - - //! Function that updates the fitness and move vectors - /*! - if a move give a better fitness than the initial fitness, - it is saved and the fitness too. - - \param _move a new move. - \param _fitness a new fitness associated to the new move. - \return true. - */ - bool update (const M & _move, const Fitness & _fitness) - { - firstTime=false; - - if (_fitness > initial_fitness) - { - better_fitnesses.push_back(_fitness); - better_moves.push_back(_move); - } - - return true; - } - - //! The move selection - /*! - One the saved move is randomly chosen. - - \param _move the reference of the move that can be initialised by the function. - \param _fitness the reference of the fitness that can be initialised by the function. - */ - void operator () (M & _move, Fitness & _fitness) - { - unsigned int index; - - index=0; - - if( (better_fitnesses.size()==0) || (better_moves.size()==0) ) - { - if(firstTime) - { - throw std::runtime_error("[moRandImprSelect.h]: no move or/and no fitness already saved, update has to be called first."); - } - return; - } - - index = rng.random (better_fitnesses.size ()); - - _move = better_moves[index]; - _fitness = better_fitnesses[index]; - } - - private: - - //! Fitness of the current solution. - Fitness initial_fitness; - - //! Candidate fitnesse vector. - std::vector < Fitness > better_fitnesses; - - //! Candidate move vector. - std::vector < M > better_moves; - - //! Indicate if update has been called or not. - bool firstTime; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moRandMove.h b/trunk/paradiseo-mo/src/moRandMove.h deleted file mode 100755 index 0ed46072a..000000000 --- a/trunk/paradiseo-mo/src/moRandMove.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moRandMove_h -#define _moRandMove_h - -#include - -//! Random move generator -/*! - Only a description... An object that herits from this class needs to be designed in order to use a moSA. -*/ -template < class M > -class moRandMove:public eoUF < M &, void > -{}; - -#endif diff --git a/trunk/paradiseo-mo/src/moSA.h b/trunk/paradiseo-mo/src/moSA.h deleted file mode 100755 index 8506f799e..000000000 --- a/trunk/paradiseo-mo/src/moSA.h +++ /dev/null @@ -1,163 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moSA_h -#define _moSA_h - -#include -#include -#include -#include -#include -#include - -//! Simulated Annealing (SA) -/*! - Class that describes a Simulated Annealing algorithm. -*/ -template < class M > -class moSA:public moAlgo < typename M::EOType > -{ - //! Alias for the type - typedef typename M::EOType EOT; - - //! Alias for the fitness - typedef typename EOT::Fitness Fitness; - - public: - - //! SA constructor - /*! - All the boxes used by a SA need to be given. - - \param _random_move_generator The move generator (generally randomly). - \param _incremental_evaluation The (generally) efficient evaluation function - \param _continue The stopping criterion. - \param _initial_temperature The initial temperature. - \param _cooling_schedule The cooling schedule, describes how the temperature is modified. - \param _full_evaluation The full evaluation function. - */ - moSA (moRandMove < M > & _random_move_generator, moMoveIncrEval < M > & _incremental_evaluation, - moSolContinue < EOT > & _continue, double _initial_temperature, moCoolingSchedule & _cooling_schedule, - eoEvalFunc < EOT > & _full_evaluation): - random_move_generator(_random_move_generator), incremental_evaluation(_incremental_evaluation), - continu(_continue), initial_temperature(_initial_temperature), - cooling_schedule(_cooling_schedule), full_evaluation(_full_evaluation) - {} - - //! function that launches the SA algorithm. - /*! - As a moTS or a moHC, the SA can be used for HYBRIDATION in an evolutionary algorithm. - - \param _solution A solution to improve. - \return TRUE. - */ - bool operator ()(EOT & _solution) - { - Fitness incremental_fitness, delta_fit; - EOT best_solution; - double temperature; - M move; - - if (_solution.invalid()) - { - full_evaluation (_solution); - } - - temperature = initial_temperature; - - best_solution = _solution; - - do - { - continu.init (); - - do - { - random_move_generator(move); - - incremental_fitness = incremental_evaluation (move, _solution); - - delta_fit = incremental_fitness - _solution.fitness (); - - if( (_solution.fitness() > incremental_fitness ) && (exp (delta_fit / temperature) > 1.0) ) - { - delta_fit = -delta_fit; - } - - if ( (incremental_fitness > _solution.fitness()) || (rng.uniform () < exp (delta_fit / temperature)) ) - { - move(_solution); - _solution.fitness(incremental_fitness); - - // Updating the best solution found until now ? - if ( _solution.fitness() > best_solution.fitness() ) - { - best_solution = _solution; - } - } - - } - while ( continu (_solution) ); - } - while ( cooling_schedule (temperature) ); - - _solution = best_solution; - - return true; - } - - private: - - //! A move generator (generally randomly) - moRandMove < M > & random_move_generator; - - //! A (generally) efficient evaluation function. - moMoveIncrEval < M > & incremental_evaluation; - - //! Stopping criterion before temperature update - moSolContinue < EOT > & continu; - - //! Initial temperature - double initial_temperature; - - //! The cooling schedule - moCoolingSchedule & cooling_schedule; - - //! A full evaluation function. - eoEvalFunc < EOT > & full_evaluation; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moSimpleMoveTabuList.h b/trunk/paradiseo-mo/src/moSimpleMoveTabuList.h deleted file mode 100755 index e7f51c032..000000000 --- a/trunk/paradiseo-mo/src/moSimpleMoveTabuList.h +++ /dev/null @@ -1,154 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moSimpleMoveTabuList_h -#define _moSimpleMoveTabuList_h - -#include -#include - -#include - -//! Class describing a move tabu list with a limited memory. -template -class moSimpleMoveTabuList: public moTabuList < M > -{ - public: - - //! Alias for the type - typedef typename M::EOType EOT; - - //! Alias for an iterator of a move list. - typedef typename std::list::iterator moveIterator; - - //! Constructor - /* - \param _size The maximum size of the move tabu list. - */ - moSimpleMoveTabuList(unsigned int _memory_maximum_size): memory_maximum_size(_memory_maximum_size), memory_size(0) - {} - - //! Function that indicates if, in a given state, the _move is tabu or not. - /*! - \param _move A given moMove. - \param _solution A solution. - \return true or false. - */ - bool operator () (const M & _move, const EOT & _solution) - { - moveIterator it; - //code only used to avoid warning because _solution is not used in this function. - EOT solution=(EOT)_solution; - - it=tabuList.begin(); - // The code is !(*it)==_move instead of (*it)!=_move because people designing their specific move representation - // will write the "==" operator (I hope) but not necessary the "!=" operator. - while ( it!=tabuList.end() && !((*it)==_move) ) - { - it++; - } - - return it!=tabuList.end(); - } - - void add(const M & _move, const EOT & _solution) - { - //code only used to avoid warning because _solution is not used in this function. - const EOT solution(_solution); - - if (memory_size!=0) - { - // Useful in the case of a move has been kept thanks to the moAspirCrit. - // In this case, the move can already be in the tabuList. - removeMove(_move); - } - - tabuList.push_back(_move); - - if (memory_size == memory_maximum_size) - { - tabuList.erase(tabuList.begin()); - } - else - { - memory_size++; - } - } - - void update () - { - //nothing to do - } - - void init () - { - //nothing to do - } - - private: - - //! Procedure that removes a given move from the tabu list (if it is into, else do nothing). - /*! - \param _move A given moMove. - */ - void removeMove(const M & _move) - { - moveIterator it; - - it=tabuList.begin(); - // The code is !(*it)==_move instead of (*it)!=_move because people designing their specific move representation - // will write the "==" operator (I hope) but not necessary the "!=" operator. - while ( it!=tabuList.end() && (!((*it)==_move) )) - { - it++; - } - - if (it!=tabuList.end()) - { - tabuList.erase(it); - } - } - - //! The maximum size of the tabu list. - unsigned int memory_maximum_size; - - //! The current size of the tabu list. - unsigned int memory_size; - - //! The move tabu list. - std::list tabuList; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moSimpleSolutionTabuList.h b/trunk/paradiseo-mo/src/moSimpleSolutionTabuList.h deleted file mode 100755 index f00a1523e..000000000 --- a/trunk/paradiseo-mo/src/moSimpleSolutionTabuList.h +++ /dev/null @@ -1,160 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moSimpleSolutionTabuList_h -#define _moSimpleSolutionTabuList_h - -#include -#include - -#include - -//! Class describing a solution tabu list with limited length. -template -class moSimpleSolutionTabuList: public moTabuList < M > -{ - public: - - //! Alias for the type - typedef typename M::EOType EOT; - - //! Alias for an iterator of a solution list. - typedef typename std::list::iterator solutionIterator; - - //! Constructor - /*! - \param _memory_maximum_size The maximum size of the solution tabu list. - */ - moSimpleSolutionTabuList(unsigned int _memory_maximum_size): memory_maximum_size(_memory_maximum_size), memory_size(0) - {} - - //! Function that indicates if, in a given state, the _move is tabu or not. - /*! - \param _move A given moMove. - \param _solution A solution. - \return true or false. - */ - bool operator () (const M & _move, const EOT & _solution) - { - M move((M)_move); - EOT solution((EOT)_solution); - - solutionIterator it; - - move(solution); - - it=tabuList.begin(); - // The code is !(*it)==_solution instead of (*it)!=_solution because people designing their specific solution representation - // will write the "==" operator (I hope) but not necessary the "!=" operator. - while (it!=tabuList.end()&&(!((*it)==solution))) - { - it++; - } - - return it!=tabuList.end(); - } - - void add (const M & _move, const EOT & _solution) - { - M move=(M)_move; - EOT solution=(EOT) _solution; - - move(solution); - - if (memory_size!=0) - { - // Useful in the case of a solution has been kept thanks to the moAspirCrit. - // In this case, the solution can already be in the tabuList. - removeSolution(_solution); - } - - tabuList.push_back(_solution); - - if (memory_size == memory_maximum_size) - { - tabuList.erase(tabuList.begin()); - } - else - { - memory_size++; - } - } - - void update () - { - //nothing to do - } - - void init () - { - //nothing to do - } - - private: - - //! Procedure that removes a given solution from the tabu list (if it is into, else does nothing). - /*! - \param _solution A given solution. - */ - void removeSolution(const EOT & _solution) - { - solutionIterator it; - - it=tabuList.begin(); - // The code is !(*it)==_solution instead of (*it)!=_solution because people designing their specific solution representation - // will write the "==" operator (I hope) but not necessary the "!=" operator. - while ( it!=tabuList.end() && !((*it)==_solution) ) - { - it++; - } - - if (it!=tabuList.end()) - { - tabuList.erase(it); - memory_size--; - } - } - - //! The maximum size of the tabu list. - unsigned int memory_maximum_size; - - //! The current size of the tabu list. - unsigned int memory_size; - - //! The solution tabu list. - std::list tabuList; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moSolContinue.h b/trunk/paradiseo-mo/src/moSolContinue.h deleted file mode 100755 index eb4c72cc0..000000000 --- a/trunk/paradiseo-mo/src/moSolContinue.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moSolContinue_h -#define _moSolContinue_h - -#include -#include - -//! Class that describes a stop criterion for a solution-based heuristic - -/*! - It allows to add an initialisation procedure to an object that is a unary function (eoUF). -*/ -template < class EOT > -class moSolContinue:public eoUF < const EOT &, bool > -{ - public: - //! Procedure which initialises all that the stop criterion needs - /*! - Generally, it allocates some data structures or initialises some counters. - */ - virtual void init () = 0; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moSteadyFitSolContinue.h b/trunk/paradiseo-mo/src/moSteadyFitSolContinue.h deleted file mode 100644 index ff79bdb17..000000000 --- a/trunk/paradiseo-mo/src/moSteadyFitSolContinue.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moSteadyFitSolContinue_h -#define _moSteadyFitSolContinue_h - -#include - -//! One possible stopping criterion for a solution-based heuristic. -/*! - The stop criterion corresponds to a maximum number of iterations without improvement (after a minimum number of iterations). -*/ -template < class EOT > -class moSteadyFitSolContinue:public moSolContinue < EOT > -{ - public: - - //! Alias for the fitness. - typedef typename EOT::Fitness Fitness; - - //! Basic constructor. - /*! - \param _maxNumberOfIterations The number of iterations to reach before looking for the fitness. - \param _maxNumberOfIterationWithoutImprovement The number of iterations without fitness improvement to reach for stop. - */ - moSteadyFitSolContinue (unsigned int _maxNumberOfIterations, unsigned int _maxNumberOfIterationWithoutImprovement) - : maxNumberOfIterations (_maxNumberOfIterations), maxNumberOfIterationsWithoutImprovement(_maxNumberOfIterationWithoutImprovement), - maxNumberOfIterationsReached(false), firstFitnessSaved(true), counter(0) - {} - - //! Function that activates the stopping criterion. - /*! - Indicates if the fitness has not been improved since a number of iterations (after a minimum of iterations). - - \param _solution the current solution. - \return true or false. - */ - bool operator () (const EOT & _solution) - { - if (!maxNumberOfIterationsReached) - { - maxNumberOfIterationsReached=((++counter)==maxNumberOfIterations); - if (maxNumberOfIterationsReached) - { - std::cout << "[moSteadyFitSolContinue.h]: Done the minimum number of iterations [" << counter << "]." << std::endl; - } - return true; - } - - if (_solution.invalid()) - { - throw std::runtime_error("[moSteadyFitSolContinue.h]: The current solution has not been evaluated."); - } - - if (firstFitnessSaved) - { - fitness=_solution.fitness(); - counter=0; - firstFitnessSaved=false; - return true; - } - - counter++; - - if ( _solution.fitness() > fitness ) - { - fitness=_solution.fitness(); - counter=0; - } - - if (counter==maxNumberOfIterationsWithoutImprovement) - { - std::cout << "[moSteadyFitSolContinue.h]: Done [" << counter << "] iterations without improvement." << std::endl; - } - return counter!=maxNumberOfIterationsWithoutImprovement; - } - - //! Procedure which allows to initialise the stuff needed. - /*! - It can be also used to reinitialize the counter all the needed things. - */ - void init () - { - maxNumberOfIterationsReached=false; - counter=0; - firstFitnessSaved=true; - } - - private: - - //! Maximum number of iterations before considering the fitness. - unsigned int maxNumberOfIterations; - - //! Maximum number of iterations without improvement allowed. - unsigned int maxNumberOfIterationsWithoutImprovement; - - //! Flag that indicates that the maxNumberIteration have been reached. - bool maxNumberOfIterationsReached; - - //! Flag that this is the first time that the fitness is used. - bool firstFitnessSaved; - - //! Current Fitness. - Fitness fitness; - - //! The iteration couter. - unsigned int counter; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moTA.h b/trunk/paradiseo-mo/src/moTA.h deleted file mode 100644 index e963c88ed..000000000 --- a/trunk/paradiseo-mo/src/moTA.h +++ /dev/null @@ -1,160 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2008-2009 - (C) OPAC Team, LIFL, 2002-2008 - - Salma Mesmoudi - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moTA_h -#define _moTA_h - -#include -#include -#include -#include -#include -#include - -//! Threshold Accepting (TA) -/*! - Class that describes a Threshold Accepting algorithm. -*/ -template < class M > -class moTA:public moAlgo < typename M::EOType > -{ - //! Alias for the type - typedef typename M::EOType EOT; - - //! Alias for the fitness - typedef typename EOT::Fitness Fitness; - - - public: - - //! TA constructor - /*! - All the boxes used by a TA need to be given. It is equivalent to a SA object. - - \param _random_move_generator The move generator (generally randomly). - \param _incremental_evaluation The (generally) efficient evaluation function - \param _continue The stopping criterion. - \param _initial_threshold The initial threshold. - \param _cooling_schedule The cooling schedule, describes how the temperature is modified. - \param _full_evaluation The full evaluation function. - */ - moTA (moRandMove < M > & _random_move_generator, moMoveIncrEval < M > & _incremental_evaluation, - moSolContinue < EOT > & _continue, double _initial_threshold, moCoolingSchedule & _cooling_schedule, - eoEvalFunc < EOT > & _full_evaluation): - random_move_generator(_random_move_generator), incremental_evaluation(_incremental_evaluation), - continu(_continue), initial_threshold(_initial_threshold), - cooling_schedule(_cooling_schedule), full_evaluation(_full_evaluation) - {} - - //! function that launches the TA algorithm. - /*! - As a moSA the TA can be used for HYBRIDATION in an evolutionary algorithm. - - \param _solution A solution to improve. - \return TRUE. - */ - bool operator ()(EOT & _solution) - { - Fitness incremental_fitness, delta_fit; - EOT best_solution; - double threshold; - M move; - - if (_solution.invalid()) - { - full_evaluation (_solution); - } - - threshold = initial_threshold; - - best_solution = _solution; - - do - { - continu.init (); - - do - { - random_move_generator(move); - - incremental_fitness = incremental_evaluation (move, _solution); - - delta_fit = incremental_fitness - _solution.fitness (); - - if ( threshold > delta_fit) - - { - move(_solution); - _solution.fitness(incremental_fitness); - - // Updating the best solution found until now ? - if ( _solution.fitness() > best_solution.fitness() ) - { - best_solution = _solution; - } - } - - } - while ( continu (_solution)); - } - while ( cooling_schedule (threshold) ); - - _solution = best_solution; - - return true; - } - - private: - - //! A move generator (generally randomly) - moRandMove < M > & random_move_generator; - - //! A (generally) efficient evaluation function. - moMoveIncrEval < M > & incremental_evaluation; - - //! Stopping criterion before threshold update - moSolContinue < EOT > & continu; - - //! Initial temperature - double initial_threshold; - - //! The cooling schedule - moCoolingSchedule & cooling_schedule; - - //! A full evaluation function. - eoEvalFunc < EOT > & full_evaluation; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moTS.h b/trunk/paradiseo-mo/src/moTS.h deleted file mode 100755 index 1aa5fb451..000000000 --- a/trunk/paradiseo-mo/src/moTS.h +++ /dev/null @@ -1,163 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moTS_h -#define _moTS_h - -#include - -#include -#include -#include - -//! Tabu Search (TS) -/*! - Generic algorithm that describes a tabu search. -*/ -template < class M > -class moTS:public moAlgo < typename M::EOType > -{ - //!Alias for the type - typedef typename M::EOType EOT; - - //!Alias for the fitness - typedef typename EOT::Fitness Fitness; - - public: - - //!Constructor of a moTS specifying all the boxes - /*! - In this constructor, a moTSMoveLoopExpl is instanciated. - - \param _move_initializer The move initializer. - \param _next_move_generator The neighbourhood explorer. - \param _incremental_evaluation The (generally) efficient evaluation. - \param _tabu_list The tabu list. - \param _aspiration_criterion An aspiration criterion. - \param _continue The stopping criterion. - \param _full_evaluation A full evaluation function. - */ - moTS (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, - moMoveIncrEval < M > & _incremental_evaluation, moTabuList < M > & _tabu_list, - moAspirCrit < M > & _aspiration_criterion, moSolContinue < EOT > & _continue, - eoEvalFunc < EOT > & _full_evaluation): - move_explorer (new moTSMoveLoopExpl < M >(_move_initializer, _next_move_generator, _incremental_evaluation, - _tabu_list,_aspiration_criterion) ), - continu (_continue), full_evaluation (_full_evaluation), move_explorer_memory_allocation(true) - {} - - //! Constructor with less parameters - /*! - The explorer is given in the parameters. - - \param _move_explorer The explorer (generally different that a moTSMoveLoopExpl). - \param _continue The stopping criterion. - \param _full_evaluation A full evaluation function. - */ - moTS (moMoveExpl < M > & _move_explorer, moSolContinue < EOT > & _continue, eoEvalFunc < EOT > & _full_evaluation): - move_explorer (&_move_explorer), continu (_continue), full_evaluation (_full_evaluation), move_explorer_memory_allocation(false) - {} - - //! Destructor - ~moTS() - { - if(move_explorer_memory_allocation) - { - delete(move_explorer); - } - } - - //! Function which launchs the Tabu Search - /*! - Algorithm of the tabu search. - As a moSA or a moHC, it can be used for HYBRIDATION in an evolutionary algorithm. - For security a lock (pthread_mutex_t) is closed during the algorithm. - - \param _solution a solution to improve. - \return TRUE. - */ - bool operator ()(EOT & _solution) - { - M move; - - EOT best_solution, new_solution; - - if ( _solution.invalid () ) - { - full_evaluation (_solution); - } - - best_solution=_solution; - - // code used for avoiding warning because new_solution is indirectly initialized by move_expl. - new_solution=_solution; - - continu.init (); - - do - { - (*move_explorer) (_solution, new_solution); - - // Updating the best solution found until now ? - if (new_solution.fitness() > best_solution.fitness()) - { - best_solution = new_solution; - } - - _solution = new_solution; - } - while ( continu (_solution) ); - - _solution = best_solution; - - return true; - } - - private: - - //! Neighborhood explorer - moMoveExpl < M > * move_explorer; - - //! Stop criterion - moSolContinue < EOT > & continu; - - //! Full evaluation function - eoEvalFunc < EOT > & full_evaluation; - - //! Indicate if the memory has been allocated for the move_explorer. - bool move_explorer_memory_allocation; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moTSMoveLoopExpl.h b/trunk/paradiseo-mo/src/moTSMoveLoopExpl.h deleted file mode 100755 index 9e78f85fe..000000000 --- a/trunk/paradiseo-mo/src/moTSMoveLoopExpl.h +++ /dev/null @@ -1,165 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moTSMoveLoopExpl_h -#define _moTSMoveLoopExpl_h - -#include -#include -#include -#include -#include -#include -#include -#include - -//! Explorer for a Tabu Search algorithm -/*! - It is used by a moTS. -*/ -template < class M > -class moTSMoveLoopExpl:public moMoveLoopExpl < M > -{ - //!Alias for the type - typedef typename M::EOType EOT; - - //!Alias for the fitness - typedef typename M::EOType::Fitness Fitness; - - public: - - //!Constructor - /*! - \param _move_initializer The move initializer. - \param _next_move_generator The neighbourhood explorer. - \param _incremental_evaluation A (generally) efficient evaluation. - \param _tabu_list The tabu list. - \param _aspiration_criterion An aspiration criterion. - */ - moTSMoveLoopExpl (moMoveInit < M > & _move_initializer, moNextMove < M > & _next_move_generator, - moMoveIncrEval < M > & _incremental_evaluation, moTabuList < M > & _tabu_list, - moAspirCrit < M > & _aspiration_criterion): - move_initializer(_move_initializer), next_move_generator(_next_move_generator), incremental_evaluation(_incremental_evaluation), - tabu_list(_tabu_list), aspiration_criterion(_aspiration_criterion) - { - tabu_list.init (); - aspiration_criterion.init (); - } - - //!Procedure which lauches the exploration - /*! - The exploration continues while the chosen move is not in the tabu list - or the aspiration criterion is true. If these 2 conditions are not true, the - exploration stops if the move selector update function returns false. - - \param _old_solution the initial solution - \param _new_solution the new solution - */ - void operator () (const EOT & _old_solution, EOT & _new_solution) - { - M move, best_move; - Fitness fitness, best_move_fitness; - - bool move_is_tabu, aspiration_criterion_is_verified, selection_update_is_ok, has_next_move; - - if( _old_solution.invalid() ) - { - throw std::runtime_error("[moTSMoveLoopExpl.h]: The current solution has not been evaluated."); - } - - //At the begining, the new solution is equivalent to the old one. - _new_solution=(EOT)_old_solution; - - // Restarting the exploration of of the neighborhood ! - move_initializer (move, _old_solution); - - move_selection.init( _old_solution.fitness() ); - - selection_update_is_ok=true; - - do - { - fitness = incremental_evaluation(move, _old_solution); - - move_is_tabu = tabu_list(move, _old_solution); - - aspiration_criterion_is_verified = aspiration_criterion(move, fitness); - - if( !move_is_tabu || aspiration_criterion_is_verified ) - { - selection_update_is_ok = move_selection.update(move, fitness); - } - - has_next_move = next_move_generator(move, _old_solution); - } - while( has_next_move && selection_update_is_ok ); - - move_selection(best_move, best_move_fitness); - - // Apply the best move. - best_move(_new_solution); - - // The fitness is set to avoid an additionnal fitness computation. - _new_solution.fitness(best_move_fitness); - - // Removing moves that are no more tabu. - tabu_list.update (); - - // Updating the tabu list - tabu_list.add(best_move, _new_solution); - } - - private: - - //! Move initialisation - moMoveInit < M > & move_initializer; - - //! Neighborhood explorer - moNextMove < M > & next_move_generator; - - //! Efficient evaluation - moMoveIncrEval < M > & incremental_evaluation; - - //! Move selector - moBestImprSelect < M > move_selection; - - //! Tabu list - moTabuList < M > & tabu_list; - - //! Aspiration criterion - moAspirCrit < M > & aspiration_criterion; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moTabuList.h b/trunk/paradiseo-mo/src/moTabuList.h deleted file mode 100755 index 8a254edad..000000000 --- a/trunk/paradiseo-mo/src/moTabuList.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#ifndef _moTabuList_h -#define _moTabuList_h - -#include - -//! Class describing a tabu list that a moTS uses. -/*! - It is only a description, does nothing... A new object that herits from this class has to be defined in order - to be used in a moTS. -*/ -template < class M > class moTabuList: public eoBF < const M &, const typename M::EOType &, bool > -{ - public: - - //! Alias for the type - typedef typename M::EOType EOT; - - //! Procedure to add a move in the tabu list - /*! - The two parameters have not to be modified so they are constant parameters. - - \param _move a new tabu move. - \param _solution the origianl solution associated to this move. - */ - virtual void add(const M & _move, const EOT & _solution) = 0; - - //! Procedure that updates the tabu list content. - /*! - Generally, a counter associated to each saved move is decreased by one. - */ - virtual void update () = 0; - - //! Procedure which initialises the tabu list. - /*! - Can be useful if the data structure needs to be allocated before being used. - */ - virtual void init () = 0; -}; - -#endif diff --git a/trunk/paradiseo-mo/src/moVNS.h b/trunk/paradiseo-mo/src/moVNS.h deleted file mode 100644 index f25a45f7d..000000000 --- a/trunk/paradiseo-mo/src/moVNS.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Salma Mesmoudi (salma.mesmoudi@inria.fr), Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - */ - -#ifndef _moVNS_h -#define _moVNS_h - -#include - -//! Variable Neighbors Search (VNS) -/*! - Class which describes the algorithm for a Variable Neighbors Search. -*/ - -template < class EOT> -class moVNS : public moAlgo < EOT> -{ - //! Alias for the fitness. - typedef typename EOT::Fitness Fitness; - - public: - - //! Generic constructor - /*! - Generic constructor using a moExpl - - \param _explorer Vector of Neighborhoods. - \param _full_evaluation The evaluation function. - */ - moVNS(moExpl< EOT> & _explorer, eoEvalFunc < EOT> & _full_evaluation): explorer(_explorer), full_evaluation(_full_evaluation) {} - - - //! Function which launches the VNS - /*! - The VNS has to improve a current solution. - - \param _solution a current solution to improve. - \return true. - */ - bool operator()(EOT & _solution) - { - bool change; - unsigned int i; - - EOT solution_prime, solution_second; - EOT solution_initial=_solution; - - change=false; - i=0; - explorer.setCurrentExplorer(i); - - while( i solution_initial.fitness() ) - { - solution_initial=solution_second; - change=true; - if(i!= 0) - { - i=0; - explorer.setCurrentExplorer(i); - } - } - else - { - i++; - if( i & explorer; - - //!The full evaluation function - eoEvalFunc & full_evaluation; -}; - -#endif diff --git a/trunk/paradiseo-mo/test/CMakeLists.txt b/trunk/paradiseo-mo/test/CMakeLists.txt deleted file mode 100644 index 4a98f0f7a..000000000 --- a/trunk/paradiseo-mo/test/CMakeLists.txt +++ /dev/null @@ -1,93 +0,0 @@ -############################################################################### -## -## CMakeLists file for ParadisEO-MO/test -## -############################################################################### - - -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${ParadisEO-MO_SOURCE_DIR}/src) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) - -###################################################################################### - - -###################################################################################### -### 2) Specify where CMake can find the libraries -###################################################################################### - -LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${ParadisEO-MO_BINARY_DIR}/lib) - -###################################################################################### - - - -###################################################################################### -### 3) Define your targets and link the librairies -###################################################################################### - -SET (TEST_LIST t-moBestImprSelect - t-moFirstImprSelect - t-moFitComparator - t-moFitSolContinue - t-moGenSolContinue - t-moGeometricCoolingSchedule - t-moHC - t-moHC_2 - t-moHCMoveLoopExpl - t-moILS - t-moILS_HC - t-moILS_TS - t-moILS_SA - t-moImprBestFitAspirCrit - t-moItRandNextMove - t-moLinearCoolingSchedule - t-moLSCheckPoint - t-moNoAspirCrit - t-moNoFitImprSolContinue - t-moRandImprSelect - t-moSA - t-moSimpleMoveTabuList - t-moSimpleSolutionTabuList - t-moSteadyFitSolContinue - t-moTS - t-moTS_2 - t-moTSMoveLoopExpl - t-moTA - t-moVNS - ) - -FOREACH (test ${TEST_LIST}) - SET ("T_${test}_SOURCES" "${test}.cpp") -ENDFOREACH (test) - - -IF(ENABLE_MINIMAL_CMAKE_TESTING) - SET (MIN_TEST_LIST t-moHC) - FOREACH (mintest ${MIN_TEST_LIST}) - SET ("T_${mintest}_SOURCES" "${mintest}.cpp") - ADD_EXECUTABLE(${mintest} ${T_${mintest}_SOURCES}) - ADD_TEST(${mintest} ${mintest}) - ENDFOREACH (mintest) - -ELSEIF(ENABLE_CMAKE_TESTING) - - # Add the tests - FOREACH (test ${TEST_LIST}) - ADD_EXECUTABLE(${test} ${T_${test}_SOURCES}) - ADD_TEST(${test} ${test}) - ENDFOREACH (test) - - # Link the librairies - FOREACH (test ${TEST_LIST}) - TARGET_LINK_LIBRARIES(${test} ga es eoutils eo) - ENDFOREACH (test) - -ENDIF(ENABLE_MINIMAL_CMAKE_TESTING) - -###################################################################################### - diff --git a/trunk/paradiseo-mo/test/t-moBestImprSelect.cpp b/trunk/paradiseo-mo/test/t-moBestImprSelect.cpp deleted file mode 100644 index 63a05902a..000000000 --- a/trunk/paradiseo-mo/test/t-moBestImprSelect.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moBestImprSelect.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - _solution=_solution; - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int return_value, value_1, value_2; - - unsigned int i, fitness; - - moBestImprSelect selection; - - solution solution; - - testMove move; - - cout << "[ moBestImprSelect ] ==> "; - - i=fitness=0; - - selection.init(0); - - test_1="KO"; - - try - { - selection(move, fitness); - } - catch(std::runtime_error e) - { - test_1="OK"; - } - - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_2=((!selection.update(move, i))?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - selection(move, fitness); - - move(solution); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moFirstImprSelect.cpp b/trunk/paradiseo-mo/test/t-moFirstImprSelect.cpp deleted file mode 100644 index ba3b36af4..000000000 --- a/trunk/paradiseo-mo/test/t-moFirstImprSelect.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moFirstImprSelect.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - _solution=_solution; - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - unsigned int i, fitness; - - moFirstImprSelect selection; - - solution solution; - - testMove move; - - cout << "[ moFirstImprSelect ] ==> "; - - i=fitness=0; - - selection.init(10); - - while ( selection.update(move, i) && i<15 ) - { - i++; - } - - selection(move, fitness); - - move(solution); - - test_result=((fitness!=11)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moFitComparator.cpp b/trunk/paradiseo-mo/test/t-moFitComparator.cpp deleted file mode 100644 index 59dc5b696..000000000 --- a/trunk/paradiseo-mo/test/t-moFitComparator.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moFitComparator.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution sol1, sol2; - - moFitComparator comparator; - - sol1.fitness(0); - sol2.fitness(1); - - cout << "[ moFitComparator ] ==> "; - - test_result=((comparator(sol1,sol2))?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moFitSolContinue.cpp b/trunk/paradiseo-mo/test/t-moFitSolContinue.cpp deleted file mode 100644 index 6214a73b0..000000000 --- a/trunk/paradiseo-mo/test/t-moFitSolContinue.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moFitSolContinue.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int return_value, value_1, value_2; - - unsigned int i; - - moFitSolContinue continu(10); - - solution solution; - - cout << "[ moFitSolContinue ] ==> "; - - continu.init(); - - test_1="KO"; - - try - { - continu(solution); - } - catch(std::runtime_error e) - { - test_1="OK"; - } - - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - - - i=0; - solution.fitness(i); - while( continu(solution) ) - { - i++; - solution.fitness(i); - } - - test_2=((i!=10)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moGenSolContinue.cpp b/trunk/paradiseo-mo/test/t-moGenSolContinue.cpp deleted file mode 100644 index 367f274f3..000000000 --- a/trunk/paradiseo-mo/test/t-moGenSolContinue.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moGenSolContinue.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int value_1, value_2, return_value; - - unsigned int i; - solution sol; - - moGenSolContinue continu(10); - - cout << "[ moGenSolContinue ] ==> "; - - i=0; - while( continu(sol) ) - { - i++; - } - - test_1=((i!=9)?"KO":"OK"); - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - continu.init(); - - i=0; - while( continu(sol) ) - { - i++; - } - - test_2=((i!=9)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moGeometricCoolingSchedule.cpp b/trunk/paradiseo-mo/test/t-moGeometricCoolingSchedule.cpp deleted file mode 100644 index d648945d4..000000000 --- a/trunk/paradiseo-mo/test/t-moGeometricCoolingSchedule.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moExponentialCoolingSchedule.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - - -//----------------------------------------------------------------------------- - -int -main() -{ - int return_value; - std::string test_result; - - unsigned int i; - double temperature; - - moGeometricCoolingSchedule coolingSchedule( 4.0, 0.5 ); - - temperature=10.0; - - cout << "[ moExponentialCoolingSchedule ] ==> "; - - i=0; - while( coolingSchedule(temperature) ) - { - i++; - } - - test_result=((i!=1)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moHC.cpp b/trunk/paradiseo-mo/test/t-moHC.cpp deleted file mode 100644 index bbcb90b55..000000000 --- a/trunk/paradiseo-mo/test/t-moHC.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moHC.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testMoveInit : public moMoveInit -{ -public : - void operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - } -} ; - -class testMoveNext : public moNextMove -{ -public : - bool operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - - return false; - } -} ; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - unsigned int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - return 2; - } -} ; - -class testMoveSelect : public moMoveSelect -{ -public : - void operator () (testMove & _move, unsigned int & _fitness) - { - testMove move; - - move=_move; - - _fitness=2; - } - - void init(const unsigned int & _fitness) - { - unsigned int fitness; - fitness=(unsigned int)_fitness; - } - - bool update(const testMove & _move, const unsigned int & _fitness) - { - testMove move; - unsigned int fitness; - - move=(testMove)_move; - fitness=(unsigned int)_fitness; - - return true; - } -} ; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - _solution.fitness(2); - } -} ; - - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - testMoveInit init; - testMoveNext next; - testMoveIncrEval incrEval; - testMoveSelect select; - solutionEval eval; - - moHC hc(init, next, incrEval, select, eval); - - cout << "[ moHC ] ==> "; - - hc(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moHCMoveLoopExpl.cpp b/trunk/paradiseo-mo/test/t-moHCMoveLoopExpl.cpp deleted file mode 100644 index 73de0ac85..000000000 --- a/trunk/paradiseo-mo/test/t-moHCMoveLoopExpl.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moHCMoveLoopExpl.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testMoveInit : public moMoveInit -{ -public : - void operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - } -} ; - -class testMoveNext : public moNextMove -{ -public : - bool operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - - return false; - } -} ; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - unsigned int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - return 2; - } -} ; - -class testMoveSelect : public moMoveSelect -{ -public : - void operator () (testMove & _move, unsigned int & _fitness) - { - testMove move; - - move=_move; - - _fitness=2; - } - - void init(const unsigned int & _fitness) - { - unsigned int fitness; - fitness=(unsigned int)_fitness; - } - - bool update(const testMove & _move, const unsigned int & _fitness) - { - testMove move; - unsigned int fitness; - - move=(testMove)_move; - fitness=(unsigned int)_fitness; - - return true; - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int return_value, value_1, value_2; - - solution solution_1, solution_2; - - testMoveInit init; - testMoveNext next; - testMoveIncrEval incrEval; - testMoveSelect select; - - moHCMoveLoopExpl explorer(init, next, incrEval, select); - - cout << "[ moHCMoveLoopExpl ] ==> "; - - test_1="KO"; - - try - { - explorer(solution_1, solution_2); - } - catch(std::runtime_error e) - { - test_1="OK"; - } - - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - solution_1.fitness(0); - solution_2.fitness(0); - - explorer(solution_1, solution_2); - - test_2=((solution_2.fitness()!=2)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moHC_2.cpp b/trunk/paradiseo-mo/test/t-moHC_2.cpp deleted file mode 100644 index eecc80e60..000000000 --- a/trunk/paradiseo-mo/test/t-moHC_2.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moHC_2.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testMoveExplorer : public moMoveExpl -{ -public : - void operator () (const solution & _solution_1, solution & _solution_2) - { - const solution sol(_solution_1); - - _solution_2.fitness(2); - } -}; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - _solution.fitness(0); - } -} ; - - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - solutionEval eval; - testMoveExplorer explorer; - - moHC hc(explorer, eval); - - cout << "[ moHC_2 ] ==> "; - - hc(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moILS.cpp b/trunk/paradiseo-mo/test/t-moILS.cpp deleted file mode 100644 index bf8d75a87..000000000 --- a/trunk/paradiseo-mo/test/t-moILS.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moILS.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class solutionAlgo : public moAlgo -{ -public : - bool operator () (solution & _solution) - { - solution solution(_solution); - return true; - } -} ; - -class solutionContinue : public moSolContinue -{ -public : - solutionContinue(): counter(0) - {} - - bool operator () (const solution & _solution) - { - const solution sol(_solution); - - if(counter<2) - { - counter++; - return true; - } - return false; - } - - void init() - {} -private : - unsigned int counter; -} ; - -class solutionComparator : public moComparator -{ -public : - - solutionComparator() : counter(0) - {} - - bool operator () (const solution & _solution1 , const solution & _solution2) - { - const solution sol1(_solution1); - const solution sol2(_solution2); - - if(counter<2) - { - counter++; - return false; - } - - return true; - } -private : - unsigned int counter; -} ; - -class solutionPerturbation : public eoMonOp -{ -public : - bool operator () (solution & _solution) - { - _solution.fitness(2); - - return true; - } -} ; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - solution solution(_solution); - _solution.fitness(2); - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - solutionAlgo algorithm; - solutionContinue continu; - solutionComparator comparator; - solutionPerturbation perturbation; - solutionEval eval; - - moILS ils(algorithm, continu, comparator, perturbation, eval); - - cout << "[ moILS ] ==> "; - - solution.fitness(0); - - ils(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moILS_HC.cpp b/trunk/paradiseo-mo/test/t-moILS_HC.cpp deleted file mode 100644 index 98bf88cf0..000000000 --- a/trunk/paradiseo-mo/test/t-moILS_HC.cpp +++ /dev/null @@ -1,211 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moILS_HC.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testMoveInit : public moMoveInit -{ -public : - void operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - } -} ; - -class testMoveNext : public moNextMove -{ -public : - bool operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - - return false; - } -} ; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - unsigned int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - return 2; - } -} ; - -class testMoveSelect : public moMoveSelect -{ -public : - void operator () (testMove & _move, unsigned int & _fitness) - { - testMove move; - - move=_move; - - _fitness=2; - } - - void init(const unsigned int & _fitness) - { - unsigned int fitness; - fitness=(unsigned int)_fitness; - } - - bool update(const testMove & _move, const unsigned int & _fitness) - { - testMove move; - unsigned int fitness; - - move=(testMove)_move; - fitness=(unsigned int)_fitness; - - return true; - } -} ; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - _solution.fitness(0); - } -} ; - -class solutionContinue : public moSolContinue -{ -public : - solutionContinue(): counter(0) - {} - - bool operator () (const solution & _solution) - { - const solution sol(_solution); - - if(counter==0) - { - counter++; - return true; - } - return false; - } - - void init() - {} -private : - unsigned int counter; -} ; - -class solutionComparator : public moComparator -{ -public : - bool operator () (const solution & _solution1 , const solution & _solution2) - { - const solution sol1(_solution1); - const solution sol2(_solution2); - - return true; - } -} ; - -class solutionPerturbation : public eoMonOp -{ -public : - bool operator () (solution & _solution) - { - _solution.fitness(2); - - return true; - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - testMoveInit init; - testMoveNext next; - testMoveIncrEval incrEval; - testMoveSelect select; - solutionEval eval; - solutionContinue continu; - solutionComparator comparator; - solutionPerturbation perturbation; - - moILS ils(init, next, incrEval, select, continu, comparator, perturbation, eval); - - cout << "[ moILS_HC ] ==> "; - - ils(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moILS_SA.cpp b/trunk/paradiseo-mo/test/t-moILS_SA.cpp deleted file mode 100644 index 4cbd940c6..000000000 --- a/trunk/paradiseo-mo/test/t-moILS_SA.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moILS_SA.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testRandMove : public moRandMove -{ -public : - void operator () (testMove & _move) - { - _move=_move; - } -}; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - return 2; - } -} ; - -class testCooling : public moCoolingSchedule -{ -public : - bool operator () (double & _temperature) - { - double temperature; - temperature=_temperature; - - return false; - } -}; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - const solution solution(_solution); - } -} ; - -class solutionContinue : public moSolContinue -{ -public : - solutionContinue(): counter(0) - {} - - bool operator () (const solution & _solution) - { - const solution sol(_solution); - - if(counter==0) - { - counter++; - return true; - } - return false; - } - - void init() - {} -private : - unsigned int counter; -} ; - -class solutionComparator : public moComparator -{ -public : - - solutionComparator() : counter(0) - {} - - bool operator () (const solution & _solution1 , const solution & _solution2) - { - const solution solution1(_solution1); - const solution solution2(_solution2); - - return true; - } -private : - unsigned int counter; -} ; - -class solutionPerturbation : public eoMonOp -{ -public : - bool operator () (solution & _solution) - { - _solution.fitness(2); - - return true; - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - testRandMove rand; - testMoveIncrEval incrEval; - solutionContinue continu; - solutionContinue continu_2; - testCooling cooling; - solutionEval eval; - solutionComparator comparator; - solutionPerturbation perturbation; - - moILS ils(rand, incrEval, continu, 10.0, cooling, continu_2, comparator, perturbation, eval); - - cout << "[ moILS_SA ] ==> "; - - solution.fitness(0); - - eval(solution); - - ils(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moILS_TS.cpp b/trunk/paradiseo-mo/test/t-moILS_TS.cpp deleted file mode 100644 index dc6c3f296..000000000 --- a/trunk/paradiseo-mo/test/t-moILS_TS.cpp +++ /dev/null @@ -1,223 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moILS_TS.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testMoveInit : public moMoveInit -{ -public : - void operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - } -} ; - -class testMoveNext : public moNextMove -{ -public : - bool operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - - return false; - } -} ; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - unsigned int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - return 2; - } -} ; - -class testTabuList : public moTabuList -{ -public: - bool operator() (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution sol(_solution); - - return false; - } - - void add(const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution sol(_solution); - } - - void update() - {} - - void init() - {} -}; - -class testAspirCrit : public moAspirCrit -{ -public: - bool operator() (const testMove & _move, const unsigned int & _fitness) - { - unsigned int fitness; - const testMove move(_move); - fitness=_fitness; - - return false; - } - - void init() - {} -}; - -class solutionContinue : public moSolContinue -{ -public : - solutionContinue(): counter(0) - {} - - bool operator () (const solution & _solution) - { - const solution sol(_solution); - - if(counter==0) - { - counter++; - return true; - } - return false; - } - - void init() - {} -private : - unsigned int counter; -} ; - -class solutionComparator : public moComparator -{ -public : - bool operator () (const solution & _solution1 , const solution & _solution2) - { - const solution sol1(_solution1); - const solution sol2(_solution2); - - return true; - } -} ; - -class solutionPerturbation : public eoMonOp -{ -public : - bool operator () (solution & _solution) - { - _solution.fitness(2); - - return true; - } -} ; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - _solution.fitness(0); - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - testMoveInit init; - testMoveNext next; - testMoveIncrEval incrEval; - testTabuList tabuList; - testAspirCrit aspirCrit; - solutionEval eval; - solutionContinue continu; - solutionContinue continu_2; - solutionComparator comparator; - solutionPerturbation perturbation; - - moILS ils(init, next, incrEval, tabuList, aspirCrit, continu, continu_2, comparator, perturbation, eval); - - cout << "[ moILS_TS ] ==> "; - - ils(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moImprBestFitAspirCrit.cpp b/trunk/paradiseo-mo/test/t-moImprBestFitAspirCrit.cpp deleted file mode 100644 index 121cc681a..000000000 --- a/trunk/paradiseo-mo/test/t-moImprBestFitAspirCrit.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moImprBestFitAspirCrit.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - _solution=_solution; - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int return_value, value_1, value_2; - - solution solution; - - unsigned int i; - - moImprBestFitAspirCrit aspirCriterion; - - testMove move; - - cout << "[ moImprBestFitAspirCrit ] ==> "; - - aspirCriterion(move, 10); - - i=0; - while ( !aspirCriterion(move,i) && i<15) - { - i++; - } - - test_1=((i!=11)?"KO":"OK"); - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - aspirCriterion.init(); - aspirCriterion(move, i); - - i=0; - while ( !aspirCriterion(move,i) && i<15) - { - i++; - } - - move(solution); - - test_2=((i!=12)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moItRandNextMove.cpp b/trunk/paradiseo-mo/test/t-moItRandNextMove.cpp deleted file mode 100644 index dbd5acffa..000000000 --- a/trunk/paradiseo-mo/test/t-moItRandNextMove.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moItRandNextMove.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - _solution=_solution; - } -} ; - -class testRandMove : public moRandMove -{ -public : - void operator () (testMove & _move) - { - _move=_move; - } -}; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int value_1, value_2, return_value; - - unsigned int i; - - testMove move; - solution solution; - - testRandMove rand; - - moItRandNextMove next(rand, 10); - - cout << "[ moItRandNextMove ] ==> "; - - i=0; - while( next(move, solution) && i<15 ) - { - i++; - } - - test_1=((i!=11)?"KO":"OK"); - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - i=0; - while( next(move, solution) && i<15 ) - { - i++; - } - - move(solution); - - test_2=((i!=11)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moLSCheckPoint.cpp b/trunk/paradiseo-mo/test/t-moLSCheckPoint.cpp deleted file mode 100644 index 190f92e9b..000000000 --- a/trunk/paradiseo-mo/test/t-moLSCheckPoint.cpp +++ /dev/null @@ -1,116 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moLSCheckPoint.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - _solution=_solution; - } -} ; - -class testBF : public eoBF -{ - void operator () (const testMove & _move, const testMove::EOType & _solution) - { - const testMove move(_move); - const testMove::EOType sol(_solution); - std::ofstream os("test.txt"); - os << "OK" << endl; - } -}; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int value_1, value_2, return_value; - - unsigned int i; - std::string result; - - testBF test; - moLSCheckPoint checkpoint; - - solution solution; - - testMove move; - - std::ifstream is; - - cout << "[ moLSCheckPoint ] ==> "; - - i=0; - - checkpoint.add(test); - checkpoint(move, solution); - - move(solution); - - is.open("test.txt"); - - test_1=((!is.is_open())?"KO":"OK"); - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - is >> result; - - test_2=((result.compare("OK")!=0)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moLinearCoolingSchedule.cpp b/trunk/paradiseo-mo/test/t-moLinearCoolingSchedule.cpp deleted file mode 100644 index 76d264da2..000000000 --- a/trunk/paradiseo-mo/test/t-moLinearCoolingSchedule.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moLinearCoolingSchedule.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - unsigned int i; - double temperature; - - moLinearCoolingSchedule coolingSchedule( 1.0, 0.5 ); - - cout << "[ moLinearCoolingSchedule ] ==> "; - - temperature=2.0; - - i=0; - while( coolingSchedule(temperature) ) - { - i++; - } - - test_result=((i!=1)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moNoAspirCrit.cpp b/trunk/paradiseo-mo/test/t-moNoAspirCrit.cpp deleted file mode 100644 index 2fe273f43..000000000 --- a/trunk/paradiseo-mo/test/t-moNoAspirCrit.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moNoAspirCrit.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - _solution=_solution; - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - unsigned int i; - moNoAspirCrit aspirCriterion; - testMove move; - solution solution; - - cout << "[ moNoAspirCrit ] ==> "; - - move(solution); - - aspirCriterion.init(); - - test_result=((aspirCriterion(move, i))?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moNoFitImprSolContinue.cpp b/trunk/paradiseo-mo/test/t-moNoFitImprSolContinue.cpp deleted file mode 100644 index 653b39b61..000000000 --- a/trunk/paradiseo-mo/test/t-moNoFitImprSolContinue.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moNoFitImprSolContinue.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int return_value, value_1, value_2; - - - unsigned int i; - - moNoFitImprSolContinue continu(10); - - solution solution; - - cout << "[ moNoFitImprSolContinue ] ==> "; - - continu.init(); - - test_1="KO"; - - try - { - continu(solution); - } - catch(std::runtime_error e) - { - test_1="OK"; - } - - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - solution.fitness(0); - - i=0; - while( continu(solution) ) - { - i++; - solution.fitness(2); - } - - test_2=((i!=11)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moRandImprSelect.cpp b/trunk/paradiseo-mo/test/t-moRandImprSelect.cpp deleted file mode 100644 index e44fe1039..000000000 --- a/trunk/paradiseo-mo/test/t-moRandImprSelect.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moRandImprSelect.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - _solution=_solution; - } -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2, test_3; - int value_1, value_2, value_3, return_value; - - unsigned int i; - - moRandImprSelect selection; - - solution solution; - - testMove move; - - cout << "[ moRandImprSelect ] ==> "; - - selection.init(0); - - test_1="KO"; - - i=0; - - try - { - selection(move, i); - } - catch(std::runtime_error e) - { - test_1="OK"; - } - - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - move(solution); - - test_2=((!selection.update(move, i))?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - selection(move, i); - - i++; - - test_3=((!selection.update(move, i))?"KO":"OK"); - value_3=((test_3.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - selection(move, i); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0)&&(test_3.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS)&&(value_3==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moSA.cpp b/trunk/paradiseo-mo/test/t-moSA.cpp deleted file mode 100644 index 6a0d117f0..000000000 --- a/trunk/paradiseo-mo/test/t-moSA.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moSA.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testRandMove : public moRandMove -{ -public : - void operator () (testMove & _move) - { - _move=_move; - } -}; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - - testMoveIncrEval() : counter(0) - {} - - int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - if(counter==0) - { - counter++; - return 2; - } - return 0; - } -private : - unsigned int counter; -} ; - -class solutionContinue : public moSolContinue -{ -public : - - solutionContinue() : counter(0) - {} - - bool operator () (const solution & _solution) - { - const solution sol(_solution); - - if(counter==0) - { - counter++; - return true; - } - - return false; - } - - void init() - {} -private : - unsigned int counter; -} ; - -class testCooling : public moCoolingSchedule -{ -public : - bool operator () (double & _temperature) - { - double temperature; - temperature=_temperature; - - return false; - } -}; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - _solution.fitness(0); - } -} ; - - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - testRandMove rand; - testMoveIncrEval incrEval; - solutionContinue continu; - testCooling cooling; - solutionEval eval; - - moSA sa(rand, incrEval, continu, 10.0, cooling, eval); - - cout << "[ moSA ] ==> "; - - sa(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moSimpleMoveTabuList.cpp b/trunk/paradiseo-mo/test/t-moSimpleMoveTabuList.cpp deleted file mode 100644 index e9937bdac..000000000 --- a/trunk/paradiseo-mo/test/t-moSimpleMoveTabuList.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moSimpleMoveTabuList.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - testMove(unsigned int _value): value(_value) - {} - - void operator () (solution & _solution) - { - _solution=_solution; - } - - bool operator == (const testMove & _move) - { - return (value==_move.value); - } -private : - unsigned int value; -} ; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - moSimpleMoveTabuList tabuList(1); - - solution solution; - - testMove move_1(1), move_2(2); - - cout << "[ moSimpleMoveTabuList ] ==> "; - - tabuList.init(); - tabuList.update(); - - tabuList.add(move_1, solution); - - tabuList(move_2, solution); - - move_1(solution); - - tabuList.add(move_2, solution); - tabuList.add(move_2, solution); - - test_result=((tabuList(move_1, solution))?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moSimpleSolutionTabuList.cpp b/trunk/paradiseo-mo/test/t-moSimpleSolutionTabuList.cpp deleted file mode 100644 index 85d63a5cb..000000000 --- a/trunk/paradiseo-mo/test/t-moSimpleSolutionTabuList.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moSimpleSolutionTabuList.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -class solution : public EO -{ -public: - solution(unsigned int _value): value(_value) - {} - - bool operator == (const solution & _solution) - { - return (value==_solution.value); - } - -private: - unsigned int value; -}; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution solution(_solution); - } -}; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - moSimpleSolutionTabuList tabuList(1); - - solution solution_1(1), solution_2(2); - - testMove move; - - cout << "[ moSimpleSolutionTabuList ] ==> "; - - tabuList.init(); - tabuList.update(); - - tabuList.add(move, solution_1); - - move(solution_1); - - tabuList.add(move, solution_2); - - tabuList.add(move, solution_2); - - test_result=((tabuList(move, solution_1))?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moSteadyFitSolContinue.cpp b/trunk/paradiseo-mo/test/t-moSteadyFitSolContinue.cpp deleted file mode 100644 index d70630102..000000000 --- a/trunk/paradiseo-mo/test/t-moSteadyFitSolContinue.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moSteadyFitSolContinue.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int return_value, value_1, value_2; - - unsigned int i; - solution solution_1, solution_2; - - moSteadyFitSolContinue continu(10,10); - - cout << "[ moSteadyFitSolContinue ] ==> "; - - continu.init(); - - i=0; - solution_1.fitness(i); - while( continu(solution_1) && i<50) - { - i++; - - if(i<11) - { - solution_1.fitness(i); - } - - if(i==11) - { - test_1="KO"; - try - { - continu(solution_2); - } - catch(std::runtime_error e) - { - test_1="OK"; - } - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - } - - if(i==15) - { - solution_1.fitness(i); - } - } - - test_2=((i!=25)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moTA.cpp b/trunk/paradiseo-mo/test/t-moTA.cpp deleted file mode 100644 index 2bfd91e2b..000000000 --- a/trunk/paradiseo-mo/test/t-moTA.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2007-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Salma Mesmoudi -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moTA.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testRandMove : public moRandMove -{ -public : - void operator () (testMove & _move) - { - _move=_move; - } -}; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - - testMoveIncrEval() : counter(0) - {} - - int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - if(counter==0) - { - counter++; - return 2; - } - return 0; - } -private : - unsigned int counter; -} ; - -class solutionContinue : public moSolContinue -{ -public : - - solutionContinue() : counter(0) - {} - - bool operator () (const solution & _solution) - { - const solution sol(_solution); - - if(counter==0) - { - counter++; - return true; - } - - return false; - } - - void init() - {} -private : - unsigned int counter; -} ; - -class testCooling : public moCoolingSchedule -{ -public : - bool operator () (double & _threeshold) - { - double threeshold; - threeshold=_threeshold; - - return false; - } -}; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - _solution.fitness(0); - } -} ; - - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - testRandMove rand; - testMoveIncrEval incrEval; - solutionContinue continu; - testCooling cooling; - solutionEval eval; - - moTA ta(rand, incrEval, continu, 10.0, cooling, eval); - - cout << "[ moTA ] ==> "; - - ta(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moTS.cpp b/trunk/paradiseo-mo/test/t-moTS.cpp deleted file mode 100644 index 96908ef27..000000000 --- a/trunk/paradiseo-mo/test/t-moTS.cpp +++ /dev/null @@ -1,188 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moTS.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testMoveInit : public moMoveInit -{ -public : - void operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - } -} ; - -class testMoveNext : public moNextMove -{ -public : - bool operator () (testMove & _move, const solution & _solution) - { - testMove move(_move); - const solution sol(_solution); - - return false; - } -} ; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - unsigned int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - return 2; - } -} ; - -class testTabuList : public moTabuList -{ -public: - bool operator() (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution sol(_solution); - - return false; - } - - void add(const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution sol(_solution); - } - - void update() - {} - - void init() - {} -}; - -class testAspirCrit : public moAspirCrit -{ -public: - bool operator() (const testMove & _move, const unsigned int & _fitness) - { - unsigned int fitness; - const testMove move(_move); - fitness=_fitness; - - return false; - } - - void init() - {} -}; - -class solutionContinue : public moSolContinue -{ -public : - bool operator () (const solution & _solution) - { - const solution sol(_solution); - - return false; - } - - void init() - {} -} ; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - _solution.fitness(2); - } -} ; - - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - testMoveInit init; - testMoveNext next; - testMoveIncrEval incrEval; - testTabuList tabuList; - testAspirCrit aspirCrit; - solutionContinue continu; - solutionEval eval; - - moTS ts(init, next, incrEval, tabuList, aspirCrit, continu, eval); - - cout << "[ moTS ] ==> "; - - ts(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moTSMoveLoopExpl.cpp b/trunk/paradiseo-mo/test/t-moTSMoveLoopExpl.cpp deleted file mode 100644 index 75aaaeebc..000000000 --- a/trunk/paradiseo-mo/test/t-moTSMoveLoopExpl.cpp +++ /dev/null @@ -1,180 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moTSMoveLoopExpl.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testMoveInit : public moMoveInit -{ -public : - void operator () (testMove & _move, const solution & _solution) - { - testMove move=_move; - const solution sol(_solution); - } -} ; - -class testMoveNext : public moNextMove -{ -public : - bool operator () (testMove & _move, const solution & _solution) - { - testMove move(_move); - const solution sol(_solution); - - return false; - } -} ; - -class testMoveIncrEval : public moMoveIncrEval -{ -public : - unsigned int operator () (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution solution(_solution); - - return 2; - } -} ; - -class testTabuList : public moTabuList -{ -public: - bool operator() (const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution sol(_solution); - - return false; - } - - void add(const testMove & _move, const solution & _solution) - { - const testMove move(_move); - const solution sol(_solution); - } - - void update() - {} - - void init() - {} -}; - -class testAspirCrit : public moAspirCrit -{ -public: - bool operator() (const testMove & _move, const unsigned int & _fitness) - { - unsigned int fitness; - const testMove move(_move); - fitness=_fitness; - - return false; - } - - void init() - {} -}; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result, test_1, test_2; - int return_value, value_1, value_2; - - solution solution_1 ,solution_2; - - testMoveInit init; - testMoveNext next; - testMoveIncrEval incrEval; - testTabuList tabuList; - testAspirCrit aspirCrit; - - moTSMoveLoopExpl explorer(init, next, incrEval, tabuList, aspirCrit); - - cout << "[ moTSMoveLoopExpl ] ==> "; - - test_1="KO"; - - try - { - explorer(solution_1, solution_2); - } - catch(std::runtime_error e) - { - test_1="OK"; - } - - value_1=((test_1.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - solution_1.fitness(0); - - explorer(solution_1, solution_2); - - test_2=((solution_2.fitness()!=2)?"KO":"OK"); - value_2=((test_2.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - test_result=(((test_1.compare("OK")==0)&&(test_2.compare("OK")==0))?"OK":"KO"); - return_value=(((value_1==EXIT_SUCCESS)&&(value_2==EXIT_SUCCESS))?EXIT_SUCCESS:EXIT_FAILURE); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moTS_2.cpp b/trunk/paradiseo-mo/test/t-moTS_2.cpp deleted file mode 100644 index eebaa532b..000000000 --- a/trunk/paradiseo-mo/test/t-moTS_2.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moTS_2.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; - -class testMove : public moMove -{ -public : - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - -class testMoveExplorer : public moMoveExpl -{ -public : - void operator () (const solution & _solution_1, solution & _solution_2) - { - const solution solution(_solution_1); - _solution_2.fitness(2); - } -}; - -class solutionContinue : public moSolContinue -{ -public : - bool operator () (const solution & _solution) - { - const solution sol(_solution); - - return false; - } - - void init() - {} -} ; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (solution & _solution) - { - _solution.fitness(0); - } -} ; - - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - int return_value; - - solution solution; - - testMoveExplorer explorer; - solutionContinue continu; - solutionEval eval; - testMove move; - - moTS ts(explorer, continu, eval); - - cout << "[ moTS_2 ] ==> "; - - ts(solution); - - move(solution); - - test_result=((solution.fitness()!=2)?"KO":"OK"); - return_value=((test_result.compare("KO")==0)?EXIT_FAILURE:EXIT_SUCCESS); - - cout << test_result << endl; - return return_value; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/test/t-moVNS.cpp b/trunk/paradiseo-mo/test/t-moVNS.cpp deleted file mode 100644 index 36fadfca0..000000000 --- a/trunk/paradiseo-mo/test/t-moVNS.cpp +++ /dev/null @@ -1,140 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2007-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Salma Mesmoudi (salma.mesmoudi@inria.fr), Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* Jeremie Humeau (jeremie.humeau@inria.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -//----------------------------------------------------------------------------- -// t-moVNS.cpp -//----------------------------------------------------------------------------- - -#include // EO -#include // MO -#include - -using std::cout; -using std::endl; - -//----------------------------------------------------------------------------- - -typedef EO solution; -typedef eoScalarFitness< float, std::greater > tspFitness ; -typedef eoVector Route ; - -int cpt=0; -int tableau[7]={10.0, 9.0, 8.0, 8.0, 7.0, 7.0, 7.0}; - -class testMove : public moMove -{ -public : - - void operator () (solution & _solution) - { - solution sol=_solution; - } -} ; - - -class solutionAlgo : public moAlgo -{ -public : - bool operator () (solution & _solution) - { - solution solution(_solution); - return true; - } -} ; - -class Voisinage : public eoMonOp -{ -public : - bool operator () (Route & _solution) - { - _solution.invalidate(); - //_solution.fitness(); - - return true; - } -} ; - -class Explorer : public moExpl -{ -public: - Explorer(eoMonOp & expl): moExpl( expl) - { - - } -}; - -class solutionEval : public eoEvalFunc -{ -public : - void operator () (Route & _solution) - { - _solution.fitness(tableau[cpt]); - cpt++; - } -}; - -//----------------------------------------------------------------------------- - -int -main() -{ - std::string test_result; - - //solution solution; - Route so ; - - Voisinage sol1; - Voisinage sol2; - Explorer explorer(sol1); - explorer.addExplorer(sol2); - solutionEval eval; - - moVNS vns(explorer, eval); - - cout << "[moVNS] ==> "; - - so.fitness(20.0); - - vns(so); - - assert(so.fitness()==7.0); - - cout << "OK" << endl; - - return EXIT_SUCCESS; -} - -//----------------------------------------------------------------------------- diff --git a/trunk/paradiseo-mo/tutorial/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/CMakeLists.txt deleted file mode 100644 index 6b1468059..000000000 --- a/trunk/paradiseo-mo/tutorial/CMakeLists.txt +++ /dev/null @@ -1,222 +0,0 @@ -IF(COMMAND cmake_policy) - CMAKE_POLICY(SET CMP0003 NEW) -ENDIF(COMMAND cmake_policy) -###################################################################################### -### 1) Definitions (required for tsp target) -###################################################################################### - -SET(TSP_SRC_DIR ${MO_SRC_DIR}/tutorial/examples/tsp CACHE PATH "TSP src directory") -SET(TSP_BIN_DIR ${MO_BIN_DIR}/tutorial/examples/tsp CACHE PATH "TSP binary directory") - -SET(FUNCTION_SRC_DIR ${MO_SRC_DIR}/tutorial/examples/function CACHE PATH "FUNCTION src directory") -SET(FUNCTION_BIN_DIR ${MO_BIN_DIR}/tutorial/examples/function CACHE PATH "FUNCTION binary directory") - -###################################################################################### - -###################################################################################### -### 2) How to manage copy of benchs ? -###################################################################################### - -IF(ENABLE_CMAKE_EXAMPLE OR CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - SET(BENCH_LIST - berlin52.tsp - eil101.tsp - pr2392.tsp - rl5915.tsp - usa13509.tsp - ) - - FOREACH (bench ${BENCH_LIST}) - EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/examples/tsp/benchs/${bench} - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/${bench} - ) - ENDFOREACH (bench) - EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson1/param - ${MO_BIN_DIR}/tutorial/Lesson1/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson2/param - ${MO_BIN_DIR}/tutorial/Lesson2/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson3/param - ${MO_BIN_DIR}/tutorial/Lesson3/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson4/param - ${MO_BIN_DIR}/tutorial/Lesson4/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson5/param - ${MO_BIN_DIR}/tutorial/Lesson5/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/HybridLesson/param - ${MO_BIN_DIR}/tutorial/HybridLesson/param - ) -ENDIF(ENABLE_CMAKE_EXAMPLE OR CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - -###################################################################################### -### 3) Where must cmake go now ? -###################################################################################### - -MACRO(ADD_COMMANDS_MO) - ADD_CUSTOM_COMMAND( - OUTPUT - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ADD_CUSTOM_COMMAND( - OUTPUT ${MO_BIN_DIR}/tutorial/Lesson1/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson1/param - ${MO_BIN_DIR}/tutorial/Lesson1 - ) - ADD_CUSTOM_COMMAND( - OUTPUT ${MO_BIN_DIR}/tutorial/Lesson2/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson2/param - ${MO_BIN_DIR}/tutorial/Lesson2 - ) - ADD_CUSTOM_COMMAND( - OUTPUT ${MO_BIN_DIR}/tutorial/Lesson3/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson3/param - ${MO_BIN_DIR}/tutorial/Lesson3 - ) - ADD_CUSTOM_COMMAND( - OUTPUT ${MO_BIN_DIR}/tutorial/Lesson4/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson4/param - ${MO_BIN_DIR}/tutorial/Lesson4 - ) - ADD_CUSTOM_COMMAND( - OUTPUT ${MO_BIN_DIR}/tutorial/Lesson5/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/Lesson5/param - ${MO_BIN_DIR}/tutorial/Lesson5 - ) - ADD_CUSTOM_COMMAND( - OUTPUT ${MO_BIN_DIR}/tutorial/Lesson6/param - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${MO_SRC_DIR}/tutorial/HybridLesson/param - ${MO_BIN_DIR}/tutorial/HybridLesson - ) -ENDMACRO(ADD_COMMANDS_MO) - -MACRO(ADD_TARGET_MO n) - IF(${n} STREQUAL "lesson1") - ADD_CUSTOM_TARGET(lesson1 DEPENDS - ${MO_BIN_DIR}/tutorial/Lesson1/param - ${MO_BIN_DIR}/tutorial/Lesson1/hill_climbing - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ELSEIF(${n} STREQUAL "lesson2") - ADD_CUSTOM_TARGET(lesson2 DEPENDS - ${MO_BIN_DIR}/tutorial/Lesson2/param - ${MO_BIN_DIR}/tutorial/Lesson2/tabu_search - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ELSEIF(${n} STREQUAL "lesson3") - ADD_CUSTOM_TARGET(lesson3 DEPENDS - ${MO_BIN_DIR}/tutorial/Lesson3/param - ${MO_BIN_DIR}/tutorial/Lesson3/simulated_annealing - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ELSEIF(${n} STREQUAL "lesson4") - ADD_CUSTOM_TARGET(lesson4 DEPENDS - ${MO_BIN_DIR}/tutorial/Lesson4/param - ${MO_BIN_DIR}/tutorial/Lesson4/iterated_local_search - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ELSEIF(${n} STREQUAL "lesson5") - ADD_CUSTOM_TARGET(lesson5 DEPENDS - ${MO_BIN_DIR}/tutorial/Lesson5/param - ${MO_BIN_DIR}/tutorial/Lesson5/variable_neighborhood_search - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ELSEIF(${n} STREQUAL "hybridlesson") - ADD_CUSTOM_TARGET(hybridlesson DEPENDS - ${MO_BIN_DIR}/tutorial/HybridLesson/param - ${MO_BIN_DIR}/tutorial/HybridLesson/hybrid_ga - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ELSEIF(${n} STREQUAL "install") - ADD_CUSTOM_TARGET(install DEPENDS - ${MO_BIN_DIR}/tutorial/Lesson1/param - ${MO_BIN_DIR}/tutorial/Lesson2/param - ${MO_BIN_DIR}/tutorial/Lesson3/param - ${MO_BIN_DIR}/tutorial/Lesson4/param - ${MO_BIN_DIR}/tutorial/Lesson5/param - ${MO_BIN_DIR}/tutorial/HybridLesson/param - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ELSEIF(${n} STREQUAL "benchs") - ADD_CUSTOM_TARGET(benchs DEPENDS - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/berlin52.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/eil101.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/pr2392.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/rl5915.tsp - ${MO_BIN_DIR}/tutorial/examples/tsp/benchs/usa13509.tsp - ) - ENDIF(${n} STREQUAL "lesson1") -ENDMACRO(ADD_TARGET_MO) - -IF(NOT CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" AND NOT CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - ADD_COMMANDS_MO() - ADD_TARGET_MO(install) - ADD_TARGET_MO(benchs) -ENDIF(NOT CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" AND NOT CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - -ADD_SUBDIRECTORY(examples) -ADD_SUBDIRECTORY(Lesson1) -ADD_SUBDIRECTORY(Lesson2) -ADD_SUBDIRECTORY(Lesson3) -ADD_SUBDIRECTORY(Lesson4) -ADD_SUBDIRECTORY(Lesson5) -ADD_SUBDIRECTORY(HybridLesson) diff --git a/trunk/paradiseo-mo/tutorial/HybridLesson/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/HybridLesson/CMakeLists.txt deleted file mode 100644 index 31bdbf4e4..000000000 --- a/trunk/paradiseo-mo/tutorial/HybridLesson/CMakeLists.txt +++ /dev/null @@ -1,65 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src/utils) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) - -###################################################################################### -### 2) Specify where CMake can find the libraries -###################################################################################### - -LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${TSP_BIN_DIR}/lib) - -###################################################################################### -### 3) Define your target(s): just an executable here -###################################################################################### - -IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - SOURCE_GROUP(src FILES hybrid_ga.cpp) - - SOURCE_GROUP(benchs FILES - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) - - ADD_EXECUTABLE(hybrid_ga - hybrid_ga.cpp - ${MO_BIN_DIR}/tutorial/HybridLesson/param - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) -ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - ADD_COMMANDS_MO() - ADD_TARGET_MO(lesson6) - IF(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(hybrid_ga hybrid_ga.cpp) - ELSE(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(hybrid_ga EXCLUDE_FROM_ALL hybrid_ga.cpp) - ENDIF(ENABLE_CMAKE_EXAMPLE) -ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - -ADD_DEPENDENCIES(hybrid_ga tsp) - -###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(HYBRIDGA_VERSION ${GLOBAL_VERSION}) -SET_TARGET_PROPERTIES(hybrid_ga PROPERTIES VERSION "${HYBRIDGA_VERSION}") - -###################################################################################### -### 5) Link the librairies for your target(s) -###################################################################################### - -TARGET_LINK_LIBRARIES(hybrid_ga tsp eo eoutils) - -###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/HybridLesson/hybrid_ga.cpp b/trunk/paradiseo-mo/tutorial/HybridLesson/hybrid_ga.cpp deleted file mode 100644 index 35670ab9b..000000000 --- a/trunk/paradiseo-mo/tutorial/HybridLesson/hybrid_ga.cpp +++ /dev/null @@ -1,194 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Thomas Legrand -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include -#include -#include - -void manage_configuration_file(eoParser & _parser); - -int -main (int _argc, char* _argv []) -{ - std::string instancePath, crossoverType, selectionType; - unsigned int seed, populationSize, maxIterations, selectedParentNumber; - double crossoverRate, mutationRate, elitismRate, tournamentRate; - - eoParser parser(_argc, _argv); - - manage_configuration_file(parser); - - seed=atoi( (parser.getParamWithLongName("seed")->getValue()).c_str() ); - instancePath=parser.getParamWithLongName("instancePath")->getValue(); - populationSize=atoi( (parser.getParamWithLongName("popSize")->getValue()).c_str() ); - maxIterations=atoi( (parser.getParamWithLongName("maxIter")->getValue()).c_str() ); - crossoverRate=atof( (parser.getParamWithLongName("crossRate")->getValue()).c_str() ); - mutationRate=atof( (parser.getParamWithLongName("mutRate")->getValue()).c_str() ); - selectedParentNumber=atoi( (parser.getParamWithLongName("nbSelPar")->getValue()).c_str() ); - elitismRate=atof( (parser.getParamWithLongName("elitismRate")->getValue()).c_str() ); - tournamentRate=atof( (parser.getParamWithLongName("tournRate")->getValue()).c_str() ); - crossoverType=parser.getParamWithLongName("crossType")->getValue(); - selectionType=parser.getParamWithLongName("selectionType")->getValue(); - - srand (seed); - Graph::load(instancePath.c_str()); - - RouteInit init ; - - RouteEval full_evaluation ; - - eoPop population (populationSize, init) ; - apply (full_evaluation, population) ; - - std :: cout << "[From] " << population.best_element () << std :: endl ; - - eoGenContinue continu (maxIterations) ; - - eoStochTournamentSelect select_one ; - - eoSelectNumber select (select_one, selectedParentNumber) ; - - eoQuadOp *crossover; - - if(crossoverType.compare("Partial")==0) - { - crossover=new PartialMappedXover(); - } - else if (crossoverType.compare("Order")==0) - { - crossover=new OrderXover(); - } - else if (crossoverType.compare("Edge")==0) - { - crossover=new EdgeXover(); - } - else - { - throw std::runtime_error("[tsp.cpp]: the crossover type '"+crossoverType+"' is not correct."); - } - - TwoOptInit two_opt_initializer; - - TwoOptNext two_opt_next_move_generator; - - TwoOptIncrEval two_opt_incremental_evaluation; - - moMoveSelect* two_opt_selection; - - if(selectionType.compare("Best")==0) - { - two_opt_selection= new moBestImprSelect(); - } - else if (selectionType.compare("First")==0) - { - two_opt_selection= new moFirstImprSelect(); - } - else if (selectionType.compare("Random")==0) - { - two_opt_selection= new moRandImprSelect(); - } - else - { - throw std::runtime_error("[hill_climbing.cpp]: the type of selection '"+selectionType+"' is not correct."); - } - - moHC hill_climbing_mutation (two_opt_initializer, two_opt_next_move_generator, two_opt_incremental_evaluation, - *two_opt_selection, full_evaluation); - - eoSGATransform transform (*crossover, crossoverRate, hill_climbing_mutation, mutationRate) ; - - eoElitism merge (elitismRate) ; - - eoStochTournamentTruncate reduce (tournamentRate) ; - - eoEasyEA ea (continu, full_evaluation, select, transform, merge, reduce) ; - - ea (population) ; - - std :: cout << "[To] " << population.best_element () << std :: endl ; - - delete(crossover); - delete(two_opt_selection); - - return EXIT_SUCCESS; -} - -void -manage_configuration_file(eoParser & _parser) -{ - std::ofstream os; - - _parser.createParam(std::string("../examples/tsp/benchs/berlin52.tsp"), "instancePath", "Path to the instance.", - 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)time(0), "seed", "Seed for rand.", 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)100, "popSize", "Size of the population.", 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)1000, "maxIter", "Maximum number of iterations.", 0, "Configuration", false); - - _parser.getORcreateParam((double)1.0, "crossRate", "Probability of crossover.", 0, "Configuration", false); - - _parser.getORcreateParam((double)0.01, "mutRate", "Probability of mutation.", 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)100, "nbSelPar", "Number of selected parents.", 0, "Configuration", false); - - _parser.getORcreateParam((double)1.0, "elitismRate", "Percentage of the best individuals kept.", 0, "Configuration", false); - - _parser.getORcreateParam((double)0.7, "tournRate", "Percentage of the individuals used during the tournament.", - 0, "Configuration", false); - - _parser.getORcreateParam(std::string("Partial"), "crossType", "Crossover to use, it can be 'Partial', 'Order' or 'Edge'.", - 0, "Configuration", false); - - - _parser.getORcreateParam(std::string("Best"), "selectionType", "Type of the selection: 'Best', 'First' or 'Random'.", - 0, "Configuration", false); - - if (_parser.userNeedsHelp()) - { - _parser.printHelp(std::cout); - exit(EXIT_FAILURE); - } - - os.open("current_param"); - if(!os.is_open()) - { - throw std::runtime_error("[tsp.cpp]: the file current_param cannot be created."); - } - os <<_parser; - os.close(); -} diff --git a/trunk/paradiseo-mo/tutorial/HybridLesson/param b/trunk/paradiseo-mo/tutorial/HybridLesson/param deleted file mode 100644 index f0a3f9217..000000000 --- a/trunk/paradiseo-mo/tutorial/HybridLesson/param +++ /dev/null @@ -1,17 +0,0 @@ - -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered - -###### Configuration ###### -# --instancePath=../examples/tsp/benchs/berlin52.tsp # Path to the instance. -# --seed=1224599328 # Seed for rand. -# --popSize=100 # Size of the population. -# --maxIter=1000 # Maximum number of iterations. -# --crossRate=1 # Probability of crossover. -# --mutRate=0.01 # Probability of mutation. -# --nbSelPar=100 # Number of selected parents. -# --elitismRate=1 # Percentage of the best individuals kept. -# --tournRate=0.7 # Percentage of the individuals used during the tournament. -# --crossType=Partial # Crossover to use, it can be 'Partial', 'Order' or 'Edge'. -# --selectionType=Best # Type of the selection: 'Best', 'First' or 'Random'. diff --git a/trunk/paradiseo-mo/tutorial/Lesson1/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/Lesson1/CMakeLists.txt deleted file mode 100644 index 3f018e4ee..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson1/CMakeLists.txt +++ /dev/null @@ -1,67 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src/utils) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) - -###################################################################################### -### 2) Specify where CMake can find the libraries -###################################################################################### - -LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${TSP_BIN_DIR}/lib) - -###################################################################################### -### 3) Define your target(s): just an executable here -###################################################################################### - -IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - SOURCE_GROUP(src FILES hill_climbing.cpp) - - SOURCE_GROUP(benchs FILES - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) - - ADD_EXECUTABLE(hill_climbing - hill_climbing.cpp - ${MO_BIN_DIR}/tutorial/Lesson1/param - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) -ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - ADD_COMMANDS_MO() - ADD_TARGET_MO(lesson1) - IF(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(hill_climbing hill_climbing.cpp) - ELSE(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(hill_climbing EXCLUDE_FROM_ALL hill_climbing.cpp) - ENDIF(ENABLE_CMAKE_EXAMPLE) -ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - - -ADD_DEPENDENCIES(hill_climbing tsp) - -###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(HILLCLIMBING_VERSION ${GLOBAL_VERSION}) -SET_TARGET_PROPERTIES(hill_climbing PROPERTIES VERSION "${HILLCLIMBING_VERSION}") - -###################################################################################### -### 5) Link the librairies for your target(s) -###################################################################################### - -TARGET_LINK_LIBRARIES(hill_climbing tsp eo eoutils) - -###################################################################################### - diff --git a/trunk/paradiseo-mo/tutorial/Lesson1/hill_climbing.cpp b/trunk/paradiseo-mo/tutorial/Lesson1/hill_climbing.cpp deleted file mode 100644 index 94fc3ae34..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson1/hill_climbing.cpp +++ /dev/null @@ -1,134 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#include -#include -#include - -void manage_configuration_file(eoParser & _parser); - -int -main (int _argc, char* _argv []) -{ - std::string instancePath, selectionType; - unsigned int seed; - - eoParser parser(_argc, _argv); - - manage_configuration_file(parser); - - seed=atoi( (parser.getParamWithLongName("seed")->getValue()).c_str() ); - instancePath=parser.getParamWithLongName("instancePath")->getValue(); - selectionType=parser.getParamWithLongName("selectionType")->getValue(); - - srand (seed); - Graph::load(instancePath.c_str()); - - Route solution; - - RouteInit initializer; - initializer (solution); - - RouteEval full_evaluation; - full_evaluation (solution); - - std :: cout << "[From] " << solution << std :: endl; - - /* Tools for an efficient (? :-)) - local search ! */ - - TwoOptInit two_opt_initializer; - - TwoOptNext two_opt_next_move_generator; - - TwoOptIncrEval two_opt_incremental_evaluation; - - moMoveSelect* two_opt_selection; - - if(selectionType.compare("Best")==0) - { - two_opt_selection= new moBestImprSelect(); - } - else if (selectionType.compare("First")==0) - { - two_opt_selection= new moFirstImprSelect(); - } - else if (selectionType.compare("Random")==0) - { - two_opt_selection= new moRandImprSelect(); - } - else - { - throw std::runtime_error("[hill_climbing.cpp]: the type of selection '"+selectionType+"' is not correct."); - } - - moHC hill_climbing (two_opt_initializer, two_opt_next_move_generator, two_opt_incremental_evaluation, - *two_opt_selection, full_evaluation); - hill_climbing (solution) ; - - std :: cout << "[To] " << solution << std :: endl; - - delete(two_opt_selection); - - return EXIT_SUCCESS; -} - -void -manage_configuration_file(eoParser & _parser) -{ - std::ofstream os; - - _parser.createParam(std::string("../examples/tsp/benchs/berlin52.tsp"), "instancePath", "Path to the instance.", - 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)time(0), "seed", "Seed for rand.", 0, "Configuration", false); - - _parser.getORcreateParam(std::string("Best"), "selectionType", "Type of the selection: 'Best', 'First' or 'Random'.", - 0, "Configuration", false); - - if (_parser.userNeedsHelp()) - { - _parser.printHelp(std::cout); - exit(EXIT_FAILURE); - } - - os.open("current_param"); - if(!os.is_open()) - { - throw std::runtime_error("[hill_climbing.cpp]: the file current_param cannot be created."); - } - os <<_parser; - os.close(); -} diff --git a/trunk/paradiseo-mo/tutorial/Lesson1/param b/trunk/paradiseo-mo/tutorial/Lesson1/param deleted file mode 100644 index 8bdb97f37..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson1/param +++ /dev/null @@ -1,9 +0,0 @@ - -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered - -###### Configuration ###### -# --instancePath=../examples/tsp/benchs/berlin52.tsp # Path to the instance. -# --seed=1203517190 # Seed for rand. -# --selectionType=Best # Type of the selection: 'Best', 'First' or 'Random'. diff --git a/trunk/paradiseo-mo/tutorial/Lesson2/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/Lesson2/CMakeLists.txt deleted file mode 100644 index 0f240ebd3..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson2/CMakeLists.txt +++ /dev/null @@ -1,66 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src/utils) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) - -###################################################################################### -### 2) Specify where CMake can find the libraries -###################################################################################### - -LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${TSP_BIN_DIR}/lib) - -###################################################################################### -### 3) Define your target(s): just an executable here -###################################################################################### - -IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - SOURCE_GROUP(src FILES tabu_search.cpp) - - SOURCE_GROUP(benchs FILES - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) - - ADD_EXECUTABLE(tabu_search - tabu_search.cpp - ${MO_BIN_DIR}/tutorial/Lesson2/param - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) -ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - ADD_COMMANDS_MO() - ADD_TARGET_MO(lesson2) - IF(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(tabu_search tabu_search.cpp) - ELSE(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(tabu_search EXCLUDE_FROM_ALL tabu_search.cpp) - ENDIF(ENABLE_CMAKE_EXAMPLE) -ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - -ADD_DEPENDENCIES(tabu_search tsp) - -###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(TABUSEARCH_VERSION ${GLOBAL_VERSION}) -SET_TARGET_PROPERTIES(tabu_search PROPERTIES VERSION "${TABUSEARCH_VERSION}") - -###################################################################################### -### 5) Link the librairies for your target(s) -###################################################################################### - -TARGET_LINK_LIBRARIES(tabu_search tsp eo eoutils) - -###################################################################################### - diff --git a/trunk/paradiseo-mo/tutorial/Lesson2/param b/trunk/paradiseo-mo/tutorial/Lesson2/param deleted file mode 100644 index 53d46bed9..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson2/param +++ /dev/null @@ -1,11 +0,0 @@ - -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered - -###### Configuration ###### -# --instancePath=../examples/tsp/benchs/berlin52.tsp # Path to the instance -# --seed=1202917905 # Seed for rand -# --tabuListSize=10 # Size of the tabu list -# --maxIter=1000 # Maximum number of iterations -# --tabuListType=TwoOpt # Type of the tabu list: 'TwoOpt', 'SimpleMove' or 'SimpleSolution' diff --git a/trunk/paradiseo-mo/tutorial/Lesson2/tabu_search.cpp b/trunk/paradiseo-mo/tutorial/Lesson2/tabu_search.cpp deleted file mode 100644 index ce67cbbec..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson2/tabu_search.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr - -*/ - -#include -#include -#include - -void manage_configuration_file(eoParser & _parser); - -int -main (int _argc, char* _argv []) -{ - std::string instancePath, value; - unsigned int seed, maxIterations, tabuListSize; - - eoParser parser(_argc, _argv); - - manage_configuration_file(parser); - - seed=atoi( (parser.getParamWithLongName("seed")->getValue()).c_str() ); - maxIterations=atoi( (parser.getParamWithLongName("maxIter")->getValue()).c_str() ); - tabuListSize=atoi( (parser.getParamWithLongName("tabuListSize")->getValue()).c_str() ); - instancePath=parser.getParamWithLongName("instancePath")->getValue(); - value=parser.getParamWithLongName("tabuListType")->getValue(); - - srand (seed); - Graph::load(instancePath.c_str()); - - Route solution; - - RouteInit initializer; - initializer(solution); - - RouteEval full_evaluation; - full_evaluation(solution); - - std :: cout << "[From] " << solution << std :: endl; - - /* Tools for an efficient (? :-)) - local search ! */ - - TwoOptInit two_opt_initializer; - - TwoOptNext two_opt_next_move_generator; - - TwoOptIncrEval two_opt_incremental_evaluation; - - moTabuList *tabuList; - - if(value.compare("TwoOpt")==0) - { - tabuList=new TwoOptTabuList(); - } - else if (value.compare("SimpleMove")==0) - { - tabuList=new moSimpleMoveTabuList(tabuListSize); - } - else if (value.compare("SimpleSolution")==0) - { - tabuList=new moSimpleSolutionTabuList(tabuListSize); - } - else - { - throw std::runtime_error("[tabu_search.cpp]: the type of tabu list '"+value+"' is not correct."); - } - - moNoAspirCrit aspiration_criterion; - - moGenSolContinue continu (maxIterations); - - moTS tabu_search (two_opt_initializer, two_opt_next_move_generator, - two_opt_incremental_evaluation, *tabuList, aspiration_criterion, continu, full_evaluation); - tabu_search(solution); - - std :: cout << "[To] " << solution << std :: endl; - - delete(tabuList); - - return EXIT_SUCCESS; -} - -void -manage_configuration_file(eoParser & _parser) -{ - std::ofstream os; - - _parser.createParam(std::string("../examples/tsp/benchs/berlin52.tsp"), "instancePath", "Path to the instance.", - 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)time(0), "seed", "Seed for rand.", 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)10, "tabuListSize", "Size of the tabu list.", 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)1000, "maxIter", "Maximum number of iterations.", 0, "Configuration", false); - - _parser.getORcreateParam(std::string("TwoOpt"), "tabuListType", "Type of the tabu list: 'TwoOpt', 'SimpleMove' or 'SimpleSolution'.", - 0, "Configuration", false); - - if (_parser.userNeedsHelp()) - { - _parser.printHelp(std::cout); - exit(EXIT_FAILURE); - } - - os.open("current_param"); - if(!os.is_open()) - { - throw std::runtime_error("[tabu_search.cpp]: the file current_param cannot be created."); - } - os <<_parser; - os.close(); -} diff --git a/trunk/paradiseo-mo/tutorial/Lesson3/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/Lesson3/CMakeLists.txt deleted file mode 100644 index 41e048ef4..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson3/CMakeLists.txt +++ /dev/null @@ -1,66 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src/utils) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) - -###################################################################################### -### 2) Specify where CMake can find the libraries -###################################################################################### - -LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${TSP_BIN_DIR}/lib) - -###################################################################################### -### 3) Define your target(s): just an executable here -###################################################################################### - -IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - SOURCE_GROUP(src FILES simulated_annealing.cpp) - - SOURCE_GROUP(benchs FILES - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) - - ADD_EXECUTABLE(simulated_annealing - simulated_annealing.cpp - ${MO_BIN_DIR}/tutorial/Lesson3/param - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) -ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - ADD_COMMANDS_MO() - ADD_TARGET_MO(lesson3) - IF(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(simulated_annealing simulated_annealing.cpp) - ELSE(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(simulated_annealing EXCLUDE_FROM_ALL simulated_annealing.cpp) - ENDIF(ENABLE_CMAKE_EXAMPLE) -ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - -ADD_DEPENDENCIES(simulated_annealing tsp) - -###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(SIMULATEDANNEALING_VERSION ${GLOBAL_VERSION}) -SET_TARGET_PROPERTIES(simulated_annealing PROPERTIES VERSION "${SIMULATEDANNEALING_VERSION}") - -###################################################################################### -### 5) Link the librairies for your target(s) -###################################################################################### - -TARGET_LINK_LIBRARIES(simulated_annealing tsp eo eoutils) - -###################################################################################### - diff --git a/trunk/paradiseo-mo/tutorial/Lesson3/param b/trunk/paradiseo-mo/tutorial/Lesson3/param deleted file mode 100644 index d80626b17..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson3/param +++ /dev/null @@ -1,14 +0,0 @@ - -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered - -###### Configuration ###### -# --instancePath=../examples/tsp/benchs/berlin52.tsp # Path to the instance. -# --seed=1202919978 # Seed for rand. -# --maxIter=1000 # Maximum number of iterations. -# --initialTemp=1000 # Initial temperature. -# --threshold=0.1 # Minimum temperature allowed. -# --expoRatio=0.98 # Ratio used if exponential cooling schedule is chosen. -# --lineaRatio=0.5 # Ratio used if linear cooling schedule is chosen. -# --coolSchedType=Expo # Type the cooling schedule: 'Expo' or 'Linear'. diff --git a/trunk/paradiseo-mo/tutorial/Lesson3/simulated_annealing.cpp b/trunk/paradiseo-mo/tutorial/Lesson3/simulated_annealing.cpp deleted file mode 100644 index 0905b3590..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson3/simulated_annealing.cpp +++ /dev/null @@ -1,148 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#include -#include -#include - -void manage_configuration_file(eoParser & _parser); - -int -main (int _argc, char* _argv []) -{ - std::string instancePath, value; - unsigned int seed, maxIterations; - double threshold, geometricRatio, linearRatio, initialTemperature; - - eoParser parser(_argc, _argv); - - manage_configuration_file(parser); - - seed=atoi( (parser.getParamWithLongName("seed")->getValue()).c_str() ); - instancePath=parser.getParamWithLongName("instancePath")->getValue(); - maxIterations=atoi( (parser.getParamWithLongName("maxIter")->getValue()).c_str() ); - initialTemperature=atof( (parser.getParamWithLongName("initialTemp")->getValue()).c_str() ); - threshold=atof( (parser.getParamWithLongName("threshold")->getValue()).c_str() ); - geometricRatio=atof( (parser.getParamWithLongName("geometricRatio")->getValue()).c_str() ); - linearRatio=atof( (parser.getParamWithLongName("lineaRatio")->getValue()).c_str() ); - value=parser.getParamWithLongName("coolSchedType")->getValue(); - - srand (seed); - Graph::load(instancePath.c_str()); - - Route solution; - - RouteInit initializer; - initializer (solution); - - RouteEval full_evaluation; - full_evaluation (solution); - - std :: cout << "[From] " << solution << std :: endl; - - /* Tools for an efficient (? :-)) - local search ! */ - - TwoOptRand two_opt_random_move_generator; - - TwoOptIncrEval two_opt_incremental_evaluation; - - TwoOpt move; - - moCoolingSchedule* coolingSchedule; - - if(value.compare("Geometric")==0) - { - coolingSchedule=new moGeometricCoolingSchedule(threshold, geometricRatio); - } - else if (value.compare("Linear")==0) - { - coolingSchedule=new moLinearCoolingSchedule(threshold, linearRatio); - } - else - { - throw std::runtime_error("[simulated_annealing.cpp]: the type of cooling schedule '"+value+"' is not correct."); - } - - moGenSolContinue continu (maxIterations); - - moSA simulated_annealing (two_opt_random_move_generator, two_opt_incremental_evaluation, - continu, initialTemperature, *coolingSchedule, full_evaluation); - simulated_annealing (solution); - - std :: cout << "[To] " << solution << std :: endl; - - delete(coolingSchedule); - - return EXIT_SUCCESS ; -} - -void -manage_configuration_file(eoParser & _parser) -{ - std::ofstream os; - - _parser.createParam(std::string("../examples/tsp/benchs/berlin52.tsp"), "instancePath", "Path to the instance.", - 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)time(0), "seed", "Seed for rand.", 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)1000, "maxIter", "Maximum number of iterations.", 0, "Configuration", false); - - _parser.getORcreateParam((double)1000, "initialTemp", "Initial temperature.", 0, "Configuration", false); - - _parser.getORcreateParam((double)0.1, "threshold", "Minimum temperature allowed.", 0, "Configuration", false); - - _parser.getORcreateParam((double)0.98, "geometricRatio", "Ratio used if exponential cooling schedule is chosen.", 0, "Configuration", false); - - _parser.getORcreateParam((double)0.5, "lineaRatio", "Ratio used if linear cooling schedule is chosen.", 0, "Configuration", false); - - _parser.getORcreateParam(std::string("Geometric"), "coolSchedType", "Type the cooling schedule: 'Geometric' or 'Linear'.", - 0, "Configuration", false); - - if (_parser.userNeedsHelp()) - { - _parser.printHelp(std::cout); - exit(EXIT_FAILURE); - } - - os.open("current_param"); - if(!os.is_open()) - { - throw std::runtime_error("[simulated_annealing.cpp]: the file current_param cannot be created."); - } - os <<_parser; - os.close(); -} diff --git a/trunk/paradiseo-mo/tutorial/Lesson4/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/Lesson4/CMakeLists.txt deleted file mode 100644 index a8435bd79..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson4/CMakeLists.txt +++ /dev/null @@ -1,65 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src/utils) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) - -###################################################################################### -### 2) Specify where CMake can find the libraries -###################################################################################### - -LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${TSP_BIN_DIR}/lib) - -###################################################################################### -### 3) Define your target(s): just an executable here -###################################################################################### - -IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - SOURCE_GROUP(src FILES iterated_local_search.cpp) - - SOURCE_GROUP(benchs FILES - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) - - ADD_EXECUTABLE(iterated_local_search - iterated_local_search.cpp - ${MO_BIN_DIR}/tutorial/Lesson4/param - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) -ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - ADD_COMMANDS_MO() - ADD_TARGET_MO(lesson4) - IF(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(iterated_local_search iterated_local_search.cpp) - ELSE(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(iterated_local_search EXCLUDE_FROM_ALL iterated_local_search.cpp) - ENDIF(ENABLE_CMAKE_EXAMPLE) -ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - -ADD_DEPENDENCIES(iterated_local_search tsp) - -###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(ITERATEDLOCALSEARCH_VERSION ${GLOBAL_VERSION}) -SET_TARGET_PROPERTIES(iterated_local_search PROPERTIES VERSION "${ITERATEDLOCALSEARCH_VERSION}") - -###################################################################################### -### 5) Link the librairies for your target(s) -###################################################################################### - -TARGET_LINK_LIBRARIES(iterated_local_search tsp eo eoutils) - -###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/Lesson4/iterated_local_search.cpp b/trunk/paradiseo-mo/tutorial/Lesson4/iterated_local_search.cpp deleted file mode 100644 index 8d8b42324..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson4/iterated_local_search.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#include -#include -#include - -void manage_configuration_file(eoParser & _parser); - -int -main (int _argc, char* _argv []) -{ - std::string instancePath; - unsigned int seed, maxIterations; - - eoParser parser(_argc, _argv); - - manage_configuration_file(parser); - - seed=atoi( (parser.getParamWithLongName("seed")->getValue()).c_str() ); - instancePath=parser.getParamWithLongName("instancePath")->getValue(); - maxIterations=atoi( (parser.getParamWithLongName("maxIter")->getValue()).c_str() ); - - srand(seed); - Graph::load (instancePath.c_str()); - - Route solution; - - RouteInit initializer; - initializer (solution); - - RouteEval full_evaluation; - full_evaluation (solution); - - std :: cout << "[From] " << solution << std :: endl; - - TwoOptInit two_opt_initializer; - - TwoOptNext two_opt_next_move_generator; - - TwoOptIncrEval two_opt_incremental_evaluation; - - moBestImprSelect two_opt_selection; - - moGenSolContinue continu(maxIterations); - - moFitComparator comparator; - - CitySwap perturbation; - - moILS iterated_local_search (two_opt_initializer, two_opt_next_move_generator, two_opt_incremental_evaluation, - two_opt_selection, continu, comparator, perturbation, full_evaluation) ; - iterated_local_search(solution); - - std :: cout << "[To] " << solution << std :: endl; - - return EXIT_SUCCESS; -} - -void -manage_configuration_file(eoParser & _parser) -{ - std::ofstream os; - - _parser.createParam(std::string("../examples/tsp/benchs/berlin52.tsp"), "instancePath", "Path to the instance.", - 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)time(0), "seed", "Seed for rand.", 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)1000, "maxIter", "Maximum number of iterations.", 0, "Configuration", false); - - if (_parser.userNeedsHelp()) - { - _parser.printHelp(std::cout); - exit(EXIT_FAILURE); - } - - os.open("current_param"); - if(!os.is_open()) - { - throw std::runtime_error("[iterated_local_search.cpp]: the file current_param cannot be created."); - } - os <<_parser; - os.close(); -} diff --git a/trunk/paradiseo-mo/tutorial/Lesson4/param b/trunk/paradiseo-mo/tutorial/Lesson4/param deleted file mode 100644 index 91a5284c8..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson4/param +++ /dev/null @@ -1,9 +0,0 @@ - -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered - -###### Configuration ###### -# --instancePath=../examples/tsp/benchs/berlin52.tsp # Path to the instance. -# --seed=1203080388 # Seed for rand. -# --maxIter=1000 # Maximum number of iterations. diff --git a/trunk/paradiseo-mo/tutorial/Lesson5/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/Lesson5/CMakeLists.txt deleted file mode 100644 index 7d4f0797d..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson5/CMakeLists.txt +++ /dev/null @@ -1,65 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src/utils) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${TSP_SRC_DIR}) - -###################################################################################### -### 2) Specify where CMake can find the libraries -###################################################################################### - -LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${TSP_BIN_DIR}/lib) - -###################################################################################### -### 3) Define your target(s): just an executable here -###################################################################################### - -IF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - SOURCE_GROUP(src FILES variable_neighborhood_search.cpp) - - SOURCE_GROUP(benchs FILES - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) - - ADD_EXECUTABLE(variable_neighborhood_search - variable_neighborhood_search.cpp - ${MO_BIN_DIR}/tutorial/Lesson5/param - ${TSP_BIN_DIR}/benchs/berlin52.tsp - ${TSP_BIN_DIR}/benchs/eil101.tsp - ${TSP_BIN_DIR}/benchs/pr2392.tsp - ${TSP_BIN_DIR}/benchs/rl5915.tsp - ${TSP_BIN_DIR}/benchs/usa13509.tsp - ) -ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - ADD_COMMANDS_MO() - ADD_TARGET_MO(lesson5) - IF(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(variable_neighborhood_search variable_neighborhood_search.cpp) - ELSE(ENABLE_CMAKE_EXAMPLE) - ADD_EXECUTABLE(variable_neighborhood_search EXCLUDE_FROM_ALL variable_neighborhood_search.cpp) - ENDIF(ENABLE_CMAKE_EXAMPLE) -ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 8 2005" OR CMAKE_GENERATOR STREQUAL "Visual Studio 9 2008") - -ADD_DEPENDENCIES(variable_neighborhood_search tsp) - -###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(ITERATEDLOCALSEARCH_VERSION ${GLOBAL_VERSION}) -SET_TARGET_PROPERTIES(variable_neighborhood_search PROPERTIES VERSION "${ITERATEDLOCALSEARCH_VERSION}") - -###################################################################################### -### 5) Link the librairies for your target(s) -###################################################################################### - -TARGET_LINK_LIBRARIES(variable_neighborhood_search tsp eo eoutils) - -###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/Lesson5/param b/trunk/paradiseo-mo/tutorial/Lesson5/param deleted file mode 100644 index d81cd02b9..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson5/param +++ /dev/null @@ -1,8 +0,0 @@ -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered - -###### Configuration ###### -# --instancePath=../examples/tsp/benchs/berlin52.tsp # Path to the instance. -# --seed=1231949999 # Seed for rand. -# --selectionType=Best # Type of the selection: 'Best', 'First' or 'Random'. diff --git a/trunk/paradiseo-mo/tutorial/Lesson5/variable_neighborhood_search.cpp b/trunk/paradiseo-mo/tutorial/Lesson5/variable_neighborhood_search.cpp deleted file mode 100644 index c03eaf256..000000000 --- a/trunk/paradiseo-mo/tutorial/Lesson5/variable_neighborhood_search.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Salma Mesmoudi (salma.mesmoudi@inria.fr), Jean-Charles Boisson - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#include -#include -#include -#include - - -//template void add(T& var, P& vect); -void manage_configuration_file(eoParser & _parser); -//void ajouter (std::vector > >& V, moMove& K)const ; - -int -main (int _argc, char* _argv []) -{ - std::string instancePath, selectionType; - unsigned int seed; - - eoParser parser(_argc, _argv); - - manage_configuration_file(parser); - - seed=atoi( (parser.getParamWithLongName("seed")->getValue()).c_str() ); - instancePath=parser.getParamWithLongName("instancePath")->getValue(); - selectionType=parser.getParamWithLongName("selectionType")->getValue(); - - srand (seed); - Graph::load(instancePath.c_str()); - - Route solution; - - RouteInit initializer; - initializer (solution); - - RouteEval full_evaluation; - full_evaluation (solution); - - std :: cout << "[From] " << solution << std :: endl; - //A neighbor is a local search or mutation - - /*Tools for an efficient (? :-)) - local search ! */ - //---------------------first neighbor---------------------------------- - - TwoOptInit two_opt_initializer; - - TwoOptNext two_opt_next_move_generator; - - TwoOptIncrEval two_opt_incremental_evaluation; - - moMoveSelect* two_opt_selection; - - if(selectionType.compare("Best")==0) - { - two_opt_selection= new moBestImprSelect(); - } - else if (selectionType.compare("First")==0) - { - two_opt_selection= new moFirstImprSelect(); - } - else if (selectionType.compare("Random")==0) - { - two_opt_selection= new moRandImprSelect(); - } - else - { - throw std::runtime_error("[hill_climbing.cpp]: the type of selection '"+selectionType+"' is not correct."); - } - - - moHC hill_climbing (two_opt_initializer, two_opt_next_move_generator, two_opt_incremental_evaluation, - *two_opt_selection, full_evaluation); - - - //--------------------second neighbor----------------- - - CitySwap perturbation; - - //-----------neighbor vector-------------------------- - - moExpl explorer(perturbation); - explorer.addExplorer(hill_climbing); - explorer.addExplorer(perturbation); - - //------------VNS application-------------------------- - - moVNS vns(explorer, full_evaluation); - vns(solution); - //hill_climbing(solution); - std :: cout << "[To] " << solution << std :: endl; - - delete(two_opt_selection); - - return EXIT_SUCCESS; -} - - -void -manage_configuration_file(eoParser & _parser) -{ - std::ofstream os; - - _parser.createParam(std::string("../examples/tsp/benchs/berlin52.tsp"), "instancePath", "Path to the instance.", - 0, "Configuration", false); - - _parser.getORcreateParam((unsigned int)time(0), "seed", "Seed for rand.", 0, "Configuration", false); - - _parser.getORcreateParam(std::string("Best"), "selectionType", "Type of the selection: 'Best', 'First' or 'Random'.", - 0, "Configuration", false); - - if (_parser.userNeedsHelp()) - { - _parser.printHelp(std::cout); - exit(EXIT_FAILURE); - } - - os.open("current_param"); - if(!os.is_open()) - { - throw std::runtime_error("[hill_climbing.cpp]: the file current_param cannot be created."); - } - os <<_parser; - os.close(); -} - - - diff --git a/trunk/paradiseo-mo/tutorial/OldLesson/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/OldLesson/CMakeLists.txt deleted file mode 100644 index ca24b6c37..000000000 --- a/trunk/paradiseo-mo/tutorial/OldLesson/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src/utils) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${FUNCTION_SRC_DIR}) - -###################################################################################### -### 2) Specify where CMake can find the libraries -###################################################################################### - -LINK_DIRECTORIES(${EO_BIN_DIR}/lib ${FUNCTION_BIN_DIR}/lib) - -###################################################################################### -### 3) Define your target(s): just an executable here -###################################################################################### - -ADD_EXECUTABLE(minimize_function -ADD_DEPENDENCIES(minimize_function function) - -###################################################################################### -### 4) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(MINIMIZEFUNCTION_VERSION ${GLOBAL_VERSION}) -SET_TARGET_PROPERTIES(minimize_function PROPERTIES VERSION "${MINIMIZEFUNCTION_VERSION}") - -###################################################################################### -### 5) Link the librairies for your target(s) -###################################################################################### - -TARGET_LINK_LIBRARIES(minimize_function function eo eoutils) - -###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/OldLesson/minimize_function.cpp b/trunk/paradiseo-mo/tutorial/OldLesson/minimize_function.cpp deleted file mode 100644 index c69acd9f8..000000000 --- a/trunk/paradiseo-mo/tutorial/OldLesson/minimize_function.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/* - - Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 - (C) OPAC Team, LIFL, 2002-2008 - - Sébastien Cahon, Jean-Charles Boisson - - This software is governed by the CeCILL license under French law and - abiding by the rules of distribution of free software. You can use, - modify and/ or redistribute the software under the terms of the CeCILL - license as circulated by CEA, CNRS and INRIA at the following URL - "http://www.cecill.info". - - As a counterpart to the access to the source code and rights to copy, - modify and redistribute granted by the license, users are provided only - with a limited warranty and the software's author, the holder of the - economic rights, and the successive licensors have only limited liability. - - In this respect, the user's attention is drawn to the risks associated - with loading, using, modifying and/or developing or reproducing the - software by the user in light of its specific status of free software, - that may mean that it is complicated to manipulate, and that also - therefore means that it is reserved for developers and experienced - professionals having in-depth computer knowledge. Users are therefore - encouraged to load and test the software's suitability as regards their - requirements in conditions enabling the security of their systems and/or - data to be ensured and, more generally, to use and operate it in the - same conditions as regards security. - The fact that you are presently reading this means that you have had - knowledge of the CeCILL license and that you accept its terms. - - ParadisEO WebSite : http://paradiseo.gforge.inria.fr - Contact: paradiseo-help@lists.gforge.inria.fr -*/ - -#include -#include -#include - -void manage_configuration_file(eoParser & _parser); - -int -main (int _argc, char* _argv []) -{ - std::string selectionType; - double initialBound, searchBound, searchStep; - eoParser parser(_argc, _argv); - - manage_configuration_file(parser); - - initialBound=atof( (parser.getParamWithLongName("initialBound")->getValue()).c_str() ); - searchBound=atof( (parser.getParamWithLongName("searchBound")->getValue()).c_str() ); - searchStep=atof( (parser.getParamWithLongName("searchStep")->getValue()).c_str() ); - selectionType=parser.getParamWithLongName("selectionType")->getValue(); - - Affectation solution; - - AffectationInit initialize(initialBound); - initialize (solution); - - AffectationEval evaluation; - evaluation (solution); - - std::cout << "Initial affectation : " << std::endl; - std::cout << "\t x1 = " << solution.first << std::endl; - std::cout << "\t x2 = " << solution.second << std::endl; - std::cout << "\t f(x1,x2) = " << solution.fitness() << std::endl; - - DeviationInit deviation_initializer(searchBound); - - DeviationNext deviation_next_move_generator(searchBound, searchStep); - - DeviationIncrEval deviation_incremental_evaluation; - - moMoveSelect* deviation_selection; - - if(selectionType.compare("Best")==0) - { - deviation_selection= new moBestImprSelect(); - } - else if (selectionType.compare("First")==0) - { - deviation_selection= new moFirstImprSelect(); - } - else if (selectionType.compare("Random")==0) - { - deviation_selection= new moRandImprSelect(); - } - else - { - throw std::runtime_error("[minimize_function.cpp]: the type of selection '"+selectionType+"' is not correct."); - } - - moHC hill_climbing (deviation_initializer, deviation_next_move_generator, deviation_incremental_evaluation, - *deviation_selection, evaluation); - hill_climbing (solution) ; - - std::cout << "Final affectation : " << std::endl; - std::cout << "\t x1 = " << solution.first << std::endl; - std::cout << "\t x2 = " << solution.second << std::endl; - std::cout << "\t f(x1,x2) = " << solution.fitness() << std::endl; - - delete(deviation_selection); - - return EXIT_SUCCESS; -} - -void -manage_configuration_file(eoParser & _parser) -{ - std::ofstream os; - - _parser.createParam((double)1, "initialBound", "Bound for the initial affectation.", 0, "Configuration", false); - - _parser.createParam((double)1, "searchBound", "Bound for neighbourhood exploration.", 0, "Configuration", false); - - _parser.createParam((double)1, "searchStep", "Step between two values during the neighbourhood exploration.", - 0, "Configuration", false); - - _parser.createParam(std::string("First"), "selectionType", "Type of the selection: 'Best', 'First' or 'Random'.", - 0, "Configuration", false); - - if (_parser.userNeedsHelp()) - { - _parser.printHelp(std::cout); - exit(EXIT_FAILURE); - } - - os.open("current_param"); - if(!os.is_open()) - { - throw std::runtime_error("[minimize_function.cpp]: the file current_param cannot be created."); - } - os <<_parser; - os.close(); -} diff --git a/trunk/paradiseo-mo/tutorial/OldLesson/param b/trunk/paradiseo-mo/tutorial/OldLesson/param deleted file mode 100644 index 726b2e29f..000000000 --- a/trunk/paradiseo-mo/tutorial/OldLesson/param +++ /dev/null @@ -1,10 +0,0 @@ - -###### General ###### -# --help=0 # -h : Prints this message -# --stopOnUnknownParam=1 # Stop if unkown param entered - -###### Configuration ###### -# --initialBound=1 # Bound for the initial affectation. -# --searchBound=1 # Bound for neighbourhood exploration. -# --searchStep=1 # Step between two values during the neighbourhood exploration. -# --selectionType=First # Type of the selection: 'Best', 'First' or 'Random'. diff --git a/trunk/paradiseo-mo/tutorial/examples/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/examples/CMakeLists.txt deleted file mode 100644 index 4e30cc193..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ - - -###################################################################################### -### 1) Where must cmake go now ? -###################################################################################### - -#SUBDIRS(tsp function) -ADD_SUBDIRECTORY(tsp) -ADD_SUBDIRECTORY(function) - -###################################################################################### - - diff --git a/trunk/paradiseo-mo/tutorial/examples/function/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/examples/function/CMakeLists.txt deleted file mode 100644 index c7c61e3c1..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -###################################################################################### -### 0) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) - -###################################################################################### - - -###################################################################################### -### 1) Define your target(s): just the tsp here -###################################################################################### - -SET(FUNCTION_LIB_OUTPUT_PATH ${FUNCTION_BIN_DIR}/lib) -SET(LIBRARY_OUTPUT_PATH ${FUNCTION_LIB_OUTPUT_PATH}) - -SET (FUNCTION_SOURCES affectation_eval.cpp - affectation_init.cpp - deviation.cpp - deviation_init.cpp - deviation_next.cpp - deviation_incr_eval.cpp ) - -ADD_LIBRARY(function STATIC ${FUNCTION_SOURCES}) - -###################################################################################### - - -###################################################################################### -### 2) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(FUNCTION_VERSION "${GLOBAL_VERSION}") -SET_TARGET_PROPERTIES(function PROPERTIES VERSION "${FUNCTION_VERSION}") -###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/examples/function/affectation.h b/trunk/paradiseo-mo/tutorial/examples/function/affectation.h deleted file mode 100644 index aa45da336..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/affectation.h +++ /dev/null @@ -1,49 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef affectation_h -#define affectation_h - -#include -#include - -// A double that has to be minimized. -typedef eoScalarFitness< double, std::greater > functionFitness ; - -class Affectation : public EO, public std::pair -{}; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/function/affectation_eval.cpp b/trunk/paradiseo-mo/tutorial/examples/function/affectation_eval.cpp deleted file mode 100644 index ab2d569d7..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/affectation_eval.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "affectation_eval.h" - -void AffectationEval :: operator () (Affectation & _affectation) -{ - double x1, x2, result; - - //std::cout << "AffectationEval" << std::endl; - - x1=_affectation.first; - x2=_affectation.second; - - result=(2*x1*x1) + (x2*x2) + (x1*x2) - (2*x1) - x2; - - //std::cout << result << std::endl; - - _affectation.fitness(result); -} diff --git a/trunk/paradiseo-mo/tutorial/examples/function/affectation_eval.h b/trunk/paradiseo-mo/tutorial/examples/function/affectation_eval.h deleted file mode 100644 index affa225c9..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/affectation_eval.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef affectation_eval_h -#define affectation_eval_h - -#include - -#include "affectation.h" - -//! Affectation Evaluator -class AffectationEval : public eoEvalFunc -{ - - public : - - void operator () (Affectation & _affectation) ; - -} ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/function/affectation_init.cpp b/trunk/paradiseo-mo/tutorial/examples/function/affectation_init.cpp deleted file mode 100644 index 6299b6607..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/affectation_init.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include - -#include "affectation_init.h" - -AffectationInit::AffectationInit(double _bound): bound(_bound) -{ - if(bound < 0.0) - { - std::cout << "[affectation_init.cpp][AffectationInit]: bound is negative, " << bound << " is tranformed to "; - bound = -bound; - std::cout << bound << "." << std::endl; - } -} - -void AffectationInit::operator()(Affectation & _affectation) -{ - eoBooleanGenerator booleanGenerator; - - eoUniformGenerator doubleGenerator(bound); - - //A value between 0.0 and bound. - _affectation.first = doubleGenerator(); - - //value or -value ? - if(booleanGenerator()) - { - _affectation.first= - _affectation.first; - } - - //A value between 0.0 and bound. - _affectation.second = doubleGenerator(); - - //value or -value ? - if(booleanGenerator()) - { - _affectation.second= - _affectation.second; - } -} diff --git a/trunk/paradiseo-mo/tutorial/examples/function/affectation_init.h b/trunk/paradiseo-mo/tutorial/examples/function/affectation_init.h deleted file mode 100644 index a0be33a69..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/affectation_init.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef affectation_init_h -#define affectation_init_h - -#include - -#include "affectation.h" - -class AffectationInit : public eoInit - { - - public : - - AffectationInit(double _bound); - - void operator () (Affectation & _affectation) ; - - //! A bound for the initial value for the affectation - double bound; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/function/deviation.cpp b/trunk/paradiseo-mo/tutorial/examples/function/deviation.cpp deleted file mode 100644 index 7c86c6ea5..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/deviation.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "deviation.h" - -void Deviation::operator () (Affectation & _affectation) -{ - _affectation.first += first; - _affectation.second += second; -} - diff --git a/trunk/paradiseo-mo/tutorial/examples/function/deviation.h b/trunk/paradiseo-mo/tutorial/examples/function/deviation.h deleted file mode 100644 index a575b6235..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/deviation.h +++ /dev/null @@ -1,50 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef deviation_h -#define deviation_h - -#include -#include "affectation.h" - -class Deviation : public moMove , public std :: pair -{ - public : - - void operator () (Affectation & _affectation) ; -} ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/function/deviation_incr_eval.cpp b/trunk/paradiseo-mo/tutorial/examples/function/deviation_incr_eval.cpp deleted file mode 100644 index 440b18ae8..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/deviation_incr_eval.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "deviation_incr_eval.h" - -functionFitness DeviationIncrEval :: operator () (const Deviation & _move, const Affectation & _affectation) -{ - double x1, x2, deltaX1, deltaX2; - - x1=_affectation.first; - x2=_affectation.second; - - deltaX1=_move.first; - deltaX2=_move.second; - - return _affectation.fitness() - + ( 2*deltaX1*deltaX1 ) + ( deltaX2*deltaX2 ) + ( deltaX1*deltaX2 ) - ( 2*deltaX1 ) - deltaX2 - + ( deltaX1 * ( (4*x1) + x2 ) ) + ( x2*deltaX1 ); -} - diff --git a/trunk/paradiseo-mo/tutorial/examples/function/deviation_incr_eval.h b/trunk/paradiseo-mo/tutorial/examples/function/deviation_incr_eval.h deleted file mode 100644 index b3f4cda25..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/deviation_incr_eval.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef deviation_incr_eval_h -#define deviation_incr_eval_h - -#include -#include "deviation.h" - -class DeviationIncrEval : public moMoveIncrEval - { - public : - - functionFitness operator () (const Deviation & _move, const Affectation & _affectation); - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/function/deviation_init.cpp b/trunk/paradiseo-mo/tutorial/examples/function/deviation_init.cpp deleted file mode 100644 index edcfee536..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/deviation_init.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "deviation_init.h" - -DeviationInit::DeviationInit(double _bound): bound(_bound) -{ - if(bound < 0.0) - { - std::cout << "[deviation_init.cpp][DeviationInit]: bound is negative, " << bound << " is tranformed to "; - bound = -bound; - std::cout << bound << "." << std::endl;; - } -} - -void DeviationInit::operator () (Deviation & _move, const Affectation & _affectation) -{ - //Code only used to avoid compilation warning because _affectation is not used in this procedure. - Affectation affectation(_affectation); - - _move.first=-bound; - _move.second=-bound; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/function/deviation_init.h b/trunk/paradiseo-mo/tutorial/examples/function/deviation_init.h deleted file mode 100644 index 48d11839b..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/deviation_init.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef deviation_init_h -#define deviation_init_h - -#include -#include - -#include "deviation.h" - -/** It sets the first couple of edges */ -class DeviationInit : public moMoveInit - { - - public : - - DeviationInit(double _bound); - - void operator () (Deviation & _move, const Affectation & _affectation) ; - - private : - - //! A bound for the initial value for the deviations - double bound; - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/function/deviation_next.cpp b/trunk/paradiseo-mo/tutorial/examples/function/deviation_next.cpp deleted file mode 100644 index bb36ae695..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/deviation_next.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "deviation_next.h" - -DeviationNext::DeviationNext(double _bound, double _step): bound(_bound), step(_step) -{ - if(bound<0.0) - { - std::cout << "[deviation_next.cpp][DeviationNext]: bound is negative, " << bound << " is tranformed to "; - bound=-bound; - std::cout << bound << "." << std::endl; - } - - if(step<0.0) - { - std::cout << "[deviation_next.cpp][DeviationNext]: step is negative, " << step << " is tranformed to "; - step=-step; - std::cout << step << "." << std::endl; - } - - if(step>bound) - { - std::cout << "[deviation_next.cpp][DeviationNext]: step is higher than bound, " << step << " is tranformed to "; - step = bound / 2; - std::cout << step << "." << std::endl; - } -} - -bool DeviationNext::operator () (Deviation & _move, const Affectation & _affectation) -{ - Affectation affectation(_affectation); - - double deltaX1, deltaX2; - - deltaX1=_move.first; - deltaX2=_move.second; - - //std::cout << "deltaX1 = " << deltaX1 << ", deltaX2 = " << deltaX2 << std::endl; - - if( (deltaX1 >= bound) && (deltaX2 > bound) ) - { - return false; - } - - if(deltaX2 > bound) - { - deltaX1+=step; - deltaX2=-bound; - - _move.first=deltaX1; - _move.second=deltaX2; - - return true; - } - - deltaX2+=step; - - _move.second=deltaX2; - - return true; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/function/deviation_next.h b/trunk/paradiseo-mo/tutorial/examples/function/deviation_next.h deleted file mode 100644 index a28689cf7..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/deviation_next.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef deviation_next_h -#define deviation_next_h - -#include -#include "deviation.h" - -class DeviationNext : public moNextMove - { - - public : - - DeviationNext (double _bound, double _step); - - bool operator () (Deviation & _move, const Affectation & _affectation) ; - - - private : - - //! A bound for the search in the neighbourhood. - double bound; - - //! A step between two values. - double step; - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/function/function b/trunk/paradiseo-mo/tutorial/examples/function/function deleted file mode 100644 index 3d0cb7659..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/function +++ /dev/null @@ -1,41 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2008 -* (C) OPAC Team, LIFL, 2002-2008 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -#ifndef __function -#define __function - -#include "function.h" - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/function/function.h b/trunk/paradiseo-mo/tutorial/examples/function/function.h deleted file mode 100644 index d577c546a..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/function/function.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef __function_h -#define __function_h - -#include "affectation.h" -#include "affectation_eval.h" -#include "affectation_init.h" -#include "deviation.h" -#include "deviation_incr_eval.h" -#include "deviation_init.h" -#include "deviation_next.h" - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/CMakeLists.txt b/trunk/paradiseo-mo/tutorial/examples/tsp/CMakeLists.txt deleted file mode 100755 index 46f666724..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -###################################################################################### -### 1) Include the sources -###################################################################################### - -INCLUDE_DIRECTORIES(${EO_SRC_DIR}/src) -INCLUDE_DIRECTORIES(${MO_SRC_DIR}/src) - -###################################################################################### - - -###################################################################################### -### 2) Define your target(s): just the tsp here -###################################################################################### - -SET(TSP_LIB_OUTPUT_PATH ${TSP_BIN_DIR}/lib) -SET(LIBRARY_OUTPUT_PATH ${TSP_LIB_OUTPUT_PATH}) - -SET (TSP_SOURCES graph.cpp - route_init.cpp - route_eval.cpp - part_route_eval.cpp - edge_xover.cpp - order_xover.cpp - route_valid.cpp - partial_mapped_xover.cpp - city_swap.cpp - two_opt.cpp - two_opt_init.cpp - two_opt_next.cpp - two_opt_incr_eval.cpp - two_opt_tabu_list.cpp - two_opt_rand.cpp) - -ADD_LIBRARY(tsp STATIC ${TSP_SOURCES}) - -###################################################################################### - - -###################################################################################### -### 3) Optionnal: define your target(s)'s version: no effect for windows -###################################################################################### - -SET(TSP_VERSION "${GLOBAL_VERSION}") -SET_TARGET_PROPERTIES(tsp PROPERTIES VERSION "${TSP_VERSION}") -###################################################################################### diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/berlin52.tsp b/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/berlin52.tsp deleted file mode 100644 index 6f3579180..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/berlin52.tsp +++ /dev/null @@ -1,60 +0,0 @@ -NAME: berlin52 -TYPE: TSP -COMMENT: 52 locations in Berlin (Groetschel) -DIMENSION: 52 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 565.0 575.0 -2 25.0 185.0 -3 345.0 750.0 -4 945.0 685.0 -5 845.0 655.0 -6 880.0 660.0 -7 25.0 230.0 -8 525.0 1000.0 -9 580.0 1175.0 -10 650.0 1130.0 -11 1605.0 620.0 -12 1220.0 580.0 -13 1465.0 200.0 -14 1530.0 5.0 -15 845.0 680.0 -16 725.0 370.0 -17 145.0 665.0 -18 415.0 635.0 -19 510.0 875.0 -20 560.0 365.0 -21 300.0 465.0 -22 520.0 585.0 -23 480.0 415.0 -24 835.0 625.0 -25 975.0 580.0 -26 1215.0 245.0 -27 1320.0 315.0 -28 1250.0 400.0 -29 660.0 180.0 -30 410.0 250.0 -31 420.0 555.0 -32 575.0 665.0 -33 1150.0 1160.0 -34 700.0 580.0 -35 685.0 595.0 -36 685.0 610.0 -37 770.0 610.0 -38 795.0 645.0 -39 720.0 635.0 -40 760.0 650.0 -41 475.0 960.0 -42 95.0 260.0 -43 875.0 920.0 -44 700.0 500.0 -45 555.0 815.0 -46 830.0 485.0 -47 1170.0 65.0 -48 830.0 610.0 -49 605.0 625.0 -50 595.0 360.0 -51 1340.0 725.0 -52 1740.0 245.0 -EOF - diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/eil101.tsp b/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/eil101.tsp deleted file mode 100644 index 46ff3bcc6..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/eil101.tsp +++ /dev/null @@ -1,108 +0,0 @@ -NAME: eil101 -TYPE: TSP -COMMENT: 101-city problem (Christofides/Eilon) -DIMENSION: 101 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 41 49 -2 35 17 -3 55 45 -4 55 20 -5 15 30 -6 25 30 -7 20 50 -8 10 43 -9 55 60 -10 30 60 -11 20 65 -12 50 35 -13 30 25 -14 15 10 -15 30 5 -16 10 20 -17 5 30 -18 20 40 -19 15 60 -20 45 65 -21 45 20 -22 45 10 -23 55 5 -24 65 35 -25 65 20 -26 45 30 -27 35 40 -28 41 37 -29 64 42 -30 40 60 -31 31 52 -32 35 69 -33 53 52 -34 65 55 -35 63 65 -36 2 60 -37 20 20 -38 5 5 -39 60 12 -40 40 25 -41 42 7 -42 24 12 -43 23 3 -44 11 14 -45 6 38 -46 2 48 -47 8 56 -48 13 52 -49 6 68 -50 47 47 -51 49 58 -52 27 43 -53 37 31 -54 57 29 -55 63 23 -56 53 12 -57 32 12 -58 36 26 -59 21 24 -60 17 34 -61 12 24 -62 24 58 -63 27 69 -64 15 77 -65 62 77 -66 49 73 -67 67 5 -68 56 39 -69 37 47 -70 37 56 -71 57 68 -72 47 16 -73 44 17 -74 46 13 -75 49 11 -76 49 42 -77 53 43 -78 61 52 -79 57 48 -80 56 37 -81 55 54 -82 15 47 -83 14 37 -84 11 31 -85 16 22 -86 4 18 -87 28 18 -88 26 52 -89 26 35 -90 31 67 -91 15 19 -92 22 22 -93 18 24 -94 26 27 -95 25 24 -96 22 27 -97 25 21 -98 19 21 -99 20 26 -100 18 18 -101 35 35 -EOF diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/pr2392.tsp b/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/pr2392.tsp deleted file mode 100644 index 2cd96eff4..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/pr2392.tsp +++ /dev/null @@ -1,2399 +0,0 @@ -NAME: pr2392 -TYPE: TSP -COMMENT: 2392-city problem (Padberg/Rinaldi) -DIMENSION: 2392 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 1.63900e+03 2.15600e+03 -2 1.87500e+03 2.92500e+03 -3 2.15000e+03 2.92500e+03 -4 2.42500e+03 2.92500e+03 -5 2.52500e+03 2.67500e+03 -6 2.52500e+03 2.57500e+03 -7 2.52500e+03 2.37500e+03 -8 2.52500e+03 2.27500e+03 -9 2.52500e+03 2.17500e+03 -10 2.78600e+03 2.14800e+03 -11 2.78600e+03 2.24900e+03 -12 2.78600e+03 2.35200e+03 -13 2.78500e+03 2.45100e+03 -14 2.78500e+03 2.55200e+03 -15 2.78700e+03 2.65100e+03 -16 2.92500e+03 2.92500e+03 -17 3.19800e+03 2.92500e+03 -18 3.47500e+03 2.92500e+03 -19 3.72500e+03 2.92500e+03 -20 3.67500e+03 2.67500e+03 -21 3.67500e+03 2.57500e+03 -22 3.67500e+03 2.37500e+03 -23 3.67500e+03 2.27500e+03 -24 3.67500e+03 2.17500e+03 -25 4.18900e+03 2.15600e+03 -26 4.19000e+03 2.25600e+03 -27 4.19000e+03 2.35500e+03 -28 4.18900e+03 2.45600e+03 -29 4.18900e+03 2.55600e+03 -30 4.19000e+03 2.65600e+03 -31 4.27500e+03 2.97500e+03 -32 4.42500e+03 2.92500e+03 -33 4.70000e+03 2.92500e+03 -34 4.97500e+03 2.92500e+03 -35 5.07500e+03 2.67500e+03 -36 5.07500e+03 2.57500e+03 -37 5.07500e+03 2.37500e+03 -38 5.07500e+03 2.27500e+03 -39 5.07500e+03 2.17500e+03 -40 5.33600e+03 2.14800e+03 -41 5.33600e+03 2.24900e+03 -42 5.33600e+03 2.35200e+03 -43 5.33500e+03 2.45100e+03 -44 5.33500e+03 2.55200e+03 -45 5.33700e+03 2.65100e+03 -46 5.47500e+03 2.92500e+03 -47 5.74800e+03 2.92500e+03 -48 6.02500e+03 2.92500e+03 -49 6.27500e+03 2.92500e+03 -50 6.22500e+03 2.67500e+03 -51 6.22500e+03 2.57500e+03 -52 6.22500e+03 2.37500e+03 -53 6.22500e+03 2.27500e+03 -54 6.22500e+03 2.17500e+03 -55 6.73900e+03 2.15600e+03 -56 6.74000e+03 2.25600e+03 -57 6.74000e+03 2.35500e+03 -58 6.73900e+03 2.45600e+03 -59 6.73900e+03 2.55600e+03 -60 6.74000e+03 2.65600e+03 -61 6.82500e+03 2.97500e+03 -62 6.97500e+03 2.92500e+03 -63 7.25000e+03 2.92500e+03 -64 7.52500e+03 2.92500e+03 -65 7.62500e+03 2.67500e+03 -66 7.62500e+03 2.57500e+03 -67 7.62500e+03 2.37500e+03 -68 7.62500e+03 2.27500e+03 -69 7.62500e+03 2.17500e+03 -70 7.88600e+03 2.14800e+03 -71 7.88600e+03 2.24900e+03 -72 7.88600e+03 2.35200e+03 -73 7.88500e+03 2.45100e+03 -74 7.88500e+03 2.55200e+03 -75 7.88700e+03 2.65100e+03 -76 8.02500e+03 2.92500e+03 -77 8.29800e+03 2.92500e+03 -78 8.57500e+03 2.92500e+03 -79 8.82500e+03 2.92500e+03 -80 8.77500e+03 2.67500e+03 -81 8.77500e+03 2.57500e+03 -82 8.77500e+03 2.37500e+03 -83 8.77500e+03 2.27500e+03 -84 8.77500e+03 2.17500e+03 -85 9.28900e+03 2.15600e+03 -86 9.29000e+03 2.25600e+03 -87 9.29000e+03 2.35500e+03 -88 9.28900e+03 2.45600e+03 -89 9.28900e+03 2.55600e+03 -90 9.29000e+03 2.65600e+03 -91 9.37500e+03 2.97500e+03 -92 9.52500e+03 2.92500e+03 -93 9.80000e+03 2.92500e+03 -94 1.00750e+04 2.92500e+03 -95 1.01750e+04 2.67500e+03 -96 1.01750e+04 2.57500e+03 -97 1.01750e+04 2.37500e+03 -98 1.01750e+04 2.27500e+03 -99 1.01750e+04 2.17500e+03 -100 1.04360e+04 2.14800e+03 -101 1.04360e+04 2.24900e+03 -102 1.04360e+04 2.35200e+03 -103 1.04350e+04 2.45100e+03 -104 1.04350e+04 2.55200e+03 -105 1.04370e+04 2.65100e+03 -106 1.05750e+04 2.92500e+03 -107 1.08480e+04 2.92500e+03 -108 1.11250e+04 2.92500e+03 -109 1.13250e+04 2.17500e+03 -110 1.13250e+04 2.27500e+03 -111 1.13250e+04 2.37500e+03 -112 1.13250e+04 2.57500e+03 -113 1.13250e+04 2.67500e+03 -114 1.13750e+04 2.92500e+03 -115 1.13750e+04 3.12500e+03 -116 1.14000e+04 3.22500e+03 -117 1.14000e+04 3.32500e+03 -118 1.14000e+04 3.47500e+03 -119 1.14000e+04 3.62500e+03 -120 1.13000e+04 3.82500e+03 -121 1.11250e+04 3.82500e+03 -122 1.11250e+04 3.92500e+03 -123 1.10250e+04 3.97500e+03 -124 1.09250e+04 3.97500e+03 -125 1.09250e+04 3.87500e+03 -126 1.05500e+04 3.92500e+03 -127 1.05500e+04 3.72500e+03 -128 1.05500e+04 3.32500e+03 -129 1.01000e+04 3.32500e+03 -130 1.01000e+04 3.72500e+03 -131 1.01000e+04 3.92500e+03 -132 9.72500e+03 3.87500e+03 -133 9.72500e+03 3.97500e+03 -134 9.62500e+03 3.97500e+03 -135 9.55000e+03 3.87500e+03 -136 9.42500e+03 3.87500e+03 -137 9.27500e+03 3.90000e+03 -138 9.25000e+03 3.70000e+03 -139 9.25000e+03 3.57500e+03 -140 9.25000e+03 3.47500e+03 -141 9.25000e+03 3.37500e+03 -142 9.25000e+03 3.27500e+03 -143 8.82500e+03 3.12500e+03 -144 8.85000e+03 3.22500e+03 -145 8.85000e+03 3.32500e+03 -146 8.85000e+03 3.47500e+03 -147 8.85000e+03 3.62500e+03 -148 8.75000e+03 3.82500e+03 -149 8.57500e+03 3.82500e+03 -150 8.57500e+03 3.92500e+03 -151 8.47500e+03 3.97500e+03 -152 8.37500e+03 3.87500e+03 -153 8.37500e+03 3.97500e+03 -154 8.40000e+03 4.12500e+03 -155 8.30000e+03 4.17500e+03 -156 8.40000e+03 4.27500e+03 -157 8.50000e+03 4.17500e+03 -158 8.67500e+03 4.32500e+03 -159 8.77500e+03 4.42500e+03 -160 8.82500e+03 4.32500e+03 -161 9.27500e+03 4.27500e+03 -162 9.37500e+03 4.27500e+03 -163 9.32500e+03 4.37500e+03 -164 9.40000e+03 4.45000e+03 -165 9.40000e+03 4.55000e+03 -166 9.32500e+03 4.50000e+03 -167 9.21500e+03 4.56000e+03 -168 9.21500e+03 4.71000e+03 -169 9.37500e+03 4.77500e+03 -170 9.21500e+03 4.86000e+03 -171 9.21500e+03 5.01000e+03 -172 9.21500e+03 5.16000e+03 -173 9.21500e+03 5.31000e+03 -174 9.21500e+03 5.46000e+03 -175 9.21500e+03 5.61000e+03 -176 9.47500e+03 5.67500e+03 -177 9.47500e+03 5.52500e+03 -178 9.47500e+03 5.42500e+03 -179 9.47500e+03 5.27500e+03 -180 9.47500e+03 5.02500e+03 -181 9.57500e+03 5.07500e+03 -182 9.72500e+03 5.07500e+03 -183 9.67500e+03 4.97500e+03 -184 9.57500e+03 4.92500e+03 -185 9.52500e+03 4.77500e+03 -186 9.60000e+03 4.67500e+03 -187 9.62500e+03 4.77500e+03 -188 9.77500e+03 4.77500e+03 -189 9.97500e+03 4.60000e+03 -190 9.87500e+03 4.60000e+03 -191 9.80000e+03 4.52500e+03 -192 9.70000e+03 4.52500e+03 -193 9.70000e+03 4.42500e+03 -194 9.80000e+03 4.42500e+03 -195 9.80000e+03 4.32500e+03 -196 9.70000e+03 4.27500e+03 -197 9.60000e+03 4.17500e+03 -198 9.70000e+03 4.12500e+03 -199 9.80000e+03 4.17500e+03 -200 9.87500e+03 4.27500e+03 -201 9.97500e+03 4.27500e+03 -202 1.00750e+04 4.17500e+03 -203 1.02750e+04 4.17500e+03 -204 1.03750e+04 4.17500e+03 -205 1.05750e+04 4.17500e+03 -206 1.06750e+04 4.27500e+03 -207 1.07750e+04 4.27500e+03 -208 1.08500e+04 4.32500e+03 -209 1.08500e+04 4.42500e+03 -210 1.08500e+04 4.52500e+03 -211 1.07750e+04 4.57500e+03 -212 1.06750e+04 4.57500e+03 -213 1.08750e+04 4.77500e+03 -214 1.10250e+04 4.77500e+03 -215 1.11750e+04 4.72500e+03 -216 1.10500e+04 4.67500e+03 -217 1.09500e+04 4.50000e+03 -218 1.09500e+04 4.40000e+03 -219 1.09500e+04 4.27500e+03 -220 1.08500e+04 4.17500e+03 -221 1.09500e+04 4.12500e+03 -222 1.10500e+04 4.17500e+03 -223 1.12250e+04 4.32500e+03 -224 1.13750e+04 4.32500e+03 -225 1.13250e+04 4.42500e+03 -226 1.13250e+04 4.57500e+03 -227 1.13250e+04 4.67500e+03 -228 1.13250e+04 4.77500e+03 -229 1.13250e+04 4.92500e+03 -230 1.14500e+04 4.92500e+03 -231 1.14500e+04 5.07500e+03 -232 1.14220e+04 5.20400e+03 -233 1.14250e+04 5.32500e+03 -234 1.13250e+04 5.27500e+03 -235 1.13250e+04 5.37500e+03 -236 1.11750e+04 5.37500e+03 -237 1.11750e+04 5.27500e+03 -238 1.11250e+04 5.17500e+03 -239 1.11000e+04 5.02500e+03 -240 1.09750e+04 4.97500e+03 -241 1.09250e+04 5.07500e+03 -242 1.09500e+04 5.17500e+03 -243 1.09000e+04 5.27500e+03 -244 1.09000e+04 5.37500e+03 -245 1.08000e+04 5.17500e+03 -246 1.05250e+04 5.17500e+03 -247 1.03250e+04 5.17500e+03 -248 1.03250e+04 5.02500e+03 -249 1.04250e+04 5.07500e+03 -250 1.04750e+04 4.97500e+03 -251 1.03250e+04 4.87500e+03 -252 1.01750e+04 4.97500e+03 -253 1.02250e+04 5.07500e+03 -254 1.01250e+04 5.17500e+03 -255 9.97500e+03 5.17500e+03 -256 1.00500e+04 5.25000e+03 -257 1.00500e+04 5.35000e+03 -258 1.00250e+04 5.45000e+03 -259 1.01750e+04 5.45000e+03 -260 1.03250e+04 5.45000e+03 -261 1.04750e+04 5.45000e+03 -262 1.05750e+04 5.45000e+03 -263 1.06750e+04 5.45000e+03 -264 1.05250e+04 6.02500e+03 -265 1.05250e+04 6.12500e+03 -266 1.06750e+04 6.12500e+03 -267 1.08250e+04 6.02500e+03 -268 1.10250e+04 6.05000e+03 -269 1.12240e+04 5.90800e+03 -270 1.14000e+04 5.97500e+03 -271 1.14000e+04 6.37500e+03 -272 1.14000e+04 6.57500e+03 -273 1.11750e+04 6.57500e+03 -274 1.10250e+04 6.45000e+03 -275 1.09750e+04 6.67500e+03 -276 1.10750e+04 6.77500e+03 -277 1.09750e+04 6.87500e+03 -278 1.11750e+04 6.97500e+03 -279 1.13750e+04 6.97500e+03 -280 1.13250e+04 7.07500e+03 -281 1.14000e+04 7.15000e+03 -282 1.11250e+04 7.15000e+03 -283 1.09750e+04 7.15000e+03 -284 1.08750e+04 7.32500e+03 -285 1.09250e+04 7.42500e+03 -286 1.10750e+04 7.42500e+03 -287 1.11750e+04 7.47500e+03 -288 1.10750e+04 7.57500e+03 -289 1.11750e+04 7.62500e+03 -290 1.11750e+04 7.72500e+03 -291 1.10250e+04 7.72500e+03 -292 1.10250e+04 7.82500e+03 -293 1.11750e+04 7.82500e+03 -294 1.13250e+04 7.87500e+03 -295 1.14250e+04 7.92500e+03 -296 1.14250e+04 8.07500e+03 -297 1.13250e+04 8.07500e+03 -298 1.12750e+04 8.17500e+03 -299 1.14250e+04 8.22500e+03 -300 1.14250e+04 8.37500e+03 -301 1.12750e+04 8.32500e+03 -302 1.11750e+04 8.32500e+03 -303 1.10750e+04 8.22500e+03 -304 1.09750e+04 8.22500e+03 -305 1.09250e+04 7.97500e+03 -306 1.07750e+04 7.82500e+03 -307 1.08250e+04 7.60000e+03 -308 1.07250e+04 7.57500e+03 -309 1.07750e+04 7.42500e+03 -310 1.06750e+04 7.42500e+03 -311 1.05250e+04 7.42500e+03 -312 1.05250e+04 7.57500e+03 -313 1.04500e+04 7.75000e+03 -314 1.03000e+04 7.75000e+03 -315 1.04250e+04 7.87500e+03 -316 1.05250e+04 7.92500e+03 -317 1.05750e+04 7.82500e+03 -318 1.06250e+04 7.97500e+03 -319 1.07250e+04 7.97500e+03 -320 1.07250e+04 8.07500e+03 -321 1.06250e+04 8.12500e+03 -322 1.05250e+04 8.07500e+03 -323 1.04250e+04 8.02500e+03 -324 1.04250e+04 8.12500e+03 -325 1.02500e+04 8.22500e+03 -326 1.01500e+04 8.22500e+03 -327 1.02250e+04 8.12500e+03 -328 1.02750e+04 7.97500e+03 -329 1.01250e+04 7.97500e+03 -330 1.00000e+04 7.87500e+03 -331 1.00000e+04 7.77500e+03 -332 9.82500e+03 7.82500e+03 -333 9.62500e+03 7.72500e+03 -334 9.47500e+03 7.72500e+03 -335 9.42500e+03 7.62500e+03 -336 9.57500e+03 7.62500e+03 -337 9.62500e+03 7.47500e+03 -338 9.72500e+03 7.57500e+03 -339 9.82500e+03 7.47500e+03 -340 1.00250e+04 7.52500e+03 -341 9.97500e+03 7.42500e+03 -342 9.92500e+03 7.27500e+03 -343 9.82500e+03 7.07500e+03 -344 9.62500e+03 7.07500e+03 -345 9.72500e+03 6.97500e+03 -346 9.87500e+03 6.77500e+03 -347 9.72500e+03 6.77500e+03 -348 9.57500e+03 6.82500e+03 -349 9.57500e+03 6.67500e+03 -350 9.72500e+03 6.42500e+03 -351 9.62500e+03 6.20000e+03 -352 9.72500e+03 6.02500e+03 -353 9.62500e+03 6.00000e+03 -354 9.22500e+03 6.37500e+03 -355 9.22500e+03 6.52500e+03 -356 9.37500e+03 6.52500e+03 -357 9.37500e+03 6.67500e+03 -358 9.22500e+03 6.67500e+03 -359 9.22500e+03 6.87500e+03 -360 9.22500e+03 7.07500e+03 -361 9.22600e+03 7.25900e+03 -362 9.22500e+03 7.26000e+03 -363 9.22600e+03 7.40900e+03 -364 9.22500e+03 7.41000e+03 -365 9.22500e+03 7.56000e+03 -366 9.22600e+03 7.56000e+03 -367 9.22500e+03 7.71000e+03 -368 9.22500e+03 7.71100e+03 -369 9.32500e+03 7.82500e+03 -370 9.22500e+03 7.87500e+03 -371 9.22500e+03 7.97500e+03 -372 9.22500e+03 8.07500e+03 -373 9.22500e+03 8.17500e+03 -374 9.22500e+03 8.27500e+03 -375 9.22500e+03 8.37500e+03 -376 9.22500e+03 8.47500e+03 -377 9.27500e+03 8.82500e+03 -378 9.47500e+03 8.82500e+03 -379 9.57800e+03 8.82000e+03 -380 9.84700e+03 8.70300e+03 -381 9.87500e+03 8.82500e+03 -382 1.00250e+04 8.72500e+03 -383 1.00750e+04 8.82500e+03 -384 1.01750e+04 8.72500e+03 -385 1.01000e+04 8.57500e+03 -386 1.02500e+04 8.37500e+03 -387 1.02500e+04 8.47500e+03 -388 1.02500e+04 8.62500e+03 -389 1.04750e+04 8.77500e+03 -390 1.05750e+04 8.77500e+03 -391 1.06750e+04 8.77500e+03 -392 1.07750e+04 8.77500e+03 -393 1.09250e+04 8.77500e+03 -394 1.08750e+04 8.62500e+03 -395 1.08750e+04 8.52500e+03 -396 1.09750e+04 8.57500e+03 -397 1.11750e+04 8.47500e+03 -398 1.12750e+04 8.42500e+03 -399 1.13500e+04 8.57500e+03 -400 1.14500e+04 8.67500e+03 -401 1.13500e+04 8.77500e+03 -402 1.13250e+04 9.32500e+03 -403 1.13250e+04 9.42500e+03 -404 1.13250e+04 9.52500e+03 -405 1.13250e+04 9.72500e+03 -406 1.13250e+04 9.82500e+03 -407 1.11250e+04 1.00750e+04 -408 1.13750e+04 1.00750e+04 -409 1.13750e+04 1.02750e+04 -410 1.14000e+04 1.03750e+04 -411 1.14000e+04 1.04750e+04 -412 1.14000e+04 1.06250e+04 -413 1.14000e+04 1.07750e+04 -414 1.13000e+04 1.09750e+04 -415 1.11250e+04 1.09750e+04 -416 1.11250e+04 1.10750e+04 -417 1.10250e+04 1.11250e+04 -418 1.09250e+04 1.11250e+04 -419 1.09250e+04 1.10250e+04 -420 1.05500e+04 1.08750e+04 -421 1.05500e+04 1.10750e+04 -422 1.02750e+04 1.13250e+04 -423 1.03750e+04 1.13250e+04 -424 1.05750e+04 1.13250e+04 -425 1.06750e+04 1.14250e+04 -426 1.07750e+04 1.14250e+04 -427 1.08500e+04 1.14750e+04 -428 1.08500e+04 1.15750e+04 -429 1.08500e+04 1.16750e+04 -430 1.07750e+04 1.17250e+04 -431 1.06750e+04 1.17250e+04 -432 1.08750e+04 1.19250e+04 -433 1.10250e+04 1.19250e+04 -434 1.11750e+04 1.18750e+04 -435 1.10500e+04 1.18250e+04 -436 1.09500e+04 1.16500e+04 -437 1.09500e+04 1.15500e+04 -438 1.09500e+04 1.14250e+04 -439 1.08500e+04 1.13250e+04 -440 1.09500e+04 1.12750e+04 -441 1.10500e+04 1.13250e+04 -442 1.12250e+04 1.14750e+04 -443 1.13750e+04 1.14750e+04 -444 1.13250e+04 1.15750e+04 -445 1.13250e+04 1.17250e+04 -446 1.13250e+04 1.18250e+04 -447 1.13250e+04 1.19250e+04 -448 1.13250e+04 1.20750e+04 -449 1.14500e+04 1.20750e+04 -450 1.14500e+04 1.22250e+04 -451 1.14220e+04 1.23540e+04 -452 1.14250e+04 1.24750e+04 -453 1.13250e+04 1.24250e+04 -454 1.13250e+04 1.25250e+04 -455 1.11750e+04 1.25250e+04 -456 1.11750e+04 1.24250e+04 -457 1.11250e+04 1.23250e+04 -458 1.11000e+04 1.21750e+04 -459 1.09750e+04 1.21250e+04 -460 1.09250e+04 1.22250e+04 -461 1.09500e+04 1.23250e+04 -462 1.09000e+04 1.24250e+04 -463 1.09000e+04 1.25250e+04 -464 1.08000e+04 1.23250e+04 -465 1.05250e+04 1.23250e+04 -466 1.04250e+04 1.22250e+04 -467 1.04750e+04 1.21250e+04 -468 1.03250e+04 1.20250e+04 -469 1.01750e+04 1.21250e+04 -470 1.02250e+04 1.22250e+04 -471 1.03250e+04 1.21750e+04 -472 1.03250e+04 1.23250e+04 -473 1.01250e+04 1.23250e+04 -474 9.97500e+03 1.23250e+04 -475 1.00500e+04 1.24000e+04 -476 1.00500e+04 1.25000e+04 -477 1.00250e+04 1.26000e+04 -478 1.01750e+04 1.26000e+04 -479 1.03250e+04 1.26000e+04 -480 1.04750e+04 1.26000e+04 -481 1.05750e+04 1.26000e+04 -482 1.06750e+04 1.26000e+04 -483 1.05250e+04 1.31750e+04 -484 1.05250e+04 1.32750e+04 -485 1.06750e+04 1.32750e+04 -486 1.08250e+04 1.31750e+04 -487 1.10250e+04 1.32000e+04 -488 1.12240e+04 1.30580e+04 -489 1.14000e+04 1.31250e+04 -490 1.14000e+04 1.35250e+04 -491 1.14000e+04 1.37250e+04 -492 1.11750e+04 1.37250e+04 -493 1.10250e+04 1.36000e+04 -494 1.09750e+04 1.38250e+04 -495 1.10750e+04 1.39250e+04 -496 1.09750e+04 1.40250e+04 -497 1.11750e+04 1.41250e+04 -498 1.13750e+04 1.41250e+04 -499 1.13250e+04 1.42250e+04 -500 1.14000e+04 1.43000e+04 -501 1.11250e+04 1.43000e+04 -502 1.09750e+04 1.43000e+04 -503 1.08750e+04 1.44750e+04 -504 1.09250e+04 1.45750e+04 -505 1.08250e+04 1.47500e+04 -506 1.07250e+04 1.47250e+04 -507 1.07750e+04 1.45750e+04 -508 1.06750e+04 1.45750e+04 -509 1.05250e+04 1.45750e+04 -510 1.05250e+04 1.47250e+04 -511 1.04500e+04 1.49000e+04 -512 1.03000e+04 1.49000e+04 -513 1.04250e+04 1.50250e+04 -514 1.04250e+04 1.51750e+04 -515 1.04250e+04 1.52750e+04 -516 1.05250e+04 1.52250e+04 -517 1.06250e+04 1.52750e+04 -518 1.07250e+04 1.52250e+04 -519 1.07250e+04 1.51250e+04 -520 1.06250e+04 1.51250e+04 -521 1.05250e+04 1.50750e+04 -522 1.05750e+04 1.49750e+04 -523 1.07750e+04 1.49750e+04 -524 1.09250e+04 1.51250e+04 -525 1.10250e+04 1.49750e+04 -526 1.10250e+04 1.48750e+04 -527 1.10750e+04 1.47250e+04 -528 1.10750e+04 1.45750e+04 -529 1.11750e+04 1.46250e+04 -530 1.11750e+04 1.47750e+04 -531 1.11750e+04 1.48750e+04 -532 1.11750e+04 1.49750e+04 -533 1.13250e+04 1.50250e+04 -534 1.14250e+04 1.50750e+04 -535 1.14250e+04 1.52250e+04 -536 1.13250e+04 1.52250e+04 -537 1.12750e+04 1.53250e+04 -538 1.14250e+04 1.53750e+04 -539 1.14250e+04 1.55250e+04 -540 1.13500e+04 1.57250e+04 -541 1.14500e+04 1.58250e+04 -542 1.13500e+04 1.59250e+04 -543 1.11750e+04 1.56250e+04 -544 1.12750e+04 1.55750e+04 -545 1.12750e+04 1.54750e+04 -546 1.11750e+04 1.54750e+04 -547 1.10750e+04 1.53750e+04 -548 1.09750e+04 1.53750e+04 -549 1.08750e+04 1.56750e+04 -550 1.09750e+04 1.57250e+04 -551 1.08750e+04 1.57750e+04 -552 1.09250e+04 1.59250e+04 -553 1.07750e+04 1.59250e+04 -554 1.06750e+04 1.59250e+04 -555 1.05750e+04 1.59250e+04 -556 1.04750e+04 1.59250e+04 -557 1.02500e+04 1.57750e+04 -558 1.01750e+04 1.58750e+04 -559 1.00750e+04 1.59750e+04 -560 9.87500e+03 1.59750e+04 -561 9.84700e+03 1.58530e+04 -562 1.00250e+04 1.58750e+04 -563 1.01000e+04 1.57250e+04 -564 1.02500e+04 1.56250e+04 -565 1.02500e+04 1.55250e+04 -566 1.02500e+04 1.53750e+04 -567 1.01500e+04 1.53750e+04 -568 1.02250e+04 1.52750e+04 -569 1.02750e+04 1.51250e+04 -570 1.01250e+04 1.51250e+04 -571 1.00000e+04 1.50250e+04 -572 1.00000e+04 1.49250e+04 -573 9.82500e+03 1.49750e+04 -574 9.62500e+03 1.48750e+04 -575 9.47500e+03 1.48750e+04 -576 9.42500e+03 1.47750e+04 -577 9.57500e+03 1.47750e+04 -578 9.62500e+03 1.46250e+04 -579 9.72500e+03 1.47250e+04 -580 9.82500e+03 1.46250e+04 -581 1.00250e+04 1.46750e+04 -582 9.97500e+03 1.45750e+04 -583 9.92500e+03 1.44250e+04 -584 9.82500e+03 1.42250e+04 -585 9.62500e+03 1.42250e+04 -586 9.72500e+03 1.41250e+04 -587 9.87500e+03 1.39250e+04 -588 9.72500e+03 1.39250e+04 -589 9.57500e+03 1.39750e+04 -590 9.57500e+03 1.38250e+04 -591 9.72500e+03 1.35750e+04 -592 9.62500e+03 1.33500e+04 -593 9.72500e+03 1.31750e+04 -594 9.62500e+03 1.31500e+04 -595 9.22500e+03 1.35250e+04 -596 9.22500e+03 1.36750e+04 -597 9.37500e+03 1.36750e+04 -598 9.37500e+03 1.38250e+04 -599 9.22500e+03 1.38250e+04 -600 9.22500e+03 1.40250e+04 -601 9.22500e+03 1.42250e+04 -602 9.22600e+03 1.44090e+04 -603 9.22500e+03 1.44100e+04 -604 9.22600e+03 1.45590e+04 -605 9.22500e+03 1.45600e+04 -606 9.22500e+03 1.47100e+04 -607 9.22600e+03 1.47100e+04 -608 9.22500e+03 1.48600e+04 -609 9.22500e+03 1.48610e+04 -610 9.32500e+03 1.49750e+04 -611 9.22500e+03 1.50250e+04 -612 9.22500e+03 1.51250e+04 -613 9.22500e+03 1.52250e+04 -614 9.22500e+03 1.53250e+04 -615 9.22500e+03 1.54250e+04 -616 9.22500e+03 1.55250e+04 -617 9.22500e+03 1.56250e+04 -618 9.57800e+03 1.59700e+04 -619 9.47500e+03 1.59750e+04 -620 9.27500e+03 1.59750e+04 -621 8.90000e+03 1.58250e+04 -622 8.80000e+03 1.59250e+04 -623 8.80000e+03 1.57250e+04 -624 8.72500e+03 1.55750e+04 -625 8.62500e+03 1.56250e+04 -626 8.42500e+03 1.57250e+04 -627 8.32500e+03 1.56750e+04 -628 8.32500e+03 1.57750e+04 -629 8.37500e+03 1.59250e+04 -630 8.22500e+03 1.59250e+04 -631 8.12500e+03 1.59250e+04 -632 8.02500e+03 1.59250e+04 -633 7.92500e+03 1.59250e+04 -634 7.70000e+03 1.57750e+04 -635 7.70000e+03 1.56250e+04 -636 7.70000e+03 1.55250e+04 -637 7.55000e+03 1.57250e+04 -638 7.62500e+03 1.58750e+04 -639 7.52500e+03 1.59750e+04 -640 7.47500e+03 1.58750e+04 -641 7.32500e+03 1.59750e+04 -642 7.29700e+03 1.58530e+04 -643 7.02800e+03 1.59700e+04 -644 6.92500e+03 1.59750e+04 -645 6.72500e+03 1.59750e+04 -646 6.67500e+03 1.56250e+04 -647 6.67500e+03 1.55250e+04 -648 6.67500e+03 1.54250e+04 -649 6.67500e+03 1.53250e+04 -650 6.67500e+03 1.52250e+04 -651 6.67500e+03 1.51250e+04 -652 6.67500e+03 1.50250e+04 -653 6.77500e+03 1.49750e+04 -654 6.67500e+03 1.48610e+04 -655 6.67500e+03 1.48600e+04 -656 6.67600e+03 1.47100e+04 -657 6.67500e+03 1.47100e+04 -658 6.67500e+03 1.45600e+04 -659 6.67600e+03 1.45590e+04 -660 6.67500e+03 1.44100e+04 -661 6.67600e+03 1.44090e+04 -662 6.67500e+03 1.42250e+04 -663 6.67500e+03 1.40250e+04 -664 6.67500e+03 1.38250e+04 -665 6.82500e+03 1.38250e+04 -666 6.82500e+03 1.36750e+04 -667 6.67500e+03 1.36750e+04 -668 6.67500e+03 1.35250e+04 -669 7.07500e+03 1.31500e+04 -670 7.17500e+03 1.31750e+04 -671 7.07500e+03 1.33500e+04 -672 7.17500e+03 1.35750e+04 -673 7.02500e+03 1.38250e+04 -674 7.02500e+03 1.39750e+04 -675 7.17500e+03 1.39250e+04 -676 7.32500e+03 1.39250e+04 -677 7.17500e+03 1.41250e+04 -678 7.07500e+03 1.42250e+04 -679 7.27500e+03 1.42250e+04 -680 7.37500e+03 1.44250e+04 -681 7.42500e+03 1.45750e+04 -682 7.47500e+03 1.46750e+04 -683 7.27500e+03 1.46250e+04 -684 7.17500e+03 1.47250e+04 -685 7.07500e+03 1.46250e+04 -686 7.02500e+03 1.47750e+04 -687 6.87500e+03 1.47750e+04 -688 6.92500e+03 1.48750e+04 -689 7.07500e+03 1.48750e+04 -690 7.27500e+03 1.49750e+04 -691 7.45000e+03 1.49250e+04 -692 7.45000e+03 1.50250e+04 -693 7.57500e+03 1.51250e+04 -694 7.72500e+03 1.51250e+04 -695 7.67500e+03 1.52750e+04 -696 7.60000e+03 1.53750e+04 -697 7.70000e+03 1.53750e+04 -698 7.87500e+03 1.52750e+04 -699 7.87500e+03 1.51750e+04 -700 7.97500e+03 1.52250e+04 -701 8.07500e+03 1.52750e+04 -702 8.17500e+03 1.52250e+04 -703 8.17500e+03 1.51250e+04 -704 8.07500e+03 1.51250e+04 -705 8.02500e+03 1.49750e+04 -706 7.97500e+03 1.50750e+04 -707 7.87500e+03 1.50250e+04 -708 7.75000e+03 1.49000e+04 -709 7.90000e+03 1.49000e+04 -710 7.97500e+03 1.47250e+04 -711 7.97500e+03 1.45750e+04 -712 8.12500e+03 1.45750e+04 -713 8.22500e+03 1.45750e+04 -714 8.17500e+03 1.47250e+04 -715 8.27500e+03 1.47500e+04 -716 8.22500e+03 1.49750e+04 -717 8.37500e+03 1.51250e+04 -718 8.42500e+03 1.53750e+04 -719 8.52500e+03 1.53750e+04 -720 8.62500e+03 1.54750e+04 -721 8.72500e+03 1.54750e+04 -722 8.87500e+03 1.55250e+04 -723 8.87500e+03 1.53750e+04 -724 8.72500e+03 1.53250e+04 -725 8.77500e+03 1.52250e+04 -726 8.87500e+03 1.52250e+04 -727 8.87500e+03 1.50750e+04 -728 8.77500e+03 1.50250e+04 -729 8.62500e+03 1.49750e+04 -730 8.47500e+03 1.49750e+04 -731 8.47500e+03 1.48750e+04 -732 8.62500e+03 1.48750e+04 -733 8.62500e+03 1.47750e+04 -734 8.52500e+03 1.47250e+04 -735 8.62500e+03 1.46250e+04 -736 8.52500e+03 1.45750e+04 -737 8.37500e+03 1.45750e+04 -738 8.32500e+03 1.44750e+04 -739 8.42500e+03 1.43000e+04 -740 8.57500e+03 1.43000e+04 -741 8.85000e+03 1.43000e+04 -742 8.77500e+03 1.42250e+04 -743 8.82500e+03 1.41250e+04 -744 8.62500e+03 1.41250e+04 -745 8.42500e+03 1.40250e+04 -746 8.52500e+03 1.39250e+04 -747 8.42500e+03 1.38250e+04 -748 8.47500e+03 1.36000e+04 -749 8.62500e+03 1.37250e+04 -750 8.85000e+03 1.37250e+04 -751 8.85000e+03 1.35250e+04 -752 8.85000e+03 1.31250e+04 -753 8.67400e+03 1.30580e+04 -754 8.47500e+03 1.32000e+04 -755 8.27500e+03 1.31750e+04 -756 8.12500e+03 1.32750e+04 -757 7.97500e+03 1.32750e+04 -758 7.97500e+03 1.31750e+04 -759 8.12500e+03 1.26000e+04 -760 8.02500e+03 1.26000e+04 -761 7.92500e+03 1.26000e+04 -762 7.77500e+03 1.26000e+04 -763 7.62500e+03 1.26000e+04 -764 7.47500e+03 1.26000e+04 -765 7.50000e+03 1.25000e+04 -766 7.50000e+03 1.24000e+04 -767 7.42500e+03 1.23250e+04 -768 7.57500e+03 1.23250e+04 -769 7.67500e+03 1.22250e+04 -770 7.62500e+03 1.21250e+04 -771 7.77500e+03 1.20250e+04 -772 7.92500e+03 1.21250e+04 -773 7.87500e+03 1.22250e+04 -774 7.77500e+03 1.21750e+04 -775 7.77500e+03 1.23250e+04 -776 7.97500e+03 1.23250e+04 -777 8.25000e+03 1.23250e+04 -778 8.35000e+03 1.25250e+04 -779 8.35000e+03 1.24250e+04 -780 8.40000e+03 1.23250e+04 -781 8.37500e+03 1.22250e+04 -782 8.42500e+03 1.21250e+04 -783 8.55000e+03 1.21750e+04 -784 8.57500e+03 1.23250e+04 -785 8.62500e+03 1.24250e+04 -786 8.62500e+03 1.25250e+04 -787 8.77500e+03 1.25250e+04 -788 8.77500e+03 1.24250e+04 -789 8.87500e+03 1.24750e+04 -790 8.87200e+03 1.23540e+04 -791 8.90000e+03 1.22250e+04 -792 8.90000e+03 1.20750e+04 -793 8.77500e+03 1.20750e+04 -794 8.77500e+03 1.19250e+04 -795 8.77500e+03 1.18250e+04 -796 8.77500e+03 1.17250e+04 -797 8.77500e+03 1.15750e+04 -798 8.82500e+03 1.14750e+04 -799 8.67500e+03 1.14750e+04 -800 8.50000e+03 1.13250e+04 -801 8.40000e+03 1.12750e+04 -802 8.30000e+03 1.13250e+04 -803 8.40000e+03 1.14250e+04 -804 8.40000e+03 1.15500e+04 -805 8.40000e+03 1.16500e+04 -806 8.50000e+03 1.18250e+04 -807 8.62500e+03 1.18750e+04 -808 8.47500e+03 1.19250e+04 -809 8.32500e+03 1.19250e+04 -810 8.12500e+03 1.17250e+04 -811 8.22500e+03 1.17250e+04 -812 8.30000e+03 1.16750e+04 -813 8.30000e+03 1.15750e+04 -814 8.30000e+03 1.14750e+04 -815 8.22500e+03 1.14250e+04 -816 8.12500e+03 1.14250e+04 -817 8.02500e+03 1.13250e+04 -818 7.82500e+03 1.13250e+04 -819 7.72500e+03 1.13250e+04 -820 7.52500e+03 1.13250e+04 -821 7.42500e+03 1.14250e+04 -822 7.32500e+03 1.14250e+04 -823 7.25000e+03 1.13250e+04 -824 7.15000e+03 1.12750e+04 -825 7.05000e+03 1.13250e+04 -826 7.15000e+03 1.14250e+04 -827 7.25000e+03 1.14750e+04 -828 7.25000e+03 1.15750e+04 -829 7.15000e+03 1.15750e+04 -830 7.15000e+03 1.16750e+04 -831 7.25000e+03 1.16750e+04 -832 7.32500e+03 1.17500e+04 -833 7.42500e+03 1.17500e+04 -834 7.22500e+03 1.19250e+04 -835 7.07500e+03 1.19250e+04 -836 7.05000e+03 1.18250e+04 -837 6.97500e+03 1.19250e+04 -838 7.02500e+03 1.20750e+04 -839 7.12500e+03 1.21250e+04 -840 7.17500e+03 1.22250e+04 -841 7.02500e+03 1.22250e+04 -842 6.92500e+03 1.21750e+04 -843 6.92500e+03 1.24250e+04 -844 6.92500e+03 1.25750e+04 -845 6.92500e+03 1.26750e+04 -846 6.92500e+03 1.28250e+04 -847 6.66500e+03 1.27600e+04 -848 6.66500e+03 1.26100e+04 -849 6.66500e+03 1.24600e+04 -850 6.66500e+03 1.23100e+04 -851 6.66500e+03 1.21600e+04 -852 6.66500e+03 1.20100e+04 -853 6.82500e+03 1.19250e+04 -854 6.66500e+03 1.18600e+04 -855 6.66500e+03 1.17100e+04 -856 6.77500e+03 1.16500e+04 -857 6.85000e+03 1.17000e+04 -858 6.85000e+03 1.16000e+04 -859 6.77500e+03 1.15250e+04 -860 6.82500e+03 1.14250e+04 -861 6.72500e+03 1.14250e+04 -862 6.27500e+03 1.14750e+04 -863 6.22500e+03 1.15750e+04 -864 6.12500e+03 1.14750e+04 -865 5.95000e+03 1.13250e+04 -866 5.85000e+03 1.14250e+04 -867 5.75000e+03 1.13250e+04 -868 5.85000e+03 1.12750e+04 -869 5.82500e+03 1.11250e+04 -870 5.82500e+03 1.10250e+04 -871 5.92500e+03 1.11250e+04 -872 6.02500e+03 1.10750e+04 -873 6.02500e+03 1.09750e+04 -874 6.20000e+03 1.09750e+04 -875 6.30000e+03 1.07750e+04 -876 6.30000e+03 1.06250e+04 -877 6.30000e+03 1.04750e+04 -878 6.30000e+03 1.03750e+04 -879 6.27500e+03 1.02750e+04 -880 6.70000e+03 1.04250e+04 -881 6.70000e+03 1.05250e+04 -882 6.70000e+03 1.06250e+04 -883 6.70000e+03 1.07250e+04 -884 6.70000e+03 1.08500e+04 -885 6.72500e+03 1.10500e+04 -886 6.87500e+03 1.10250e+04 -887 7.00000e+03 1.10250e+04 -888 7.07500e+03 1.11250e+04 -889 7.17500e+03 1.11250e+04 -890 7.17500e+03 1.10250e+04 -891 7.55000e+03 1.10750e+04 -892 7.55000e+03 1.08750e+04 -893 7.55000e+03 1.04750e+04 -894 8.00000e+03 1.04750e+04 -895 8.00000e+03 1.08750e+04 -896 8.00000e+03 1.10750e+04 -897 8.37500e+03 1.10250e+04 -898 8.37500e+03 1.11250e+04 -899 8.47500e+03 1.11250e+04 -900 8.57500e+03 1.10750e+04 -901 8.57500e+03 1.09750e+04 -902 8.75000e+03 1.09750e+04 -903 8.85000e+03 1.07750e+04 -904 8.85000e+03 1.06250e+04 -905 8.85000e+03 1.04750e+04 -906 8.85000e+03 1.03750e+04 -907 8.82500e+03 1.02750e+04 -908 9.25000e+03 1.04250e+04 -909 9.25000e+03 1.05250e+04 -910 9.25000e+03 1.06250e+04 -911 9.25000e+03 1.07250e+04 -912 9.25000e+03 1.08500e+04 -913 9.27500e+03 1.10500e+04 -914 9.42500e+03 1.10250e+04 -915 9.55000e+03 1.10250e+04 -916 9.62500e+03 1.11250e+04 -917 9.72500e+03 1.10250e+04 -918 9.72500e+03 1.11250e+04 -919 9.70000e+03 1.12750e+04 -920 9.80000e+03 1.13250e+04 -921 9.70000e+03 1.14250e+04 -922 9.60000e+03 1.13250e+04 -923 9.37500e+03 1.14250e+04 -924 9.27500e+03 1.14250e+04 -925 9.32500e+03 1.15250e+04 -926 9.40000e+03 1.16000e+04 -927 9.40000e+03 1.17000e+04 -928 9.32500e+03 1.16500e+04 -929 9.21500e+03 1.17100e+04 -930 9.21500e+03 1.18600e+04 -931 9.37500e+03 1.19250e+04 -932 9.21500e+03 1.20100e+04 -933 9.21500e+03 1.21600e+04 -934 9.21500e+03 1.23100e+04 -935 9.21500e+03 1.24600e+04 -936 9.21500e+03 1.26100e+04 -937 9.21500e+03 1.27600e+04 -938 9.47500e+03 1.28250e+04 -939 9.47500e+03 1.26750e+04 -940 9.47500e+03 1.25750e+04 -941 9.47500e+03 1.24250e+04 -942 9.47500e+03 1.21750e+04 -943 9.57500e+03 1.22250e+04 -944 9.72500e+03 1.22250e+04 -945 9.67500e+03 1.21250e+04 -946 9.57500e+03 1.20750e+04 -947 9.52500e+03 1.19250e+04 -948 9.60000e+03 1.18250e+04 -949 9.62500e+03 1.19250e+04 -950 9.77500e+03 1.19250e+04 -951 9.97500e+03 1.17500e+04 -952 9.87500e+03 1.17500e+04 -953 9.80000e+03 1.16750e+04 -954 9.70000e+03 1.16750e+04 -955 9.70000e+03 1.15750e+04 -956 9.80000e+03 1.15750e+04 -957 9.80000e+03 1.14750e+04 -958 9.87500e+03 1.14250e+04 -959 9.97500e+03 1.14250e+04 -960 1.00750e+04 1.13250e+04 -961 1.01000e+04 1.10750e+04 -962 1.01000e+04 1.08750e+04 -963 1.01000e+04 1.04750e+04 -964 1.05500e+04 1.04750e+04 -965 1.08480e+04 1.00750e+04 -966 1.05750e+04 1.00750e+04 -967 1.04370e+04 9.80100e+03 -968 1.04350e+04 9.70200e+03 -969 1.04350e+04 9.60100e+03 -970 1.04360e+04 9.50200e+03 -971 1.04360e+04 9.39900e+03 -972 1.04360e+04 9.29800e+03 -973 1.01750e+04 9.32500e+03 -974 1.01750e+04 9.42500e+03 -975 1.01750e+04 9.52500e+03 -976 1.01750e+04 9.72500e+03 -977 1.01750e+04 9.82500e+03 -978 1.00750e+04 1.00750e+04 -979 9.80000e+03 1.00750e+04 -980 9.52500e+03 1.00750e+04 -981 9.37500e+03 1.01250e+04 -982 9.29000e+03 9.80600e+03 -983 9.28900e+03 9.70600e+03 -984 9.28900e+03 9.60600e+03 -985 9.29000e+03 9.50500e+03 -986 9.29000e+03 9.40600e+03 -987 9.28900e+03 9.30600e+03 -988 8.77500e+03 9.32500e+03 -989 8.77500e+03 9.42500e+03 -990 8.77500e+03 9.52500e+03 -991 8.77500e+03 9.72500e+03 -992 8.77500e+03 9.82500e+03 -993 8.82500e+03 1.00750e+04 -994 8.57500e+03 1.00750e+04 -995 8.29800e+03 1.00750e+04 -996 8.02500e+03 1.00750e+04 -997 7.88700e+03 9.80100e+03 -998 7.88500e+03 9.70200e+03 -999 7.88500e+03 9.60100e+03 -1000 7.88600e+03 9.50200e+03 -1001 7.88600e+03 9.39900e+03 -1002 7.88600e+03 9.29800e+03 -1003 7.62500e+03 9.32500e+03 -1004 7.62500e+03 9.42500e+03 -1005 7.62500e+03 9.52500e+03 -1006 7.62500e+03 9.72500e+03 -1007 7.62500e+03 9.82500e+03 -1008 7.52500e+03 1.00750e+04 -1009 7.25000e+03 1.00750e+04 -1010 6.97500e+03 1.00750e+04 -1011 6.82500e+03 1.01250e+04 -1012 6.74000e+03 9.80600e+03 -1013 6.73900e+03 9.70600e+03 -1014 6.73900e+03 9.60600e+03 -1015 6.74000e+03 9.50500e+03 -1016 6.74000e+03 9.40600e+03 -1017 6.73900e+03 9.30600e+03 -1018 7.02800e+03 8.82000e+03 -1019 6.92500e+03 8.82500e+03 -1020 6.72500e+03 8.82500e+03 -1021 6.67500e+03 8.47500e+03 -1022 6.67500e+03 8.37500e+03 -1023 6.67500e+03 8.27500e+03 -1024 6.67500e+03 8.17500e+03 -1025 6.67500e+03 8.07500e+03 -1026 6.67500e+03 7.97500e+03 -1027 6.67500e+03 7.87500e+03 -1028 6.77500e+03 7.82500e+03 -1029 6.67500e+03 7.71100e+03 -1030 6.67500e+03 7.71000e+03 -1031 6.67600e+03 7.56000e+03 -1032 6.67500e+03 7.56000e+03 -1033 6.67500e+03 7.41000e+03 -1034 6.67600e+03 7.40900e+03 -1035 6.67500e+03 7.26000e+03 -1036 6.67600e+03 7.25900e+03 -1037 6.67500e+03 7.07500e+03 -1038 6.67500e+03 6.87500e+03 -1039 6.67500e+03 6.67500e+03 -1040 6.82500e+03 6.67500e+03 -1041 6.82500e+03 6.52500e+03 -1042 6.67500e+03 6.52500e+03 -1043 6.67500e+03 6.37500e+03 -1044 7.07500e+03 6.00000e+03 -1045 7.17500e+03 6.02500e+03 -1046 7.07500e+03 6.20000e+03 -1047 7.17500e+03 6.42500e+03 -1048 7.02500e+03 6.67500e+03 -1049 7.02500e+03 6.82500e+03 -1050 7.17500e+03 6.77500e+03 -1051 7.32500e+03 6.77500e+03 -1052 7.17500e+03 6.97500e+03 -1053 7.07500e+03 7.07500e+03 -1054 7.27500e+03 7.07500e+03 -1055 7.37500e+03 7.27500e+03 -1056 7.42500e+03 7.42500e+03 -1057 7.47500e+03 7.52500e+03 -1058 7.27500e+03 7.47500e+03 -1059 7.17500e+03 7.57500e+03 -1060 7.07500e+03 7.47500e+03 -1061 7.02500e+03 7.62500e+03 -1062 6.87500e+03 7.62500e+03 -1063 6.92500e+03 7.72500e+03 -1064 7.07500e+03 7.72500e+03 -1065 7.27500e+03 7.82500e+03 -1066 7.45000e+03 7.77500e+03 -1067 7.45000e+03 7.87500e+03 -1068 7.57500e+03 7.97500e+03 -1069 7.72500e+03 7.97500e+03 -1070 7.67500e+03 8.12500e+03 -1071 7.60000e+03 8.22500e+03 -1072 7.70000e+03 8.22500e+03 -1073 7.70000e+03 8.37500e+03 -1074 7.70000e+03 8.47500e+03 -1075 7.55000e+03 8.57500e+03 -1076 7.47500e+03 8.72500e+03 -1077 7.29700e+03 8.70300e+03 -1078 7.32500e+03 8.82500e+03 -1079 7.52500e+03 8.82500e+03 -1080 7.62500e+03 8.72500e+03 -1081 7.70000e+03 8.62500e+03 -1082 7.92500e+03 8.77500e+03 -1083 8.02500e+03 8.77500e+03 -1084 8.12500e+03 8.77500e+03 -1085 8.22500e+03 8.77500e+03 -1086 8.37500e+03 8.77500e+03 -1087 8.32500e+03 8.62500e+03 -1088 8.42500e+03 8.57500e+03 -1089 8.32500e+03 8.52500e+03 -1090 8.42500e+03 8.22500e+03 -1091 8.52500e+03 8.22500e+03 -1092 8.62500e+03 8.32500e+03 -1093 8.72500e+03 8.32500e+03 -1094 8.72500e+03 8.42500e+03 -1095 8.62500e+03 8.47500e+03 -1096 8.80000e+03 8.77500e+03 -1097 8.90000e+03 8.67500e+03 -1098 8.80000e+03 8.57500e+03 -1099 8.87500e+03 8.37500e+03 -1100 8.87500e+03 8.22500e+03 -1101 8.72500e+03 8.17500e+03 -1102 8.77500e+03 8.07500e+03 -1103 8.87500e+03 8.07500e+03 -1104 8.87500e+03 7.92500e+03 -1105 8.77500e+03 7.87500e+03 -1106 8.62500e+03 7.82500e+03 -1107 8.62500e+03 7.72500e+03 -1108 8.62500e+03 7.62500e+03 -1109 8.62500e+03 7.47500e+03 -1110 8.52500e+03 7.42500e+03 -1111 8.52500e+03 7.57500e+03 -1112 8.47500e+03 7.72500e+03 -1113 8.47500e+03 7.82500e+03 -1114 8.37500e+03 7.97500e+03 -1115 8.22500e+03 7.82500e+03 -1116 8.02500e+03 7.82500e+03 -1117 7.97500e+03 7.92500e+03 -1118 8.07500e+03 7.97500e+03 -1119 8.17500e+03 7.97500e+03 -1120 8.17500e+03 8.07500e+03 -1121 8.07500e+03 8.12500e+03 -1122 7.97500e+03 8.07500e+03 -1123 7.87500e+03 8.12500e+03 -1124 7.87500e+03 8.02500e+03 -1125 7.87500e+03 7.87500e+03 -1126 7.75000e+03 7.75000e+03 -1127 7.90000e+03 7.75000e+03 -1128 7.97500e+03 7.57500e+03 -1129 7.97500e+03 7.42500e+03 -1130 8.12500e+03 7.42500e+03 -1131 8.22500e+03 7.42500e+03 -1132 8.17500e+03 7.57500e+03 -1133 8.27500e+03 7.60000e+03 -1134 8.37500e+03 7.42500e+03 -1135 8.32500e+03 7.32500e+03 -1136 8.42500e+03 7.15000e+03 -1137 8.57500e+03 7.15000e+03 -1138 8.85000e+03 7.15000e+03 -1139 8.77500e+03 7.07500e+03 -1140 8.82500e+03 6.97500e+03 -1141 8.62500e+03 6.97500e+03 -1142 8.42500e+03 6.87500e+03 -1143 8.52500e+03 6.77500e+03 -1144 8.42500e+03 6.67500e+03 -1145 8.47500e+03 6.45000e+03 -1146 8.62500e+03 6.57500e+03 -1147 8.85000e+03 6.57500e+03 -1148 8.85000e+03 6.37500e+03 -1149 8.85000e+03 5.97500e+03 -1150 8.67400e+03 5.90800e+03 -1151 8.47500e+03 6.05000e+03 -1152 8.27500e+03 6.02500e+03 -1153 8.12500e+03 6.12500e+03 -1154 7.97500e+03 6.12500e+03 -1155 7.97500e+03 6.02500e+03 -1156 8.12500e+03 5.45000e+03 -1157 8.02500e+03 5.45000e+03 -1158 7.92500e+03 5.45000e+03 -1159 7.77500e+03 5.45000e+03 -1160 7.62500e+03 5.45000e+03 -1161 7.47500e+03 5.45000e+03 -1162 7.50000e+03 5.35000e+03 -1163 7.50000e+03 5.25000e+03 -1164 7.42500e+03 5.17500e+03 -1165 7.57500e+03 5.17500e+03 -1166 7.67500e+03 5.07500e+03 -1167 7.62500e+03 4.97500e+03 -1168 7.77500e+03 4.87500e+03 -1169 7.92500e+03 4.97500e+03 -1170 7.87500e+03 5.07500e+03 -1171 7.77500e+03 5.02500e+03 -1172 7.77500e+03 5.17500e+03 -1173 7.97500e+03 5.17500e+03 -1174 8.25000e+03 5.17500e+03 -1175 8.35000e+03 5.37500e+03 -1176 8.35000e+03 5.27500e+03 -1177 8.40000e+03 5.17500e+03 -1178 8.37500e+03 5.07500e+03 -1179 8.42500e+03 4.97500e+03 -1180 8.55000e+03 5.02500e+03 -1181 8.57500e+03 5.17500e+03 -1182 8.62500e+03 5.27500e+03 -1183 8.62500e+03 5.37500e+03 -1184 8.77500e+03 5.37500e+03 -1185 8.77500e+03 5.27500e+03 -1186 8.87500e+03 5.32500e+03 -1187 8.87200e+03 5.20400e+03 -1188 8.90000e+03 5.07500e+03 -1189 8.90000e+03 4.92500e+03 -1190 8.77500e+03 4.92500e+03 -1191 8.77500e+03 4.77500e+03 -1192 8.77500e+03 4.67500e+03 -1193 8.77500e+03 4.57500e+03 -1194 8.62500e+03 4.72500e+03 -1195 8.50000e+03 4.67500e+03 -1196 8.47500e+03 4.77500e+03 -1197 8.32500e+03 4.77500e+03 -1198 8.12500e+03 4.57500e+03 -1199 8.22500e+03 4.57500e+03 -1200 8.30000e+03 4.52500e+03 -1201 8.40000e+03 4.50000e+03 -1202 8.40000e+03 4.40000e+03 -1203 8.30000e+03 4.42500e+03 -1204 8.30000e+03 4.32500e+03 -1205 8.22500e+03 4.27500e+03 -1206 8.12500e+03 4.27500e+03 -1207 8.02500e+03 4.17500e+03 -1208 8.00000e+03 3.92500e+03 -1209 8.00000e+03 3.72500e+03 -1210 8.00000e+03 3.32500e+03 -1211 7.55000e+03 3.32500e+03 -1212 7.55000e+03 3.72500e+03 -1213 7.55000e+03 3.92500e+03 -1214 7.82500e+03 4.17500e+03 -1215 7.72500e+03 4.17500e+03 -1216 7.52500e+03 4.17500e+03 -1217 7.42500e+03 4.27500e+03 -1218 7.32500e+03 4.27500e+03 -1219 7.25000e+03 4.32500e+03 -1220 7.25000e+03 4.42500e+03 -1221 7.15000e+03 4.42500e+03 -1222 7.15000e+03 4.52500e+03 -1223 7.25000e+03 4.52500e+03 -1224 7.32500e+03 4.60000e+03 -1225 7.42500e+03 4.60000e+03 -1226 7.22500e+03 4.77500e+03 -1227 7.07500e+03 4.77500e+03 -1228 7.05000e+03 4.67500e+03 -1229 6.97500e+03 4.77500e+03 -1230 7.02500e+03 4.92500e+03 -1231 7.12500e+03 4.97500e+03 -1232 7.17500e+03 5.07500e+03 -1233 7.02500e+03 5.07500e+03 -1234 6.92500e+03 5.02500e+03 -1235 6.92500e+03 5.27500e+03 -1236 6.92500e+03 5.42500e+03 -1237 6.92500e+03 5.52500e+03 -1238 6.92500e+03 5.67500e+03 -1239 6.66500e+03 5.61000e+03 -1240 6.66500e+03 5.46000e+03 -1241 6.66500e+03 5.31000e+03 -1242 6.66500e+03 5.16000e+03 -1243 6.66500e+03 5.01000e+03 -1244 6.66500e+03 4.86000e+03 -1245 6.82500e+03 4.77500e+03 -1246 6.66500e+03 4.71000e+03 -1247 6.66500e+03 4.56000e+03 -1248 6.77500e+03 4.50000e+03 -1249 6.85000e+03 4.55000e+03 -1250 6.85000e+03 4.45000e+03 -1251 6.77500e+03 4.37500e+03 -1252 6.72500e+03 4.27500e+03 -1253 6.82500e+03 4.27500e+03 -1254 7.05000e+03 4.17500e+03 -1255 7.15000e+03 4.27500e+03 -1256 7.25000e+03 4.17500e+03 -1257 7.15000e+03 4.12500e+03 -1258 7.17500e+03 3.97500e+03 -1259 7.17500e+03 3.87500e+03 -1260 7.07500e+03 3.97500e+03 -1261 7.00000e+03 3.87500e+03 -1262 6.87500e+03 3.87500e+03 -1263 6.72500e+03 3.90000e+03 -1264 6.70000e+03 3.70000e+03 -1265 6.70000e+03 3.57500e+03 -1266 6.70000e+03 3.47500e+03 -1267 6.70000e+03 3.37500e+03 -1268 6.70000e+03 3.27500e+03 -1269 6.27500e+03 3.12500e+03 -1270 6.30000e+03 3.22500e+03 -1271 6.30000e+03 3.32500e+03 -1272 6.30000e+03 3.47500e+03 -1273 6.30000e+03 3.62500e+03 -1274 6.20000e+03 3.82500e+03 -1275 6.02500e+03 3.82500e+03 -1276 6.02500e+03 3.92500e+03 -1277 5.92500e+03 3.97500e+03 -1278 5.82500e+03 3.97500e+03 -1279 5.82500e+03 3.87500e+03 -1280 5.45000e+03 3.92500e+03 -1281 5.45000e+03 3.72500e+03 -1282 5.45000e+03 3.32500e+03 -1283 5.00000e+03 3.32500e+03 -1284 5.00000e+03 3.72500e+03 -1285 5.00000e+03 3.92500e+03 -1286 4.62500e+03 3.87500e+03 -1287 4.62500e+03 3.97500e+03 -1288 4.52500e+03 3.97500e+03 -1289 4.45000e+03 3.87500e+03 -1290 4.32500e+03 3.87500e+03 -1291 4.17500e+03 3.90000e+03 -1292 4.15000e+03 3.70000e+03 -1293 4.15000e+03 3.57500e+03 -1294 4.15000e+03 3.47500e+03 -1295 4.15000e+03 3.37500e+03 -1296 4.15000e+03 3.27500e+03 -1297 3.72500e+03 3.12500e+03 -1298 3.75000e+03 3.22500e+03 -1299 3.75000e+03 3.32500e+03 -1300 3.75000e+03 3.47500e+03 -1301 3.75000e+03 3.62500e+03 -1302 3.65000e+03 3.82500e+03 -1303 3.47500e+03 3.82500e+03 -1304 3.47500e+03 3.92500e+03 -1305 3.37500e+03 3.97500e+03 -1306 3.27500e+03 3.87500e+03 -1307 3.27500e+03 3.97500e+03 -1308 3.30000e+03 4.12500e+03 -1309 3.20000e+03 4.17500e+03 -1310 3.30000e+03 4.27500e+03 -1311 3.40000e+03 4.17500e+03 -1312 3.57500e+03 4.32500e+03 -1313 3.67500e+03 4.42500e+03 -1314 3.72500e+03 4.32500e+03 -1315 4.17500e+03 4.27500e+03 -1316 4.27500e+03 4.27500e+03 -1317 4.22500e+03 4.37500e+03 -1318 4.30000e+03 4.45000e+03 -1319 4.30000e+03 4.55000e+03 -1320 4.22500e+03 4.50000e+03 -1321 4.11500e+03 4.56000e+03 -1322 4.11500e+03 4.71000e+03 -1323 4.27500e+03 4.77500e+03 -1324 4.11500e+03 4.86000e+03 -1325 4.11500e+03 5.01000e+03 -1326 4.11500e+03 5.16000e+03 -1327 4.11500e+03 5.31000e+03 -1328 4.11500e+03 5.46000e+03 -1329 4.11500e+03 5.61000e+03 -1330 4.37500e+03 5.67500e+03 -1331 4.37500e+03 5.52500e+03 -1332 4.37500e+03 5.42500e+03 -1333 4.37500e+03 5.27500e+03 -1334 4.37500e+03 5.02500e+03 -1335 4.47500e+03 5.07500e+03 -1336 4.62500e+03 5.07500e+03 -1337 4.57500e+03 4.97500e+03 -1338 4.47500e+03 4.92500e+03 -1339 4.42500e+03 4.77500e+03 -1340 4.50000e+03 4.67500e+03 -1341 4.52500e+03 4.77500e+03 -1342 4.67500e+03 4.77500e+03 -1343 4.87500e+03 4.60000e+03 -1344 4.77500e+03 4.60000e+03 -1345 4.70000e+03 4.52500e+03 -1346 4.60000e+03 4.52500e+03 -1347 4.60000e+03 4.42500e+03 -1348 4.70000e+03 4.42500e+03 -1349 4.70000e+03 4.32500e+03 -1350 4.60000e+03 4.27500e+03 -1351 4.50000e+03 4.17500e+03 -1352 4.60000e+03 4.12500e+03 -1353 4.70000e+03 4.17500e+03 -1354 4.77500e+03 4.27500e+03 -1355 4.87500e+03 4.27500e+03 -1356 4.97500e+03 4.17500e+03 -1357 5.17500e+03 4.17500e+03 -1358 5.27500e+03 4.17500e+03 -1359 5.47500e+03 4.17500e+03 -1360 5.57500e+03 4.27500e+03 -1361 5.67500e+03 4.27500e+03 -1362 5.75000e+03 4.32500e+03 -1363 5.75000e+03 4.42500e+03 -1364 5.75000e+03 4.52500e+03 -1365 5.67500e+03 4.57500e+03 -1366 5.57500e+03 4.57500e+03 -1367 5.77500e+03 4.77500e+03 -1368 5.92500e+03 4.77500e+03 -1369 6.07500e+03 4.72500e+03 -1370 5.95000e+03 4.67500e+03 -1371 5.85000e+03 4.50000e+03 -1372 5.85000e+03 4.40000e+03 -1373 5.85000e+03 4.27500e+03 -1374 5.75000e+03 4.17500e+03 -1375 5.85000e+03 4.12500e+03 -1376 5.95000e+03 4.17500e+03 -1377 6.12500e+03 4.32500e+03 -1378 6.27500e+03 4.32500e+03 -1379 6.22500e+03 4.42500e+03 -1380 6.22500e+03 4.57500e+03 -1381 6.22500e+03 4.67500e+03 -1382 6.22500e+03 4.77500e+03 -1383 6.22500e+03 4.92500e+03 -1384 6.35000e+03 4.92500e+03 -1385 6.35000e+03 5.07500e+03 -1386 6.32200e+03 5.20400e+03 -1387 6.32500e+03 5.32500e+03 -1388 6.22500e+03 5.27500e+03 -1389 6.22500e+03 5.37500e+03 -1390 6.07500e+03 5.37500e+03 -1391 6.07500e+03 5.27500e+03 -1392 6.02500e+03 5.17500e+03 -1393 6.00000e+03 5.02500e+03 -1394 5.87500e+03 4.97500e+03 -1395 5.82500e+03 5.07500e+03 -1396 5.85000e+03 5.17500e+03 -1397 5.80000e+03 5.27500e+03 -1398 5.80000e+03 5.37500e+03 -1399 5.70000e+03 5.17500e+03 -1400 5.42500e+03 5.17500e+03 -1401 5.32500e+03 5.07500e+03 -1402 5.37500e+03 4.97500e+03 -1403 5.22500e+03 4.87500e+03 -1404 5.07500e+03 4.97500e+03 -1405 5.12500e+03 5.07500e+03 -1406 5.22500e+03 5.02500e+03 -1407 5.22500e+03 5.17500e+03 -1408 5.02500e+03 5.17500e+03 -1409 4.87500e+03 5.17500e+03 -1410 4.95000e+03 5.25000e+03 -1411 4.95000e+03 5.35000e+03 -1412 4.92500e+03 5.45000e+03 -1413 5.07500e+03 5.45000e+03 -1414 5.22500e+03 5.45000e+03 -1415 5.37500e+03 5.45000e+03 -1416 5.47500e+03 5.45000e+03 -1417 5.57500e+03 5.45000e+03 -1418 5.42500e+03 6.02500e+03 -1419 5.42500e+03 6.12500e+03 -1420 5.57500e+03 6.12500e+03 -1421 5.72500e+03 6.02500e+03 -1422 5.92500e+03 6.05000e+03 -1423 6.12400e+03 5.90800e+03 -1424 6.30000e+03 5.97500e+03 -1425 6.30000e+03 6.37500e+03 -1426 6.30000e+03 6.57500e+03 -1427 6.07500e+03 6.57500e+03 -1428 5.92500e+03 6.45000e+03 -1429 5.87500e+03 6.67500e+03 -1430 5.97500e+03 6.77500e+03 -1431 5.87500e+03 6.87500e+03 -1432 6.07500e+03 6.97500e+03 -1433 6.27500e+03 6.97500e+03 -1434 6.22500e+03 7.07500e+03 -1435 6.30000e+03 7.15000e+03 -1436 6.02500e+03 7.15000e+03 -1437 5.87500e+03 7.15000e+03 -1438 5.77500e+03 7.32500e+03 -1439 5.82500e+03 7.42500e+03 -1440 5.97500e+03 7.42500e+03 -1441 6.07500e+03 7.47500e+03 -1442 5.97500e+03 7.57500e+03 -1443 6.07500e+03 7.62500e+03 -1444 6.07500e+03 7.72500e+03 -1445 5.92500e+03 7.72500e+03 -1446 5.92500e+03 7.82500e+03 -1447 6.07500e+03 7.82500e+03 -1448 6.22500e+03 7.87500e+03 -1449 6.32500e+03 7.92500e+03 -1450 6.32500e+03 8.07500e+03 -1451 6.22500e+03 8.07500e+03 -1452 6.17500e+03 8.17500e+03 -1453 6.32500e+03 8.22500e+03 -1454 6.32500e+03 8.37500e+03 -1455 6.17500e+03 8.32500e+03 -1456 6.07500e+03 8.32500e+03 -1457 5.97500e+03 8.22500e+03 -1458 5.87500e+03 8.22500e+03 -1459 5.82500e+03 7.97500e+03 -1460 5.67500e+03 7.82500e+03 -1461 5.72500e+03 7.60000e+03 -1462 5.62500e+03 7.57500e+03 -1463 5.67500e+03 7.42500e+03 -1464 5.57500e+03 7.42500e+03 -1465 5.42500e+03 7.42500e+03 -1466 5.42500e+03 7.57500e+03 -1467 5.35000e+03 7.75000e+03 -1468 5.20000e+03 7.75000e+03 -1469 5.32500e+03 7.87500e+03 -1470 5.47500e+03 7.82500e+03 -1471 5.42500e+03 7.92500e+03 -1472 5.52500e+03 7.97500e+03 -1473 5.62500e+03 7.97500e+03 -1474 5.62500e+03 8.07500e+03 -1475 5.52500e+03 8.12500e+03 -1476 5.42500e+03 8.07500e+03 -1477 5.32500e+03 8.02500e+03 -1478 5.32500e+03 8.12500e+03 -1479 5.15000e+03 8.22500e+03 -1480 5.05000e+03 8.22500e+03 -1481 5.12500e+03 8.12500e+03 -1482 5.17500e+03 7.97500e+03 -1483 5.02500e+03 7.97500e+03 -1484 4.90000e+03 7.87500e+03 -1485 4.90000e+03 7.77500e+03 -1486 4.72500e+03 7.82500e+03 -1487 4.52500e+03 7.72500e+03 -1488 4.37500e+03 7.72500e+03 -1489 4.32500e+03 7.62500e+03 -1490 4.47500e+03 7.62500e+03 -1491 4.52500e+03 7.47500e+03 -1492 4.62500e+03 7.57500e+03 -1493 4.72500e+03 7.47500e+03 -1494 4.92500e+03 7.52500e+03 -1495 4.87500e+03 7.42500e+03 -1496 4.82500e+03 7.27500e+03 -1497 4.72500e+03 7.07500e+03 -1498 4.52500e+03 7.07500e+03 -1499 4.62500e+03 6.97500e+03 -1500 4.77500e+03 6.77500e+03 -1501 4.62500e+03 6.77500e+03 -1502 4.47500e+03 6.82500e+03 -1503 4.47500e+03 6.67500e+03 -1504 4.62500e+03 6.42500e+03 -1505 4.52500e+03 6.20000e+03 -1506 4.62500e+03 6.02500e+03 -1507 4.52500e+03 6.00000e+03 -1508 4.12500e+03 6.37500e+03 -1509 4.12500e+03 6.52500e+03 -1510 4.27500e+03 6.52500e+03 -1511 4.27500e+03 6.67500e+03 -1512 4.12500e+03 6.67500e+03 -1513 4.12500e+03 6.87500e+03 -1514 4.12500e+03 7.07500e+03 -1515 4.12600e+03 7.25900e+03 -1516 4.12500e+03 7.26000e+03 -1517 4.12600e+03 7.40900e+03 -1518 4.12500e+03 7.41000e+03 -1519 4.12500e+03 7.56000e+03 -1520 4.12600e+03 7.56000e+03 -1521 4.12500e+03 7.71000e+03 -1522 4.12500e+03 7.71100e+03 -1523 4.22500e+03 7.82500e+03 -1524 4.12500e+03 7.87500e+03 -1525 4.12500e+03 7.97500e+03 -1526 4.12500e+03 8.07500e+03 -1527 4.12500e+03 8.17500e+03 -1528 4.12500e+03 8.27500e+03 -1529 4.12500e+03 8.37500e+03 -1530 4.12500e+03 8.47500e+03 -1531 4.17500e+03 8.82500e+03 -1532 4.37500e+03 8.82500e+03 -1533 4.47800e+03 8.82000e+03 -1534 4.74700e+03 8.70300e+03 -1535 4.77500e+03 8.82500e+03 -1536 4.92500e+03 8.72500e+03 -1537 4.97500e+03 8.82500e+03 -1538 5.07500e+03 8.72500e+03 -1539 5.00000e+03 8.57500e+03 -1540 5.15000e+03 8.37500e+03 -1541 5.15000e+03 8.47500e+03 -1542 5.15000e+03 8.62500e+03 -1543 5.37500e+03 8.77500e+03 -1544 5.47500e+03 8.77500e+03 -1545 5.57500e+03 8.77500e+03 -1546 5.67500e+03 8.77500e+03 -1547 5.82500e+03 8.77500e+03 -1548 5.77500e+03 8.62500e+03 -1549 5.77500e+03 8.52500e+03 -1550 5.87500e+03 8.57500e+03 -1551 6.07500e+03 8.47500e+03 -1552 6.17500e+03 8.42500e+03 -1553 6.25000e+03 8.57500e+03 -1554 6.35000e+03 8.67500e+03 -1555 6.25000e+03 8.77500e+03 -1556 6.22500e+03 9.32500e+03 -1557 6.22500e+03 9.42500e+03 -1558 6.22500e+03 9.52500e+03 -1559 6.22500e+03 9.72500e+03 -1560 6.22500e+03 9.82500e+03 -1561 6.27500e+03 1.00750e+04 -1562 6.02500e+03 1.00750e+04 -1563 5.74800e+03 1.00750e+04 -1564 5.47500e+03 1.00750e+04 -1565 5.33700e+03 9.80100e+03 -1566 5.33500e+03 9.70200e+03 -1567 5.33500e+03 9.60100e+03 -1568 5.33600e+03 9.50200e+03 -1569 5.33600e+03 9.39900e+03 -1570 5.33600e+03 9.29800e+03 -1571 5.07500e+03 9.32500e+03 -1572 5.07500e+03 9.42500e+03 -1573 5.07500e+03 9.52500e+03 -1574 5.07500e+03 9.72500e+03 -1575 5.07500e+03 9.82500e+03 -1576 4.97500e+03 1.00750e+04 -1577 4.70000e+03 1.00750e+04 -1578 4.42500e+03 1.00750e+04 -1579 4.27500e+03 1.01250e+04 -1580 4.19000e+03 9.80600e+03 -1581 4.18900e+03 9.70600e+03 -1582 4.18900e+03 9.60600e+03 -1583 4.19000e+03 9.50500e+03 -1584 4.19000e+03 9.40600e+03 -1585 4.18900e+03 9.30600e+03 -1586 3.67500e+03 9.32500e+03 -1587 3.67500e+03 9.42500e+03 -1588 3.67500e+03 9.52500e+03 -1589 3.67500e+03 9.72500e+03 -1590 3.67500e+03 9.82500e+03 -1591 3.72500e+03 1.00750e+04 -1592 3.47500e+03 1.00750e+04 -1593 3.19800e+03 1.00750e+04 -1594 2.92500e+03 1.00750e+04 -1595 2.78700e+03 9.80100e+03 -1596 2.78500e+03 9.70200e+03 -1597 2.78500e+03 9.60100e+03 -1598 2.78600e+03 9.50200e+03 -1599 2.78600e+03 9.39900e+03 -1600 2.78600e+03 9.29800e+03 -1601 2.52500e+03 9.32500e+03 -1602 2.52500e+03 9.42500e+03 -1603 2.52500e+03 9.52500e+03 -1604 2.52500e+03 9.72500e+03 -1605 2.52500e+03 9.82500e+03 -1606 2.42500e+03 1.00750e+04 -1607 2.15000e+03 1.00750e+04 -1608 2.45000e+03 1.04750e+04 -1609 2.90000e+03 1.04750e+04 -1610 2.90000e+03 1.08750e+04 -1611 2.90000e+03 1.10750e+04 -1612 3.27500e+03 1.10250e+04 -1613 3.27500e+03 1.11250e+04 -1614 3.37500e+03 1.11250e+04 -1615 3.47500e+03 1.10750e+04 -1616 3.47500e+03 1.09750e+04 -1617 3.65000e+03 1.09750e+04 -1618 3.75000e+03 1.07750e+04 -1619 3.75000e+03 1.06250e+04 -1620 3.75000e+03 1.04750e+04 -1621 3.75000e+03 1.03750e+04 -1622 3.72500e+03 1.02750e+04 -1623 4.15000e+03 1.04250e+04 -1624 4.15000e+03 1.05250e+04 -1625 4.15000e+03 1.06250e+04 -1626 4.15000e+03 1.07250e+04 -1627 4.15000e+03 1.08500e+04 -1628 4.17500e+03 1.10500e+04 -1629 4.32500e+03 1.10250e+04 -1630 4.45000e+03 1.10250e+04 -1631 4.52500e+03 1.11250e+04 -1632 4.62500e+03 1.10250e+04 -1633 4.62500e+03 1.11250e+04 -1634 4.60000e+03 1.12750e+04 -1635 4.70000e+03 1.13250e+04 -1636 4.60000e+03 1.14250e+04 -1637 4.50000e+03 1.13250e+04 -1638 4.27500e+03 1.14250e+04 -1639 4.17500e+03 1.14250e+04 -1640 4.22500e+03 1.15250e+04 -1641 4.30000e+03 1.16000e+04 -1642 4.30000e+03 1.17000e+04 -1643 4.22500e+03 1.16500e+04 -1644 4.11500e+03 1.17100e+04 -1645 4.11500e+03 1.18600e+04 -1646 4.27500e+03 1.19250e+04 -1647 4.11500e+03 1.20100e+04 -1648 4.11500e+03 1.21600e+04 -1649 4.11500e+03 1.23100e+04 -1650 4.11500e+03 1.24600e+04 -1651 4.11500e+03 1.26100e+04 -1652 4.11500e+03 1.27600e+04 -1653 4.37500e+03 1.28250e+04 -1654 4.37500e+03 1.26750e+04 -1655 4.37500e+03 1.25750e+04 -1656 4.37500e+03 1.24250e+04 -1657 4.37500e+03 1.21750e+04 -1658 4.47500e+03 1.22250e+04 -1659 4.62500e+03 1.22250e+04 -1660 4.57500e+03 1.21250e+04 -1661 4.47500e+03 1.20750e+04 -1662 4.42500e+03 1.19250e+04 -1663 4.50000e+03 1.18250e+04 -1664 4.52500e+03 1.19250e+04 -1665 4.67500e+03 1.19250e+04 -1666 4.87500e+03 1.17500e+04 -1667 4.77500e+03 1.17500e+04 -1668 4.70000e+03 1.16750e+04 -1669 4.60000e+03 1.16750e+04 -1670 4.60000e+03 1.15750e+04 -1671 4.70000e+03 1.15750e+04 -1672 4.70000e+03 1.14750e+04 -1673 4.77500e+03 1.14250e+04 -1674 4.87500e+03 1.14250e+04 -1675 4.97500e+03 1.13250e+04 -1676 5.17500e+03 1.13250e+04 -1677 5.27500e+03 1.13250e+04 -1678 5.00000e+03 1.10750e+04 -1679 5.00000e+03 1.08750e+04 -1680 5.00000e+03 1.04750e+04 -1681 5.45000e+03 1.04750e+04 -1682 5.45000e+03 1.08750e+04 -1683 5.45000e+03 1.10750e+04 -1684 5.47500e+03 1.13250e+04 -1685 5.57500e+03 1.14250e+04 -1686 5.67500e+03 1.14250e+04 -1687 5.75000e+03 1.14750e+04 -1688 5.75000e+03 1.15750e+04 -1689 5.85000e+03 1.15500e+04 -1690 5.85000e+03 1.16500e+04 -1691 5.75000e+03 1.16750e+04 -1692 5.67500e+03 1.17250e+04 -1693 5.57500e+03 1.17250e+04 -1694 5.77500e+03 1.19250e+04 -1695 5.92500e+03 1.19250e+04 -1696 5.95000e+03 1.18250e+04 -1697 6.07500e+03 1.18750e+04 -1698 6.22500e+03 1.17250e+04 -1699 6.22500e+03 1.18250e+04 -1700 6.22500e+03 1.19250e+04 -1701 6.22500e+03 1.20750e+04 -1702 6.35000e+03 1.20750e+04 -1703 6.35000e+03 1.22250e+04 -1704 6.32200e+03 1.23540e+04 -1705 6.32500e+03 1.24750e+04 -1706 6.22500e+03 1.24250e+04 -1707 6.22500e+03 1.25250e+04 -1708 6.07500e+03 1.25250e+04 -1709 6.07500e+03 1.24250e+04 -1710 6.02500e+03 1.23250e+04 -1711 6.00000e+03 1.21750e+04 -1712 5.87500e+03 1.21250e+04 -1713 5.82500e+03 1.22250e+04 -1714 5.85000e+03 1.23250e+04 -1715 5.80000e+03 1.24250e+04 -1716 5.80000e+03 1.25250e+04 -1717 5.70000e+03 1.23250e+04 -1718 5.42500e+03 1.23250e+04 -1719 5.32500e+03 1.22250e+04 -1720 5.37500e+03 1.21250e+04 -1721 5.22500e+03 1.20250e+04 -1722 5.07500e+03 1.21250e+04 -1723 5.12500e+03 1.22250e+04 -1724 5.22500e+03 1.21750e+04 -1725 5.22500e+03 1.23250e+04 -1726 5.02500e+03 1.23250e+04 -1727 4.87500e+03 1.23250e+04 -1728 4.95000e+03 1.24000e+04 -1729 4.95000e+03 1.25000e+04 -1730 4.92500e+03 1.26000e+04 -1731 5.07500e+03 1.26000e+04 -1732 5.22500e+03 1.26000e+04 -1733 5.37500e+03 1.26000e+04 -1734 5.47500e+03 1.26000e+04 -1735 5.57500e+03 1.26000e+04 -1736 5.42500e+03 1.31750e+04 -1737 5.42500e+03 1.32750e+04 -1738 5.57500e+03 1.32750e+04 -1739 5.72500e+03 1.31750e+04 -1740 5.92500e+03 1.32000e+04 -1741 6.12400e+03 1.30580e+04 -1742 6.30000e+03 1.31250e+04 -1743 6.30000e+03 1.35250e+04 -1744 6.30000e+03 1.37250e+04 -1745 6.07500e+03 1.37250e+04 -1746 5.92500e+03 1.36000e+04 -1747 5.87500e+03 1.38250e+04 -1748 5.97500e+03 1.39250e+04 -1749 5.87500e+03 1.40250e+04 -1750 6.07500e+03 1.41250e+04 -1751 6.27500e+03 1.41250e+04 -1752 6.22500e+03 1.42250e+04 -1753 6.30000e+03 1.43000e+04 -1754 6.02500e+03 1.43000e+04 -1755 5.87500e+03 1.43000e+04 -1756 5.77500e+03 1.44750e+04 -1757 5.82500e+03 1.45750e+04 -1758 5.72500e+03 1.47500e+04 -1759 5.62500e+03 1.47250e+04 -1760 5.67500e+03 1.45750e+04 -1761 5.57500e+03 1.45750e+04 -1762 5.42500e+03 1.45750e+04 -1763 5.42500e+03 1.47250e+04 -1764 5.35000e+03 1.49000e+04 -1765 5.20000e+03 1.49000e+04 -1766 5.32500e+03 1.50250e+04 -1767 5.32500e+03 1.51750e+04 -1768 5.32500e+03 1.52750e+04 -1769 5.42500e+03 1.52250e+04 -1770 5.52500e+03 1.52750e+04 -1771 5.62500e+03 1.52250e+04 -1772 5.62500e+03 1.51250e+04 -1773 5.52500e+03 1.51250e+04 -1774 5.42500e+03 1.50750e+04 -1775 5.47500e+03 1.49750e+04 -1776 5.67500e+03 1.49750e+04 -1777 5.82500e+03 1.51250e+04 -1778 5.92500e+03 1.49750e+04 -1779 5.92500e+03 1.48750e+04 -1780 5.97500e+03 1.47250e+04 -1781 5.97500e+03 1.45750e+04 -1782 6.07500e+03 1.46250e+04 -1783 6.07500e+03 1.47750e+04 -1784 6.07500e+03 1.48750e+04 -1785 6.07500e+03 1.49750e+04 -1786 6.22500e+03 1.50250e+04 -1787 6.32500e+03 1.50750e+04 -1788 6.32500e+03 1.52250e+04 -1789 6.22500e+03 1.52250e+04 -1790 6.17500e+03 1.53250e+04 -1791 6.32500e+03 1.53750e+04 -1792 6.32500e+03 1.55250e+04 -1793 6.25000e+03 1.57250e+04 -1794 6.35000e+03 1.58250e+04 -1795 6.25000e+03 1.59250e+04 -1796 6.07500e+03 1.56250e+04 -1797 6.17500e+03 1.55750e+04 -1798 6.17500e+03 1.54750e+04 -1799 6.07500e+03 1.54750e+04 -1800 5.97500e+03 1.53750e+04 -1801 5.87500e+03 1.53750e+04 -1802 5.77500e+03 1.56750e+04 -1803 5.87500e+03 1.57250e+04 -1804 5.77500e+03 1.57750e+04 -1805 5.82500e+03 1.59250e+04 -1806 5.67500e+03 1.59250e+04 -1807 5.57500e+03 1.59250e+04 -1808 5.47500e+03 1.59250e+04 -1809 5.37500e+03 1.59250e+04 -1810 5.15000e+03 1.57750e+04 -1811 5.07500e+03 1.58750e+04 -1812 4.97500e+03 1.59750e+04 -1813 4.77500e+03 1.59750e+04 -1814 4.74700e+03 1.58530e+04 -1815 4.92500e+03 1.58750e+04 -1816 5.00000e+03 1.57250e+04 -1817 5.15000e+03 1.56250e+04 -1818 5.15000e+03 1.55250e+04 -1819 5.15000e+03 1.53750e+04 -1820 5.05000e+03 1.53750e+04 -1821 5.12500e+03 1.52750e+04 -1822 5.17500e+03 1.51250e+04 -1823 5.02500e+03 1.51250e+04 -1824 4.90000e+03 1.50250e+04 -1825 4.90000e+03 1.49250e+04 -1826 4.72500e+03 1.49750e+04 -1827 4.52500e+03 1.48750e+04 -1828 4.37500e+03 1.48750e+04 -1829 4.32500e+03 1.47750e+04 -1830 4.47500e+03 1.47750e+04 -1831 4.52500e+03 1.46250e+04 -1832 4.62500e+03 1.47250e+04 -1833 4.72500e+03 1.46250e+04 -1834 4.92500e+03 1.46750e+04 -1835 4.87500e+03 1.45750e+04 -1836 4.82500e+03 1.44250e+04 -1837 4.72500e+03 1.42250e+04 -1838 4.52500e+03 1.42250e+04 -1839 4.62500e+03 1.41250e+04 -1840 4.77500e+03 1.39250e+04 -1841 4.62500e+03 1.39250e+04 -1842 4.47500e+03 1.39750e+04 -1843 4.47500e+03 1.38250e+04 -1844 4.62500e+03 1.35750e+04 -1845 4.52500e+03 1.33500e+04 -1846 4.62500e+03 1.31750e+04 -1847 4.52500e+03 1.31500e+04 -1848 4.12500e+03 1.35250e+04 -1849 4.12500e+03 1.36750e+04 -1850 4.27500e+03 1.36750e+04 -1851 4.27500e+03 1.38250e+04 -1852 4.12500e+03 1.38250e+04 -1853 4.12500e+03 1.40250e+04 -1854 4.12500e+03 1.42250e+04 -1855 4.12600e+03 1.44090e+04 -1856 4.12500e+03 1.44100e+04 -1857 4.12600e+03 1.45590e+04 -1858 4.12500e+03 1.45600e+04 -1859 4.12500e+03 1.47100e+04 -1860 4.12600e+03 1.47100e+04 -1861 4.12500e+03 1.48600e+04 -1862 4.12500e+03 1.48610e+04 -1863 4.22500e+03 1.49750e+04 -1864 4.12500e+03 1.50250e+04 -1865 4.12500e+03 1.51250e+04 -1866 4.12500e+03 1.52250e+04 -1867 4.12500e+03 1.53250e+04 -1868 4.12500e+03 1.54250e+04 -1869 4.12500e+03 1.55250e+04 -1870 4.12500e+03 1.56250e+04 -1871 4.47800e+03 1.59700e+04 -1872 4.37500e+03 1.59750e+04 -1873 4.17500e+03 1.59750e+04 -1874 3.80000e+03 1.58250e+04 -1875 3.70000e+03 1.59250e+04 -1876 3.70000e+03 1.57250e+04 -1877 3.62500e+03 1.55750e+04 -1878 3.52500e+03 1.56250e+04 -1879 3.32500e+03 1.57250e+04 -1880 3.22500e+03 1.56750e+04 -1881 3.22500e+03 1.57750e+04 -1882 3.27500e+03 1.59250e+04 -1883 3.12500e+03 1.59250e+04 -1884 3.02500e+03 1.59250e+04 -1885 2.92500e+03 1.59250e+04 -1886 2.82500e+03 1.59250e+04 -1887 2.60000e+03 1.57750e+04 -1888 2.60000e+03 1.56250e+04 -1889 2.60000e+03 1.55250e+04 -1890 2.45000e+03 1.57250e+04 -1891 2.52500e+03 1.58750e+04 -1892 2.42500e+03 1.59750e+04 -1893 2.37500e+03 1.58750e+04 -1894 2.22500e+03 1.59750e+04 -1895 2.19700e+03 1.58530e+04 -1896 1.92800e+03 1.59700e+04 -1897 1.82500e+03 1.59750e+04 -1898 1.62500e+03 1.59750e+04 -1899 1.57500e+03 1.56250e+04 -1900 1.57500e+03 1.55250e+04 -1901 1.57500e+03 1.54250e+04 -1902 1.57500e+03 1.53250e+04 -1903 1.57500e+03 1.52250e+04 -1904 1.57500e+03 1.51250e+04 -1905 1.57500e+03 1.50250e+04 -1906 1.67500e+03 1.49750e+04 -1907 1.57500e+03 1.48610e+04 -1908 1.57500e+03 1.48600e+04 -1909 1.57500e+03 1.47100e+04 -1910 1.57600e+03 1.47100e+04 -1911 1.57500e+03 1.45600e+04 -1912 1.57600e+03 1.45590e+04 -1913 1.57500e+03 1.44100e+04 -1914 1.57600e+03 1.44090e+04 -1915 1.57500e+03 1.42250e+04 -1916 1.57500e+03 1.40250e+04 -1917 1.57500e+03 1.38250e+04 -1918 1.72500e+03 1.38250e+04 -1919 1.72500e+03 1.36750e+04 -1920 1.57500e+03 1.36750e+04 -1921 1.57500e+03 1.35250e+04 -1922 1.97500e+03 1.31500e+04 -1923 2.07500e+03 1.31750e+04 -1924 1.97500e+03 1.33500e+04 -1925 2.07500e+03 1.35750e+04 -1926 1.92500e+03 1.38250e+04 -1927 1.92500e+03 1.39750e+04 -1928 2.07500e+03 1.39250e+04 -1929 2.22500e+03 1.39250e+04 -1930 2.07500e+03 1.41250e+04 -1931 1.97500e+03 1.42250e+04 -1932 2.17500e+03 1.42250e+04 -1933 2.27500e+03 1.44250e+04 -1934 2.32500e+03 1.45750e+04 -1935 2.37500e+03 1.46750e+04 -1936 2.17500e+03 1.46250e+04 -1937 2.07500e+03 1.47250e+04 -1938 1.97500e+03 1.46250e+04 -1939 1.92500e+03 1.47750e+04 -1940 1.77500e+03 1.47750e+04 -1941 1.82500e+03 1.48750e+04 -1942 1.97500e+03 1.48750e+04 -1943 2.17500e+03 1.49750e+04 -1944 2.35000e+03 1.49250e+04 -1945 2.35000e+03 1.50250e+04 -1946 2.47500e+03 1.51250e+04 -1947 2.62500e+03 1.51250e+04 -1948 2.57500e+03 1.52750e+04 -1949 2.50000e+03 1.53750e+04 -1950 2.60000e+03 1.53750e+04 -1951 2.77500e+03 1.52750e+04 -1952 2.77500e+03 1.51750e+04 -1953 2.87500e+03 1.52250e+04 -1954 2.97500e+03 1.52750e+04 -1955 3.07500e+03 1.52250e+04 -1956 3.07500e+03 1.51250e+04 -1957 2.97500e+03 1.51250e+04 -1958 2.92500e+03 1.49750e+04 -1959 2.87500e+03 1.50750e+04 -1960 2.77500e+03 1.50250e+04 -1961 2.65000e+03 1.49000e+04 -1962 2.80000e+03 1.49000e+04 -1963 2.87500e+03 1.47250e+04 -1964 2.87500e+03 1.45750e+04 -1965 3.02500e+03 1.45750e+04 -1966 3.12500e+03 1.45750e+04 -1967 3.07500e+03 1.47250e+04 -1968 3.17500e+03 1.47500e+04 -1969 3.12500e+03 1.49750e+04 -1970 3.27500e+03 1.51250e+04 -1971 3.32500e+03 1.53750e+04 -1972 3.42500e+03 1.53750e+04 -1973 3.52500e+03 1.54750e+04 -1974 3.62500e+03 1.54750e+04 -1975 3.77500e+03 1.55250e+04 -1976 3.77500e+03 1.53750e+04 -1977 3.62500e+03 1.53250e+04 -1978 3.67500e+03 1.52250e+04 -1979 3.77500e+03 1.52250e+04 -1980 3.77500e+03 1.50750e+04 -1981 3.67500e+03 1.50250e+04 -1982 3.52500e+03 1.49750e+04 -1983 3.37500e+03 1.49750e+04 -1984 3.37500e+03 1.48750e+04 -1985 3.52500e+03 1.48750e+04 -1986 3.52500e+03 1.47750e+04 -1987 3.42500e+03 1.47250e+04 -1988 3.52500e+03 1.46250e+04 -1989 3.42500e+03 1.45750e+04 -1990 3.27500e+03 1.45750e+04 -1991 3.22500e+03 1.44750e+04 -1992 3.32500e+03 1.43000e+04 -1993 3.47500e+03 1.43000e+04 -1994 3.75000e+03 1.43000e+04 -1995 3.67500e+03 1.42250e+04 -1996 3.72500e+03 1.41250e+04 -1997 3.52500e+03 1.41250e+04 -1998 3.32500e+03 1.40250e+04 -1999 3.42500e+03 1.39250e+04 -2000 3.32500e+03 1.38250e+04 -2001 3.37500e+03 1.36000e+04 -2002 3.52500e+03 1.37250e+04 -2003 3.75000e+03 1.37250e+04 -2004 3.75000e+03 1.35250e+04 -2005 3.75000e+03 1.31250e+04 -2006 3.57400e+03 1.30580e+04 -2007 3.37500e+03 1.32000e+04 -2008 3.17500e+03 1.31750e+04 -2009 3.02500e+03 1.32750e+04 -2010 2.87500e+03 1.32750e+04 -2011 2.87500e+03 1.31750e+04 -2012 3.02500e+03 1.26000e+04 -2013 2.92500e+03 1.26000e+04 -2014 2.82500e+03 1.26000e+04 -2015 2.67500e+03 1.26000e+04 -2016 2.52500e+03 1.26000e+04 -2017 2.37500e+03 1.26000e+04 -2018 2.40000e+03 1.25000e+04 -2019 2.40000e+03 1.24000e+04 -2020 2.32500e+03 1.23250e+04 -2021 2.47500e+03 1.23250e+04 -2022 2.57500e+03 1.22250e+04 -2023 2.52500e+03 1.21250e+04 -2024 2.67500e+03 1.20250e+04 -2025 2.82500e+03 1.21250e+04 -2026 2.77500e+03 1.22250e+04 -2027 2.67500e+03 1.21750e+04 -2028 2.67500e+03 1.23250e+04 -2029 2.87500e+03 1.23250e+04 -2030 3.15000e+03 1.23250e+04 -2031 3.25000e+03 1.25250e+04 -2032 3.25000e+03 1.24250e+04 -2033 3.30000e+03 1.23250e+04 -2034 3.27500e+03 1.22250e+04 -2035 3.32500e+03 1.21250e+04 -2036 3.45000e+03 1.21750e+04 -2037 3.47500e+03 1.23250e+04 -2038 3.52500e+03 1.24250e+04 -2039 3.52500e+03 1.25250e+04 -2040 3.67500e+03 1.25250e+04 -2041 3.67500e+03 1.24250e+04 -2042 3.77500e+03 1.24750e+04 -2043 3.77200e+03 1.23540e+04 -2044 3.80000e+03 1.22250e+04 -2045 3.80000e+03 1.20750e+04 -2046 3.67500e+03 1.20750e+04 -2047 3.67500e+03 1.19250e+04 -2048 3.67500e+03 1.18250e+04 -2049 3.67500e+03 1.17250e+04 -2050 3.67500e+03 1.15750e+04 -2051 3.72500e+03 1.14750e+04 -2052 3.57500e+03 1.14750e+04 -2053 3.40000e+03 1.13250e+04 -2054 3.30000e+03 1.12750e+04 -2055 3.20000e+03 1.13250e+04 -2056 3.30000e+03 1.14250e+04 -2057 3.30000e+03 1.15500e+04 -2058 3.30000e+03 1.16500e+04 -2059 3.40000e+03 1.18250e+04 -2060 3.52500e+03 1.18750e+04 -2061 3.37500e+03 1.19250e+04 -2062 3.22500e+03 1.19250e+04 -2063 3.02500e+03 1.17250e+04 -2064 3.12500e+03 1.17250e+04 -2065 3.20000e+03 1.16750e+04 -2066 3.20000e+03 1.15750e+04 -2067 3.20000e+03 1.14750e+04 -2068 3.12500e+03 1.14250e+04 -2069 3.02500e+03 1.14250e+04 -2070 2.92500e+03 1.13250e+04 -2071 2.72500e+03 1.13250e+04 -2072 2.62500e+03 1.13250e+04 -2073 2.45000e+03 1.08750e+04 -2074 2.45000e+03 1.10750e+04 -2075 2.42500e+03 1.13250e+04 -2076 2.32500e+03 1.14250e+04 -2077 2.22500e+03 1.14250e+04 -2078 2.15000e+03 1.14750e+04 -2079 2.15000e+03 1.15750e+04 -2080 2.05000e+03 1.15750e+04 -2081 2.05000e+03 1.16750e+04 -2082 2.15000e+03 1.16750e+04 -2083 2.22500e+03 1.17500e+04 -2084 2.32500e+03 1.17500e+04 -2085 2.12500e+03 1.19250e+04 -2086 1.97500e+03 1.19250e+04 -2087 1.95000e+03 1.18250e+04 -2088 1.87500e+03 1.19250e+04 -2089 1.92500e+03 1.20750e+04 -2090 2.02500e+03 1.21250e+04 -2091 2.07500e+03 1.22250e+04 -2092 1.92500e+03 1.22250e+04 -2093 1.82500e+03 1.21750e+04 -2094 1.82500e+03 1.24250e+04 -2095 1.82500e+03 1.25750e+04 -2096 1.82500e+03 1.26750e+04 -2097 1.82500e+03 1.28250e+04 -2098 1.56500e+03 1.27600e+04 -2099 1.56500e+03 1.26100e+04 -2100 1.56500e+03 1.24600e+04 -2101 1.56500e+03 1.23100e+04 -2102 1.56500e+03 1.21600e+04 -2103 1.56500e+03 1.20100e+04 -2104 1.72500e+03 1.19250e+04 -2105 1.56500e+03 1.18600e+04 -2106 1.56500e+03 1.17100e+04 -2107 1.67500e+03 1.16500e+04 -2108 1.75000e+03 1.17000e+04 -2109 1.75000e+03 1.16000e+04 -2110 1.67500e+03 1.15250e+04 -2111 1.62500e+03 1.14250e+04 -2112 1.72500e+03 1.14250e+04 -2113 1.95000e+03 1.13250e+04 -2114 2.05000e+03 1.14250e+04 -2115 2.15000e+03 1.13250e+04 -2116 2.05000e+03 1.12750e+04 -2117 2.07500e+03 1.11250e+04 -2118 2.07500e+03 1.10250e+04 -2119 1.97500e+03 1.11250e+04 -2120 1.90000e+03 1.10250e+04 -2121 1.77500e+03 1.10250e+04 -2122 1.62500e+03 1.10500e+04 -2123 1.60000e+03 1.08500e+04 -2124 1.60000e+03 1.07250e+04 -2125 1.60000e+03 1.06250e+04 -2126 1.60000e+03 1.05250e+04 -2127 1.60000e+03 1.04250e+04 -2128 1.72500e+03 1.01250e+04 -2129 1.87500e+03 1.00750e+04 -2130 1.64000e+03 9.80600e+03 -2131 1.63900e+03 9.70600e+03 -2132 1.63900e+03 9.60600e+03 -2133 1.64000e+03 9.50500e+03 -2134 1.64000e+03 9.40600e+03 -2135 1.63900e+03 9.30600e+03 -2136 1.92800e+03 8.82000e+03 -2137 1.82500e+03 8.82500e+03 -2138 1.62500e+03 8.82500e+03 -2139 1.57500e+03 8.47500e+03 -2140 1.57500e+03 8.37500e+03 -2141 1.57500e+03 8.27500e+03 -2142 1.57500e+03 8.17500e+03 -2143 1.57500e+03 8.07500e+03 -2144 1.57500e+03 7.97500e+03 -2145 1.57500e+03 7.87500e+03 -2146 1.67500e+03 7.82500e+03 -2147 1.57500e+03 7.71100e+03 -2148 1.57500e+03 7.71000e+03 -2149 1.57600e+03 7.56000e+03 -2150 1.57500e+03 7.56000e+03 -2151 1.57500e+03 7.41000e+03 -2152 1.57600e+03 7.40900e+03 -2153 1.57500e+03 7.26000e+03 -2154 1.57600e+03 7.25900e+03 -2155 1.57500e+03 7.07500e+03 -2156 1.57500e+03 6.87500e+03 -2157 1.57500e+03 6.67500e+03 -2158 1.72500e+03 6.67500e+03 -2159 1.72500e+03 6.52500e+03 -2160 1.57500e+03 6.52500e+03 -2161 1.57500e+03 6.37500e+03 -2162 1.97500e+03 6.00000e+03 -2163 2.07500e+03 6.02500e+03 -2164 1.97500e+03 6.20000e+03 -2165 2.07500e+03 6.42500e+03 -2166 1.92500e+03 6.67500e+03 -2167 1.92500e+03 6.82500e+03 -2168 2.07500e+03 6.77500e+03 -2169 2.22500e+03 6.77500e+03 -2170 2.07500e+03 6.97500e+03 -2171 1.97500e+03 7.07500e+03 -2172 2.17500e+03 7.07500e+03 -2173 2.27500e+03 7.27500e+03 -2174 2.32500e+03 7.42500e+03 -2175 2.37500e+03 7.52500e+03 -2176 2.17500e+03 7.47500e+03 -2177 2.07500e+03 7.57500e+03 -2178 1.97500e+03 7.47500e+03 -2179 1.92500e+03 7.62500e+03 -2180 1.77500e+03 7.62500e+03 -2181 1.82500e+03 7.72500e+03 -2182 1.97500e+03 7.72500e+03 -2183 2.17500e+03 7.82500e+03 -2184 2.35000e+03 7.77500e+03 -2185 2.35000e+03 7.87500e+03 -2186 2.47500e+03 7.97500e+03 -2187 2.62500e+03 7.97500e+03 -2188 2.57500e+03 8.12500e+03 -2189 2.50000e+03 8.22500e+03 -2190 2.60000e+03 8.22500e+03 -2191 2.60000e+03 8.37500e+03 -2192 2.60000e+03 8.47500e+03 -2193 2.45000e+03 8.57500e+03 -2194 2.37500e+03 8.72500e+03 -2195 2.19700e+03 8.70300e+03 -2196 2.22500e+03 8.82500e+03 -2197 2.42500e+03 8.82500e+03 -2198 2.52500e+03 8.72500e+03 -2199 2.60000e+03 8.62500e+03 -2200 2.82500e+03 8.77500e+03 -2201 2.92500e+03 8.77500e+03 -2202 3.02500e+03 8.77500e+03 -2203 3.12500e+03 8.77500e+03 -2204 3.27500e+03 8.77500e+03 -2205 3.22500e+03 8.62500e+03 -2206 3.32500e+03 8.57500e+03 -2207 3.22500e+03 8.52500e+03 -2208 3.32500e+03 8.22500e+03 -2209 3.42500e+03 8.22500e+03 -2210 3.52500e+03 8.32500e+03 -2211 3.62500e+03 8.32500e+03 -2212 3.62500e+03 8.42500e+03 -2213 3.52500e+03 8.47500e+03 -2214 3.70000e+03 8.77500e+03 -2215 3.80000e+03 8.67500e+03 -2216 3.70000e+03 8.57500e+03 -2217 3.77500e+03 8.37500e+03 -2218 3.77500e+03 8.22500e+03 -2219 3.62500e+03 8.17500e+03 -2220 3.67500e+03 8.07500e+03 -2221 3.77500e+03 8.07500e+03 -2222 3.77500e+03 7.92500e+03 -2223 3.67500e+03 7.87500e+03 -2224 3.52500e+03 7.82500e+03 -2225 3.52500e+03 7.72500e+03 -2226 3.52500e+03 7.62500e+03 -2227 3.52500e+03 7.47500e+03 -2228 3.42500e+03 7.42500e+03 -2229 3.42500e+03 7.57500e+03 -2230 3.37500e+03 7.72500e+03 -2231 3.37500e+03 7.82500e+03 -2232 3.27500e+03 7.97500e+03 -2233 3.12500e+03 7.82500e+03 -2234 2.92500e+03 7.82500e+03 -2235 2.87500e+03 7.92500e+03 -2236 2.97500e+03 7.97500e+03 -2237 3.07500e+03 7.97500e+03 -2238 3.07500e+03 8.07500e+03 -2239 2.97500e+03 8.12500e+03 -2240 2.87500e+03 8.07500e+03 -2241 2.77500e+03 8.12500e+03 -2242 2.77500e+03 8.02500e+03 -2243 2.77500e+03 7.87500e+03 -2244 2.65000e+03 7.75000e+03 -2245 2.80000e+03 7.75000e+03 -2246 2.87500e+03 7.57500e+03 -2247 2.87500e+03 7.42500e+03 -2248 3.02500e+03 7.42500e+03 -2249 3.12500e+03 7.42500e+03 -2250 3.07500e+03 7.57500e+03 -2251 3.17500e+03 7.60000e+03 -2252 3.27500e+03 7.42500e+03 -2253 3.22500e+03 7.32500e+03 -2254 3.32500e+03 7.15000e+03 -2255 3.47500e+03 7.15000e+03 -2256 3.75000e+03 7.15000e+03 -2257 3.67500e+03 7.07500e+03 -2258 3.72500e+03 6.97500e+03 -2259 3.52500e+03 6.97500e+03 -2260 3.32500e+03 6.87500e+03 -2261 3.42500e+03 6.77500e+03 -2262 3.32500e+03 6.67500e+03 -2263 3.37500e+03 6.45000e+03 -2264 3.52500e+03 6.57500e+03 -2265 3.75000e+03 6.57500e+03 -2266 3.75000e+03 6.37500e+03 -2267 3.75000e+03 5.97500e+03 -2268 3.57400e+03 5.90800e+03 -2269 3.37500e+03 6.05000e+03 -2270 3.17500e+03 6.02500e+03 -2271 3.02500e+03 6.12500e+03 -2272 2.87500e+03 6.12500e+03 -2273 2.87500e+03 6.02500e+03 -2274 3.02500e+03 5.45000e+03 -2275 2.92500e+03 5.45000e+03 -2276 2.82500e+03 5.45000e+03 -2277 2.67500e+03 5.45000e+03 -2278 2.52500e+03 5.45000e+03 -2279 2.37500e+03 5.45000e+03 -2280 2.40000e+03 5.35000e+03 -2281 2.40000e+03 5.25000e+03 -2282 2.32500e+03 5.17500e+03 -2283 2.47500e+03 5.17500e+03 -2284 2.57500e+03 5.07500e+03 -2285 2.52500e+03 4.97500e+03 -2286 2.67500e+03 4.87500e+03 -2287 2.82500e+03 4.97500e+03 -2288 2.77500e+03 5.07500e+03 -2289 2.67500e+03 5.02500e+03 -2290 2.67500e+03 5.17500e+03 -2291 2.87500e+03 5.17500e+03 -2292 3.15000e+03 5.17500e+03 -2293 3.25000e+03 5.37500e+03 -2294 3.25000e+03 5.27500e+03 -2295 3.30000e+03 5.17500e+03 -2296 3.27500e+03 5.07500e+03 -2297 3.32500e+03 4.97500e+03 -2298 3.45000e+03 5.02500e+03 -2299 3.47500e+03 5.17500e+03 -2300 3.52500e+03 5.27500e+03 -2301 3.52500e+03 5.37500e+03 -2302 3.67500e+03 5.37500e+03 -2303 3.67500e+03 5.27500e+03 -2304 3.77500e+03 5.32500e+03 -2305 3.77200e+03 5.20400e+03 -2306 3.80000e+03 5.07500e+03 -2307 3.80000e+03 4.92500e+03 -2308 3.67500e+03 4.92500e+03 -2309 3.67500e+03 4.77500e+03 -2310 3.67500e+03 4.67500e+03 -2311 3.67500e+03 4.57500e+03 -2312 3.52500e+03 4.72500e+03 -2313 3.40000e+03 4.67500e+03 -2314 3.37500e+03 4.77500e+03 -2315 3.22500e+03 4.77500e+03 -2316 3.02500e+03 4.57500e+03 -2317 3.12500e+03 4.57500e+03 -2318 3.20000e+03 4.52500e+03 -2319 3.30000e+03 4.50000e+03 -2320 3.30000e+03 4.40000e+03 -2321 3.20000e+03 4.42500e+03 -2322 3.20000e+03 4.32500e+03 -2323 3.12500e+03 4.27500e+03 -2324 3.02500e+03 4.27500e+03 -2325 2.92500e+03 4.17500e+03 -2326 2.90000e+03 3.92500e+03 -2327 2.90000e+03 3.72500e+03 -2328 2.90000e+03 3.32500e+03 -2329 2.45000e+03 3.32500e+03 -2330 2.45000e+03 3.72500e+03 -2331 2.45000e+03 3.92500e+03 -2332 2.72500e+03 4.17500e+03 -2333 2.62500e+03 4.17500e+03 -2334 2.42500e+03 4.17500e+03 -2335 2.32500e+03 4.27500e+03 -2336 2.22500e+03 4.27500e+03 -2337 2.15000e+03 4.32500e+03 -2338 2.15000e+03 4.42500e+03 -2339 2.05000e+03 4.42500e+03 -2340 2.05000e+03 4.52500e+03 -2341 2.15000e+03 4.52500e+03 -2342 2.22500e+03 4.60000e+03 -2343 2.32500e+03 4.60000e+03 -2344 2.12500e+03 4.77500e+03 -2345 1.97500e+03 4.77500e+03 -2346 1.95000e+03 4.67500e+03 -2347 1.87500e+03 4.77500e+03 -2348 1.92500e+03 4.92500e+03 -2349 2.02500e+03 4.97500e+03 -2350 2.07500e+03 5.07500e+03 -2351 1.92500e+03 5.07500e+03 -2352 1.82500e+03 5.02500e+03 -2353 1.82500e+03 5.27500e+03 -2354 1.82500e+03 5.42500e+03 -2355 1.82500e+03 5.52500e+03 -2356 1.82500e+03 5.67500e+03 -2357 1.56500e+03 5.61000e+03 -2358 1.56500e+03 5.46000e+03 -2359 1.56500e+03 5.31000e+03 -2360 1.56500e+03 5.16000e+03 -2361 1.56500e+03 5.01000e+03 -2362 1.56500e+03 4.86000e+03 -2363 1.72500e+03 4.77500e+03 -2364 1.56500e+03 4.71000e+03 -2365 1.56500e+03 4.56000e+03 -2366 1.67500e+03 4.50000e+03 -2367 1.75000e+03 4.55000e+03 -2368 1.75000e+03 4.45000e+03 -2369 1.67500e+03 4.37500e+03 -2370 1.62500e+03 4.27500e+03 -2371 1.72500e+03 4.27500e+03 -2372 1.95000e+03 4.17500e+03 -2373 2.05000e+03 4.27500e+03 -2374 2.15000e+03 4.17500e+03 -2375 2.05000e+03 4.12500e+03 -2376 2.07500e+03 3.97500e+03 -2377 2.07500e+03 3.87500e+03 -2378 1.97500e+03 3.97500e+03 -2379 1.90000e+03 3.87500e+03 -2380 1.77500e+03 3.87500e+03 -2381 1.62500e+03 3.90000e+03 -2382 1.60000e+03 3.70000e+03 -2383 1.60000e+03 3.57500e+03 -2384 1.60000e+03 3.47500e+03 -2385 1.60000e+03 3.37500e+03 -2386 1.60000e+03 3.27500e+03 -2387 1.72500e+03 2.97500e+03 -2388 1.64000e+03 2.65600e+03 -2389 1.63900e+03 2.55600e+03 -2390 1.63900e+03 2.45600e+03 -2391 1.64000e+03 2.35500e+03 -2392 1.64000e+03 2.25600e+03 -EOF diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/readme b/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/readme deleted file mode 100644 index 6a9fb5488..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/readme +++ /dev/null @@ -1,93 +0,0 @@ -All the instances in this directory come from the TSPLIB database. All the TSPLIB instances can be downloaded at this address: -http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/tsp/ - -The accepted format is: - -NAME: instance_name -TYPE: TSP -COMMENT: comments about the instance -DIMENSION: number of towns. -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 565.0 575.0 -2 25.0 185.0 -3 345.0 750.0 -. -. -. -. -. -. -EOF - -Compatibility bugs with some TSPLIB instances (soon corrected): - -==> some instances have a space after a section title, for example "NAME :" instead of "NAME:". -==> several instances have the "COMMENT:" section before the "TYPE:" section. -==> several section are not yet implemented ("DISPLAY_DATA_TYPE:", ...). - -Already corrected bugs: - -==> some instances have several lines with the keyword "COMMENTS:" - -For instance, the Berlin52 instance: - -NAME: berlin52 -TYPE: TSP -COMMENT: 52 locations in Berlin (Groetschel) -DIMENSION: 52 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 565.0 575.0 -2 25.0 185.0 -3 345.0 750.0 -4 945.0 685.0 -5 845.0 655.0 -6 880.0 660.0 -7 25.0 230.0 -8 525.0 1000.0 -9 580.0 1175.0 -10 650.0 1130.0 -11 1605.0 620.0 -12 1220.0 580.0 -13 1465.0 200.0 -14 1530.0 5.0 -15 845.0 680.0 -16 725.0 370.0 -17 145.0 665.0 -18 415.0 635.0 -19 510.0 875.0 -20 560.0 365.0 -21 300.0 465.0 -22 520.0 585.0 -23 480.0 415.0 -24 835.0 625.0 -25 975.0 580.0 -26 1215.0 245.0 -27 1320.0 315.0 -28 1250.0 400.0 -29 660.0 180.0 -30 410.0 250.0 -31 420.0 555.0 -32 575.0 665.0 -33 1150.0 1160.0 -34 700.0 580.0 -35 685.0 595.0 -36 685.0 610.0 -37 770.0 610.0 -38 795.0 645.0 -39 720.0 635.0 -40 760.0 650.0 -41 475.0 960.0 -42 95.0 260.0 -43 875.0 920.0 -44 700.0 500.0 -45 555.0 815.0 -46 830.0 485.0 -47 1170.0 65.0 -48 830.0 610.0 -49 605.0 625.0 -50 595.0 360.0 -51 1340.0 725.0 -52 1740.0 245.0 -EOF diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/rl5915.tsp b/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/rl5915.tsp deleted file mode 100644 index 86f6a24fd..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/rl5915.tsp +++ /dev/null @@ -1,5922 +0,0 @@ -NAME: rl5915 -TYPE: TSP -COMMENT: 5915-city TSP (Reinelt) -DIMENSION: 5915 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 1.81920e+04 8.95400e+03 -2 1.81920e+04 9.85600e+03 -3 1.81920e+04 1.13190e+04 -4 1.82720e+04 8.62400e+03 -5 1.84160e+04 7.34800e+03 -6 1.84160e+04 8.29400e+03 -7 1.20000e+03 7.37000e+03 -8 1.20000e+03 8.18400e+03 -9 1.20000e+03 1.09120e+04 -10 1.20000e+03 1.14400e+04 -11 1.79040e+04 5.72000e+02 -12 1.79040e+04 2.68400e+03 -13 1.79040e+04 6.90800e+03 -14 1.79040e+04 7.34800e+03 -15 1.79040e+04 8.62400e+03 -16 8.27200e+03 3.08000e+02 -17 8.27200e+03 2.06800e+03 -18 8.27200e+03 2.50800e+03 -19 8.27200e+03 3.08000e+03 -20 8.27200e+03 3.60800e+03 -21 8.27200e+03 5.30200e+03 -22 8.33600e+03 7.26000e+03 -23 8.46400e+03 7.26000e+03 -24 8.49600e+03 9.54800e+03 -25 8.49600e+03 1.05820e+04 -26 8.49600e+03 1.14400e+04 -27 1.58880e+04 9.06400e+03 -28 1.58880e+04 9.50400e+03 -29 1.58880e+04 1.02520e+04 -30 1.58880e+04 1.10000e+04 -31 1.59360e+04 8.18400e+03 -32 1.60480e+04 8.18400e+03 -33 1.62080e+04 8.18400e+03 -34 1.63360e+04 5.72000e+02 -35 1.63360e+04 1.01200e+03 -36 1.63360e+04 1.45200e+03 -37 1.63360e+04 2.99200e+03 -38 1.63360e+04 4.81800e+03 -39 1.63360e+04 6.02800e+03 -40 1.63360e+04 7.34800e+03 -41 1.04000e+03 7.37000e+03 -42 1.04000e+03 8.18400e+03 -43 1.04000e+03 1.09120e+04 -44 1.04000e+03 1.14400e+04 -45 4.46400e+03 3.08000e+02 -46 4.64000e+03 3.08000e+02 -47 4.81600e+03 3.08000e+02 -48 4.94400e+03 3.08000e+02 -49 5.16800e+03 3.08000e+02 -50 5.44000e+03 3.08000e+02 -51 5.61600e+03 3.08000e+02 -52 5.72800e+03 3.08000e+02 -53 5.80800e+03 3.08000e+03 -54 5.80800e+03 3.60800e+03 -55 5.80800e+03 4.66400e+03 -56 5.80800e+03 5.36800e+03 -57 5.80800e+03 6.07200e+03 -58 5.80800e+03 7.12800e+03 -59 5.93600e+03 9.65800e+03 -60 5.93600e+03 1.12860e+04 -61 1.68480e+04 5.72000e+02 -62 1.68480e+04 1.45200e+03 -63 1.68480e+04 2.99200e+03 -64 1.68480e+04 4.70800e+03 -65 1.68480e+04 6.02800e+03 -66 1.68480e+04 7.34800e+03 -67 1.68480e+04 8.51400e+03 -68 1.68480e+04 9.28400e+03 -69 1.68480e+04 9.92200e+03 -70 1.68480e+04 1.11980e+04 -71 8.24000e+03 7.48000e+03 -72 8.40000e+03 9.54800e+03 -73 8.40000e+03 1.05820e+04 -74 8.40000e+03 1.14400e+04 -75 1.52000e+03 9.15200e+03 -76 1.52000e+03 1.09120e+04 -77 1.52000e+03 1.14400e+04 -78 1.58400e+03 6.44600e+03 -79 1.58400e+03 7.59000e+03 -80 1.58400e+03 8.29400e+03 -81 5.16800e+03 1.14400e+04 -82 5.28000e+03 1.14400e+04 -83 5.45600e+03 1.14400e+04 -84 5.58400e+03 1.14400e+04 -85 5.71200e+03 1.14400e+04 -86 2.67200e+03 6.33600e+03 -87 2.78400e+03 6.55600e+03 -88 2.97600e+03 6.55600e+03 -89 3.10400e+03 6.55600e+03 -90 3.26400e+03 6.55600e+03 -91 3.36000e+03 6.55600e+03 -92 3.60000e+03 6.55600e+03 -93 3.85600e+03 6.55600e+03 -94 3.92000e+03 6.55600e+03 -95 4.01600e+03 6.55600e+03 -96 4.14400e+03 6.55600e+03 -97 4.20800e+03 6.55600e+03 -98 4.35200e+03 6.55600e+03 -99 4.46400e+03 6.55600e+03 -100 4.56000e+03 6.55600e+03 -101 4.68800e+03 6.55600e+03 -102 4.72000e+03 7.26000e+03 -103 4.72000e+03 8.14000e+03 -104 4.72000e+03 9.70200e+03 -105 4.72000e+03 1.05820e+04 -106 4.72000e+03 1.11320e+04 -107 1.70080e+04 5.72000e+02 -108 1.70080e+04 1.45200e+03 -109 1.70080e+04 2.99200e+03 -110 1.70080e+04 5.87400e+03 -111 1.70080e+04 7.34800e+03 -112 1.70720e+04 8.09600e+03 -113 1.71360e+04 8.09600e+03 -114 1.72800e+04 8.09600e+03 -115 1.74560e+04 8.09600e+03 -116 1.75200e+04 8.40400e+03 -117 1.75200e+04 8.95400e+03 -118 1.75200e+04 1.01420e+04 -119 1.75200e+04 1.13190e+04 -120 8.80000e+02 7.37000e+03 -121 8.80000e+02 8.18400e+03 -122 8.80000e+02 1.14400e+04 -123 4.14400e+03 4.84000e+03 -124 4.14400e+03 7.70000e+03 -125 4.30400e+03 8.36000e+03 -126 4.41600e+03 8.36000e+03 -127 4.57600e+03 8.36000e+03 -128 4.65600e+03 8.36000e+03 -129 4.86400e+03 8.36000e+03 -130 5.04000e+03 8.36000e+03 -131 5.29600e+03 8.36000e+03 -132 5.45600e+03 8.84400e+03 -133 5.45600e+03 9.81200e+03 -134 5.52000e+03 3.60800e+03 -135 5.52000e+03 4.66400e+03 -136 5.52000e+03 5.36800e+03 -137 5.52000e+03 5.91800e+03 -138 5.52000e+03 6.93000e+03 -139 1.65600e+04 8.95400e+03 -140 1.65600e+04 9.92200e+03 -141 1.65920e+04 5.72000e+02 -142 1.65920e+04 1.45200e+03 -143 1.65920e+04 2.99200e+03 -144 1.65920e+04 4.81800e+03 -145 1.65920e+04 6.13800e+03 -146 1.65920e+04 7.34800e+03 -147 7.72800e+03 7.74400e+03 -148 7.72800e+03 9.54800e+03 -149 7.72800e+03 1.08460e+04 -150 7.79200e+03 7.04000e+03 -151 7.85600e+03 7.04000e+03 -152 7.95200e+03 7.04000e+03 -153 8.01600e+03 3.08000e+02 -154 8.01600e+03 2.06800e+03 -155 8.01600e+03 2.50800e+03 -156 8.01600e+03 3.08000e+03 -157 8.01600e+03 3.60800e+03 -158 8.01600e+03 4.26800e+03 -159 8.01600e+03 5.85200e+03 -160 1.62720e+04 9.06400e+03 -161 1.62720e+04 9.50400e+03 -162 1.62720e+04 9.92200e+03 -163 1.62720e+04 1.10000e+04 -164 1.66400e+04 8.84400e+03 -165 1.67200e+04 8.84400e+03 -166 1.67840e+04 6.02800e+03 -167 1.67840e+04 7.34800e+03 -168 1.67840e+04 8.51400e+03 -169 4.64000e+02 1.14400e+04 -170 5.28000e+02 8.18400e+03 -171 6.40000e+02 8.18400e+03 -172 7.84000e+02 7.37000e+03 -173 7.84000e+02 7.96400e+03 -174 7.66400e+03 6.44600e+03 -175 7.66400e+03 8.07400e+03 -176 7.66400e+03 9.54800e+03 -177 7.66400e+03 1.08460e+04 -178 7.72800e+03 3.08000e+02 -179 7.72800e+03 2.06800e+03 -180 7.72800e+03 2.50800e+03 -181 7.72800e+03 3.08000e+03 -182 7.72800e+03 3.60800e+03 -183 7.72800e+03 4.04800e+03 -184 7.72800e+03 4.48800e+03 -185 5.23200e+03 3.60800e+03 -186 5.23200e+03 4.66400e+03 -187 5.23200e+03 5.36800e+03 -188 5.23200e+03 5.91800e+03 -189 5.23200e+03 6.77600e+03 -190 5.52000e+03 7.92000e+03 -191 3.85600e+03 7.48000e+03 -192 3.92000e+03 7.92000e+03 -193 4.01600e+03 7.92000e+03 -194 4.17600e+03 9.15200e+03 -195 4.17600e+03 9.92200e+03 -196 4.17600e+03 1.04720e+04 -197 4.17600e+03 1.09120e+04 -198 4.17600e+03 1.14400e+04 -199 5.98400e+03 7.48000e+02 -200 6.09600e+03 3.08000e+03 -201 6.09600e+03 3.60800e+03 -202 6.09600e+03 4.66400e+03 -203 6.16000e+03 5.36800e+03 -204 6.22400e+03 5.36800e+03 -205 6.32000e+03 5.36800e+03 -206 6.49600e+03 5.36800e+03 -207 6.60800e+03 5.69800e+03 -208 6.60800e+03 6.33600e+03 -209 6.60800e+03 7.50200e+03 -210 6.60800e+03 9.06400e+03 -211 6.60800e+03 1.01420e+04 -212 6.60800e+03 1.10220e+04 -213 1.72000e+04 5.87400e+03 -214 1.72000e+04 7.34800e+03 -215 1.72000e+04 9.28400e+03 -216 1.72000e+04 9.92200e+03 -217 1.72000e+04 1.11980e+04 -218 1.72960e+04 5.19200e+03 -219 1.74400e+04 5.19200e+03 -220 1.75680e+04 5.19200e+03 -221 1.76160e+04 5.72000e+02 -222 1.76160e+04 2.99200e+03 -223 7.24800e+03 1.03620e+04 -224 7.24800e+03 1.12860e+04 -225 7.37600e+03 3.08000e+02 -226 7.37600e+03 9.68000e+02 -227 7.37600e+03 2.06800e+03 -228 7.37600e+03 2.50800e+03 -229 7.37600e+03 3.08000e+03 -230 7.37600e+03 3.60800e+03 -231 7.37600e+03 4.48800e+03 -232 7.37600e+03 5.58800e+03 -233 7.37600e+03 6.55600e+03 -234 7.37600e+03 7.74400e+03 -235 1.80800e+03 6.44600e+03 -236 1.84000e+03 7.43600e+03 -237 1.84000e+03 8.40400e+03 -238 1.84000e+03 9.04200e+03 -239 1.84000e+03 1.09120e+04 -240 1.84000e+03 1.14400e+04 -241 1.22720e+04 9.87800e+03 -242 1.24640e+04 9.06400e+03 -243 1.25920e+04 9.06400e+03 -244 1.27360e+04 9.06400e+03 -245 1.28480e+04 9.02000e+02 -246 1.28480e+04 1.98000e+03 -247 1.28480e+04 2.64000e+03 -248 1.28480e+04 3.16800e+03 -249 1.28480e+04 3.60800e+03 -250 1.28480e+04 4.15800e+03 -251 1.28480e+04 5.36800e+03 -252 1.28480e+04 6.55600e+03 -253 1.28480e+04 6.99600e+03 -254 1.28480e+04 8.00800e+03 -255 1.28480e+04 8.84400e+03 -256 1.64800e+03 8.40400e+03 -257 1.64800e+03 9.15200e+03 -258 1.64800e+03 1.09120e+04 -259 1.64800e+03 1.14400e+04 -260 1.68000e+03 6.44600e+03 -261 1.68000e+03 7.59000e+03 -262 6.25600e+03 9.65800e+03 -263 6.25600e+03 1.10220e+04 -264 1.69760e+04 8.51400e+03 -265 1.69760e+04 9.28400e+03 -266 1.69760e+04 9.92200e+03 -267 1.69760e+04 1.11980e+04 -268 1.70720e+04 5.72000e+03 -269 1.71360e+04 5.72000e+03 -270 1.74400e+04 5.72000e+03 -271 1.76000e+04 5.72000e+03 -272 1.16000e+04 5.72000e+02 -273 1.16000e+04 1.76000e+03 -274 1.16000e+04 3.38800e+03 -275 1.16000e+04 5.25800e+03 -276 1.16000e+04 6.55600e+03 -277 1.16000e+04 6.99600e+03 -278 1.16000e+04 7.89800e+03 -279 1.16320e+04 8.60200e+03 -280 1.16320e+04 9.28400e+03 -281 1.16320e+04 1.02080e+04 -282 1.73760e+04 1.01420e+04 -283 1.77280e+04 1.01420e+04 -284 1.84160e+04 1.01420e+04 -285 1.86080e+04 1.01420e+04 -286 1.87040e+04 1.01420e+04 -287 1.88640e+04 1.01420e+04 -288 1.89920e+04 1.01420e+04 -289 1.90880e+04 1.01420e+04 -290 6.22400e+03 9.68000e+02 -291 6.22400e+03 3.08000e+03 -292 6.22400e+03 3.60800e+03 -293 6.22400e+03 4.66400e+03 -294 6.40000e+03 1.09120e+04 -295 6.76800e+03 1.09120e+04 -296 6.86400e+03 1.12860e+04 -297 1.93600e+03 6.33600e+03 -298 1.93600e+03 7.43600e+03 -299 1.96800e+03 8.40400e+03 -300 1.96800e+03 9.15200e+03 -301 1.96800e+03 1.09120e+04 -302 1.96800e+03 1.14400e+04 -303 3.98400e+03 8.71200e+03 -304 4.30400e+03 8.93200e+03 -305 4.41600e+03 8.93200e+03 -306 4.49600e+03 1.08020e+04 -307 1.54400e+04 1.23200e+03 -308 1.54400e+04 3.60800e+03 -309 1.54400e+04 4.18000e+03 -310 1.54400e+04 4.81800e+03 -311 1.55360e+04 5.80800e+03 -312 1.56480e+04 5.80800e+03 -313 1.57600e+04 5.80800e+03 -314 1.58400e+04 5.80800e+03 -315 1.59360e+04 5.80800e+03 -316 1.60480e+04 5.80800e+03 -317 1.62080e+04 5.80800e+03 -318 5.58400e+03 1.02520e+04 -319 5.72800e+03 1.02520e+04 -320 6.00000e+03 1.02520e+04 -321 6.06400e+03 1.02520e+04 -322 6.16000e+03 1.02520e+04 -323 6.32000e+03 9.68000e+02 -324 6.32000e+03 3.08000e+03 -325 6.32000e+03 3.60800e+03 -326 6.32000e+03 4.66400e+03 -327 6.38400e+03 9.54800e+03 -328 6.38400e+03 1.04720e+04 -329 1.67200e+04 1.11980e+04 -330 1.70880e+04 1.11980e+04 -331 1.73760e+04 1.11980e+04 -332 1.77280e+04 1.11980e+04 -333 1.84160e+04 1.11980e+04 -334 1.86080e+04 1.11980e+04 -335 1.87040e+04 1.11980e+04 -336 1.88480e+04 1.11980e+04 -337 1.52800e+04 5.72000e+02 -338 1.52800e+04 1.23200e+03 -339 1.52800e+04 3.60800e+03 -340 1.52800e+04 4.18000e+03 -341 1.52800e+04 4.81800e+03 -342 1.52800e+04 6.13800e+03 -343 1.52800e+04 7.34800e+03 -344 1.52800e+04 8.22800e+03 -345 1.52800e+04 9.06400e+03 -346 1.52800e+04 9.50400e+03 -347 1.52800e+04 1.02520e+04 -348 1.52800e+04 1.10000e+04 -349 3.47200e+03 7.92000e+03 -350 3.47200e+03 8.71200e+03 -351 3.47200e+03 9.37200e+03 -352 3.47200e+03 1.04720e+04 -353 3.47200e+03 1.09120e+04 -354 3.47200e+03 1.14400e+04 -355 2.08000e+02 1.14400e+04 -356 4.32000e+02 7.96400e+03 -357 9.44000e+02 7.96400e+03 -358 1.10400e+03 7.37000e+03 -359 1.42400e+03 6.44600e+03 -360 1.42400e+03 7.37000e+03 -361 1.42400e+03 8.29400e+03 -362 1.00960e+04 4.37800e+03 -363 1.00960e+04 5.47800e+03 -364 1.00960e+04 6.55600e+03 -365 1.00960e+04 7.48000e+03 -366 1.00960e+04 8.00800e+03 -367 1.00960e+04 8.60200e+03 -368 1.00960e+04 9.28400e+03 -369 1.00960e+04 1.03180e+04 -370 1.00960e+04 1.14400e+04 -371 1.02560e+04 3.60800e+03 -372 1.03360e+04 3.60800e+03 -373 1.04480e+04 3.60800e+03 -374 1.05440e+04 3.60800e+03 -375 1.06080e+04 3.60800e+03 -376 1.06720e+04 3.60800e+03 -377 1.07520e+04 3.60800e+03 -378 1.08640e+04 3.60800e+03 -379 1.09920e+04 3.60800e+03 -380 1.10880e+04 3.60800e+03 -381 1.11680e+04 3.60800e+03 -382 1.12800e+04 3.60800e+03 -383 1.14080e+04 3.60800e+03 -384 6.88000e+02 7.37000e+03 -385 6.88000e+02 1.14400e+04 -386 6.16000e+03 9.68000e+02 -387 6.49600e+03 9.68000e+02 -388 6.59200e+03 9.68000e+02 -389 6.73600e+03 9.68000e+02 -390 6.84800e+03 9.68000e+02 -391 6.94400e+03 9.68000e+02 -392 7.10400e+03 9.68000e+02 -393 7.23200e+03 9.68000e+02 -394 7.55200e+03 9.68000e+02 -395 7.60000e+03 3.08000e+02 -396 7.60000e+03 2.06800e+03 -397 7.60000e+03 2.50800e+03 -398 7.60000e+03 3.08000e+03 -399 7.60000e+03 3.60800e+03 -400 7.60000e+03 4.04800e+03 -401 7.60000e+03 4.48800e+03 -402 7.63200e+03 5.14800e+03 -403 7.79200e+03 5.14800e+03 -404 7.85600e+03 5.14800e+03 -405 7.92000e+03 5.14800e+03 -406 8.11200e+03 5.14800e+03 -407 8.38400e+03 5.14800e+03 -408 8.46400e+03 5.14800e+03 -409 8.62400e+03 5.14800e+03 -410 8.80000e+03 5.14800e+03 -411 8.91200e+03 5.14800e+03 -412 9.21600e+03 5.14800e+03 -413 9.50400e+03 5.14800e+03 -414 9.61600e+03 5.14800e+03 -415 9.74400e+03 5.14800e+03 -416 9.88800e+03 5.14800e+03 -417 9.93600e+03 6.55600e+03 -418 9.93600e+03 7.48000e+03 -419 9.93600e+03 8.38200e+03 -420 9.93600e+03 9.28400e+03 -421 9.93600e+03 1.14400e+04 -422 1.00320e+04 5.72000e+02 -423 1.00320e+04 1.45200e+03 -424 1.00320e+04 2.72800e+03 -425 6.49600e+03 7.08400e+03 -426 6.73600e+03 7.08400e+03 -427 6.76800e+03 9.06400e+03 -428 6.76800e+03 1.01420e+04 -429 9.93600e+03 5.72000e+02 -430 9.93600e+03 1.45200e+03 -431 5.20000e+03 1.00320e+04 -432 7.40800e+03 1.03620e+04 -433 7.56800e+03 1.06920e+04 -434 7.85600e+03 1.06920e+04 -435 7.93600e+03 1.06920e+04 -436 8.03200e+03 1.06920e+04 -437 8.14400e+03 1.06920e+04 -438 8.22400e+03 1.06920e+04 -439 8.32000e+03 1.06920e+04 -440 8.78400e+03 1.06920e+04 -441 8.97600e+03 1.06920e+04 -442 9.40800e+03 1.06920e+04 -443 1.02880e+04 1.06920e+04 -444 1.04000e+04 1.06920e+04 -445 1.05600e+04 1.06920e+04 -446 1.07040e+04 1.06920e+04 -447 1.08640e+04 1.06920e+04 -448 1.09600e+04 1.06920e+04 -449 1.11360e+04 1.06920e+04 -450 1.12640e+04 1.06920e+04 -451 1.13920e+04 1.06920e+04 -452 1.14720e+04 1.06920e+04 -453 1.15680e+04 1.06920e+04 -454 4.88000e+03 9.21800e+03 -455 4.88000e+03 1.00320e+04 -456 4.88000e+03 1.05820e+04 -457 4.88000e+03 1.11320e+04 -458 4.94400e+03 3.60800e+03 -459 4.94400e+03 4.66400e+03 -460 4.94400e+03 5.36800e+03 -461 4.94400e+03 5.91800e+03 -462 4.94400e+03 6.77600e+03 -463 4.94400e+03 7.43600e+03 -464 6.94400e+03 3.08000e+02 -465 7.10400e+03 3.08000e+02 -466 7.23200e+03 3.08000e+02 -467 7.79200e+03 3.08000e+02 -468 7.85600e+03 3.08000e+02 -469 7.92000e+03 3.08000e+02 -470 8.12800e+03 3.08000e+02 -471 8.38400e+03 3.08000e+02 -472 8.46400e+03 3.08000e+02 -473 8.52800e+03 3.08000e+02 -474 8.59200e+03 3.08000e+02 -475 8.68800e+03 3.08000e+02 -476 8.80000e+03 3.08000e+02 -477 8.91200e+03 3.08000e+02 -478 9.00800e+03 3.08000e+02 -479 9.10400e+03 3.08000e+02 -480 9.20000e+03 3.08000e+02 -481 9.23200e+03 1.45200e+03 -482 9.23200e+03 2.28800e+03 -483 9.23200e+03 3.38800e+03 -484 9.34400e+03 7.26000e+03 -485 9.45600e+03 8.60200e+03 -486 9.45600e+03 1.14400e+04 -487 3.56800e+03 7.92000e+03 -488 3.66400e+03 7.92000e+03 -489 3.72800e+03 7.92000e+03 -490 8.24000e+03 9.54800e+03 -491 8.24000e+03 1.14400e+04 -492 9.37600e+03 6.77600e+03 -493 9.77600e+03 5.72000e+02 -494 9.77600e+03 1.45200e+03 -495 9.77600e+03 2.50800e+03 -496 9.77600e+03 3.38800e+03 -497 6.99200e+03 7.85400e+03 -498 6.99200e+03 9.17400e+03 -499 6.99200e+03 9.81200e+03 -500 6.99200e+03 1.03620e+04 -501 7.05600e+03 2.06800e+03 -502 7.05600e+03 3.08000e+03 -503 7.05600e+03 3.60800e+03 -504 7.05600e+03 4.66400e+03 -505 7.05600e+03 5.58800e+03 -506 7.05600e+03 6.55600e+03 -507 1.45120e+04 6.82000e+02 -508 1.46400e+04 3.60800e+03 -509 1.46400e+04 4.04800e+03 -510 1.46400e+04 4.59800e+03 -511 1.46400e+04 6.13800e+03 -512 1.46400e+04 7.56800e+03 -513 1.46400e+04 8.22800e+03 -514 1.46400e+04 9.06400e+03 -515 1.46400e+04 9.50400e+03 -516 1.46400e+04 1.02520e+04 -517 1.46400e+04 1.10000e+04 -518 1.47680e+04 1.01200e+03 -519 1.48480e+04 1.01200e+03 -520 1.49600e+04 1.01200e+03 -521 1.53760e+04 1.01200e+03 -522 1.55360e+04 1.01200e+03 -523 1.56640e+04 1.01200e+03 -524 1.57600e+04 1.01200e+03 -525 1.58400e+04 1.01200e+03 -526 1.59360e+04 1.01200e+03 -527 1.60480e+04 1.01200e+03 -528 1.62080e+04 1.01200e+03 -529 1.64640e+04 1.01200e+03 -530 1.65280e+04 5.72000e+02 -531 1.47360e+04 6.13800e+03 -532 1.47360e+04 7.56800e+03 -533 1.47360e+04 8.22800e+03 -534 1.47360e+04 9.06400e+03 -535 1.47360e+04 9.50400e+03 -536 1.47360e+04 1.02520e+04 -537 1.47360e+04 1.08900e+04 -538 1.47680e+04 4.92800e+03 -539 1.48800e+04 4.92800e+03 -540 1.49760e+04 4.92800e+03 -541 1.53760e+04 4.92800e+03 -542 1.55360e+04 4.92800e+03 -543 1.56480e+04 4.92800e+03 -544 1.57600e+04 4.92800e+03 -545 1.58400e+04 4.92800e+03 -546 1.59360e+04 4.92800e+03 -547 1.60480e+04 4.92800e+03 -548 1.62080e+04 4.92800e+03 -549 1.64640e+04 4.92800e+03 -550 1.67040e+04 4.92800e+03 -551 1.38080e+04 6.02800e+03 -552 1.38080e+04 6.77600e+03 -553 1.38080e+04 7.78800e+03 -554 1.38080e+04 8.22800e+03 -555 1.38080e+04 9.50400e+03 -556 1.38080e+04 1.03620e+04 -557 1.38080e+04 1.11100e+04 -558 1.40320e+04 4.70800e+03 -559 1.41440e+04 4.70800e+03 -560 1.43200e+04 4.70800e+03 -561 1.44640e+04 4.70800e+03 -562 1.69440e+04 4.70800e+03 -563 3.66400e+03 8.71200e+03 -564 3.72800e+03 9.28400e+03 -565 3.76000e+03 9.70200e+03 -566 3.76000e+03 1.04720e+04 -567 3.76000e+03 1.09120e+04 -568 3.76000e+03 1.14400e+04 -569 3.60000e+03 8.71200e+03 -570 3.60000e+03 9.48200e+03 -571 4.04800e+03 9.81200e+03 -572 4.33600e+03 9.81200e+03 -573 4.57600e+03 9.81200e+03 -574 4.65600e+03 9.81200e+03 -575 4.97600e+03 8.84400e+03 -576 8.97600e+03 8.11800e+03 -577 8.97600e+03 9.39400e+03 -578 8.97600e+03 1.14400e+04 -579 1.01760e+04 6.55600e+03 -580 1.03040e+04 6.55600e+03 -581 1.04480e+04 6.55600e+03 -582 1.05760e+04 6.55600e+03 -583 1.07360e+04 6.55600e+03 -584 1.08320e+04 6.55600e+03 -585 1.08960e+04 6.55600e+03 -586 1.09760e+04 6.55600e+03 -587 1.10880e+04 6.55600e+03 -588 1.11680e+04 6.55600e+03 -589 1.12640e+04 6.55600e+03 -590 1.14240e+04 6.55600e+03 -591 1.15360e+04 6.55600e+03 -592 1.16640e+04 6.55600e+03 -593 1.17280e+04 6.55600e+03 -594 1.17920e+04 6.55600e+03 -595 1.18720e+04 6.55600e+03 -596 1.19680e+04 6.55600e+03 -597 1.21120e+04 6.55600e+03 -598 1.22720e+04 6.55600e+03 -599 1.24480e+04 6.55600e+03 -600 1.26080e+04 6.55600e+03 -601 1.27360e+04 6.55600e+03 -602 1.30080e+04 6.55600e+03 -603 1.30720e+04 1.01200e+03 -604 1.30720e+04 1.98000e+03 -605 1.30720e+04 2.64000e+03 -606 1.30720e+04 3.60800e+03 -607 1.30720e+04 4.26800e+03 -608 1.30720e+04 5.36800e+03 -609 1.31680e+04 5.72000e+02 -610 1.32640e+04 5.72000e+02 -611 1.34080e+04 5.72000e+02 -612 1.35680e+04 5.72000e+02 -613 1.36960e+04 5.72000e+02 -614 1.40160e+04 5.72000e+02 -615 1.41600e+04 5.72000e+02 -616 1.43200e+04 5.72000e+02 -617 1.51200e+04 5.72000e+02 -618 1.53760e+04 5.72000e+02 -619 1.04800e+04 5.72000e+02 -620 1.04800e+04 1.45200e+03 -621 1.04800e+04 6.00600e+03 -622 7.12000e+03 2.50800e+03 -623 7.12000e+03 3.08000e+03 -624 7.12000e+03 3.60800e+03 -625 7.12000e+03 4.66400e+03 -626 7.12000e+03 5.58800e+03 -627 7.12000e+03 6.55600e+03 -628 7.12000e+03 7.74400e+03 -629 7.12000e+03 9.06400e+03 -630 7.12000e+03 9.81200e+03 -631 7.12000e+03 1.03620e+04 -632 7.12000e+03 1.12860e+04 -633 3.72800e+03 8.71200e+03 -634 4.01600e+03 1.04720e+04 -635 4.01600e+03 1.09120e+04 -636 4.01600e+03 1.14400e+04 -637 6.48000e+03 9.06400e+03 -638 6.89600e+03 9.06400e+03 -639 7.24800e+03 2.06800e+03 -640 7.24800e+03 2.50800e+03 -641 7.24800e+03 3.08000e+03 -642 7.24800e+03 3.60800e+03 -643 7.24800e+03 4.66400e+03 -644 7.24800e+03 5.58800e+03 -645 7.24800e+03 6.55600e+03 -646 7.24800e+03 7.48000e+03 -647 3.92000e+03 8.71200e+03 -648 5.05600e+03 9.37200e+03 -649 3.53600e+03 9.37200e+03 -650 3.53600e+03 1.04720e+04 -651 3.53600e+03 1.09120e+04 -652 3.53600e+03 1.14400e+04 -653 8.78400e+03 8.44800e+03 -654 1.03040e+04 8.44800e+03 -655 1.05600e+04 8.44800e+03 -656 1.07040e+04 8.44800e+03 -657 1.07680e+04 8.44800e+03 -658 1.08480e+04 8.44800e+03 -659 1.09760e+04 8.44800e+03 -660 1.11200e+04 8.44800e+03 -661 1.12640e+04 8.44800e+03 -662 1.15520e+04 8.44800e+03 -663 1.17600e+04 8.44800e+03 -664 1.18880e+04 8.44800e+03 -665 1.20800e+04 8.44800e+03 -666 1.22400e+04 8.44800e+03 -667 1.27200e+04 5.72000e+02 -668 1.27200e+04 1.98000e+03 -669 1.27200e+04 3.71800e+03 -670 1.27200e+04 5.36800e+03 -671 1.27200e+04 6.99600e+03 -672 2.80000e+03 7.32600e+03 -673 2.92800e+03 7.70000e+03 -674 2.99200e+03 7.70000e+03 -675 3.10400e+03 7.70000e+03 -676 3.26400e+03 7.70000e+03 -677 4.20800e+03 7.70000e+03 -678 8.11200e+03 2.06800e+03 -679 8.11200e+03 2.50800e+03 -680 8.11200e+03 3.08000e+03 -681 8.11200e+03 3.60800e+03 -682 8.11200e+03 4.26800e+03 -683 8.11200e+03 7.48000e+03 -684 9.58400e+03 2.72800e+03 -685 9.58400e+03 3.38800e+03 -686 9.84000e+03 2.28800e+03 -687 1.14400e+04 2.28800e+03 -688 1.17280e+04 2.28800e+03 -689 1.18240e+04 2.28800e+03 -690 1.19840e+04 2.28800e+03 -691 1.21120e+04 2.28800e+03 -692 1.22560e+04 2.28800e+03 -693 1.23840e+04 2.28800e+03 -694 1.24640e+04 2.28800e+03 -695 1.24960e+04 5.72000e+02 -696 1.24960e+04 1.23200e+03 -697 1.26080e+04 1.01200e+03 -698 5.58400e+03 7.92000e+03 -699 5.68000e+03 7.92000e+03 -700 5.76000e+03 7.92000e+03 -701 6.89600e+03 7.92000e+03 -702 7.56800e+03 7.92000e+03 -703 8.14400e+03 7.92000e+03 -704 8.20800e+03 7.92000e+03 -705 9.13600e+03 7.59000e+03 -706 1.05440e+04 6.11600e+03 -707 1.10880e+04 6.11600e+03 -708 1.11680e+04 6.11600e+03 -709 1.12640e+04 6.11600e+03 -710 1.13120e+04 5.72000e+02 -711 1.13120e+04 1.49600e+03 -712 1.13120e+04 5.25800e+03 -713 1.07680e+04 5.72000e+02 -714 1.07680e+04 1.34200e+03 -715 1.07680e+04 4.48800e+03 -716 1.07680e+04 5.03800e+03 -717 1.07680e+04 5.58800e+03 -718 1.07680e+04 6.99600e+03 -719 1.07680e+04 9.28400e+03 -720 1.07680e+04 9.87800e+03 -721 5.58400e+03 8.84400e+03 -722 5.61600e+03 3.08000e+03 -723 6.16000e+03 3.08000e+03 -724 6.49600e+03 3.08000e+03 -725 6.60800e+03 3.08000e+03 -726 6.73600e+03 3.08000e+03 -727 6.84800e+03 3.08000e+03 -728 6.94400e+03 3.08000e+03 -729 7.79200e+03 3.08000e+03 -730 7.85600e+03 3.08000e+03 -731 7.92000e+03 3.08000e+03 -732 8.38400e+03 3.08000e+03 -733 8.46400e+03 3.08000e+03 -734 8.56000e+03 3.08000e+03 -735 8.68800e+03 3.08000e+03 -736 8.80000e+03 3.08000e+03 -737 8.91200e+03 3.08000e+03 -738 9.00800e+03 3.08000e+03 -739 8.68800e+03 2.28800e+03 -740 8.46400e+03 6.11600e+03 -741 8.52800e+03 2.06800e+03 -742 8.52800e+03 2.50800e+03 -743 8.52800e+03 3.60800e+03 -744 8.46400e+03 2.06800e+03 -745 8.46400e+03 2.50800e+03 -746 8.46400e+03 3.60800e+03 -747 1.74560e+04 5.72000e+02 -748 1.74560e+04 2.99200e+03 -749 1.74560e+04 7.23800e+03 -750 1.17280e+04 2.94800e+03 -751 1.18240e+04 2.94800e+03 -752 1.19840e+04 2.94800e+03 -753 1.21120e+04 2.94800e+03 -754 1.22560e+04 2.94800e+03 -755 1.23840e+04 2.94800e+03 -756 1.24640e+04 2.94800e+03 -757 1.25600e+04 5.72000e+02 -758 1.25600e+04 1.98000e+03 -759 1.25600e+04 2.72800e+03 -760 1.75520e+04 7.23800e+03 -761 1.76320e+04 8.18400e+03 -762 1.77760e+04 8.18400e+03 -763 1.80800e+04 8.18400e+03 -764 1.82560e+04 9.06400e+03 -765 1.04480e+04 1.00320e+04 -766 1.05600e+04 1.00320e+04 -767 1.07040e+04 1.00320e+04 -768 1.08640e+04 1.00320e+04 -769 1.09760e+04 1.00320e+04 -770 1.11360e+04 1.00320e+04 -771 1.17600e+04 1.00320e+04 -772 1.18880e+04 1.00320e+04 -773 1.20320e+04 1.00320e+04 -774 1.21440e+04 1.00320e+04 -775 1.28800e+04 1.00320e+04 -776 1.30080e+04 1.00320e+04 -777 1.31680e+04 1.00320e+04 -778 1.33120e+04 1.00320e+04 -779 1.34720e+04 1.00320e+04 -780 1.35840e+04 1.00320e+04 -781 1.36800e+04 3.60800e+03 -782 1.36800e+04 4.26800e+03 -783 1.36800e+04 6.02800e+03 -784 1.36800e+04 6.77600e+03 -785 1.36800e+04 8.00800e+03 -786 1.36800e+04 9.50400e+03 -787 1.77600e+04 6.90800e+03 -788 1.80480e+04 6.90800e+03 -789 1.81280e+04 7.34800e+03 -790 1.26400e+04 3.38800e+03 -791 1.27840e+04 2.64000e+03 -792 1.27840e+04 3.16800e+03 -793 1.09760e+04 8.00800e+03 -794 1.10880e+04 8.00800e+03 -795 1.12640e+04 8.00800e+03 -796 1.16640e+04 8.00800e+03 -797 1.17280e+04 8.00800e+03 -798 1.17920e+04 8.00800e+03 -799 1.18880e+04 8.00800e+03 -800 1.29120e+04 8.00800e+03 -801 1.30080e+04 8.00800e+03 -802 1.31840e+04 8.00800e+03 -803 1.33280e+04 8.00800e+03 -804 1.34560e+04 8.00800e+03 -805 1.35680e+04 8.00800e+03 -806 8.40000e+03 2.06800e+03 -807 8.40000e+03 2.50800e+03 -808 8.40000e+03 3.60800e+03 -809 9.32800e+03 1.45200e+03 -810 9.52000e+03 1.45200e+03 -811 9.63200e+03 1.45200e+03 -812 9.84000e+03 1.45200e+03 -813 1.01600e+04 1.45200e+03 -814 1.02560e+04 1.45200e+03 -815 1.03360e+04 1.45200e+03 -816 1.05440e+04 1.45200e+03 -817 1.06080e+04 1.45200e+03 -818 1.06720e+04 1.45200e+03 -819 1.08640e+04 1.45200e+03 -820 1.09920e+04 1.45200e+03 -821 1.10880e+04 1.45200e+03 -822 1.11680e+04 1.45200e+03 -823 1.23040e+04 5.72000e+02 -824 1.48640e+04 3.60800e+03 -825 1.48640e+04 4.04800e+03 -826 1.48640e+04 6.13800e+03 -827 1.48640e+04 7.56800e+03 -828 1.48640e+04 8.22800e+03 -829 1.48640e+04 9.06400e+03 -830 1.48640e+04 9.50400e+03 -831 1.48640e+04 1.02520e+04 -832 1.48640e+04 1.08900e+04 -833 7.79200e+03 2.06800e+03 -834 7.79200e+03 2.50800e+03 -835 7.79200e+03 3.60800e+03 -836 7.79200e+03 4.04800e+03 -837 7.79200e+03 4.48800e+03 -838 7.79200e+03 6.44600e+03 -839 1.53760e+04 3.60800e+03 -840 1.53760e+04 4.18000e+03 -841 1.53760e+04 6.13800e+03 -842 1.53760e+04 7.34800e+03 -843 6.86400e+03 2.06800e+03 -844 6.86400e+03 3.60800e+03 -845 6.86400e+03 4.77400e+03 -846 6.92800e+03 5.36800e+03 -847 1.05440e+04 5.36800e+03 -848 1.06720e+04 5.36800e+03 -849 1.07040e+04 9.28400e+03 -850 1.24640e+04 1.10000e+04 -851 1.25920e+04 1.10000e+04 -852 1.27360e+04 1.10000e+04 -853 1.28800e+04 1.10000e+04 -854 1.30080e+04 1.10000e+04 -855 1.31680e+04 1.10000e+04 -856 1.33120e+04 1.10000e+04 -857 1.34560e+04 1.10000e+04 -858 1.35840e+04 1.10000e+04 -859 1.41440e+04 1.10000e+04 -860 1.42240e+04 1.10000e+04 -861 1.43360e+04 1.10000e+04 -862 1.44160e+04 1.10000e+04 -863 1.49920e+04 1.10000e+04 -864 1.54400e+04 1.10000e+04 -865 1.56320e+04 1.10000e+04 -866 1.57600e+04 1.10000e+04 -867 1.58240e+04 1.10000e+04 -868 1.61600e+04 1.10000e+04 -869 1.64640e+04 1.10000e+04 -870 1.59520e+04 5.72000e+02 -871 1.59520e+04 1.45200e+03 -872 1.60480e+04 2.99200e+03 -873 1.62080e+04 2.99200e+03 -874 1.64640e+04 2.99200e+03 -875 1.67040e+04 2.99200e+03 -876 1.70720e+04 2.99200e+03 -877 1.71360e+04 2.99200e+03 -878 1.72960e+04 2.99200e+03 -879 1.56640e+04 5.72000e+02 -880 1.56640e+04 3.60800e+03 -881 1.56640e+04 4.18000e+03 -882 1.56640e+04 7.34800e+03 -883 1.56640e+04 7.78800e+03 -884 1.56640e+04 9.06400e+03 -885 1.56640e+04 9.50400e+03 -886 1.56640e+04 1.02520e+04 -887 1.64320e+04 1.45200e+03 -888 8.14400e+03 9.54800e+03 -889 8.14400e+03 1.14400e+04 -890 9.61600e+03 5.72000e+02 -891 1.21120e+04 5.72000e+02 -892 1.21120e+04 3.93800e+03 -893 1.21120e+04 5.25800e+03 -894 8.30400e+03 9.54800e+03 -895 8.30400e+03 1.14400e+04 -896 1.29120e+04 8.84400e+03 -897 1.30080e+04 8.84400e+03 -898 1.31840e+04 8.84400e+03 -899 1.33280e+04 8.84400e+03 -900 1.34560e+04 8.84400e+03 -901 1.35520e+04 3.60800e+03 -902 1.35520e+04 4.37800e+03 -903 1.35520e+04 5.36800e+03 -904 1.35520e+04 6.02800e+03 -905 1.35520e+04 6.77600e+03 -906 1.19200e+04 6.99600e+03 -907 1.19200e+04 9.28400e+03 -908 1.19520e+04 5.72000e+02 -909 1.19520e+04 3.93800e+03 -910 1.19520e+04 5.25800e+03 -911 1.03200e+04 5.72000e+02 -912 1.04480e+04 1.14400e+04 -913 1.18240e+04 5.72000e+02 -914 1.18240e+04 3.93800e+03 -915 1.18240e+04 5.25800e+03 -916 1.26560e+04 5.36800e+03 -917 5.00800e+03 1.06920e+04 -918 5.00800e+03 1.11320e+04 -919 1.31680e+04 1.98000e+03 -920 1.31680e+04 2.64000e+03 -921 1.31680e+04 3.60800e+03 -922 1.31680e+04 4.37800e+03 -923 1.31680e+04 5.47800e+03 -924 1.32320e+04 6.02800e+03 -925 1.33760e+04 6.02800e+03 -926 1.34880e+04 6.02800e+03 -927 1.40320e+04 6.02800e+03 -928 1.41440e+04 6.02800e+03 -929 1.42240e+04 6.02800e+03 -930 1.43200e+04 6.02800e+03 -931 1.44640e+04 6.02800e+03 -932 1.49760e+04 6.02800e+03 -933 1.67040e+04 6.02800e+03 -934 3.28000e+03 1.09120e+04 -935 3.28000e+03 1.14400e+04 -936 6.73600e+03 3.08000e+02 -937 6.73600e+03 2.06800e+03 -938 6.73600e+03 3.60800e+03 -939 6.73600e+03 4.77400e+03 -940 6.73600e+03 5.69800e+03 -941 6.73600e+03 6.33600e+03 -942 8.78400e+03 1.14400e+04 -943 1.02880e+04 1.14400e+04 -944 1.05120e+04 1.14400e+04 -945 1.17920e+04 6.99600e+03 -946 8.72000e+03 4.15800e+03 -947 6.80000e+03 5.80800e+03 -948 6.80000e+03 6.33600e+03 -949 6.91200e+03 6.55600e+03 -950 7.85600e+03 6.55600e+03 -951 8.89600e+03 6.55600e+03 -952 8.94400e+03 2.28800e+03 -953 8.94400e+03 3.60800e+03 -954 7.56800e+03 9.50400e+03 -955 7.85600e+03 9.50400e+03 -956 8.78400e+03 9.50400e+03 -957 1.41440e+04 8.22800e+03 -958 1.42240e+04 8.22800e+03 -959 1.43360e+04 8.22800e+03 -960 1.44160e+04 8.22800e+03 -961 1.44800e+04 8.22800e+03 -962 1.54400e+04 8.22800e+03 -963 1.55040e+04 8.22800e+03 -964 1.55360e+04 3.60800e+03 -965 1.55360e+04 4.18000e+03 -966 1.55360e+04 7.34800e+03 -967 1.55680e+04 5.72000e+02 -968 1.57600e+04 5.72000e+02 -969 1.58400e+04 5.72000e+02 -970 1.60480e+04 5.72000e+02 -971 1.62080e+04 5.72000e+02 -972 1.67040e+04 5.72000e+02 -973 1.71040e+04 5.72000e+02 -974 1.72960e+04 5.72000e+02 -975 1.80000e+04 5.72000e+02 -976 1.80800e+04 5.72000e+02 -977 1.17280e+04 5.72000e+02 -978 1.17280e+04 3.93800e+03 -979 1.17280e+04 5.25800e+03 -980 1.17280e+04 6.99600e+03 -981 1.17600e+04 9.28400e+03 -982 1.22720e+04 3.93800e+03 -983 1.22720e+04 5.25800e+03 -984 1.05120e+04 9.28400e+03 -985 7.85600e+03 4.04800e+03 -986 7.92000e+03 4.04800e+03 -987 8.78400e+03 2.28800e+03 -988 8.78400e+03 3.60800e+03 -989 8.78400e+03 4.26800e+03 -990 7.92000e+03 2.06800e+03 -991 7.92000e+03 2.50800e+03 -992 7.92000e+03 3.60800e+03 -993 7.92000e+03 4.48800e+03 -994 8.88000e+03 4.26800e+03 -995 1.05440e+04 5.72000e+02 -996 1.05440e+04 6.99600e+03 -997 1.06080e+04 4.48800e+03 -998 9.00800e+03 2.28800e+03 -999 9.31200e+03 2.28800e+03 -1000 1.14400e+04 5.72000e+02 -1001 1.14400e+04 5.25800e+03 -1002 1.14400e+04 6.99600e+03 -1003 1.15360e+04 6.99600e+03 -1004 1.58240e+04 7.34800e+03 -1005 1.58240e+04 7.78800e+03 -1006 1.58240e+04 9.06400e+03 -1007 1.58240e+04 9.50400e+03 -1008 1.58240e+04 1.02520e+04 -1009 6.60800e+03 2.06800e+03 -1010 6.60800e+03 3.60800e+03 -1011 6.60800e+03 4.66400e+03 -1012 6.89600e+03 5.80800e+03 -1013 1.12000e+02 1.11980e+04 -1014 1.06720e+04 4.48800e+03 -1015 1.08320e+04 4.48800e+03 -1016 1.08640e+04 5.72000e+02 -1017 1.08640e+04 5.03800e+03 -1018 1.10880e+04 6.99600e+03 -1019 9.52000e+03 5.72000e+02 -1020 9.52000e+03 2.06800e+03 -1021 1.22400e+04 6.99600e+03 -1022 3.28000e+03 8.71200e+03 -1023 3.28000e+03 9.15200e+03 -1024 3.63200e+03 1.04720e+04 -1025 3.63200e+03 1.09120e+04 -1026 3.63200e+03 1.14400e+04 -1027 1.15680e+04 9.28400e+03 -1028 1.41280e+04 1.04720e+04 -1029 1.41600e+04 1.34200e+03 -1030 1.41600e+04 3.60800e+03 -1031 1.41600e+04 4.04800e+03 -1032 1.41600e+04 6.77600e+03 -1033 1.41600e+04 7.67800e+03 -1034 1.41600e+04 9.50400e+03 -1035 4.08000e+03 1.04720e+04 -1036 4.33600e+03 1.04720e+04 -1037 4.57600e+03 1.04720e+04 -1038 4.97600e+03 1.00320e+04 -1039 5.28000e+02 7.37000e+03 -1040 1.60160e+04 1.45200e+03 -1041 1.60160e+04 7.34800e+03 -1042 1.60160e+04 9.06400e+03 -1043 1.60160e+04 9.50400e+03 -1044 1.61600e+04 9.92200e+03 -1045 1.64640e+04 9.92200e+03 -1046 1.66400e+04 9.92200e+03 -1047 1.67200e+04 9.92200e+03 -1048 1.70880e+04 9.92200e+03 -1049 1.74400e+03 1.09120e+04 -1050 2.11200e+03 1.09120e+04 -1051 2.36800e+03 1.09120e+04 -1052 2.54400e+03 1.09120e+04 -1053 2.94400e+03 1.09120e+04 -1054 3.05600e+03 8.71200e+03 -1055 3.05600e+03 9.15200e+03 -1056 3.08800e+03 1.09120e+04 -1057 4.08000e+03 1.09120e+04 -1058 4.33600e+03 1.09120e+04 -1059 4.43200e+03 1.09120e+04 -1060 1.34560e+04 9.50400e+03 -1061 1.42240e+04 7.78800e+03 -1062 1.43360e+04 7.78800e+03 -1063 1.44160e+04 7.78800e+03 -1064 1.44480e+04 1.34200e+03 -1065 1.44480e+04 3.60800e+03 -1066 1.44480e+04 4.04800e+03 -1067 1.28000e+03 8.40400e+03 -1068 1.74400e+03 8.40400e+03 -1069 1.90400e+03 8.40400e+03 -1070 2.16000e+03 8.40400e+03 -1071 2.22400e+03 8.40400e+03 -1072 2.36800e+03 8.40400e+03 -1073 2.54400e+03 8.40400e+03 -1074 2.70400e+03 7.54600e+03 -1075 1.40320e+04 1.34200e+03 -1076 1.40320e+04 3.60800e+03 -1077 1.40320e+04 6.77600e+03 -1078 1.49760e+04 7.56800e+03 -1079 1.43200e+04 4.04800e+03 -1080 1.47680e+04 4.04800e+03 -1081 1.33920e+04 1.98000e+03 -1082 1.33920e+04 3.60800e+03 -1083 1.33920e+04 4.37800e+03 -1084 1.33920e+04 5.36800e+03 -1085 1.66880e+04 1.45200e+03 -1086 1.33600e+04 6.77600e+03 -1087 1.62080e+04 1.45200e+03 -1088 1.62080e+04 7.34800e+03 -1089 1.50400e+03 6.33600e+03 -1090 2.06400e+03 6.33600e+03 -1091 2.16000e+03 6.33600e+03 -1092 2.22400e+03 6.33600e+03 -1093 2.38400e+03 6.33600e+03 -1094 2.54400e+03 6.33600e+03 -1095 4.56000e+03 7.37000e+03 -1096 4.30400e+03 7.26000e+03 -1097 4.38400e+03 7.26000e+03 -1098 4.46400e+03 7.26000e+03 -1099 4.81600e+03 7.26000e+03 -1100 4.88000e+03 7.26000e+03 -1101 1.43520e+04 1.34200e+03 -1102 1.43520e+04 3.60800e+03 -1103 1.43520e+04 9.50400e+03 -1104 1.43520e+04 1.02520e+04 -1105 5.74400e+03 8.84400e+03 -1106 4.33600e+03 1.14400e+04 -1107 6.16000e+03 3.60800e+03 -1108 6.16000e+03 4.66400e+03 -1109 6.16000e+03 1.11320e+04 -1110 6.51200e+03 3.60800e+03 -1111 6.51200e+03 4.66400e+03 -1112 6.92800e+03 2.06800e+03 -1113 6.92800e+03 3.60800e+03 -1114 6.92800e+03 4.66400e+03 -1115 1.12800e+04 6.99600e+03 -1116 1.25920e+04 6.99600e+03 -1117 1.34880e+04 3.60800e+03 -1118 1.47680e+04 3.60800e+03 -1119 1.49600e+04 3.60800e+03 -1120 1.57600e+04 3.60800e+03 -1121 1.58400e+04 3.60800e+03 -1122 1.59200e+04 7.34800e+03 -1123 1.23680e+04 5.72000e+02 -1124 1.23680e+04 1.23200e+03 -1125 1.23680e+04 3.93800e+03 -1126 1.23680e+04 5.25800e+03 -1127 1.16640e+04 6.99600e+03 -1128 1.77760e+04 2.68400e+03 -1129 1.24640e+04 3.93800e+03 -1130 1.34880e+04 4.26800e+03 -1131 1.32320e+04 6.66600e+03 -1132 1.01920e+04 5.72000e+02 -1133 9.44000e+02 7.37000e+03 -1134 1.08480e+04 9.28400e+03 -1135 1.70880e+04 9.28400e+03 -1136 1.73440e+04 9.28400e+03 -1137 4.59200e+03 4.84000e+03 -1138 4.59200e+03 6.02800e+03 -1139 1.10240e+04 5.72000e+02 -1140 1.10240e+04 5.03800e+03 -1141 2.38400e+03 7.43600e+03 -1142 2.38400e+03 9.15200e+03 -1143 2.38400e+03 1.14400e+04 -1144 2.92800e+03 8.71200e+03 -1145 2.92800e+03 9.15200e+03 -1146 2.92800e+03 1.14400e+04 -1147 2.54400e+03 7.54600e+03 -1148 2.54400e+03 9.15200e+03 -1149 2.54400e+03 1.14400e+04 -1150 9.64800e+03 7.48000e+03 -1151 2.04800e+03 7.17200e+03 -1152 2.16000e+03 7.17200e+03 -1153 2.22400e+03 7.17200e+03 -1154 3.44000e+03 7.17200e+03 -1155 1.74400e+03 9.04200e+03 -1156 1.74400e+03 1.14400e+04 -1157 2.09600e+03 9.15200e+03 -1158 2.09600e+03 1.14400e+04 -1159 3.05600e+03 1.14400e+04 -1160 1.09600e+04 6.99600e+03 -1161 2.99200e+03 8.71200e+03 -1162 2.99200e+03 9.15200e+03 -1163 1.08960e+04 6.99600e+03 -1164 4.08000e+03 1.14400e+04 -1165 1.61440e+04 9.06400e+03 -1166 1.61440e+04 9.50400e+03 -1167 1.42240e+04 6.77600e+03 -1168 1.42240e+04 9.50400e+03 -1169 1.42240e+04 1.02520e+04 -1170 1.71040e+04 8.62400e+03 -1171 1.71360e+04 7.34800e+03 -1172 1.54400e+04 9.06400e+03 -1173 1.54400e+04 9.50400e+03 -1174 1.54400e+04 1.02520e+04 -1175 1.57600e+04 7.78800e+03 -1176 1.58560e+04 1.45200e+03 -1177 4.20800e+03 4.84000e+03 -1178 1.83200e+04 7.34800e+03 -1179 1.57600e+04 4.18000e+03 -1180 9.71200e+03 7.48000e+03 -1181 1.70720e+04 1.45200e+03 -1182 1.70720e+04 7.34800e+03 -1183 1.64640e+04 9.50400e+03 -1184 7.85600e+03 2.06800e+03 -1185 7.85600e+03 2.50800e+03 -1186 7.85600e+03 3.60800e+03 -1187 7.85600e+03 4.48800e+03 -1188 1.67200e+04 7.34800e+03 -1189 1.55040e+04 9.06400e+03 -1190 4.36800e+03 4.84000e+03 -1191 6.00000e+03 1.11320e+04 -1192 6.06400e+03 1.11320e+04 -1193 4.68800e+03 5.80800e+03 -1194 4.81600e+03 5.80800e+03 -1195 4.88000e+03 5.80800e+03 -1196 9.00800e+03 3.60800e+03 -1197 1.57600e+04 9.06400e+03 -1198 1.74240e+04 9.06400e+03 -1199 1.85120e+04 8.29400e+03 -1200 4.88000e+03 4.66400e+03 -1201 4.88000e+03 5.36800e+03 -1202 4.88000e+03 6.77600e+03 -1203 4.68800e+03 4.48800e+03 -1204 4.75200e+03 4.48800e+03 -1205 4.81600e+03 4.48800e+03 -1206 1.86080e+04 8.86600e+03 -1207 1.44160e+04 9.50400e+03 -1208 1.44160e+04 1.02520e+04 -1209 1.57600e+04 7.34800e+03 -1210 1.82240e+04 7.34800e+03 -1211 1.34240e+04 6.77600e+03 -1212 1.87040e+04 8.86600e+03 -1213 1.10880e+04 4.92800e+03 -1214 1.11680e+04 4.92800e+03 -1215 1.24640e+04 5.36800e+03 -1216 1.57600e+04 1.45200e+03 -1217 1.57600e+04 9.50400e+03 -1218 1.57600e+04 1.02520e+04 -1219 4.32000e+02 7.48000e+03 -1220 1.11680e+04 6.99600e+03 -1221 1.34880e+04 6.77600e+03 -1222 1.35840e+04 9.50400e+03 -1223 1.34880e+04 5.36800e+03 -1224 1.11840e+04 5.72000e+02 -1225 4.46400e+03 4.84000e+03 -1226 4.52800e+03 4.84000e+03 -1227 4.81600e+03 5.36800e+03 -1228 4.81600e+03 6.77600e+03 -1229 1.10880e+04 5.72000e+02 -1230 1.06720e+04 5.72000e+02 -1231 1.02560e+04 5.72000e+02 -1232 9.84000e+03 5.72000e+02 -1233 1.81920e+04 1.06700e+04 -1234 1.83790e+04 8.62400e+03 -1235 1.84160e+04 3.61900e+03 -1236 1.84160e+04 7.76600e+03 -1237 1.20000e+03 3.57500e+03 -1238 1.20000e+03 9.65800e+03 -1239 1.79040e+04 2.31000e+02 -1240 1.79040e+04 1.62800e+03 -1241 1.79040e+04 4.79600e+03 -1242 1.79040e+04 7.76600e+03 -1243 1.79040e+04 9.43800e+03 -1244 1.79400e+04 9.57000e+03 -1245 1.82240e+04 1.06700e+04 -1246 8.27200e+03 1.18800e+03 -1247 8.27200e+03 7.02900e+03 -1248 8.41600e+03 7.26000e+03 -1249 8.49600e+03 8.86600e+03 -1250 1.58880e+04 8.50300e+03 -1251 1.58880e+04 9.87800e+03 -1252 1.58880e+04 1.06260e+04 -1253 1.58880e+04 1.14290e+04 -1254 1.59840e+04 8.18400e+03 -1255 1.61280e+04 8.18400e+03 -1256 1.62990e+04 8.18400e+03 -1257 1.63360e+04 2.22200e+03 -1258 1.63360e+04 3.85000e+03 -1259 1.63360e+04 5.36800e+03 -1260 1.63360e+04 6.79800e+03 -1261 1.63360e+04 7.88700e+03 -1262 1.04000e+03 3.57500e+03 -1263 1.04000e+03 9.65800e+03 -1264 4.43200e+03 2.20000e+02 -1265 4.49600e+03 3.08000e+02 -1266 4.78400e+03 3.08000e+02 -1267 4.84800e+03 3.08000e+02 -1268 5.04000e+03 3.08000e+02 -1269 5.29600e+03 3.08000e+02 -1270 5.58400e+03 3.08000e+02 -1271 5.64800e+03 3.08000e+02 -1272 5.80800e+03 2.20000e+02 -1273 5.80800e+03 2.02400e+03 -1274 5.80800e+03 4.04800e+03 -1275 5.93600e+03 8.38200e+03 -1276 5.93600e+03 1.08020e+04 -1277 1.68480e+04 1.01200e+03 -1278 1.68480e+04 2.22200e+03 -1279 1.68480e+04 3.85000e+03 -1280 1.68480e+04 5.36800e+03 -1281 1.68480e+04 6.68800e+03 -1282 1.68480e+04 7.87600e+03 -1283 1.68480e+04 1.05600e+04 -1284 1.68480e+04 1.15280e+04 -1285 8.24000e+03 1.18800e+03 -1286 8.24000e+03 7.01800e+03 -1287 8.26000e+03 7.70000e+03 -1288 8.40000e+03 8.75600e+03 -1289 1.52000e+03 1.00320e+04 -1290 1.55200e+03 8.93200e+03 -1291 1.58400e+03 3.11300e+03 -1292 1.58400e+03 7.01800e+03 -1293 1.58400e+03 8.78900e+03 -1294 5.13600e+03 1.15280e+04 -1295 5.20000e+03 1.14400e+04 -1296 5.36000e+03 1.14400e+04 -1297 5.55200e+03 1.15280e+04 -1298 5.61600e+03 1.14400e+04 -1299 5.80800e+03 1.14400e+04 -1300 5.96800e+03 1.15280e+04 -1301 2.67200e+03 3.11300e+03 -1302 2.73600e+03 6.55600e+03 -1303 2.88000e+03 6.55600e+03 -1304 3.02400e+03 6.55600e+03 -1305 3.20000e+03 6.55600e+03 -1306 3.31200e+03 6.55600e+03 -1307 3.40800e+03 6.55600e+03 -1308 3.80800e+03 6.55600e+03 -1309 3.88800e+03 6.55600e+03 -1310 3.95200e+03 6.55600e+03 -1311 4.09600e+03 6.55600e+03 -1312 4.17600e+03 6.55600e+03 -1313 4.25600e+03 6.55600e+03 -1314 4.43200e+03 6.55600e+03 -1315 4.49600e+03 6.55600e+03 -1316 4.64000e+03 6.55600e+03 -1317 4.72000e+03 7.59000e+03 -1318 4.72000e+03 8.86600e+03 -1319 4.72000e+03 1.14950e+04 -1320 1.70080e+04 1.01200e+03 -1321 1.70080e+04 2.22200e+03 -1322 1.70080e+04 4.35600e+03 -1323 1.70080e+04 6.68800e+03 -1324 1.70080e+04 7.84300e+03 -1325 1.70280e+04 8.09600e+03 -1326 1.71040e+04 8.09600e+03 -1327 1.71680e+04 8.09600e+03 -1328 1.74080e+04 8.09600e+03 -1329 1.74990e+04 8.09600e+03 -1330 1.75200e+04 9.60300e+03 -1331 1.75200e+04 1.06700e+04 -1332 8.80000e+02 3.57500e+03 -1333 8.80000e+02 9.92200e+03 -1334 4.14400e+03 2.36500e+03 -1335 4.14400e+03 5.43400e+03 -1336 4.14400e+03 6.90800e+03 -1337 4.27200e+03 8.36000e+03 -1338 4.33600e+03 8.36000e+03 -1339 4.51200e+03 8.36000e+03 -1340 4.62400e+03 8.36000e+03 -1341 4.68800e+03 8.36000e+03 -1342 4.78400e+03 8.36000e+03 -1343 4.94400e+03 8.36000e+03 -1344 5.13600e+03 8.36000e+03 -1345 5.48800e+03 7.30400e+03 -1346 5.45600e+03 8.48100e+03 -1347 5.45600e+03 1.06920e+04 -1348 5.52000e+03 2.17800e+03 -1349 5.52000e+03 4.04800e+03 -1350 5.52000e+03 6.40200e+03 -1351 1.65600e+04 1.08900e+04 -1352 1.65760e+04 8.18400e+03 -1353 1.65920e+04 1.01200e+03 -1354 1.65920e+04 2.22200e+03 -1355 1.65920e+04 3.85000e+03 -1356 1.65920e+04 5.47800e+03 -1357 1.65920e+04 6.79800e+03 -1358 1.65920e+04 7.88700e+03 -1359 7.72800e+03 8.75600e+03 -1360 7.74800e+03 7.04000e+03 -1361 7.82400e+03 7.04000e+03 -1362 7.88800e+03 7.04000e+03 -1363 8.01600e+03 1.18800e+03 -1364 8.01600e+03 4.81800e+03 -1365 8.01600e+03 6.91900e+03 -1366 1.62720e+04 1.04610e+04 -1367 1.62720e+04 1.14290e+04 -1368 1.64320e+04 8.84400e+03 -1369 1.65920e+04 8.84400e+03 -1370 1.66880e+04 8.84400e+03 -1371 1.67630e+04 8.84400e+03 -1372 1.67840e+04 1.01200e+03 -1373 1.67840e+04 2.22200e+03 -1374 1.67840e+04 3.85000e+03 -1375 1.67840e+04 5.47800e+03 -1376 1.67840e+04 6.68800e+03 -1377 1.67840e+04 7.87600e+03 -1378 4.64000e+02 9.69100e+03 -1379 4.84000e+02 8.18400e+03 -1380 5.60000e+02 8.18400e+03 -1381 7.47000e+02 8.18400e+03 -1382 7.84000e+02 3.57500e+03 -1383 7.66400e+03 6.90800e+03 -1384 7.66400e+03 8.75600e+03 -1385 7.72800e+03 1.18800e+03 -1386 7.72800e+03 4.81800e+03 -1387 5.23200e+03 2.17800e+03 -1388 5.23200e+03 4.04800e+03 -1389 5.23200e+03 6.40200e+03 -1390 5.23200e+03 7.31500e+03 -1391 5.49900e+03 7.61200e+03 -1392 5.52000e+03 8.38200e+03 -1393 5.52000e+03 1.06920e+04 -1394 3.85600e+03 2.95900e+03 -1395 3.85600e+03 6.90800e+03 -1396 3.87600e+03 7.92000e+03 -1397 3.95200e+03 7.92000e+03 -1398 4.09600e+03 7.92000e+03 -1399 4.78400e+03 7.48000e+02 -1400 4.84800e+03 7.48000e+02 -1401 5.04000e+03 7.48000e+02 -1402 5.29600e+03 7.48000e+02 -1403 5.58400e+03 7.48000e+02 -1404 5.64800e+03 7.48000e+02 -1405 5.87200e+03 7.48000e+02 -1406 6.09600e+03 2.64000e+02 -1407 6.09600e+03 2.02400e+03 -1408 6.09600e+03 4.04800e+03 -1409 6.09600e+03 5.22500e+03 -1410 6.11600e+03 5.36800e+03 -1411 6.19200e+03 5.36800e+03 -1412 6.25600e+03 5.36800e+03 -1413 6.41600e+03 5.36800e+03 -1414 6.57100e+03 5.36800e+03 -1415 6.09600e+03 5.94000e+02 -1416 6.60800e+03 8.64600e+03 -1417 6.60800e+03 9.43800e+03 -1418 6.60800e+03 1.14950e+04 -1419 1.72000e+04 5.33500e+03 -1420 1.72000e+04 6.68800e+03 -1421 1.72000e+04 7.72200e+03 -1422 1.72000e+04 1.05600e+04 -1423 1.72000e+04 1.15280e+04 -1424 1.73920e+04 5.19200e+03 -1425 1.75040e+04 5.19200e+03 -1426 1.76160e+04 2.31000e+02 -1427 1.76160e+04 1.78200e+03 -1428 1.76160e+04 4.21300e+03 -1429 7.24800e+03 1.08020e+04 -1430 7.37600e+03 6.38000e+02 -1431 7.37600e+03 1.51800e+03 -1432 7.37600e+03 4.04800e+03 -1433 7.37600e+03 4.92800e+03 -1434 7.37600e+03 8.75600e+03 -1435 1.80800e+03 3.11300e+03 -1436 1.82400e+03 6.86400e+03 -1437 1.84000e+03 8.05200e+03 -1438 1.84000e+03 1.00320e+04 -1439 1.22720e+04 1.11650e+04 -1440 1.23840e+04 9.06400e+03 -1441 1.25280e+04 9.06400e+03 -1442 1.26560e+04 9.06400e+03 -1443 1.28270e+04 9.06400e+03 -1444 1.28480e+04 1.60600e+03 -1445 1.28480e+04 2.31000e+03 -1446 1.28480e+04 4.70800e+03 -1447 1.28480e+04 6.07200e+03 -1448 1.28480e+04 7.39200e+03 -1449 1.28480e+04 8.53600e+03 -1450 1.64800e+03 8.77800e+03 -1451 1.64800e+03 1.00320e+04 -1452 1.66400e+03 8.18400e+03 -1453 1.68000e+03 3.11300e+03 -1454 1.68000e+03 7.01800e+03 -1455 1.68000e+03 8.06300e+03 -1456 4.78400e+03 5.28000e+02 -1457 4.84800e+03 5.28000e+02 -1458 5.04000e+03 5.28000e+02 -1459 5.29600e+03 5.28000e+02 -1460 5.58400e+03 5.28000e+02 -1461 5.64800e+03 5.28000e+02 -1462 5.87200e+03 5.28000e+02 -1463 5.93600e+03 3.30000e+02 -1464 5.93600e+03 2.02400e+03 -1465 5.93600e+03 4.04800e+03 -1466 5.93600e+03 5.32400e+03 -1467 6.09600e+03 6.55600e+03 -1468 6.19200e+03 6.55600e+03 -1469 6.25600e+03 8.38200e+03 -1470 6.25600e+03 1.14950e+04 -1471 1.69760e+04 6.68800e+03 -1472 1.69760e+04 7.87600e+03 -1473 1.69760e+04 1.05600e+04 -1474 1.69760e+04 1.15280e+04 -1475 1.70400e+04 5.72000e+03 -1476 1.71040e+04 5.72000e+03 -1477 1.71680e+04 5.72000e+03 -1478 1.73920e+04 5.72000e+03 -1479 1.75040e+04 5.72000e+03 -1480 1.76800e+04 2.31000e+02 -1481 1.76800e+04 1.78200e+03 -1482 1.76800e+04 4.24600e+03 -1483 1.16000e+04 2.31000e+02 -1484 1.16000e+04 9.02000e+02 -1485 1.16000e+04 4.48800e+03 -1486 1.16000e+04 6.07200e+03 -1487 1.16000e+04 7.39200e+03 -1488 1.16160e+04 8.22800e+03 -1489 1.16320e+04 1.12750e+04 -1490 1.72640e+04 1.05490e+04 -1491 1.72640e+04 1.15280e+04 -1492 1.72840e+04 1.01420e+04 -1493 1.74720e+04 1.01420e+04 -1494 1.75520e+04 1.01420e+04 -1495 1.79200e+04 1.01420e+04 -1496 1.83680e+04 1.01420e+04 -1497 1.85120e+04 1.01420e+04 -1498 1.86560e+04 1.01420e+04 -1499 1.87840e+04 1.01420e+04 -1500 1.89280e+04 1.01420e+04 -1501 1.90240e+04 1.01420e+04 -1502 6.22400e+03 4.29000e+02 -1503 6.22400e+03 2.02400e+03 -1504 6.22400e+03 4.04800e+03 -1505 6.22400e+03 8.38200e+03 -1506 6.22400e+03 1.08130e+04 -1507 6.35200e+03 1.09120e+04 -1508 6.46400e+03 1.09120e+04 -1509 6.67200e+03 1.09120e+04 -1510 6.84300e+03 1.09120e+04 -1511 1.93600e+03 3.11300e+03 -1512 1.93600e+03 6.75400e+03 -1513 1.93600e+03 8.06300e+03 -1514 1.95200e+03 8.18400e+03 -1515 1.96800e+03 8.77800e+03 -1516 1.96800e+03 1.00320e+04 -1517 8.16000e+02 3.57500e+03 -1518 8.16000e+02 9.92200e+03 -1519 3.98400e+03 2.95900e+03 -1520 3.98400e+03 6.90800e+03 -1521 4.12800e+03 8.93200e+03 -1522 4.27200e+03 8.93200e+03 -1523 4.33600e+03 8.93200e+03 -1524 4.49600e+03 9.03100e+03 -1525 4.49600e+03 1.14950e+04 -1526 1.54400e+04 5.83000e+02 -1527 1.54400e+04 2.53000e+03 -1528 1.54400e+04 5.48900e+03 -1529 1.54600e+04 5.80800e+03 -1530 1.56000e+04 5.80800e+03 -1531 1.57120e+04 5.80800e+03 -1532 1.57920e+04 5.80800e+03 -1533 1.58880e+04 5.80800e+03 -1534 1.59840e+04 5.80800e+03 -1535 1.61280e+04 5.80800e+03 -1536 1.62880e+04 5.80800e+03 -1537 1.64000e+04 6.79800e+03 -1538 1.64000e+04 7.87600e+03 -1539 1.64000e+04 1.04610e+04 -1540 1.64000e+04 1.14290e+04 -1541 5.36000e+03 2.17800e+03 -1542 5.36000e+03 4.04800e+03 -1543 5.36000e+03 7.19400e+03 -1544 5.55200e+03 1.02520e+04 -1545 5.63200e+03 1.02520e+04 -1546 5.80800e+03 1.02520e+04 -1547 5.96800e+03 1.02520e+04 -1548 6.03200e+03 1.02520e+04 -1549 6.11200e+03 1.02520e+04 -1550 6.19200e+03 1.02520e+04 -1551 6.30400e+03 8.53600e+03 -1552 6.28800e+03 1.14950e+04 -1553 6.32000e+03 4.29000e+02 -1554 6.32000e+03 2.02400e+03 -1555 6.32000e+03 4.04800e+03 -1556 1.16800e+03 9.65800e+03 -1557 1.23200e+03 3.57500e+03 -1558 1.23200e+03 7.84300e+03 -1559 6.35200e+03 4.29000e+02 -1560 6.35200e+03 2.02400e+03 -1561 6.35200e+03 4.04800e+03 -1562 6.35200e+03 8.65700e+03 -1563 6.36800e+03 8.84400e+03 -1564 6.38400e+03 1.14950e+04 -1565 1.66880e+04 1.14070e+04 -1566 1.67840e+04 1.11980e+04 -1567 1.69120e+04 1.11980e+04 -1568 1.70400e+04 1.11980e+04 -1569 1.71360e+04 1.11980e+04 -1570 1.72960e+04 1.11980e+04 -1571 1.74720e+04 1.11980e+04 -1572 1.75520e+04 1.11980e+04 -1573 1.79200e+04 1.11980e+04 -1574 1.83680e+04 1.11980e+04 -1575 1.85120e+04 1.11980e+04 -1576 1.86560e+04 1.11980e+04 -1577 1.87680e+04 1.11980e+04 -1578 1.89280e+04 1.11980e+04 -1579 1.52800e+04 2.53000e+03 -1580 1.52800e+04 5.47800e+03 -1581 1.52800e+04 6.79800e+03 -1582 1.52800e+04 7.78800e+03 -1583 1.52800e+04 8.64600e+03 -1584 1.52800e+04 9.87800e+03 -1585 1.52800e+04 1.06260e+04 -1586 1.52800e+04 1.14290e+04 -1587 3.47200e+03 1.00320e+04 -1588 3.48800e+03 7.48000e+03 -1589 3.50400e+03 3.11300e+03 -1590 3.50400e+03 7.13900e+03 -1591 2.08000e+02 9.58100e+03 -1592 3.08000e+02 7.96400e+03 -1593 4.80000e+02 7.96400e+03 -1594 5.60000e+02 7.96400e+03 -1595 7.36000e+02 7.96400e+03 -1596 8.48000e+02 7.96400e+03 -1597 9.12000e+02 7.96400e+03 -1598 9.76000e+02 7.96400e+03 -1599 1.08300e+03 7.96400e+03 -1600 1.10400e+03 3.57500e+03 -1601 1.10400e+03 7.84300e+03 -1602 1.39200e+03 2.90400e+03 -1603 1.39200e+03 5.85200e+03 -1604 1.40800e+03 6.02800e+03 -1605 1.42400e+03 8.77800e+03 -1606 1.42400e+03 1.00320e+04 -1607 1.02240e+04 3.60800e+03 -1608 1.02880e+04 3.60800e+03 -1609 1.03840e+04 3.60800e+03 -1610 1.05120e+04 3.60800e+03 -1611 1.05760e+04 3.60800e+03 -1612 1.06400e+04 3.60800e+03 -1613 1.07040e+04 3.60800e+03 -1614 1.08000e+04 3.60800e+03 -1615 1.09280e+04 3.60800e+03 -1616 1.10560e+04 3.60800e+03 -1617 1.11200e+04 3.60800e+03 -1618 1.12160e+04 3.60800e+03 -1619 1.13440e+04 3.60800e+03 -1620 1.14880e+04 3.60800e+03 -1621 1.16640e+04 9.02000e+02 -1622 6.88000e+02 3.57500e+03 -1623 6.88000e+02 9.92200e+03 -1624 5.87200e+03 9.68000e+02 -1625 6.12800e+03 9.68000e+02 -1626 6.19200e+03 9.68000e+02 -1627 6.25600e+03 9.68000e+02 -1628 6.41600e+03 9.68000e+02 -1629 6.54400e+03 9.68000e+02 -1630 6.67200e+03 9.68000e+02 -1631 6.78400e+03 9.68000e+02 -1632 6.89600e+03 9.68000e+02 -1633 7.00800e+03 9.68000e+02 -1634 7.18400e+03 9.68000e+02 -1635 7.31200e+03 9.68000e+02 -1636 7.50400e+03 9.68000e+02 -1637 7.60000e+03 7.59000e+02 -1638 7.60000e+03 1.39700e+03 -1639 7.60000e+03 4.93900e+03 -1640 7.66400e+03 5.14800e+03 -1641 7.76000e+03 5.14800e+03 -1642 7.82400e+03 5.14800e+03 -1643 7.88800e+03 5.14800e+03 -1644 7.95200e+03 5.14800e+03 -1645 8.04800e+03 5.14800e+03 -1646 8.17600e+03 5.14800e+03 -1647 8.33600e+03 5.14800e+03 -1648 8.43200e+03 5.14800e+03 -1649 8.49600e+03 5.14800e+03 -1650 8.75200e+03 5.14800e+03 -1651 8.84800e+03 5.14800e+03 -1652 8.99200e+03 5.14800e+03 -1653 9.44000e+03 5.14800e+03 -1654 9.55200e+03 5.14800e+03 -1655 9.68000e+03 5.14800e+03 -1656 9.82400e+03 5.14800e+03 -1657 1.00110e+04 5.14800e+03 -1658 1.00320e+04 2.31000e+02 -1659 1.00320e+04 1.01200e+03 -1660 1.00320e+04 1.76000e+03 -1661 5.48800e+03 2.17800e+03 -1662 5.48800e+03 4.04800e+03 -1663 5.48800e+03 6.40200e+03 -1664 5.64800e+03 7.08400e+03 -1665 5.93600e+03 7.08400e+03 -1666 6.09600e+03 7.08400e+03 -1667 6.19200e+03 7.08400e+03 -1668 6.41600e+03 7.08400e+03 -1669 6.54400e+03 7.08400e+03 -1670 6.67200e+03 7.08400e+03 -1671 6.76800e+03 7.16100e+03 -1672 6.76800e+03 8.64600e+03 -1673 6.76800e+03 9.43800e+03 -1674 9.93600e+03 2.31000e+02 -1675 9.93600e+03 1.01200e+03 -1676 9.93600e+03 1.76000e+03 -1677 5.20000e+03 2.17800e+03 -1678 5.20000e+03 4.04800e+03 -1679 5.20000e+03 6.40200e+03 -1680 5.20000e+03 7.45800e+03 -1681 5.20000e+03 1.05930e+04 -1682 7.40800e+03 6.38000e+02 -1683 7.40800e+03 1.51800e+03 -1684 7.40800e+03 4.04800e+03 -1685 7.40800e+03 4.92800e+03 -1686 7.40800e+03 8.75600e+03 -1687 7.53600e+03 1.06920e+04 -1688 7.60000e+03 1.06920e+04 -1689 7.69600e+03 1.06920e+04 -1690 7.82400e+03 1.06920e+04 -1691 7.88800e+03 1.06920e+04 -1692 7.98400e+03 1.06920e+04 -1693 8.09600e+03 1.06920e+04 -1694 8.17600e+03 1.06920e+04 -1695 8.27200e+03 1.06920e+04 -1696 8.36800e+03 1.06920e+04 -1697 8.43200e+03 1.06920e+04 -1698 8.72000e+03 1.06920e+04 -1699 8.84800e+03 1.06920e+04 -1700 9.10400e+03 1.06920e+04 -1701 9.72800e+03 1.06920e+04 -1702 1.00320e+04 1.06920e+04 -1703 1.02560e+04 1.06920e+04 -1704 1.03200e+04 1.06920e+04 -1705 1.04800e+04 1.06920e+04 -1706 1.06560e+04 1.06920e+04 -1707 1.07680e+04 1.06920e+04 -1708 1.09280e+04 1.06920e+04 -1709 1.10240e+04 1.06920e+04 -1710 1.12160e+04 1.06920e+04 -1711 1.13280e+04 1.06920e+04 -1712 1.14400e+04 1.06920e+04 -1713 1.15200e+04 1.06920e+04 -1714 1.16000e+04 1.06920e+04 -1715 1.17070e+04 1.06920e+04 -1716 1.17280e+04 1.13300e+04 -1717 1.17280e+04 1.08680e+04 -1718 4.88000e+03 1.14950e+04 -1719 4.94400e+03 2.17800e+03 -1720 4.94400e+03 4.04800e+03 -1721 4.94400e+03 6.40200e+03 -1722 6.89600e+03 2.20000e+02 -1723 7.00800e+03 3.08000e+02 -1724 7.18400e+03 3.08000e+02 -1725 7.31200e+03 3.08000e+02 -1726 7.50400e+03 3.08000e+02 -1727 7.66400e+03 3.08000e+02 -1728 7.76000e+03 3.08000e+02 -1729 7.82400e+03 3.08000e+02 -1730 7.88800e+03 3.08000e+02 -1731 7.95200e+03 3.08000e+02 -1732 8.04800e+03 3.08000e+02 -1733 8.20800e+03 3.08000e+02 -1734 8.33600e+03 3.08000e+02 -1735 8.43200e+03 3.08000e+02 -1736 8.49600e+03 3.08000e+02 -1737 8.56000e+03 3.08000e+02 -1738 8.62400e+03 3.08000e+02 -1739 8.75200e+03 3.08000e+02 -1740 8.84800e+03 3.08000e+02 -1741 8.97600e+03 3.08000e+02 -1742 9.04000e+03 3.08000e+02 -1743 9.16800e+03 3.08000e+02 -1744 9.23200e+03 2.20000e+02 -1745 9.23200e+03 7.59000e+02 -1746 9.23200e+03 1.76000e+03 -1747 9.23200e+03 2.94800e+03 -1748 9.23200e+03 7.02900e+03 -1749 3.44000e+03 1.00320e+04 -1750 3.50400e+03 7.92000e+03 -1751 3.63200e+03 7.92000e+03 -1752 3.69600e+03 7.92000e+03 -1753 3.76000e+03 3.11300e+03 -1754 3.76000e+03 6.90800e+03 -1755 8.24000e+03 8.89900e+03 -1756 8.27200e+03 8.75600e+03 -1757 8.30400e+03 1.18800e+03 -1758 8.30400e+03 6.90800e+03 -1759 8.30400e+03 8.61300e+03 -1760 9.29600e+03 6.89700e+03 -1761 9.29600e+03 9.87800e+03 -1762 9.45600e+03 6.77600e+03 -1763 9.55200e+03 6.77600e+03 -1764 9.68000e+03 6.77600e+03 -1765 9.77600e+03 2.31000e+02 -1766 9.77600e+03 1.01200e+03 -1767 9.77600e+03 1.76000e+03 -1768 6.99200e+03 8.64600e+03 -1769 6.99200e+03 1.08020e+04 -1770 7.02400e+03 7.26000e+03 -1771 7.05600e+03 6.38000e+02 -1772 7.05600e+03 1.51800e+03 -1773 7.05600e+03 2.57400e+03 -1774 7.05600e+03 4.04800e+03 -1775 7.05600e+03 7.13900e+03 -1776 1.46400e+04 2.53000e+03 -1777 1.46400e+04 5.36800e+03 -1778 1.46400e+04 6.79800e+03 -1779 1.46400e+04 8.64600e+03 -1780 1.46400e+04 9.87800e+03 -1781 1.46400e+04 1.15390e+04 -1782 1.47360e+04 1.01200e+03 -1783 1.48000e+04 1.01200e+03 -1784 1.49120e+04 1.01200e+03 -1785 1.51200e+04 1.01200e+03 -1786 1.53280e+04 1.01200e+03 -1787 1.54080e+04 1.01200e+03 -1788 1.54720e+04 1.01200e+03 -1789 1.56000e+04 1.01200e+03 -1790 1.57280e+04 1.01200e+03 -1791 1.57920e+04 1.01200e+03 -1792 1.58880e+04 1.01200e+03 -1793 1.59840e+04 1.01200e+03 -1794 1.61280e+04 1.01200e+03 -1795 1.62720e+04 1.01200e+03 -1796 1.64000e+04 1.01200e+03 -1797 1.65280e+04 9.13000e+02 -1798 1.47040e+04 2.53000e+03 -1799 1.47200e+04 4.92800e+03 -1800 1.47360e+04 5.35700e+03 -1801 1.47360e+04 6.79800e+03 -1802 1.47360e+04 8.64600e+03 -1803 1.47360e+04 9.87800e+03 -1804 1.47360e+04 1.14290e+04 -1805 1.48160e+04 4.92800e+03 -1806 1.49280e+04 4.92800e+03 -1807 1.51360e+04 4.92800e+03 -1808 1.53280e+04 4.92800e+03 -1809 1.54080e+04 4.92800e+03 -1810 1.54720e+04 4.92800e+03 -1811 1.56000e+04 4.92800e+03 -1812 1.57120e+04 4.92800e+03 -1813 1.57920e+04 4.92800e+03 -1814 1.58880e+04 4.92800e+03 -1815 1.59840e+04 4.92800e+03 -1816 1.61280e+04 4.92800e+03 -1817 1.62880e+04 4.92800e+03 -1818 1.64000e+04 4.92800e+03 -1819 1.65440e+04 4.92800e+03 -1820 1.66560e+04 4.92800e+03 -1821 1.67520e+04 4.92800e+03 -1822 1.68160e+04 1.01200e+03 -1823 1.68160e+04 2.22200e+03 -1824 1.68160e+04 3.85000e+03 -1825 1.38080e+04 5.13700e+03 -1826 1.38080e+04 7.28200e+03 -1827 1.38080e+04 8.86600e+03 -1828 1.38080e+04 9.87800e+03 -1829 1.38080e+04 1.15390e+04 -1830 1.39080e+04 4.70800e+03 -1831 1.40800e+04 4.70800e+03 -1832 1.42240e+04 4.70800e+03 -1833 1.44000e+04 4.70800e+03 -1834 1.45120e+04 4.70800e+03 -1835 1.47360e+04 4.70800e+03 -1836 1.48160e+04 4.70800e+03 -1837 1.49280e+04 4.70800e+03 -1838 1.51360e+04 4.70800e+03 -1839 1.53280e+04 4.70800e+03 -1840 1.54080e+04 4.70800e+03 -1841 1.54720e+04 4.70800e+03 -1842 1.56000e+04 4.70800e+03 -1843 1.57120e+04 4.70800e+03 -1844 1.57920e+04 4.70800e+03 -1845 1.58880e+04 4.70800e+03 -1846 1.59840e+04 4.70800e+03 -1847 1.61280e+04 4.70800e+03 -1848 1.62880e+04 4.70800e+03 -1849 1.64000e+04 4.70800e+03 -1850 1.65440e+04 4.70800e+03 -1851 1.66560e+04 4.70800e+03 -1852 1.67520e+04 4.70800e+03 -1853 1.69120e+04 4.70800e+03 -1854 1.69760e+04 1.01200e+03 -1855 1.69760e+04 2.22200e+03 -1856 1.69760e+04 3.97100e+03 -1857 3.66400e+03 3.11300e+03 -1858 3.66400e+03 7.01800e+03 -1859 3.66400e+03 9.11900e+03 -1860 3.68400e+03 9.28400e+03 -1861 3.76000e+03 1.01420e+04 -1862 3.60000e+03 3.11300e+03 -1863 3.60000e+03 7.12800e+03 -1864 3.60000e+03 9.04200e+03 -1865 3.71200e+03 9.81200e+03 -1866 3.88800e+03 9.81200e+03 -1867 4.12800e+03 9.81200e+03 -1868 4.27200e+03 9.81200e+03 -1869 4.40000e+03 9.81200e+03 -1870 4.52800e+03 9.81200e+03 -1871 4.62400e+03 9.81200e+03 -1872 4.68800e+03 9.81200e+03 -1873 4.79500e+03 9.81200e+03 -1874 4.95500e+03 9.15200e+03 -1875 4.81600e+03 1.14950e+04 -1876 4.97600e+03 2.17800e+03 -1877 4.97600e+03 4.04800e+03 -1878 4.97600e+03 6.40200e+03 -1879 8.97600e+03 6.89700e+03 -1880 8.97600e+03 9.87800e+03 -1881 8.99600e+03 6.55600e+03 -1882 9.29600e+03 6.55600e+03 -1883 9.45600e+03 6.55600e+03 -1884 9.55200e+03 6.55600e+03 -1885 9.68000e+03 6.55600e+03 -1886 9.80800e+03 6.55600e+03 -1887 1.00160e+04 6.55600e+03 -1888 1.01280e+04 6.55600e+03 -1889 1.02240e+04 6.55600e+03 -1890 1.03840e+04 6.55600e+03 -1891 1.05120e+04 6.55600e+03 -1892 1.06560e+04 6.55600e+03 -1893 1.08000e+04 6.55600e+03 -1894 1.08640e+04 6.55600e+03 -1895 1.09280e+04 6.55600e+03 -1896 1.10400e+04 6.55600e+03 -1897 1.11200e+04 6.55600e+03 -1898 1.12160e+04 6.55600e+03 -1899 1.13280e+04 6.55600e+03 -1900 1.15040e+04 6.55600e+03 -1901 1.15680e+04 6.55600e+03 -1902 1.16320e+04 6.55600e+03 -1903 1.16960e+04 6.55600e+03 -1904 1.17600e+04 6.55600e+03 -1905 1.18240e+04 6.55600e+03 -1906 1.19200e+04 6.55600e+03 -1907 1.20320e+04 6.55600e+03 -1908 1.21760e+04 6.55600e+03 -1909 1.23840e+04 6.55600e+03 -1910 1.25120e+04 6.55600e+03 -1911 1.26880e+04 6.55600e+03 -1912 1.28000e+04 6.55600e+03 -1913 1.29120e+04 6.55600e+03 -1914 1.30720e+04 4.84000e+02 -1915 1.30720e+04 1.60600e+03 -1916 1.30720e+04 2.31000e+03 -1917 1.30720e+04 3.12400e+03 -1918 1.30720e+04 3.93800e+03 -1919 1.30720e+04 4.70800e+03 -1920 1.30720e+04 6.19300e+03 -1921 1.31080e+04 5.72000e+02 -1922 1.32000e+04 5.72000e+02 -1923 1.33440e+04 5.72000e+02 -1924 1.34880e+04 5.72000e+02 -1925 1.36320e+04 5.72000e+02 -1926 1.38560e+04 5.72000e+02 -1927 1.40960e+04 5.72000e+02 -1928 1.42240e+04 5.72000e+02 -1929 1.44000e+04 5.72000e+02 -1930 1.46400e+04 5.72000e+02 -1931 1.47360e+04 5.72000e+02 -1932 1.48000e+04 5.72000e+02 -1933 1.49120e+04 5.72000e+02 -1934 1.50400e+04 5.72000e+02 -1935 1.52000e+04 5.72000e+02 -1936 1.53280e+04 5.72000e+02 -1937 1.54080e+04 4.84000e+02 -1938 1.00160e+04 6.77600e+03 -1939 1.01280e+04 6.77600e+03 -1940 1.02240e+04 6.77600e+03 -1941 1.03840e+04 6.77600e+03 -1942 1.04800e+04 2.31000e+02 -1943 1.04800e+04 1.01200e+03 -1944 1.04800e+04 1.76000e+03 -1945 7.12000e+03 6.38000e+02 -1946 7.12000e+03 1.51800e+03 -1947 7.12000e+03 4.04800e+03 -1948 7.12000e+03 8.53600e+03 -1949 7.12000e+03 1.08020e+04 -1950 3.72800e+03 3.11300e+03 -1951 3.72800e+03 6.90800e+03 -1952 3.89900e+03 9.59200e+03 -1953 4.01600e+03 1.01420e+04 -1954 5.77600e+03 1.08020e+04 -1955 5.79600e+03 9.06400e+03 -1956 5.96800e+03 9.06400e+03 -1957 6.03200e+03 9.06400e+03 -1958 6.11200e+03 9.06400e+03 -1959 6.19200e+03 9.06400e+03 -1960 6.35200e+03 9.06400e+03 -1961 6.43200e+03 9.06400e+03 -1962 6.51200e+03 9.06400e+03 -1963 6.67200e+03 9.06400e+03 -1964 6.86400e+03 9.06400e+03 -1965 6.92800e+03 9.06400e+03 -1966 7.02400e+03 9.06400e+03 -1967 7.21100e+03 9.06400e+03 -1968 7.24800e+03 6.38000e+02 -1969 7.24800e+03 1.51800e+03 -1970 7.24800e+03 4.04800e+03 -1971 7.24800e+03 7.12800e+03 -1972 7.24800e+03 8.76700e+03 -1973 3.92000e+03 2.95900e+03 -1974 3.92000e+03 6.90800e+03 -1975 3.92000e+03 9.16300e+03 -1976 3.97200e+03 9.37200e+03 -1977 4.12800e+03 9.37200e+03 -1978 4.27200e+03 9.37200e+03 -1979 4.52800e+03 9.37200e+03 -1980 4.62400e+03 9.37200e+03 -1981 4.68800e+03 9.37200e+03 -1982 4.78400e+03 9.37200e+03 -1983 4.96000e+03 9.37200e+03 -1984 5.13600e+03 9.37200e+03 -1985 5.55200e+03 9.37200e+03 -1986 5.63200e+03 9.37200e+03 -1987 5.80800e+03 9.37200e+03 -1988 5.96800e+03 9.37200e+03 -1989 6.03200e+03 9.37200e+03 -1990 6.11200e+03 9.37200e+03 -1991 6.19200e+03 9.37200e+03 -1992 6.35200e+03 9.37200e+03 -1993 6.43200e+03 9.37200e+03 -1994 6.51200e+03 9.47100e+03 -1995 6.51200e+03 1.14950e+04 -1996 1.63680e+04 2.22200e+03 -1997 1.63680e+04 3.85000e+03 -1998 1.63680e+04 5.36800e+03 -1999 1.63680e+04 6.79800e+03 -2000 1.63680e+04 7.87600e+03 -2001 1.63680e+04 1.04610e+04 -2002 1.63680e+04 1.14290e+04 -2003 3.53600e+03 3.11300e+03 -2004 3.53600e+03 7.12800e+03 -2005 3.53600e+03 1.00320e+04 -2006 8.46400e+03 8.74500e+03 -2007 8.72000e+03 8.44800e+03 -2008 8.84800e+03 8.44800e+03 -2009 9.10400e+03 8.44800e+03 -2010 9.72800e+03 8.44800e+03 -2011 1.00000e+04 8.44800e+03 -2012 1.02560e+04 8.44800e+03 -2013 1.03520e+04 8.44800e+03 -2014 1.04640e+04 8.44800e+03 -2015 1.06560e+04 8.44800e+03 -2016 1.07360e+04 8.44800e+03 -2017 1.08000e+04 8.44800e+03 -2018 1.09120e+04 8.44800e+03 -2019 1.10400e+04 8.44800e+03 -2020 1.12000e+04 8.44800e+03 -2021 1.13440e+04 8.44800e+03 -2022 1.15040e+04 8.44800e+03 -2023 1.16000e+04 8.44800e+03 -2024 1.17120e+04 8.44800e+03 -2025 1.17920e+04 8.44800e+03 -2026 1.19840e+04 8.44800e+03 -2027 1.21920e+04 8.44800e+03 -2028 1.22720e+04 8.44800e+03 -2029 1.23840e+04 8.44800e+03 -2030 1.25280e+04 8.44800e+03 -2031 1.26560e+04 8.44800e+03 -2032 1.27200e+04 1.60600e+03 -2033 1.27200e+04 2.57400e+03 -2034 1.27200e+04 4.70800e+03 -2035 1.27200e+04 6.07200e+03 -2036 1.27200e+04 7.39200e+03 -2037 1.28160e+04 7.92000e+02 -2038 1.29440e+04 7.92000e+02 -2039 1.31200e+04 7.92000e+02 -2040 1.32000e+04 7.92000e+02 -2041 1.33440e+04 7.92000e+02 -2042 1.34880e+04 7.92000e+02 -2043 1.36320e+04 7.92000e+02 -2044 1.38560e+04 7.92000e+02 -2045 1.40960e+04 7.92000e+02 -2046 1.42240e+04 7.92000e+02 -2047 1.44000e+04 7.92000e+02 -2048 1.46400e+04 7.92000e+02 -2049 1.47360e+04 7.92000e+02 -2050 1.48000e+04 7.92000e+02 -2051 1.49120e+04 7.92000e+02 -2052 1.50510e+04 7.92000e+02 -2053 2.80000e+03 3.11300e+03 -2054 2.80000e+03 6.86400e+03 -2055 2.85200e+03 7.70000e+03 -2056 2.96000e+03 7.70000e+03 -2057 3.02400e+03 7.70000e+03 -2058 3.20000e+03 7.70000e+03 -2059 3.31200e+03 7.70000e+03 -2060 3.42400e+03 7.70000e+03 -2061 3.50400e+03 7.70000e+03 -2062 3.63200e+03 7.70000e+03 -2063 3.69600e+03 7.70000e+03 -2064 3.80800e+03 7.70000e+03 -2065 3.88800e+03 7.70000e+03 -2066 3.95200e+03 7.70000e+03 -2067 4.09600e+03 7.70000e+03 -2068 4.17600e+03 7.70000e+03 -2069 4.24000e+03 7.79900e+03 -2070 8.04800e+03 8.75600e+03 -2071 8.08000e+03 7.70000e+03 -2072 8.11200e+03 1.18800e+03 -2073 8.11200e+03 4.81800e+03 -2074 8.11200e+03 7.01800e+03 -2075 1.32800e+03 3.22300e+03 -2076 1.32800e+03 6.91900e+03 -2077 1.45600e+03 8.77800e+03 -2078 1.45600e+03 1.00320e+04 -2079 9.68000e+03 2.28800e+03 -2080 9.80800e+03 2.28800e+03 -2081 9.87200e+03 2.28800e+03 -2082 1.00000e+04 2.28800e+03 -2083 1.00960e+04 2.28800e+03 -2084 1.02240e+04 2.28800e+03 -2085 1.02880e+04 2.28800e+03 -2086 1.03840e+04 2.28800e+03 -2087 1.05120e+04 2.28800e+03 -2088 1.05760e+04 2.28800e+03 -2089 1.06400e+04 2.28800e+03 -2090 1.07040e+04 2.28800e+03 -2091 1.08000e+04 2.28800e+03 -2092 1.09280e+04 2.28800e+03 -2093 1.10560e+04 2.28800e+03 -2094 1.11200e+04 2.28800e+03 -2095 1.12160e+04 2.28800e+03 -2096 1.13440e+04 2.28800e+03 -2097 1.14080e+04 2.28800e+03 -2098 1.14880e+04 2.28800e+03 -2099 1.16960e+04 2.28800e+03 -2100 1.17600e+04 2.28800e+03 -2101 1.19040e+04 2.28800e+03 -2102 1.20480e+04 2.28800e+03 -2103 1.21760e+04 2.28800e+03 -2104 1.23360e+04 2.28800e+03 -2105 1.24320e+04 2.28800e+03 -2106 1.24960e+04 9.13000e+02 -2107 1.24960e+04 1.60600e+03 -2108 1.25160e+04 1.01200e+03 -2109 1.26880e+04 1.01200e+03 -2110 1.28160e+04 1.01200e+03 -2111 1.29440e+04 1.01200e+03 -2112 1.31200e+04 1.01200e+03 -2113 1.32000e+04 1.01200e+03 -2114 1.33440e+04 1.01200e+03 -2115 1.34880e+04 1.01200e+03 -2116 1.36320e+04 1.01200e+03 -2117 1.38670e+04 1.01200e+03 -2118 5.23200e+03 1.04720e+04 -2119 5.48800e+03 7.92000e+03 -2120 5.55200e+03 7.92000e+03 -2121 5.63200e+03 7.92000e+03 -2122 5.71200e+03 7.92000e+03 -2123 5.80800e+03 7.92000e+03 -2124 5.96800e+03 7.92000e+03 -2125 6.09600e+03 7.92000e+03 -2126 6.19200e+03 7.92000e+03 -2127 6.41600e+03 7.92000e+03 -2128 6.54400e+03 7.92000e+03 -2129 6.67200e+03 7.92000e+03 -2130 6.86400e+03 7.92000e+03 -2131 6.92800e+03 7.92000e+03 -2132 7.04000e+03 7.92000e+03 -2133 7.18400e+03 7.92000e+03 -2134 7.53600e+03 7.92000e+03 -2135 7.60000e+03 7.92000e+03 -2136 7.69600e+03 7.92000e+03 -2137 7.76000e+03 7.92000e+03 -2138 7.82400e+03 7.92000e+03 -2139 7.88800e+03 7.92000e+03 -2140 8.09600e+03 7.92000e+03 -2141 8.17600e+03 7.92000e+03 -2142 8.25600e+03 7.92000e+03 -2143 8.44800e+03 7.92000e+03 -2144 8.72000e+03 7.92000e+03 -2145 8.84800e+03 7.92000e+03 -2146 9.11500e+03 7.92000e+03 -2147 9.13600e+03 1.18800e+03 -2148 9.13600e+03 2.94800e+03 -2149 9.13600e+03 5.96200e+03 -2150 9.13600e+03 7.01800e+03 -2151 9.44400e+03 6.11600e+03 -2152 9.55200e+03 6.11600e+03 -2153 9.68000e+03 6.11600e+03 -2154 9.80800e+03 6.11600e+03 -2155 1.00160e+04 6.11600e+03 -2156 1.01440e+04 6.11600e+03 -2157 1.02240e+04 6.11600e+03 -2158 1.03840e+04 6.11600e+03 -2159 1.05120e+04 6.11600e+03 -2160 1.05760e+04 6.11600e+03 -2161 1.06560e+04 6.11600e+03 -2162 1.08000e+04 6.11600e+03 -2163 1.08640e+04 6.11600e+03 -2164 1.09280e+04 6.11600e+03 -2165 1.10560e+04 6.11600e+03 -2166 1.11200e+04 6.11600e+03 -2167 1.12160e+04 6.11600e+03 -2168 1.13120e+04 2.31000e+02 -2169 1.13120e+04 9.02000e+02 -2170 1.13120e+04 4.48800e+03 -2171 1.13120e+04 5.97300e+03 -2172 9.00800e+03 9.87800e+03 -2173 9.10400e+03 1.18800e+03 -2174 9.10400e+03 2.94800e+03 -2175 9.10400e+03 5.96200e+03 -2176 9.10400e+03 7.02900e+03 -2177 5.64800e+03 1.06810e+04 -2178 5.80800e+03 1.04720e+04 -2179 5.96800e+03 1.04720e+04 -2180 6.03200e+03 1.04720e+04 -2181 6.11200e+03 1.04720e+04 -2182 6.19200e+03 1.04720e+04 -2183 6.35200e+03 1.04720e+04 -2184 6.46400e+03 1.04720e+04 -2185 6.67200e+03 1.04720e+04 -2186 6.84800e+03 1.04720e+04 -2187 7.02400e+03 1.04720e+04 -2188 7.20000e+03 1.04720e+04 -2189 7.37600e+03 1.04720e+04 -2190 7.53600e+03 1.04720e+04 -2191 7.60000e+03 1.04720e+04 -2192 7.69600e+03 1.04720e+04 -2193 7.82400e+03 1.04720e+04 -2194 7.88800e+03 1.04720e+04 -2195 7.98400e+03 1.04720e+04 -2196 8.09600e+03 1.04720e+04 -2197 8.17600e+03 1.04720e+04 -2198 8.27200e+03 1.04720e+04 -2199 8.36800e+03 1.04720e+04 -2200 8.43200e+03 1.04720e+04 -2201 8.72000e+03 1.04720e+04 -2202 8.84800e+03 1.04720e+04 -2203 9.10400e+03 1.04720e+04 -2204 9.72800e+03 1.04720e+04 -2205 1.00320e+04 1.04720e+04 -2206 1.02560e+04 1.04720e+04 -2207 1.03200e+04 1.04720e+04 -2208 1.04800e+04 1.04720e+04 -2209 1.06560e+04 1.04720e+04 -2210 1.07470e+04 1.04720e+04 -2211 1.07680e+04 2.31000e+02 -2212 1.07680e+04 9.02000e+02 -2213 1.07680e+04 1.76000e+03 -2214 1.07680e+04 7.39200e+03 -2215 1.07680e+04 1.03730e+04 -2216 1.00160e+04 9.06400e+03 -2217 1.00640e+04 2.31000e+02 -2218 1.00640e+04 1.01200e+03 -2219 1.00640e+04 1.76000e+03 -2220 5.58400e+03 3.22300e+03 -2221 5.58400e+03 4.04800e+03 -2222 5.58400e+03 6.40200e+03 -2223 5.58400e+03 8.38200e+03 -2224 5.58400e+03 1.06920e+04 -2225 5.66400e+03 3.08000e+03 -2226 5.87200e+03 3.08000e+03 -2227 6.12800e+03 3.08000e+03 -2228 6.19200e+03 3.08000e+03 -2229 6.25600e+03 3.08000e+03 -2230 6.41600e+03 3.08000e+03 -2231 6.56000e+03 3.08000e+03 -2232 6.67200e+03 3.08000e+03 -2233 6.78400e+03 3.08000e+03 -2234 6.89600e+03 3.08000e+03 -2235 7.00800e+03 3.08000e+03 -2236 7.08800e+03 3.08000e+03 -2237 7.18400e+03 3.08000e+03 -2238 7.31200e+03 3.08000e+03 -2239 7.50400e+03 3.08000e+03 -2240 7.66400e+03 3.08000e+03 -2241 7.76000e+03 3.08000e+03 -2242 7.82400e+03 3.08000e+03 -2243 7.88800e+03 3.08000e+03 -2244 7.95200e+03 3.08000e+03 -2245 8.04800e+03 3.08000e+03 -2246 8.20800e+03 3.08000e+03 -2247 8.33600e+03 3.08000e+03 -2248 8.43200e+03 3.08000e+03 -2249 8.49600e+03 3.08000e+03 -2250 8.62400e+03 3.08000e+03 -2251 8.75200e+03 3.08000e+03 -2252 8.84800e+03 3.08000e+03 -2253 8.97600e+03 3.08000e+03 -2254 9.05100e+03 3.08000e+03 -2255 9.07200e+03 1.18800e+03 -2256 9.07200e+03 2.91500e+03 -2257 8.62400e+03 5.96200e+03 -2258 8.62400e+03 8.86600e+03 -2259 8.68800e+03 1.18800e+03 -2260 8.59200e+03 8.86600e+03 -2261 8.65600e+03 1.18800e+03 -2262 8.65600e+03 5.96200e+03 -2263 7.95200e+03 8.75600e+03 -2264 8.04800e+03 6.11600e+03 -2265 8.17600e+03 6.11600e+03 -2266 8.43200e+03 6.11600e+03 -2267 8.50700e+03 6.11600e+03 -2268 8.52800e+03 1.18800e+03 -2269 8.52800e+03 5.97300e+03 -2270 8.46400e+03 1.18800e+03 -2271 8.65600e+03 8.86600e+03 -2272 7.05600e+03 1.08020e+04 -2273 7.19500e+03 8.84400e+03 -2274 7.21600e+03 6.38000e+02 -2275 7.21600e+03 1.51800e+03 -2276 7.21600e+03 4.04800e+03 -2277 7.21600e+03 7.12800e+03 -2278 7.21600e+03 8.65700e+03 -2279 1.74560e+04 1.78200e+03 -2280 1.74560e+04 4.09200e+03 -2281 1.74560e+04 6.57800e+03 -2282 1.74560e+04 7.72200e+03 -2283 1.74560e+04 8.74500e+03 -2284 1.74760e+04 8.84400e+03 -2285 1.75520e+04 8.84400e+03 -2286 1.77120e+04 9.60300e+03 -2287 1.77120e+04 1.06700e+04 -2288 9.42800e+03 2.94800e+03 -2289 9.68000e+03 2.94800e+03 -2290 9.80800e+03 2.94800e+03 -2291 9.87200e+03 2.94800e+03 -2292 1.00000e+04 2.94800e+03 -2293 1.00960e+04 2.94800e+03 -2294 1.02240e+04 2.94800e+03 -2295 1.02880e+04 2.94800e+03 -2296 1.03840e+04 2.94800e+03 -2297 1.05120e+04 2.94800e+03 -2298 1.05760e+04 2.94800e+03 -2299 1.06400e+04 2.94800e+03 -2300 1.07040e+04 2.94800e+03 -2301 1.08000e+04 2.94800e+03 -2302 1.09280e+04 2.94800e+03 -2303 1.10560e+04 2.94800e+03 -2304 1.11200e+04 2.94800e+03 -2305 1.12160e+04 2.94800e+03 -2306 1.13440e+04 2.94800e+03 -2307 1.14880e+04 2.94800e+03 -2308 1.16960e+04 2.94800e+03 -2309 1.17600e+04 2.94800e+03 -2310 1.19040e+04 2.94800e+03 -2311 1.20480e+04 2.94800e+03 -2312 1.21760e+04 2.94800e+03 -2313 1.23360e+04 2.94800e+03 -2314 1.24320e+04 2.94800e+03 -2315 1.25230e+04 2.94800e+03 -2316 1.25600e+04 1.60600e+03 -2317 1.25600e+04 2.35400e+03 -2318 1.75520e+04 1.78200e+03 -2319 1.75520e+04 4.09200e+03 -2320 1.75520e+04 6.57800e+03 -2321 1.75520e+04 7.88700e+03 -2322 1.77120e+04 8.18400e+03 -2323 1.78560e+04 8.18400e+03 -2324 1.79680e+04 8.18400e+03 -2325 1.81920e+04 8.18400e+03 -2326 1.82560e+04 9.42700e+03 -2327 1.82560e+04 1.06700e+04 -2328 9.72800e+03 1.00320e+04 -2329 1.00320e+04 1.00320e+04 -2330 1.02560e+04 1.00320e+04 -2331 1.03200e+04 1.00320e+04 -2332 1.04160e+04 1.00320e+04 -2333 1.04800e+04 1.00320e+04 -2334 1.06560e+04 1.00320e+04 -2335 1.07360e+04 1.00320e+04 -2336 1.08000e+04 1.00320e+04 -2337 1.09280e+04 1.00320e+04 -2338 1.10400e+04 1.00320e+04 -2339 1.12160e+04 1.00320e+04 -2340 1.13120e+04 1.00320e+04 -2341 1.14400e+04 1.00320e+04 -2342 1.15200e+04 1.00320e+04 -2343 1.16000e+04 1.00320e+04 -2344 1.17120e+04 1.00320e+04 -2345 1.17920e+04 1.00320e+04 -2346 1.19840e+04 1.00320e+04 -2347 1.20800e+04 1.00320e+04 -2348 1.22080e+04 1.00320e+04 -2349 1.23840e+04 1.00320e+04 -2350 1.25280e+04 1.00320e+04 -2351 1.26560e+04 1.00320e+04 -2352 1.28160e+04 1.00320e+04 -2353 1.29440e+04 1.00320e+04 -2354 1.30880e+04 1.00320e+04 -2355 1.32320e+04 1.00320e+04 -2356 1.34080e+04 1.00320e+04 -2357 1.35360e+04 1.00320e+04 -2358 1.36430e+04 1.00320e+04 -2359 1.36800e+04 2.53000e+03 -2360 1.36800e+04 5.14800e+03 -2361 1.36800e+04 7.28200e+03 -2362 1.36800e+04 8.86600e+03 -2363 1.36800e+04 9.88900e+03 -2364 1.77120e+04 2.31000e+02 -2365 1.77120e+04 1.78200e+03 -2366 1.77120e+04 4.24600e+03 -2367 1.77120e+04 6.32500e+03 -2368 1.78400e+04 6.90800e+03 -2369 1.79680e+04 6.90800e+03 -2370 1.81280e+04 7.00700e+03 -2371 1.81280e+04 7.76600e+03 -2372 1.81280e+04 1.06700e+04 -2373 9.07200e+03 3.48700e+03 -2374 9.07200e+03 5.96200e+03 -2375 9.07200e+03 6.90800e+03 -2376 9.07200e+03 9.87800e+03 -2377 9.44000e+03 3.38800e+03 -2378 9.52000e+03 3.38800e+03 -2379 9.68000e+03 3.38800e+03 -2380 9.84000e+03 3.38800e+03 -2381 1.00000e+04 3.38800e+03 -2382 1.00960e+04 3.38800e+03 -2383 1.02240e+04 3.38800e+03 -2384 1.02880e+04 3.38800e+03 -2385 1.03840e+04 3.38800e+03 -2386 1.05120e+04 3.38800e+03 -2387 1.05760e+04 3.38800e+03 -2388 1.06400e+04 3.38800e+03 -2389 1.07040e+04 3.38800e+03 -2390 1.08000e+04 3.38800e+03 -2391 1.09280e+04 3.38800e+03 -2392 1.10560e+04 3.38800e+03 -2393 1.11200e+04 3.38800e+03 -2394 1.12160e+04 3.38800e+03 -2395 1.13440e+04 3.38800e+03 -2396 1.14880e+04 3.38800e+03 -2397 1.16960e+04 3.38800e+03 -2398 1.17600e+04 3.38800e+03 -2399 1.19040e+04 3.38800e+03 -2400 1.20480e+04 3.38800e+03 -2401 1.21760e+04 3.38800e+03 -2402 1.23360e+04 3.38800e+03 -2403 1.24320e+04 3.38800e+03 -2404 1.25440e+04 3.38800e+03 -2405 1.26880e+04 3.38800e+03 -2406 1.27630e+04 3.38800e+03 -2407 1.27840e+04 1.60600e+03 -2408 1.27840e+04 2.31000e+03 -2409 9.23200e+03 8.10700e+03 -2410 9.23200e+03 9.87800e+03 -2411 9.64800e+03 8.00800e+03 -2412 9.74400e+03 8.00800e+03 -2413 9.90400e+03 8.00800e+03 -2414 1.00160e+04 8.00800e+03 -2415 1.01920e+04 8.00800e+03 -2416 1.02560e+04 8.00800e+03 -2417 1.03840e+04 8.00800e+03 -2418 1.04960e+04 8.00800e+03 -2419 1.06560e+04 8.00800e+03 -2420 1.08160e+04 8.00800e+03 -2421 1.09280e+04 8.00800e+03 -2422 1.10400e+04 8.00800e+03 -2423 1.11200e+04 8.00800e+03 -2424 1.12160e+04 8.00800e+03 -2425 1.13280e+04 8.00800e+03 -2426 1.15040e+04 8.00800e+03 -2427 1.15680e+04 8.00800e+03 -2428 1.16320e+04 8.00800e+03 -2429 1.16960e+04 8.00800e+03 -2430 1.17600e+04 8.00800e+03 -2431 1.18240e+04 8.00800e+03 -2432 1.19680e+04 8.00800e+03 -2433 1.21920e+04 8.00800e+03 -2434 1.22720e+04 8.00800e+03 -2435 1.23840e+04 8.00800e+03 -2436 1.25280e+04 8.00800e+03 -2437 1.26560e+04 8.00800e+03 -2438 1.28000e+04 8.00800e+03 -2439 1.28800e+04 8.00800e+03 -2440 1.29440e+04 8.00800e+03 -2441 1.30880e+04 8.00800e+03 -2442 1.32640e+04 8.00800e+03 -2443 1.33920e+04 8.00800e+03 -2444 1.35200e+04 8.00800e+03 -2445 1.36320e+04 8.00800e+03 -2446 1.37120e+04 2.53000e+03 -2447 1.37120e+04 5.14800e+03 -2448 1.37120e+04 7.28200e+03 -2449 8.40000e+03 1.18800e+03 -2450 8.40000e+03 6.91900e+03 -2451 8.42000e+03 7.04000e+03 -2452 8.50700e+03 7.04000e+03 -2453 8.52800e+03 7.13900e+03 -2454 8.52800e+03 8.86600e+03 -2455 9.16800e+03 1.63900e+03 -2456 9.16800e+03 2.94800e+03 -2457 9.16800e+03 5.96200e+03 -2458 9.16800e+03 7.01800e+03 -2459 9.16800e+03 8.07400e+03 -2460 9.16800e+03 9.87800e+03 -2461 9.26400e+03 1.45200e+03 -2462 9.42400e+03 1.45200e+03 -2463 9.58400e+03 1.45200e+03 -2464 9.68000e+03 1.45200e+03 -2465 9.80800e+03 1.45200e+03 -2466 9.87200e+03 1.45200e+03 -2467 1.00000e+04 1.45200e+03 -2468 1.00960e+04 1.45200e+03 -2469 1.02240e+04 1.45200e+03 -2470 1.02880e+04 1.45200e+03 -2471 1.03840e+04 1.45200e+03 -2472 1.05120e+04 1.45200e+03 -2473 1.05760e+04 1.45200e+03 -2474 1.06400e+04 1.45200e+03 -2475 1.07040e+04 1.45200e+03 -2476 1.08000e+04 1.45200e+03 -2477 1.09280e+04 1.45200e+03 -2478 1.10560e+04 1.45200e+03 -2479 1.11200e+04 1.45200e+03 -2480 1.12160e+04 1.45200e+03 -2481 1.13440e+04 1.45200e+03 -2482 1.14880e+04 1.45200e+03 -2483 1.16960e+04 1.45200e+03 -2484 1.17600e+04 1.45200e+03 -2485 1.19040e+04 1.45200e+03 -2486 1.20480e+04 1.45200e+03 -2487 1.21760e+04 1.45200e+03 -2488 1.23040e+04 9.02000e+02 -2489 9.36000e+03 2.82700e+03 -2490 9.41200e+03 2.72800e+03 -2491 9.68000e+03 2.72800e+03 -2492 9.80800e+03 2.72800e+03 -2493 9.87200e+03 2.72800e+03 -2494 1.00000e+04 2.72800e+03 -2495 1.00960e+04 2.72800e+03 -2496 1.02240e+04 2.72800e+03 -2497 1.02880e+04 2.72800e+03 -2498 1.03840e+04 2.72800e+03 -2499 1.05120e+04 2.72800e+03 -2500 1.05760e+04 2.72800e+03 -2501 1.06400e+04 2.72800e+03 -2502 1.07040e+04 2.72800e+03 -2503 1.08000e+04 2.72800e+03 -2504 1.09280e+04 2.72800e+03 -2505 1.10560e+04 2.72800e+03 -2506 1.11200e+04 2.72800e+03 -2507 1.12160e+04 2.72800e+03 -2508 1.13440e+04 2.72800e+03 -2509 1.14880e+04 2.72800e+03 -2510 1.16960e+04 2.72800e+03 -2511 1.17600e+04 2.72800e+03 -2512 1.19040e+04 2.72800e+03 -2513 1.20480e+04 2.72800e+03 -2514 1.21760e+04 2.72800e+03 -2515 1.23360e+04 2.72800e+03 -2516 1.24320e+04 2.72800e+03 -2517 1.25120e+04 2.72800e+03 -2518 1.25920e+04 1.60600e+03 -2519 1.25920e+04 2.47500e+03 -2520 1.48640e+04 2.53000e+03 -2521 1.48640e+04 4.37800e+03 -2522 1.48640e+04 5.47800e+03 -2523 1.48640e+04 6.79800e+03 -2524 1.48640e+04 8.64600e+03 -2525 1.48640e+04 9.87800e+03 -2526 1.48640e+04 1.14290e+04 -2527 7.76000e+03 8.74500e+03 -2528 7.77600e+03 8.44800e+03 -2529 7.79200e+03 1.18800e+03 -2530 7.79200e+03 4.81800e+03 -2531 1.53120e+04 7.88700e+03 -2532 1.53120e+04 8.64600e+03 -2533 1.53120e+04 9.87800e+03 -2534 1.53120e+04 1.06260e+04 -2535 1.53120e+04 1.14290e+04 -2536 1.53440e+04 7.78800e+03 -2537 1.53760e+04 2.53000e+03 -2538 1.53760e+04 5.47800e+03 -2539 1.53760e+04 6.79800e+03 -2540 1.53760e+04 7.68900e+03 -2541 6.86400e+03 4.29000e+02 -2542 6.86400e+03 1.51800e+03 -2543 6.86400e+03 2.57400e+03 -2544 6.86400e+03 4.04800e+03 -2545 7.00800e+03 5.36800e+03 -2546 7.08800e+03 5.36800e+03 -2547 7.18400e+03 5.36800e+03 -2548 7.32800e+03 5.36800e+03 -2549 7.58400e+03 5.36800e+03 -2550 7.66400e+03 5.36800e+03 -2551 7.76000e+03 5.36800e+03 -2552 7.82400e+03 5.36800e+03 -2553 7.88800e+03 5.36800e+03 -2554 7.95200e+03 5.36800e+03 -2555 8.04800e+03 5.36800e+03 -2556 8.17600e+03 5.36800e+03 -2557 8.33600e+03 5.36800e+03 -2558 8.43200e+03 5.36800e+03 -2559 8.49600e+03 5.36800e+03 -2560 8.75200e+03 5.36800e+03 -2561 8.84800e+03 5.36800e+03 -2562 8.99200e+03 5.36800e+03 -2563 9.44000e+03 5.36800e+03 -2564 9.55200e+03 5.36800e+03 -2565 9.68000e+03 5.36800e+03 -2566 9.82400e+03 5.36800e+03 -2567 1.00160e+04 5.36800e+03 -2568 1.01600e+04 5.36800e+03 -2569 1.02240e+04 5.36800e+03 -2570 1.02880e+04 5.36800e+03 -2571 1.03840e+04 5.36800e+03 -2572 1.05120e+04 5.36800e+03 -2573 1.06080e+04 5.36800e+03 -2574 1.07040e+04 7.39200e+03 -2575 1.07040e+04 1.14950e+04 -2576 1.24000e+04 1.14840e+04 -2577 1.25280e+04 1.10000e+04 -2578 1.26560e+04 1.10000e+04 -2579 1.28160e+04 1.10000e+04 -2580 1.29440e+04 1.10000e+04 -2581 1.30880e+04 1.10000e+04 -2582 1.32320e+04 1.10000e+04 -2583 1.33920e+04 1.10000e+04 -2584 1.35360e+04 1.10000e+04 -2585 1.36960e+04 1.10000e+04 -2586 1.39680e+04 1.10000e+04 -2587 1.41920e+04 1.10000e+04 -2588 1.42720e+04 1.10000e+04 -2589 1.43840e+04 1.10000e+04 -2590 1.44480e+04 1.10000e+04 -2591 1.24000e+04 1.11760e+04 -2592 1.45760e+04 2.53000e+03 -2593 1.45760e+04 5.36800e+03 -2594 1.45760e+04 6.79800e+03 -2595 1.45760e+04 8.64600e+03 -2596 1.45760e+04 9.87800e+03 -2597 1.47040e+04 1.10000e+04 -2598 1.47840e+04 1.10000e+04 -2599 1.49600e+04 1.10000e+04 -2600 1.51200e+04 1.10000e+04 -2601 1.53920e+04 1.10000e+04 -2602 1.55200e+04 1.10000e+04 -2603 1.57120e+04 1.10000e+04 -2604 1.57920e+04 1.10000e+04 -2605 1.58560e+04 1.10000e+04 -2606 1.60480e+04 1.10000e+04 -2607 1.62240e+04 1.10000e+04 -2608 1.64320e+04 1.10000e+04 -2609 1.64960e+04 1.14840e+04 -2610 1.64960e+04 1.11760e+04 -2611 7.08800e+03 8.53600e+03 -2612 7.08800e+03 1.08020e+04 -2613 7.15200e+03 6.38000e+02 -2614 7.15200e+03 1.51800e+03 -2615 7.15200e+03 4.04800e+03 -2616 7.15200e+03 7.13900e+03 -2617 1.59520e+04 2.34300e+03 -2618 1.59720e+04 2.99200e+03 -2619 1.61280e+04 2.99200e+03 -2620 1.62720e+04 2.99200e+03 -2621 1.64000e+04 2.99200e+03 -2622 1.65440e+04 2.99200e+03 -2623 1.66560e+04 2.99200e+03 -2624 1.67520e+04 2.99200e+03 -2625 1.69120e+04 2.99200e+03 -2626 1.70400e+04 2.99200e+03 -2627 1.71040e+04 2.99200e+03 -2628 1.71840e+04 2.99200e+03 -2629 1.73920e+04 2.99200e+03 -2630 1.75040e+04 2.99200e+03 -2631 1.77440e+04 4.12500e+03 -2632 1.77440e+04 6.20400e+03 -2633 1.77440e+04 7.76600e+03 -2634 1.77440e+04 8.73400e+03 -2635 1.77440e+04 9.60300e+03 -2636 1.77440e+04 1.06700e+04 -2637 1.56640e+04 2.53000e+03 -2638 1.56640e+04 5.36800e+03 -2639 1.56640e+04 6.79800e+03 -2640 1.56640e+04 8.42600e+03 -2641 1.56640e+04 9.87800e+03 -2642 1.56640e+04 1.06260e+04 -2643 1.56640e+04 1.14290e+04 -2644 1.75840e+04 2.31000e+02 -2645 1.75840e+04 1.78200e+03 -2646 1.75840e+04 4.09200e+03 -2647 1.75840e+04 6.57800e+03 -2648 1.75840e+04 7.76600e+03 -2649 1.75840e+04 9.60300e+03 -2650 1.75840e+04 1.06700e+04 -2651 1.64320e+04 2.22200e+03 -2652 1.64320e+04 3.85000e+03 -2653 1.64320e+04 5.47800e+03 -2654 1.64320e+04 6.79800e+03 -2655 1.64320e+04 7.88700e+03 -2656 1.65280e+04 1.08900e+04 -2657 8.14400e+03 1.18800e+03 -2658 8.14400e+03 4.81800e+03 -2659 8.14400e+03 7.01800e+03 -2660 8.14400e+03 8.75600e+03 -2661 9.61600e+03 2.31000e+02 -2662 9.61600e+03 1.01200e+03 -2663 9.61600e+03 1.76000e+03 -2664 9.61600e+03 7.13900e+03 -2665 1.21120e+04 9.02000e+02 -2666 1.21120e+04 4.48800e+03 -2667 1.21120e+04 5.96200e+03 -2668 1.21120e+04 7.39200e+03 -2669 8.36800e+03 1.18800e+03 -2670 8.36800e+03 6.90800e+03 -2671 8.36800e+03 8.76700e+03 -2672 1.27840e+04 1.14290e+04 -2673 1.28040e+04 8.84400e+03 -2674 1.28800e+04 8.84400e+03 -2675 1.29440e+04 8.84400e+03 -2676 1.30880e+04 8.84400e+03 -2677 1.32640e+04 8.84400e+03 -2678 1.33920e+04 8.84400e+03 -2679 1.35310e+04 8.84400e+03 -2680 1.35520e+04 2.53000e+03 -2681 1.35520e+04 3.93800e+03 -2682 1.35520e+04 4.92800e+03 -2683 1.35520e+04 7.28200e+03 -2684 1.35520e+04 8.65700e+03 -2685 1.88640e+04 1.08460e+04 -2686 1.88640e+04 1.15280e+04 -2687 1.89160e+04 9.08600e+03 -2688 1.90240e+04 9.08600e+03 -2689 1.19200e+04 7.39200e+03 -2690 1.19200e+04 1.11650e+04 -2691 1.19360e+04 6.77600e+03 -2692 1.19520e+04 9.02000e+02 -2693 1.19520e+04 4.48800e+03 -2694 1.19520e+04 6.07200e+03 -2695 1.03200e+04 2.31000e+02 -2696 1.03200e+04 1.01200e+03 -2697 1.03200e+04 1.76000e+03 -2698 1.03200e+04 7.39200e+03 -2699 1.04270e+04 9.50400e+03 -2700 1.18240e+04 9.02000e+02 -2701 1.18240e+04 4.48800e+03 -2702 1.18240e+04 6.08300e+03 -2703 1.18400e+04 6.33600e+03 -2704 1.18560e+04 7.39200e+03 -2705 1.18560e+04 1.11650e+04 -2706 1.26560e+04 1.60600e+03 -2707 1.26560e+04 2.57400e+03 -2708 1.26560e+04 4.70800e+03 -2709 1.26560e+04 6.07200e+03 -2710 1.26720e+04 6.77600e+03 -2711 1.26880e+04 7.39200e+03 -2712 1.26880e+04 1.14290e+04 -2713 5.00800e+03 1.14950e+04 -2714 5.07200e+03 2.17800e+03 -2715 5.07200e+03 4.04800e+03 -2716 5.07200e+03 6.40200e+03 -2717 5.07200e+03 7.19400e+03 -2718 1.31680e+04 1.60600e+03 -2719 1.31680e+04 2.31000e+03 -2720 1.31680e+04 3.12400e+03 -2721 1.31680e+04 3.93800e+03 -2722 1.31680e+04 4.92800e+03 -2723 1.31680e+04 5.92900e+03 -2724 1.32960e+04 6.02800e+03 -2725 1.34560e+04 6.02800e+03 -2726 1.35200e+04 6.02800e+03 -2727 1.36320e+04 6.02800e+03 -2728 1.37600e+04 6.02800e+03 -2729 1.39200e+04 6.02800e+03 -2730 1.40800e+04 6.02800e+03 -2731 1.41920e+04 6.02800e+03 -2732 1.42560e+04 6.02800e+03 -2733 1.44000e+04 6.02800e+03 -2734 1.45120e+04 6.02800e+03 -2735 1.47040e+04 6.02800e+03 -2736 1.48160e+04 6.02800e+03 -2737 1.49280e+04 6.02800e+03 -2738 1.51360e+04 6.02800e+03 -2739 1.53280e+04 6.02800e+03 -2740 1.54400e+04 6.02800e+03 -2741 1.56000e+04 6.02800e+03 -2742 1.57120e+04 6.02800e+03 -2743 1.57920e+04 6.02800e+03 -2744 1.58880e+04 6.02800e+03 -2745 1.59840e+04 6.02800e+03 -2746 1.61280e+04 6.02800e+03 -2747 1.62880e+04 6.02800e+03 -2748 1.65440e+04 6.02800e+03 -2749 1.66560e+04 6.02800e+03 -2750 1.67520e+04 6.02800e+03 -2751 1.68160e+04 6.02800e+03 -2752 1.69120e+04 6.02800e+03 -2753 1.70400e+04 6.02800e+03 -2754 1.71040e+04 6.02800e+03 -2755 1.71680e+04 6.02800e+03 -2756 1.73920e+04 6.02800e+03 -2757 1.75040e+04 6.02800e+03 -2758 1.76800e+04 6.45700e+03 -2759 1.76800e+04 7.76600e+03 -2760 1.76800e+04 9.60300e+03 -2761 1.76800e+04 1.06700e+04 -2762 3.31200e+03 1.06920e+04 -2763 3.34400e+03 3.11300e+03 -2764 3.34400e+03 6.86400e+03 -2765 3.34400e+03 1.01530e+04 -2766 1.45440e+04 2.53000e+03 -2767 1.45440e+04 5.36800e+03 -2768 1.45440e+04 6.79800e+03 -2769 1.45440e+04 8.64600e+03 -2770 1.45440e+04 9.87800e+03 -2771 1.45440e+04 1.15390e+04 -2772 6.73600e+03 6.38000e+02 -2773 6.73600e+03 1.51800e+03 -2774 6.73600e+03 2.57400e+03 -2775 6.73600e+03 4.04800e+03 -2776 6.73600e+03 8.64600e+03 -2777 6.73600e+03 9.43800e+03 -2778 6.83200e+03 1.14400e+04 -2779 7.02400e+03 1.14400e+04 -2780 7.20000e+03 1.14400e+04 -2781 7.44000e+03 1.14400e+04 -2782 7.53600e+03 1.14400e+04 -2783 7.60000e+03 1.14400e+04 -2784 7.69600e+03 1.14400e+04 -2785 7.82400e+03 1.14400e+04 -2786 7.88800e+03 1.14400e+04 -2787 8.09600e+03 1.14400e+04 -2788 8.17600e+03 1.14400e+04 -2789 8.27200e+03 1.14400e+04 -2790 8.36800e+03 1.14400e+04 -2791 8.43200e+03 1.14400e+04 -2792 8.72000e+03 1.14400e+04 -2793 8.84800e+03 1.14400e+04 -2794 9.10400e+03 1.14400e+04 -2795 9.72800e+03 1.14400e+04 -2796 1.00320e+04 1.14400e+04 -2797 1.02560e+04 1.14400e+04 -2798 1.03200e+04 1.14400e+04 -2799 1.04800e+04 1.14400e+04 -2800 1.05440e+04 1.15280e+04 -2801 1.17920e+04 9.02000e+02 -2802 1.17920e+04 4.48800e+03 -2803 1.17920e+04 6.07200e+03 -2804 1.17920e+04 7.39200e+03 -2805 1.18080e+04 8.22800e+03 -2806 1.18240e+04 1.11650e+04 -2807 8.72000e+03 1.18800e+03 -2808 8.72000e+03 5.96200e+03 -2809 8.84800e+03 7.70000e+03 -2810 9.10400e+03 7.70000e+03 -2811 9.23200e+03 7.70000e+03 -2812 6.06400e+03 3.19000e+02 -2813 6.06400e+03 2.02400e+03 -2814 6.06400e+03 4.04800e+03 -2815 6.06400e+03 5.33500e+03 -2816 6.10000e+03 5.58800e+03 -2817 6.19200e+03 5.58800e+03 -2818 6.25600e+03 5.58800e+03 -2819 6.41600e+03 5.58800e+03 -2820 6.56000e+03 5.58800e+03 -2821 6.67200e+03 5.58800e+03 -2822 6.77900e+03 5.58800e+03 -2823 6.80000e+03 7.12800e+03 -2824 6.80000e+03 8.64600e+03 -2825 6.80000e+03 9.43800e+03 -2826 6.86400e+03 6.55600e+03 -2827 6.99200e+03 6.55600e+03 -2828 7.08800e+03 6.55600e+03 -2829 7.18400e+03 6.55600e+03 -2830 7.32800e+03 6.55600e+03 -2831 7.61600e+03 6.55600e+03 -2832 7.74400e+03 6.55600e+03 -2833 7.82400e+03 6.55600e+03 -2834 7.88800e+03 6.55600e+03 -2835 8.04800e+03 6.55600e+03 -2836 8.17600e+03 6.55600e+03 -2837 8.43200e+03 6.55600e+03 -2838 8.51200e+03 6.55600e+03 -2839 8.83200e+03 6.55600e+03 -2840 8.94400e+03 1.18800e+03 -2841 8.94400e+03 5.96200e+03 -2842 8.94400e+03 6.89700e+03 -2843 8.94400e+03 9.87800e+03 -2844 5.96800e+03 3.19000e+02 -2845 5.96800e+03 2.02400e+03 -2846 5.96800e+03 4.04800e+03 -2847 5.96800e+03 5.32400e+03 -2848 6.09600e+03 7.70000e+03 -2849 6.19200e+03 7.70000e+03 -2850 6.41600e+03 7.70000e+03 -2851 6.54400e+03 7.70000e+03 -2852 6.67200e+03 7.70000e+03 -2853 6.86400e+03 7.70000e+03 -2854 6.92800e+03 7.70000e+03 -2855 7.04000e+03 7.70000e+03 -2856 7.15200e+03 8.53600e+03 -2857 7.15200e+03 1.08020e+04 -2858 7.20400e+03 9.50400e+03 -2859 7.53600e+03 9.50400e+03 -2860 7.60000e+03 9.50400e+03 -2861 7.69600e+03 9.50400e+03 -2862 7.82400e+03 9.50400e+03 -2863 7.90400e+03 9.50400e+03 -2864 8.09600e+03 9.50400e+03 -2865 8.17600e+03 9.50400e+03 -2866 8.27200e+03 9.50400e+03 -2867 8.36800e+03 9.50400e+03 -2868 8.43200e+03 9.50400e+03 -2869 8.72000e+03 9.50400e+03 -2870 8.86400e+03 9.50400e+03 -2871 9.10400e+03 9.50400e+03 -2872 9.72800e+03 9.50400e+03 -2873 9.96800e+03 2.31000e+02 -2874 9.96800e+03 1.01200e+03 -2875 9.96800e+03 1.76000e+03 -2876 1.19520e+04 1.11650e+04 -2877 1.19720e+04 8.22800e+03 -2878 1.21920e+04 8.22800e+03 -2879 1.22720e+04 8.22800e+03 -2880 1.23840e+04 8.22800e+03 -2881 1.25280e+04 8.22800e+03 -2882 1.26560e+04 8.22800e+03 -2883 1.28000e+04 8.22800e+03 -2884 1.28800e+04 8.22800e+03 -2885 1.29440e+04 8.22800e+03 -2886 1.30880e+04 8.22800e+03 -2887 1.32640e+04 8.22800e+03 -2888 1.33920e+04 8.22800e+03 -2889 1.35200e+04 8.22800e+03 -2890 1.36320e+04 8.22800e+03 -2891 1.37440e+04 8.22800e+03 -2892 1.39680e+04 8.22800e+03 -2893 1.41920e+04 8.22800e+03 -2894 1.42720e+04 8.22800e+03 -2895 1.43840e+04 8.22800e+03 -2896 1.44480e+04 8.22800e+03 -2897 1.45120e+04 8.22800e+03 -2898 1.47040e+04 8.22800e+03 -2899 1.47840e+04 8.22800e+03 -2900 1.51200e+04 8.22800e+03 -2901 1.53920e+04 8.22800e+03 -2902 1.54720e+04 8.22800e+03 -2903 1.55360e+04 4.84000e+02 -2904 1.55360e+04 6.71000e+02 -2905 1.55360e+04 2.53000e+03 -2906 1.55360e+04 5.36800e+03 -2907 1.55360e+04 6.79800e+03 -2908 1.56000e+04 5.72000e+02 -2909 1.57280e+04 5.72000e+02 -2910 1.57920e+04 5.72000e+02 -2911 1.58880e+04 5.72000e+02 -2912 1.59840e+04 5.72000e+02 -2913 1.61280e+04 5.72000e+02 -2914 1.62720e+04 5.72000e+02 -2915 1.64000e+04 5.72000e+02 -2916 1.65600e+04 5.72000e+02 -2917 1.66560e+04 5.72000e+02 -2918 1.67520e+04 5.72000e+02 -2919 1.69120e+04 5.72000e+02 -2920 1.70400e+04 5.72000e+02 -2921 1.71840e+04 5.72000e+02 -2922 1.73920e+04 5.72000e+02 -2923 1.75040e+04 5.72000e+02 -2924 1.78240e+04 5.72000e+02 -2925 1.79680e+04 5.72000e+02 -2926 1.80320e+04 5.72000e+02 -2927 1.81280e+04 3.52000e+02 -2928 7.56800e+03 8.75600e+03 -2929 7.60000e+03 6.11600e+03 -2930 7.63200e+03 1.18800e+03 -2931 7.63200e+03 4.81800e+03 -2932 1.17280e+04 9.02000e+02 -2933 1.17280e+04 4.48800e+03 -2934 1.17280e+04 6.07200e+03 -2935 1.17280e+04 7.39200e+03 -2936 1.17440e+04 8.22800e+03 -2937 1.17600e+04 1.11650e+04 -2938 1.90240e+04 1.15280e+04 -2939 1.22720e+04 9.02000e+02 -2940 1.22720e+04 4.48800e+03 -2941 1.22720e+04 5.96200e+03 -2942 1.23840e+04 6.77600e+03 -2943 1.24960e+04 7.39200e+03 -2944 1.24960e+04 1.14290e+04 -2945 1.06560e+04 8.22800e+03 -2946 1.07360e+04 2.31000e+02 -2947 1.07360e+04 9.02000e+02 -2948 1.07360e+04 1.76000e+03 -2949 1.07360e+04 7.39200e+03 -2950 7.50400e+03 8.75600e+03 -2951 7.56800e+03 6.38000e+02 -2952 7.56800e+03 1.51800e+03 -2953 7.56800e+03 3.94900e+03 -2954 7.56800e+03 4.14700e+03 -2955 7.56800e+03 4.93900e+03 -2956 7.66400e+03 4.04800e+03 -2957 7.76000e+03 4.04800e+03 -2958 7.82400e+03 4.04800e+03 -2959 7.88800e+03 4.04800e+03 -2960 7.95200e+03 4.04800e+03 -2961 8.04800e+03 4.04800e+03 -2962 8.20800e+03 4.04800e+03 -2963 8.33600e+03 4.04800e+03 -2964 8.43200e+03 4.04800e+03 -2965 8.49600e+03 4.04800e+03 -2966 8.68800e+03 4.04800e+03 -2967 8.76300e+03 4.04800e+03 -2968 8.78400e+03 1.18800e+03 -2969 8.78400e+03 3.94900e+03 -2970 8.78400e+03 8.86600e+03 -2971 7.88800e+03 9.06400e+03 -2972 7.92000e+03 1.18800e+03 -2973 7.92000e+03 4.81800e+03 -2974 7.92000e+03 8.76700e+03 -2975 7.94000e+03 4.26800e+03 -2976 8.04800e+03 4.26800e+03 -2977 8.20800e+03 4.26800e+03 -2978 8.33600e+03 4.26800e+03 -2979 8.43200e+03 4.26800e+03 -2980 8.49600e+03 4.26800e+03 -2981 8.68800e+03 4.26800e+03 -2982 8.75200e+03 4.26800e+03 -2983 8.84800e+03 4.26800e+03 -2984 8.91200e+03 4.26800e+03 -2985 8.99200e+03 4.26800e+03 -2986 9.44000e+03 4.26800e+03 -2987 9.55200e+03 4.26800e+03 -2988 9.68000e+03 4.26800e+03 -2989 9.82400e+03 4.26800e+03 -2990 9.93600e+03 4.26800e+03 -2991 1.00000e+04 4.26800e+03 -2992 1.02240e+04 4.26800e+03 -2993 1.02880e+04 4.26800e+03 -2994 1.03840e+04 4.26800e+03 -2995 1.05230e+04 4.26800e+03 -2996 1.05440e+04 2.31000e+02 -2997 1.05440e+04 1.01200e+03 -2998 1.05440e+04 1.76000e+03 -2999 1.05440e+04 7.39200e+03 -3000 1.06560e+04 1.11320e+04 -3001 1.07680e+04 1.11320e+04 -3002 1.09280e+04 1.11320e+04 -3003 1.09920e+04 1.15500e+04 -3004 1.09920e+04 1.13080e+04 -3005 8.20800e+03 7.01800e+03 -3006 8.20800e+03 8.75600e+03 -3007 8.33600e+03 4.70800e+03 -3008 8.43200e+03 4.70800e+03 -3009 8.49600e+03 4.70800e+03 -3010 8.75200e+03 4.70800e+03 -3011 8.84800e+03 4.70800e+03 -3012 8.99200e+03 4.70800e+03 -3013 9.44000e+03 4.70800e+03 -3014 9.55200e+03 4.70800e+03 -3015 9.68000e+03 4.70800e+03 -3016 9.82400e+03 4.70800e+03 -3017 9.93600e+03 4.70800e+03 -3018 1.00000e+04 4.70800e+03 -3019 1.02240e+04 4.70800e+03 -3020 1.02880e+04 4.70800e+03 -3021 1.03840e+04 4.70800e+03 -3022 1.05120e+04 4.70800e+03 -3023 1.05870e+04 4.70800e+03 -3024 1.06080e+04 2.31000e+02 -3025 1.06080e+04 9.02000e+02 -3026 1.06080e+04 1.76000e+03 -3027 1.19840e+04 9.02000e+02 -3028 1.19840e+04 4.48800e+03 -3029 1.19840e+04 6.07200e+03 -3030 1.20000e+04 6.77600e+03 -3031 1.20160e+04 7.39200e+03 -3032 1.20160e+04 1.11650e+04 -3033 8.56000e+03 5.96200e+03 -3034 8.56000e+03 7.01800e+03 -3035 8.56000e+03 8.86600e+03 -3036 8.62400e+03 2.28800e+03 -3037 8.75200e+03 2.28800e+03 -3038 8.84800e+03 2.28800e+03 -3039 8.97600e+03 2.28800e+03 -3040 9.04000e+03 2.28800e+03 -3041 9.26400e+03 2.28800e+03 -3042 9.36000e+03 6.71000e+02 -3043 9.36000e+03 1.76000e+03 -3044 1.13760e+04 1.13850e+04 -3045 1.14400e+04 2.31000e+02 -3046 1.14400e+04 9.02000e+02 -3047 1.14400e+04 4.48800e+03 -3048 1.14400e+04 6.07200e+03 -3049 1.14400e+04 7.39200e+03 -3050 1.02560e+04 8.22800e+03 -3051 1.03520e+04 2.31000e+02 -3052 1.03520e+04 1.01200e+03 -3053 1.03520e+04 1.76000e+03 -3054 1.03520e+04 7.39200e+03 -3055 1.14720e+04 7.39200e+03 -3056 1.14720e+04 1.12750e+04 -3057 1.14920e+04 6.33600e+03 -3058 1.15680e+04 2.31000e+02 -3059 1.15680e+04 9.02000e+02 -3060 1.15680e+04 4.48800e+03 -3061 1.15680e+04 6.08300e+03 -3062 1.11840e+04 1.13850e+04 -3063 1.12040e+04 9.06400e+03 -3064 1.13440e+04 9.06400e+03 -3065 1.15150e+04 9.06400e+03 -3066 1.15360e+04 2.31000e+02 -3067 1.15360e+04 9.02000e+02 -3068 1.15360e+04 4.48800e+03 -3069 1.15360e+04 5.96200e+03 -3070 1.15360e+04 7.39200e+03 -3071 6.56000e+02 3.57500e+03 -3072 6.56000e+02 9.92200e+03 -3073 1.58240e+04 5.36800e+03 -3074 1.58240e+04 6.79800e+03 -3075 1.58240e+04 8.42600e+03 -3076 1.58240e+04 9.87800e+03 -3077 1.58240e+04 1.06260e+04 -3078 1.58240e+04 1.14290e+04 -3079 1.58880e+04 4.48800e+03 -3080 1.59840e+04 4.48800e+03 -3081 1.61280e+04 4.48800e+03 -3082 1.62830e+04 4.48800e+03 -3083 1.63040e+04 2.22200e+03 -3084 1.63040e+04 3.86100e+03 -3085 6.60800e+03 4.29000e+02 -3086 6.60800e+03 1.51800e+03 -3087 6.60800e+03 2.57400e+03 -3088 6.60800e+03 4.04800e+03 -3089 6.66000e+03 5.06000e+03 -3090 6.78400e+03 5.06000e+03 -3091 6.89600e+03 7.12800e+03 -3092 6.89600e+03 8.64600e+03 -3093 6.89600e+03 1.08020e+04 -3094 1.20480e+04 7.39200e+03 -3095 1.20480e+04 1.11650e+04 -3096 1.21870e+04 6.77600e+03 -3097 1.22080e+04 9.02000e+02 -3098 1.22080e+04 4.48800e+03 -3099 1.22080e+04 5.96200e+03 -3100 1.55000e+02 1.11980e+04 -3101 8.91200e+03 5.96200e+03 -3102 8.91200e+03 7.01800e+03 -3103 8.91200e+03 9.87800e+03 -3104 8.99200e+03 4.48800e+03 -3105 9.44000e+03 4.48800e+03 -3106 9.55200e+03 4.48800e+03 -3107 9.68000e+03 4.48800e+03 -3108 9.82400e+03 4.48800e+03 -3109 9.93600e+03 4.48800e+03 -3110 1.00000e+04 4.48800e+03 -3111 1.02240e+04 4.48800e+03 -3112 1.02880e+04 4.48800e+03 -3113 1.03840e+04 4.48800e+03 -3114 1.05120e+04 4.48800e+03 -3115 1.05760e+04 4.48800e+03 -3116 1.06400e+04 4.48800e+03 -3117 1.07040e+04 4.48800e+03 -3118 1.08000e+04 4.48800e+03 -3119 1.08640e+04 2.31000e+02 -3120 1.08640e+04 9.02000e+02 -3121 1.08640e+04 1.76000e+03 -3122 1.08640e+04 4.38900e+03 -3123 1.08640e+04 4.58700e+03 -3124 1.09280e+04 5.89600e+03 -3125 1.10670e+04 5.89600e+03 -3126 1.10880e+04 7.39200e+03 -3127 1.10880e+04 1.13850e+04 -3128 9.26400e+03 6.90800e+03 -3129 9.26400e+03 9.87800e+03 -3130 9.44000e+03 3.16800e+03 -3131 9.52000e+03 2.31000e+02 -3132 9.52000e+03 1.01200e+03 -3133 9.52000e+03 1.76000e+03 -3134 1.22400e+04 9.02000e+02 -3135 1.22400e+04 4.48800e+03 -3136 1.22400e+04 5.96200e+03 -3137 1.22400e+04 7.39200e+03 -3138 1.22400e+04 1.11650e+04 -3139 7.31200e+03 8.75600e+03 -3140 7.31200e+03 1.08020e+04 -3141 7.53600e+03 6.38000e+02 -3142 7.53600e+03 1.51800e+03 -3143 7.53600e+03 4.04800e+03 -3144 7.53600e+03 4.81800e+03 -3145 3.28000e+03 3.11300e+03 -3146 3.28000e+03 6.86400e+03 -3147 3.30000e+03 9.37200e+03 -3148 3.50400e+03 9.37200e+03 -3149 3.56800e+03 9.37200e+03 -3150 3.63200e+03 1.01420e+04 -3151 1.13760e+04 2.31000e+02 -3152 1.13760e+04 9.02000e+02 -3153 1.13760e+04 4.48800e+03 -3154 1.13760e+04 6.07200e+03 -3155 1.13760e+04 7.39200e+03 -3156 1.15040e+04 8.22800e+03 -3157 1.15680e+04 1.12750e+04 -3158 1.12800e+04 1.13850e+04 -3159 1.13160e+04 1.04720e+04 -3160 1.14400e+04 1.04720e+04 -3161 1.15200e+04 1.04720e+04 -3162 1.16000e+04 1.04720e+04 -3163 1.17120e+04 1.04720e+04 -3164 1.17920e+04 1.04720e+04 -3165 1.19840e+04 1.04720e+04 -3166 1.20800e+04 1.04720e+04 -3167 1.22080e+04 1.04720e+04 -3168 1.23840e+04 1.04720e+04 -3169 1.25280e+04 1.04720e+04 -3170 1.26560e+04 1.04720e+04 -3171 1.28160e+04 1.04720e+04 -3172 1.29440e+04 1.04720e+04 -3173 1.30880e+04 1.04720e+04 -3174 1.32320e+04 1.04720e+04 -3175 1.33920e+04 1.04720e+04 -3176 1.35360e+04 1.04720e+04 -3177 1.36960e+04 1.04720e+04 -3178 1.39680e+04 1.04720e+04 -3179 1.41600e+04 2.53000e+03 -3180 1.41600e+04 5.25800e+03 -3181 1.41600e+04 7.17200e+03 -3182 1.41600e+04 8.86600e+03 -3183 1.41600e+04 9.87800e+03 -3184 3.15200e+03 3.11300e+03 -3185 3.15200e+03 6.86400e+03 -3186 3.18800e+03 7.92000e+03 -3187 3.31200e+03 7.92000e+03 -3188 3.40800e+03 1.01530e+04 -3189 3.40800e+03 1.05710e+04 -3190 3.50400e+03 1.04720e+04 -3191 3.58400e+03 1.04720e+04 -3192 3.71200e+03 1.04720e+04 -3193 3.88800e+03 1.04720e+04 -3194 4.04800e+03 1.04720e+04 -3195 4.12800e+03 1.04720e+04 -3196 4.27200e+03 1.04720e+04 -3197 4.40000e+03 1.04720e+04 -3198 4.52800e+03 1.04720e+04 -3199 4.62400e+03 1.04720e+04 -3200 4.68800e+03 1.04720e+04 -3201 4.78400e+03 1.04720e+04 -3202 4.95500e+03 1.04720e+04 -3203 4.97600e+03 1.03730e+04 -3204 4.99200e+03 9.81200e+03 -3205 4.97600e+03 1.14950e+04 -3206 5.00800e+03 2.17800e+03 -3207 5.00800e+03 4.04800e+03 -3208 5.00800e+03 6.40200e+03 -3209 5.28000e+02 3.57500e+03 -3210 5.28000e+02 9.81200e+03 -3211 1.60160e+04 2.22200e+03 -3212 1.60160e+04 3.74000e+03 -3213 1.60160e+04 5.36800e+03 -3214 1.60160e+04 6.79800e+03 -3215 1.60160e+04 7.76600e+03 -3216 1.60160e+04 8.62400e+03 -3217 1.60160e+04 9.83400e+03 -3218 1.60680e+04 9.92200e+03 -3219 1.62080e+04 9.92200e+03 -3220 1.64320e+04 9.92200e+03 -3221 1.64960e+04 9.92200e+03 -3222 1.65920e+04 9.92200e+03 -3223 1.66880e+04 9.92200e+03 -3224 1.67840e+04 9.92200e+03 -3225 1.69120e+04 9.92200e+03 -3226 1.70400e+04 9.92200e+03 -3227 1.71360e+04 9.92200e+03 -3228 1.72800e+04 9.92200e+03 -3229 1.73600e+04 1.06700e+04 -3230 1.73600e+04 1.15280e+04 -3231 5.87200e+03 8.38200e+03 -3232 5.87200e+03 1.08020e+04 -3233 5.88800e+03 5.06000e+03 -3234 5.90400e+03 2.09000e+02 -3235 5.90400e+03 2.02400e+03 -3236 5.90400e+03 4.04800e+03 -3237 9.76000e+02 1.10550e+04 -3238 1.10400e+03 1.09120e+04 -3239 1.23200e+03 1.09120e+04 -3240 1.58400e+03 1.09120e+04 -3241 1.71200e+03 1.09120e+04 -3242 1.77600e+03 1.09120e+04 -3243 1.90400e+03 1.09120e+04 -3244 2.06400e+03 1.09120e+04 -3245 2.24000e+03 1.09120e+04 -3246 2.46400e+03 1.09120e+04 -3247 2.73600e+03 1.09120e+04 -3248 3.01900e+03 1.09120e+04 -3249 3.05600e+03 3.11300e+03 -3250 3.05600e+03 6.86400e+03 -3251 3.05600e+03 1.01530e+04 -3252 3.16800e+03 1.09120e+04 -3253 3.34400e+03 1.09120e+04 -3254 3.50400e+03 1.09120e+04 -3255 3.58400e+03 1.09120e+04 -3256 3.71200e+03 1.09120e+04 -3257 3.88800e+03 1.09120e+04 -3258 4.04800e+03 1.09120e+04 -3259 4.12800e+03 1.09120e+04 -3260 4.27200e+03 1.09120e+04 -3261 4.40000e+03 1.09120e+04 -3262 4.46400e+03 1.09120e+04 -3263 4.52800e+03 1.09120e+04 -3264 4.62400e+03 1.09120e+04 -3265 4.68800e+03 1.14950e+04 -3266 1.34560e+04 8.53600e+03 -3267 1.34560e+04 9.17400e+03 -3268 1.34560e+04 1.14290e+04 -3269 1.35200e+04 7.78800e+03 -3270 1.36320e+04 7.78800e+03 -3271 1.37600e+04 7.78800e+03 -3272 1.39680e+04 7.78800e+03 -3273 1.41920e+04 7.78800e+03 -3274 1.42720e+04 7.78800e+03 -3275 1.43840e+04 7.78800e+03 -3276 1.44480e+04 2.53000e+03 -3277 1.44480e+04 5.36800e+03 -3278 1.44480e+04 6.79800e+03 -3279 1.45120e+04 7.78800e+03 -3280 1.47040e+04 7.78800e+03 -3281 1.48160e+04 7.78800e+03 -3282 1.49280e+04 7.88700e+03 -3283 1.49280e+04 8.64600e+03 -3284 1.49280e+04 9.87800e+03 -3285 1.49280e+04 1.14290e+04 -3286 1.60480e+04 2.22200e+03 -3287 1.60480e+04 3.74000e+03 -3288 1.60480e+04 5.36800e+03 -3289 1.60480e+04 6.79800e+03 -3290 1.60480e+04 7.76600e+03 -3291 1.61280e+04 8.40400e+03 -3292 1.63040e+04 8.40400e+03 -3293 1.64320e+04 8.40400e+03 -3294 1.65920e+04 8.40400e+03 -3295 1.66880e+04 8.40400e+03 -3296 1.67520e+04 8.40400e+03 -3297 1.68160e+04 8.40400e+03 -3298 1.69120e+04 8.40400e+03 -3299 1.70080e+04 1.05600e+04 -3300 1.70080e+04 1.15280e+04 -3301 5.60000e+02 9.80100e+03 -3302 7.52000e+02 8.40400e+03 -3303 9.12000e+02 8.40400e+03 -3304 9.76000e+02 8.40400e+03 -3305 1.10400e+03 8.40400e+03 -3306 1.23200e+03 8.40400e+03 -3307 1.32800e+03 8.40400e+03 -3308 1.53600e+03 8.40400e+03 -3309 1.61600e+03 8.40400e+03 -3310 1.69600e+03 8.40400e+03 -3311 1.77600e+03 8.40400e+03 -3312 1.87200e+03 8.40400e+03 -3313 1.93600e+03 8.40400e+03 -3314 2.11200e+03 8.40400e+03 -3315 2.19200e+03 8.40400e+03 -3316 2.28800e+03 8.40400e+03 -3317 2.46400e+03 8.40400e+03 -3318 2.63500e+03 8.40400e+03 -3319 2.70400e+03 3.11300e+03 -3320 2.70400e+03 6.86400e+03 -3321 2.80400e+03 8.14000e+03 -3322 2.96000e+03 8.14000e+03 -3323 3.02400e+03 8.14000e+03 -3324 3.16800e+03 8.14000e+03 -3325 3.31200e+03 8.14000e+03 -3326 3.50400e+03 8.14000e+03 -3327 3.63200e+03 8.14000e+03 -3328 3.69600e+03 8.14000e+03 -3329 3.82400e+03 8.14000e+03 -3330 3.95200e+03 8.14000e+03 -3331 4.09600e+03 8.14000e+03 -3332 4.27200e+03 8.14000e+03 -3333 4.33600e+03 8.14000e+03 -3334 2.70400e+03 8.25000e+03 -3335 4.43200e+03 1.14950e+04 -3336 1.40320e+04 2.53000e+03 -3337 1.40320e+04 5.25800e+03 -3338 1.40320e+04 7.29300e+03 -3339 1.40680e+04 7.56800e+03 -3340 1.41920e+04 7.56800e+03 -3341 1.42720e+04 7.56800e+03 -3342 1.43840e+04 7.56800e+03 -3343 1.45120e+04 7.56800e+03 -3344 1.47040e+04 7.56800e+03 -3345 1.48160e+04 7.56800e+03 -3346 1.49280e+04 7.56800e+03 -3347 1.51310e+04 7.56800e+03 -3348 1.52480e+04 7.77700e+03 -3349 1.52480e+04 8.64600e+03 -3350 1.52480e+04 9.87800e+03 -3351 1.52480e+04 1.06260e+04 -3352 1.52480e+04 1.14290e+04 -3353 1.35840e+04 2.53000e+03 -3354 1.35840e+04 3.94900e+03 -3355 1.36200e+04 4.04800e+03 -3356 1.38720e+04 4.04800e+03 -3357 1.40960e+04 4.04800e+03 -3358 1.42240e+04 4.04800e+03 -3359 1.44000e+04 4.04800e+03 -3360 1.45120e+04 4.04800e+03 -3361 1.47360e+04 4.04800e+03 -3362 1.48000e+04 4.04800e+03 -3363 1.48960e+04 4.25700e+03 -3364 1.48960e+04 5.47800e+03 -3365 1.48960e+04 6.79800e+03 -3366 1.48960e+04 8.64600e+03 -3367 1.48960e+04 9.87800e+03 -3368 1.48960e+04 1.14290e+04 -3369 1.46080e+04 2.53000e+03 -3370 1.46080e+04 5.36800e+03 -3371 1.46080e+04 6.79800e+03 -3372 1.46080e+04 8.64600e+03 -3373 1.46080e+04 9.87800e+03 -3374 1.46080e+04 1.15390e+04 -3375 1.33920e+04 1.60600e+03 -3376 1.33920e+04 2.79400e+03 -3377 1.33920e+04 3.93800e+03 -3378 1.33920e+04 4.92800e+03 -3379 1.34560e+04 6.24800e+03 -3380 1.35200e+04 6.24800e+03 -3381 1.36320e+04 6.24800e+03 -3382 1.37600e+04 6.24800e+03 -3383 1.39200e+04 6.24800e+03 -3384 1.40800e+04 6.24800e+03 -3385 1.41920e+04 6.24800e+03 -3386 1.42560e+04 6.24800e+03 -3387 1.44000e+04 6.24800e+03 -3388 1.45120e+04 6.24800e+03 -3389 1.47040e+04 6.24800e+03 -3390 1.48160e+04 6.24800e+03 -3391 1.49280e+04 6.24800e+03 -3392 1.51360e+04 6.24800e+03 -3393 1.53280e+04 6.24800e+03 -3394 1.54400e+04 6.24800e+03 -3395 1.56000e+04 6.24800e+03 -3396 1.57120e+04 6.24800e+03 -3397 1.57920e+04 6.24800e+03 -3398 1.58880e+04 6.24800e+03 -3399 1.59840e+04 6.24800e+03 -3400 1.61280e+04 6.24800e+03 -3401 1.62880e+04 6.24800e+03 -3402 1.65440e+04 6.24800e+03 -3403 1.66560e+04 6.67700e+03 -3404 1.66560e+04 7.87600e+03 -3405 1.66560e+04 1.08900e+04 -3406 1.66720e+04 6.24800e+03 -3407 1.66880e+04 1.01200e+03 -3408 1.66880e+04 2.22200e+03 -3409 1.66880e+04 3.85000e+03 -3410 1.66880e+04 5.47800e+03 -3411 1.27520e+04 1.60600e+03 -3412 1.27520e+04 2.43100e+03 -3413 1.28160e+04 2.64000e+03 -3414 1.29440e+04 2.64000e+03 -3415 1.31200e+04 2.64000e+03 -3416 1.33390e+04 2.64000e+03 -3417 1.33600e+04 3.00300e+03 -3418 1.33600e+04 3.93800e+03 -3419 1.33600e+04 4.92800e+03 -3420 1.33600e+04 6.40200e+03 -3421 1.33600e+04 7.39200e+03 -3422 1.33600e+04 8.53600e+03 -3423 1.33600e+04 9.17400e+03 -3424 1.33600e+04 1.14290e+04 -3425 1.62080e+04 2.22200e+03 -3426 1.62080e+04 3.74000e+03 -3427 1.62080e+04 5.36800e+03 -3428 1.62080e+04 6.79800e+03 -3429 1.62080e+04 7.76600e+03 -3430 1.62830e+04 8.62400e+03 -3431 1.63040e+04 1.04610e+04 -3432 1.63040e+04 1.14290e+04 -3433 1.39200e+03 8.77800e+03 -3434 1.39200e+03 1.00320e+04 -3435 1.45600e+03 6.33600e+03 -3436 1.55200e+03 6.33600e+03 -3437 1.64800e+03 6.33600e+03 -3438 1.76000e+03 6.33600e+03 -3439 1.87200e+03 6.33600e+03 -3440 2.00000e+03 6.33600e+03 -3441 2.11200e+03 6.33600e+03 -3442 2.19200e+03 6.33600e+03 -3443 2.28800e+03 6.33600e+03 -3444 2.48000e+03 6.33600e+03 -3445 2.60800e+03 6.33600e+03 -3446 2.73600e+03 6.33600e+03 -3447 2.88000e+03 6.33600e+03 -3448 3.02400e+03 6.33600e+03 -3449 3.20000e+03 6.33600e+03 -3450 3.31200e+03 6.33600e+03 -3451 3.40800e+03 3.05800e+03 -3452 3.40800e+03 6.16000e+03 -3453 3.80800e+03 6.33600e+03 -3454 3.88800e+03 6.33600e+03 -3455 3.95200e+03 6.33600e+03 -3456 4.09600e+03 6.33600e+03 -3457 4.17600e+03 6.33600e+03 -3458 4.25600e+03 6.33600e+03 -3459 4.43200e+03 6.33600e+03 -3460 4.49600e+03 6.33600e+03 -3461 4.56000e+03 7.81000e+03 -3462 4.56000e+03 8.86600e+03 -3463 4.56000e+03 1.14950e+04 -3464 3.69600e+03 3.11300e+03 -3465 3.69600e+03 7.02900e+03 -3466 3.80800e+03 7.26000e+03 -3467 3.88800e+03 7.26000e+03 -3468 3.95200e+03 7.26000e+03 -3469 4.09600e+03 7.26000e+03 -3470 4.17600e+03 7.26000e+03 -3471 4.25600e+03 7.26000e+03 -3472 4.33600e+03 7.26000e+03 -3473 4.43200e+03 7.26000e+03 -3474 4.49600e+03 7.26000e+03 -3475 4.64000e+03 7.26000e+03 -3476 4.76800e+03 7.26000e+03 -3477 4.84800e+03 7.26000e+03 -3478 4.91200e+03 7.26000e+03 -3479 5.04000e+03 1.14950e+04 -3480 4.91200e+03 1.14950e+04 -3481 5.10400e+03 2.17800e+03 -3482 5.10400e+03 4.04800e+03 -3483 5.10400e+03 6.40200e+03 -3484 5.10400e+03 7.31500e+03 -3485 1.43520e+04 2.53000e+03 -3486 1.43520e+04 5.36800e+03 -3487 1.43520e+04 6.90800e+03 -3488 1.43520e+04 8.86600e+03 -3489 1.43520e+04 9.87800e+03 -3490 1.43520e+04 1.15390e+04 -3491 5.32800e+03 6.39100e+03 -3492 5.32800e+03 7.19400e+03 -3493 5.32800e+03 1.05820e+04 -3494 5.39200e+03 2.17800e+03 -3495 5.39200e+03 4.04800e+03 -3496 5.74400e+03 1.08020e+04 -3497 5.76000e+03 8.62400e+03 -3498 5.77600e+03 2.02400e+03 -3499 5.77600e+03 4.04800e+03 -3500 5.77600e+03 8.39300e+03 -3501 1.48800e+03 3.11300e+03 -3502 1.48800e+03 6.90800e+03 -3503 1.48800e+03 8.77800e+03 -3504 1.48800e+03 1.00320e+04 -3505 4.01600e+03 2.95900e+03 -3506 4.01600e+03 6.90800e+03 -3507 4.12800e+03 9.15200e+03 -3508 4.27200e+03 9.15200e+03 -3509 7.98400e+03 1.18800e+03 -3510 7.98400e+03 4.81800e+03 -3511 7.98400e+03 8.75600e+03 -3512 6.16000e+03 4.29000e+02 -3513 6.16000e+03 2.02400e+03 -3514 6.16000e+03 4.04800e+03 -3515 6.16000e+03 8.38200e+03 -3516 6.16000e+03 1.08020e+04 -3517 6.16000e+03 1.14950e+04 -3518 5.26400e+03 2.17800e+03 -3519 5.26400e+03 4.04800e+03 -3520 5.26400e+03 6.40200e+03 -3521 5.26400e+03 7.19400e+03 -3522 5.55200e+03 9.81200e+03 -3523 5.63200e+03 9.81200e+03 -3524 5.80800e+03 9.81200e+03 -3525 5.96800e+03 9.81200e+03 -3526 6.03200e+03 9.81200e+03 -3527 6.11200e+03 9.81200e+03 -3528 6.19200e+03 9.81200e+03 -3529 6.35200e+03 9.81200e+03 -3530 6.44800e+03 9.81200e+03 -3531 6.67200e+03 9.81200e+03 -3532 6.84800e+03 9.81200e+03 -3533 6.92800e+03 9.81200e+03 -3534 7.02400e+03 9.81200e+03 -3535 7.21600e+03 9.81200e+03 -3536 7.53600e+03 9.81200e+03 -3537 7.60000e+03 9.81200e+03 -3538 7.69600e+03 9.81200e+03 -3539 7.82400e+03 9.81200e+03 -3540 7.90400e+03 9.81200e+03 -3541 8.09600e+03 9.81200e+03 -3542 8.17600e+03 9.81200e+03 -3543 8.27200e+03 9.81200e+03 -3544 8.36800e+03 9.81200e+03 -3545 8.43200e+03 9.81200e+03 -3546 8.72000e+03 9.81200e+03 -3547 8.85900e+03 9.81200e+03 -3548 8.88000e+03 9.91100e+03 -3549 9.20000e+03 7.01800e+03 -3550 9.20000e+03 8.07400e+03 -3551 9.20000e+03 9.87800e+03 -3552 9.29600e+03 6.71000e+02 -3553 9.29600e+03 1.76000e+03 -3554 9.29600e+03 2.83800e+03 -3555 6.51200e+03 4.29000e+02 -3556 6.51200e+03 2.02400e+03 -3557 6.51200e+03 4.04800e+03 -3558 6.51200e+03 8.65700e+03 -3559 6.52800e+03 8.84400e+03 -3560 6.54400e+03 9.43800e+03 -3561 6.54400e+03 1.14950e+04 -3562 9.90400e+03 2.31000e+02 -3563 9.90400e+03 1.01200e+03 -3564 9.90400e+03 1.76000e+03 -3565 6.92800e+03 6.38000e+02 -3566 6.92800e+03 1.51800e+03 -3567 6.92800e+03 2.57400e+03 -3568 6.92800e+03 4.04800e+03 -3569 6.92800e+03 7.13900e+03 -3570 6.94400e+03 7.26000e+03 -3571 6.96000e+03 8.64600e+03 -3572 6.96000e+03 1.08020e+04 -3573 1.08960e+04 1.03620e+04 -3574 1.08960e+04 1.14950e+04 -3575 1.09160e+04 9.50400e+03 -3576 1.10400e+04 9.50400e+03 -3577 1.12160e+04 9.50400e+03 -3578 1.12800e+04 2.31000e+02 -3579 1.12800e+04 9.02000e+02 -3580 1.12800e+04 4.48800e+03 -3581 1.12800e+04 7.39200e+03 -3582 7.40800e+03 1.09120e+04 -3583 7.44000e+03 6.38000e+02 -3584 7.44000e+03 1.51800e+03 -3585 7.44000e+03 4.04800e+03 -3586 7.44000e+03 4.92800e+03 -3587 7.44000e+03 8.75600e+03 -3588 1.25920e+04 4.70800e+03 -3589 1.25920e+04 6.07200e+03 -3590 1.25920e+04 7.39200e+03 -3591 1.25920e+04 1.14290e+04 -3592 1.26080e+04 3.60800e+03 -3593 1.26240e+04 1.60600e+03 -3594 1.26240e+04 2.57400e+03 -3595 1.26880e+04 3.60800e+03 -3596 1.27840e+04 3.60800e+03 -3597 1.29280e+04 3.60800e+03 -3598 1.31200e+04 3.60800e+03 -3599 1.33280e+04 3.60800e+03 -3600 1.34560e+04 3.60800e+03 -3601 1.35200e+04 3.60800e+03 -3602 1.36320e+04 3.60800e+03 -3603 1.38720e+04 3.60800e+03 -3604 1.40960e+04 3.60800e+03 -3605 1.42240e+04 3.60800e+03 -3606 1.44000e+04 3.60800e+03 -3607 1.45120e+04 3.60800e+03 -3608 1.47360e+04 3.60800e+03 -3609 1.48000e+04 3.60800e+03 -3610 1.49120e+04 3.60800e+03 -3611 1.51200e+04 3.60800e+03 -3612 1.53280e+04 3.60800e+03 -3613 1.54080e+04 3.60800e+03 -3614 1.54720e+04 3.60800e+03 -3615 1.56000e+04 3.60800e+03 -3616 1.57120e+04 3.60800e+03 -3617 1.57920e+04 3.60800e+03 -3618 1.58990e+04 3.60800e+03 -3619 1.59200e+04 3.92700e+03 -3620 1.59200e+04 5.36800e+03 -3621 1.59200e+04 6.79800e+03 -3622 1.59200e+04 7.76600e+03 -3623 1.59200e+04 8.62400e+03 -3624 1.59200e+04 9.87800e+03 -3625 1.59200e+04 1.06260e+04 -3626 1.59200e+04 1.14290e+04 -3627 1.23360e+04 7.39200e+03 -3628 1.23360e+04 1.11650e+04 -3629 1.23520e+04 6.11600e+03 -3630 1.23680e+04 9.02000e+02 -3631 1.23680e+04 1.60600e+03 -3632 1.23680e+04 4.48800e+03 -3633 1.23680e+04 5.97300e+03 -3634 1.76160e+04 6.57800e+03 -3635 1.76160e+04 7.76600e+03 -3636 1.76160e+04 9.60300e+03 -3637 1.76160e+04 1.06700e+04 -3638 1.78350e+04 5.50000e+03 -3639 1.78720e+04 2.31000e+02 -3640 1.78720e+04 1.62800e+03 -3641 1.78720e+04 4.21300e+03 -3642 1.16320e+04 9.02000e+02 -3643 1.16320e+04 4.48800e+03 -3644 1.16320e+04 6.08300e+03 -3645 1.16480e+04 6.33600e+03 -3646 1.16640e+04 7.39200e+03 -3647 1.16640e+04 1.12750e+04 -3648 1.44800e+04 2.53000e+03 -3649 1.44800e+04 5.36800e+03 -3650 1.44800e+04 6.79800e+03 -3651 1.44800e+04 8.86600e+03 -3652 1.44800e+04 9.87800e+03 -3653 1.44800e+04 1.15390e+04 -3654 1.76480e+04 2.31000e+02 -3655 1.76480e+04 1.78200e+03 -3656 1.76480e+04 4.24600e+03 -3657 1.76480e+04 6.57800e+03 -3658 1.76480e+04 7.76600e+03 -3659 1.76480e+04 9.60300e+03 -3660 1.76480e+04 1.06700e+04 -3661 6.24000e+02 3.57500e+03 -3662 6.24000e+02 9.92200e+03 -3663 1.24000e+04 9.02000e+02 -3664 1.24000e+04 1.60600e+03 -3665 1.24000e+04 4.48800e+03 -3666 1.24000e+04 5.97300e+03 -3667 1.24160e+04 6.11600e+03 -3668 1.24320e+04 7.39200e+03 -3669 1.24320e+04 1.14290e+04 -3670 1.20800e+04 9.02000e+02 -3671 1.20800e+04 4.48800e+03 -3672 1.20800e+04 5.96200e+03 -3673 1.20800e+04 7.39200e+03 -3674 1.20960e+04 9.50400e+03 -3675 1.21120e+04 1.11650e+04 -3676 1.77760e+04 2.31000e+02 -3677 1.77760e+04 1.62800e+03 -3678 1.77760e+04 4.09200e+03 -3679 1.77760e+04 6.20400e+03 -3680 1.77760e+04 7.76600e+03 -3681 1.77760e+04 8.73400e+03 -3682 1.77760e+04 9.60300e+03 -3683 1.77760e+04 1.06700e+04 -3684 1.24640e+04 9.02000e+02 -3685 1.24640e+04 1.60600e+03 -3686 1.25160e+04 4.26800e+03 -3687 1.26880e+04 4.26800e+03 -3688 1.28000e+04 4.26800e+03 -3689 1.29120e+04 4.26800e+03 -3690 1.31200e+04 4.26800e+03 -3691 1.33280e+04 4.26800e+03 -3692 1.34560e+04 4.26800e+03 -3693 1.35200e+04 4.26800e+03 -3694 1.36160e+04 4.26800e+03 -3695 1.38720e+04 4.26800e+03 -3696 1.40910e+04 4.26800e+03 -3697 1.41280e+04 5.25800e+03 -3698 1.41280e+04 7.17200e+03 -3699 1.41280e+04 8.86600e+03 -3700 1.41280e+04 9.87800e+03 -3701 1.41280e+04 1.15390e+04 -3702 1.77440e+04 2.31000e+02 -3703 1.77440e+04 1.74900e+03 -3704 1.78240e+04 2.68400e+03 -3705 1.79790e+04 2.68400e+03 -3706 1.80000e+04 4.67500e+03 -3707 1.80000e+04 7.76600e+03 -3708 1.80000e+04 1.06700e+04 -3709 1.66240e+04 1.01200e+03 -3710 1.66240e+04 2.22200e+03 -3711 1.66240e+04 3.85000e+03 -3712 1.66240e+04 5.47800e+03 -3713 1.66240e+04 6.79800e+03 -3714 1.66240e+04 7.87600e+03 -3715 1.66240e+04 1.08900e+04 -3716 1.32320e+04 1.60600e+03 -3717 1.32320e+04 2.31000e+03 -3718 1.32320e+04 3.12400e+03 -3719 1.32320e+04 3.93800e+03 -3720 1.32320e+04 4.92800e+03 -3721 1.32320e+04 7.28200e+03 -3722 1.32320e+04 8.53600e+03 -3723 1.32320e+04 9.18500e+03 -3724 1.32480e+04 9.28400e+03 -3725 1.32640e+04 1.14290e+04 -3726 1.01920e+04 2.31000e+02 -3727 1.01920e+04 1.01200e+03 -3728 1.01920e+04 1.76000e+03 -3729 1.84160e+04 1.06700e+04 -3730 1.85000e+04 9.43800e+03 -3731 1.86560e+04 9.43800e+03 -3732 1.87840e+04 9.43800e+03 -3733 1.89280e+04 9.43800e+03 -3734 1.90240e+04 9.43800e+03 -3735 9.12000e+02 3.41000e+03 -3736 9.12000e+02 6.86400e+03 -3737 9.28000e+02 7.04000e+03 -3738 9.44000e+02 9.92200e+03 -3739 1.43200e+04 2.53000e+03 -3740 1.43200e+04 5.36800e+03 -3741 1.43200e+04 6.90800e+03 -3742 1.43200e+04 8.86600e+03 -3743 1.43200e+04 9.87800e+03 -3744 1.43200e+04 1.15390e+04 -3745 7.69600e+03 1.18800e+03 -3746 7.69600e+03 4.81800e+03 -3747 7.69600e+03 6.90800e+03 -3748 7.76000e+03 7.70000e+03 -3749 7.82400e+03 7.70000e+03 -3750 7.88800e+03 7.70000e+03 -3751 8.01600e+03 8.75600e+03 -3752 1.88320e+04 1.07250e+04 -3753 1.88320e+04 1.15280e+04 -3754 1.89280e+04 1.04940e+04 -3755 1.90240e+04 1.04940e+04 -3756 1.47680e+04 2.53000e+03 -3757 1.47680e+04 5.47800e+03 -3758 1.47680e+04 6.79800e+03 -3759 1.48000e+04 8.00800e+03 -3760 1.48320e+04 8.64600e+03 -3761 1.48320e+04 9.87800e+03 -3762 1.48320e+04 1.14290e+04 -3763 6.64000e+03 2.20000e+02 -3764 6.67600e+03 3.08000e+02 -3765 6.79500e+03 3.08000e+02 -3766 6.83200e+03 2.20000e+02 -3767 6.83200e+03 5.17000e+02 -3768 6.83200e+03 1.51800e+03 -3769 6.83200e+03 2.57400e+03 -3770 6.83200e+03 4.04800e+03 -3771 6.83200e+03 5.43400e+03 -3772 6.83200e+03 7.12800e+03 -3773 6.83200e+03 8.64600e+03 -3774 6.85200e+03 9.28400e+03 -3775 6.92800e+03 9.28400e+03 -3776 7.02400e+03 9.28400e+03 -3777 7.21600e+03 9.28400e+03 -3778 7.53600e+03 9.28400e+03 -3779 7.60000e+03 9.28400e+03 -3780 7.69600e+03 9.28400e+03 -3781 7.82400e+03 9.28400e+03 -3782 7.90400e+03 9.28400e+03 -3783 8.09600e+03 9.28400e+03 -3784 8.17600e+03 9.28400e+03 -3785 8.27200e+03 9.28400e+03 -3786 8.36800e+03 9.28400e+03 -3787 8.43200e+03 9.28400e+03 -3788 8.72000e+03 9.28400e+03 -3789 8.86400e+03 9.28400e+03 -3790 9.10400e+03 9.28400e+03 -3791 9.72800e+03 9.28400e+03 -3792 1.00320e+04 9.28400e+03 -3793 1.02560e+04 9.28400e+03 -3794 1.04480e+04 9.28400e+03 -3795 1.06560e+04 9.28400e+03 -3796 1.07360e+04 9.28400e+03 -3797 1.08000e+04 9.28400e+03 -3798 1.09120e+04 9.28400e+03 -3799 1.10400e+04 9.28400e+03 -3800 1.12160e+04 9.28400e+03 -3801 1.13440e+04 9.28400e+03 -3802 1.15200e+04 9.28400e+03 -3803 1.16000e+04 9.28400e+03 -3804 1.17120e+04 9.28400e+03 -3805 1.17920e+04 9.28400e+03 -3806 1.19840e+04 9.28400e+03 -3807 1.21280e+04 9.28400e+03 -3808 1.22080e+04 9.28400e+03 -3809 1.23840e+04 9.28400e+03 -3810 1.25280e+04 9.28400e+03 -3811 1.26560e+04 9.28400e+03 -3812 1.28430e+04 9.28400e+03 -3813 1.28800e+04 1.14290e+04 -3814 7.34400e+03 8.75600e+03 -3815 7.34400e+03 1.08020e+04 -3816 7.60000e+03 7.26000e+03 -3817 7.76000e+03 7.26000e+03 -3818 7.82400e+03 7.26000e+03 -3819 7.88800e+03 7.26000e+03 -3820 8.04300e+03 7.26000e+03 -3821 8.08000e+03 1.18800e+03 -3822 8.08000e+03 4.81800e+03 -3823 8.08000e+03 7.02900e+03 -3824 1.01280e+04 2.31000e+02 -3825 1.01280e+04 1.01200e+03 -3826 1.01280e+04 1.76000e+03 -3827 1.01480e+04 5.89600e+03 -3828 1.02240e+04 5.89600e+03 -3829 1.03840e+04 5.89600e+03 -3830 1.05120e+04 5.89600e+03 -3831 1.05870e+04 5.89600e+03 -3832 1.06080e+04 7.39200e+03 -3833 1.06080e+04 1.14950e+04 -3834 1.64960e+04 2.22200e+03 -3835 1.64960e+04 3.85000e+03 -3836 1.64960e+04 5.47800e+03 -3837 1.64960e+04 6.79800e+03 -3838 1.64960e+04 7.76600e+03 -3839 1.65920e+04 9.28400e+03 -3840 1.66880e+04 9.28400e+03 -3841 1.67840e+04 9.28400e+03 -3842 1.69120e+04 9.28400e+03 -3843 1.70400e+04 9.28400e+03 -3844 1.71360e+04 9.28400e+03 -3845 1.72800e+04 9.28400e+03 -3846 1.73920e+04 9.59200e+03 -3847 1.73920e+04 1.06700e+04 -3848 1.73920e+04 1.15280e+04 -3849 4.59200e+03 2.68400e+03 -3850 4.59200e+03 5.43400e+03 -3851 4.59200e+03 7.81000e+03 -3852 4.59200e+03 8.86600e+03 -3853 4.59200e+03 1.14950e+04 -3854 1.05760e+04 7.39200e+03 -3855 1.05760e+04 1.14950e+04 -3856 1.06560e+04 6.33600e+03 -3857 1.08000e+04 6.33600e+03 -3858 1.08640e+04 6.33600e+03 -3859 1.09280e+04 6.33600e+03 -3860 1.10240e+04 2.31000e+02 -3861 1.10240e+04 9.02000e+02 -3862 1.10240e+04 1.76000e+03 -3863 1.10240e+04 4.48800e+03 -3864 2.38400e+03 3.11300e+03 -3865 2.38400e+03 6.64400e+03 -3866 2.38400e+03 1.00320e+04 -3867 2.92800e+03 1.00320e+04 -3868 2.94400e+03 6.95200e+03 -3869 2.96000e+03 3.11300e+03 -3870 2.96000e+03 6.87500e+03 -3871 5.16800e+03 2.17800e+03 -3872 5.16800e+03 4.04800e+03 -3873 5.16800e+03 6.40200e+03 -3874 5.16800e+03 7.45800e+03 -3875 5.16800e+03 1.05820e+04 -3876 2.54400e+03 3.11300e+03 -3877 2.54400e+03 6.75400e+03 -3878 2.54400e+03 1.00320e+04 -3879 9.64800e+03 2.31000e+02 -3880 9.64800e+03 1.01200e+03 -3881 9.64800e+03 1.76000e+03 -3882 9.64800e+03 7.12800e+03 -3883 9.66400e+03 7.78800e+03 -3884 1.80800e+03 8.05200e+03 -3885 1.80800e+03 1.00320e+04 -3886 1.87200e+03 7.17200e+03 -3887 1.98400e+03 7.17200e+03 -3888 2.11200e+03 7.17200e+03 -3889 2.19200e+03 7.17200e+03 -3890 2.28800e+03 7.17200e+03 -3891 2.46400e+03 7.17200e+03 -3892 2.62400e+03 7.17200e+03 -3893 2.73600e+03 7.17200e+03 -3894 2.86400e+03 7.17200e+03 -3895 2.96000e+03 7.17200e+03 -3896 3.02400e+03 7.17200e+03 -3897 3.20000e+03 7.17200e+03 -3898 3.31200e+03 7.17200e+03 -3899 3.40800e+03 7.17200e+03 -3900 3.47200e+03 3.11300e+03 -3901 3.47200e+03 6.98500e+03 -3902 9.48800e+03 2.31000e+02 -3903 9.48800e+03 1.01200e+03 -3904 9.48800e+03 1.76000e+03 -3905 9.48800e+03 7.12800e+03 -3906 2.00000e+03 8.04100e+03 -3907 2.00000e+03 8.77800e+03 -3908 2.00000e+03 1.00320e+04 -3909 2.11200e+03 7.92000e+03 -3910 2.19200e+03 7.92000e+03 -3911 2.28800e+03 7.92000e+03 -3912 2.46400e+03 7.92000e+03 -3913 2.62400e+03 7.92000e+03 -3914 2.81600e+03 7.92000e+03 -3915 2.96000e+03 7.92000e+03 -3916 3.02400e+03 7.92000e+03 -3917 3.12000e+03 3.11300e+03 -3918 3.12000e+03 6.86400e+03 -3919 8.75200e+03 8.86600e+03 -3920 8.81600e+03 1.18800e+03 -3921 8.81600e+03 3.93800e+03 -3922 8.81600e+03 5.97300e+03 -3923 1.00800e+03 3.57500e+03 -3924 1.00800e+03 9.65800e+03 -3925 1.29600e+03 7.82100e+03 -3926 1.29600e+03 9.65800e+03 -3927 1.31600e+03 7.70000e+03 -3928 1.53600e+03 7.70000e+03 -3929 1.64800e+03 7.70000e+03 -3930 1.76000e+03 7.70000e+03 -3931 1.87200e+03 7.70000e+03 -3932 1.98400e+03 7.70000e+03 -3933 2.11200e+03 7.70000e+03 -3934 2.19200e+03 7.70000e+03 -3935 2.28800e+03 7.70000e+03 -3936 2.46400e+03 7.70000e+03 -3937 2.62400e+03 7.70000e+03 -3938 2.74700e+03 7.70000e+03 -3939 2.76800e+03 3.11300e+03 -3940 2.76800e+03 6.86400e+03 -3941 1.36000e+03 3.22300e+03 -3942 1.36000e+03 8.77800e+03 -3943 1.36000e+03 1.00320e+04 -3944 2.03200e+03 8.77800e+03 -3945 2.03200e+03 1.00320e+04 -3946 2.11200e+03 6.95200e+03 -3947 2.19200e+03 6.95200e+03 -3948 2.28800e+03 6.95200e+03 -3949 2.41600e+03 3.11300e+03 -3950 2.41600e+03 6.76500e+03 -3951 5.60000e+02 3.41000e+03 -3952 5.60000e+02 6.86400e+03 -3953 5.76000e+02 7.04000e+03 -3954 5.92000e+02 9.92200e+03 -3955 1.71200e+03 3.11300e+03 -3956 1.71200e+03 7.01800e+03 -3957 1.71200e+03 8.06300e+03 -3958 1.72800e+03 8.18400e+03 -3959 1.74400e+03 1.00320e+04 -3960 5.10400e+03 1.05820e+04 -3961 5.10400e+03 1.14950e+04 -3962 5.12000e+03 7.92000e+03 -3963 5.13600e+03 2.17800e+03 -3964 5.13600e+03 4.04800e+03 -3965 5.13600e+03 6.40200e+03 -3966 5.13600e+03 7.46900e+03 -3967 2.06400e+03 3.11300e+03 -3968 2.06400e+03 6.64400e+03 -3969 2.06400e+03 8.78900e+03 -3970 2.08000e+03 8.93200e+03 -3971 2.09600e+03 1.00320e+04 -3972 3.07200e+03 1.12200e+04 -3973 3.08800e+03 3.11300e+03 -3974 3.08800e+03 6.86400e+03 -3975 3.08800e+03 1.00320e+04 -3976 3.24800e+03 3.11300e+03 -3977 3.24800e+03 6.86400e+03 -3978 3.24800e+03 1.00320e+04 -3979 1.09600e+04 2.31000e+02 -3980 1.09600e+04 9.02000e+02 -3981 1.09600e+04 1.76000e+03 -3982 1.09600e+04 4.48800e+03 -3983 1.09600e+04 7.39200e+03 -3984 1.09600e+04 1.03620e+04 -3985 1.09600e+04 1.14950e+04 -3986 2.97600e+03 1.06920e+04 -3987 2.99200e+03 3.11300e+03 -3988 2.99200e+03 6.86400e+03 -3989 2.99200e+03 1.00430e+04 -3990 1.08320e+04 1.03620e+04 -3991 1.08320e+04 1.14950e+04 -3992 1.08960e+04 2.31000e+02 -3993 1.08960e+04 9.02000e+02 -3994 1.08960e+04 1.76000e+03 -3995 1.08960e+04 4.48800e+03 -3996 1.08960e+04 7.39200e+03 -3997 1.08320e+04 2.31000e+02 -3998 1.08320e+04 9.02000e+02 -3999 1.08320e+04 1.76000e+03 -4000 1.08480e+04 6.77600e+03 -4001 1.08640e+04 7.39200e+03 -4002 1.08640e+04 1.03620e+04 -4003 1.08640e+04 1.14950e+04 -4004 1.79680e+04 1.06700e+04 -4005 1.83680e+04 9.79000e+03 -4006 1.85120e+04 9.79000e+03 -4007 1.86560e+04 9.79000e+03 -4008 1.87840e+04 9.79000e+03 -4009 1.89280e+04 9.79000e+03 -4010 1.90240e+04 9.79000e+03 -4011 3.37600e+03 3.11300e+03 -4012 3.37600e+03 6.86400e+03 -4013 3.50400e+03 9.59200e+03 -4014 3.56800e+03 9.59200e+03 -4015 3.66400e+03 1.01420e+04 -4016 2.22400e+03 3.11300e+03 -4017 2.22400e+03 6.64400e+03 -4018 2.27600e+03 8.71200e+03 -4019 2.46400e+03 8.71200e+03 -4020 2.73600e+03 8.71200e+03 -4021 2.96000e+03 8.71200e+03 -4022 3.02400e+03 8.71200e+03 -4023 3.16800e+03 8.71200e+03 -4024 3.31200e+03 8.71200e+03 -4025 3.50400e+03 8.71200e+03 -4026 3.63200e+03 8.71200e+03 -4027 3.69600e+03 8.71200e+03 -4028 3.82400e+03 8.71200e+03 -4029 3.95200e+03 8.71200e+03 -4030 8.84800e+03 9.06400e+03 -4031 8.88000e+03 1.18800e+03 -4032 8.88000e+03 3.93800e+03 -4033 8.88000e+03 5.96200e+03 -4034 8.88000e+03 7.01800e+03 -4035 1.60800e+04 2.22200e+03 -4036 1.60800e+04 3.74000e+03 -4037 1.60800e+04 5.36800e+03 -4038 1.60800e+04 6.79800e+03 -4039 1.60800e+04 7.76600e+03 -4040 1.60800e+04 8.74500e+03 -4041 1.61120e+04 8.84400e+03 -4042 1.61440e+04 1.06260e+04 -4043 1.61440e+04 1.14290e+04 -4044 1.32960e+04 1.60600e+03 -4045 1.32960e+04 2.31000e+03 -4046 1.32960e+04 3.12400e+03 -4047 1.32960e+04 3.93800e+03 -4048 1.32960e+04 4.92800e+03 -4049 1.34560e+04 5.80800e+03 -4050 1.35200e+04 5.80800e+03 -4051 1.36320e+04 5.80800e+03 -4052 1.37600e+04 5.80800e+03 -4053 1.39200e+04 5.80800e+03 -4054 1.40800e+04 5.80800e+03 -4055 1.42030e+04 5.80800e+03 -4056 1.42240e+04 7.17200e+03 -4057 1.42240e+04 8.86600e+03 -4058 1.42240e+04 9.87800e+03 -4059 1.42240e+04 1.15390e+04 -4060 1.41600e+04 1.15390e+04 -4061 1.41800e+04 1.07800e+04 -4062 1.42720e+04 1.07800e+04 -4063 1.43840e+04 1.07800e+04 -4064 1.44480e+04 1.07800e+04 -4065 1.47040e+04 1.07800e+04 -4066 1.47840e+04 1.07800e+04 -4067 1.49600e+04 2.53000e+03 -4068 1.49600e+04 4.15800e+03 -4069 1.49600e+04 5.47800e+03 -4070 1.49600e+04 6.79800e+03 -4071 1.49600e+04 7.89800e+03 -4072 1.49600e+04 8.64600e+03 -4073 1.49600e+04 9.87800e+03 -4074 1.49600e+04 1.06370e+04 -4075 1.71040e+04 1.05600e+04 -4076 1.71040e+04 1.15280e+04 -4077 1.71200e+04 8.40400e+03 -4078 1.71360e+04 1.78200e+03 -4079 1.71360e+04 4.35600e+03 -4080 1.71360e+04 6.68800e+03 -4081 1.71360e+04 7.72200e+03 -4082 1.54400e+04 8.64600e+03 -4083 1.54400e+04 9.87800e+03 -4084 1.54400e+04 1.06260e+04 -4085 1.54400e+04 1.14290e+04 -4086 1.54600e+04 7.78800e+03 -4087 1.56000e+04 7.78800e+03 -4088 1.57120e+04 7.78800e+03 -4089 1.57920e+04 7.78800e+03 -4090 1.58560e+04 2.53000e+03 -4091 1.58560e+04 4.04800e+03 -4092 1.58560e+04 5.36800e+03 -4093 1.58560e+04 6.79800e+03 -4094 1.58560e+04 7.68900e+03 -4095 1.53440e+04 8.64600e+03 -4096 1.53440e+04 9.87800e+03 -4097 1.53440e+04 1.06260e+04 -4098 1.53440e+04 1.14290e+04 -4099 1.53800e+04 8.00800e+03 -4100 1.54720e+04 8.00800e+03 -4101 1.55680e+04 2.53000e+03 -4102 1.55680e+04 5.36800e+03 -4103 1.55680e+04 6.79800e+03 -4104 4.20800e+03 2.36500e+03 -4105 4.20800e+03 5.43400e+03 -4106 4.20800e+03 6.90800e+03 -4107 1.83200e+04 3.61900e+03 -4108 1.83200e+04 7.87600e+03 -4109 1.83200e+04 9.42700e+03 -4110 1.83200e+04 1.06700e+04 -4111 1.21440e+04 9.02000e+02 -4112 1.21440e+04 4.48800e+03 -4113 1.21440e+04 5.96200e+03 -4114 1.21440e+04 7.39200e+03 -4115 1.21600e+04 9.06400e+03 -4116 1.21760e+04 1.11650e+04 -4117 1.49920e+04 4.32300e+03 -4118 1.49920e+04 5.47800e+03 -4119 1.49920e+04 6.79800e+03 -4120 1.49920e+04 7.89800e+03 -4121 1.49920e+04 8.64600e+03 -4122 1.49920e+04 9.87800e+03 -4123 1.49920e+04 1.06260e+04 -4124 1.49920e+04 1.14290e+04 -4125 1.51240e+04 4.18000e+03 -4126 1.53280e+04 4.18000e+03 -4127 1.54080e+04 4.18000e+03 -4128 1.54720e+04 4.18000e+03 -4129 1.56000e+04 4.18000e+03 -4130 1.57120e+04 4.18000e+03 -4131 1.58030e+04 4.18000e+03 -4132 1.58240e+04 2.53000e+03 -4133 1.58240e+04 4.01500e+03 -4134 1.63360e+04 1.04610e+04 -4135 1.63360e+04 1.14290e+04 -4136 1.64320e+04 8.62400e+03 -4137 1.65920e+04 8.62400e+03 -4138 1.66880e+04 8.62400e+03 -4139 1.67520e+04 8.62400e+03 -4140 1.68160e+04 8.62400e+03 -4141 1.69120e+04 8.62400e+03 -4142 1.70400e+04 8.62400e+03 -4143 1.71360e+04 8.62400e+03 -4144 1.72430e+04 8.62400e+03 -4145 1.72640e+04 1.78200e+03 -4146 1.72640e+04 4.09200e+03 -4147 1.72640e+04 6.68800e+03 -4148 1.72640e+04 7.72200e+03 -4149 1.72640e+04 8.48100e+03 -4150 9.71200e+03 2.31000e+02 -4151 9.71200e+03 1.01200e+03 -4152 9.71200e+03 1.76000e+03 -4153 9.71200e+03 7.12800e+03 -4154 1.70720e+04 1.01200e+03 -4155 1.70720e+04 2.22200e+03 -4156 1.70720e+04 4.35600e+03 -4157 1.70720e+04 6.68800e+03 -4158 1.70720e+04 7.72200e+03 -4159 1.70720e+04 1.05600e+04 -4160 1.70720e+04 1.15280e+04 -4161 1.35520e+04 1.14180e+04 -4162 1.36960e+04 1.12200e+04 -4163 1.39680e+04 1.12200e+04 -4164 1.41920e+04 1.12200e+04 -4165 1.42720e+04 1.12200e+04 -4166 1.43840e+04 1.12200e+04 -4167 1.44480e+04 1.12200e+04 -4168 1.45760e+04 1.12200e+04 -4169 1.46720e+04 2.53000e+03 -4170 1.46720e+04 5.36800e+03 -4171 1.46720e+04 6.79800e+03 -4172 1.46720e+04 8.64600e+03 -4173 1.46720e+04 9.87800e+03 -4174 1.46880e+04 1.12200e+04 -4175 1.47040e+04 1.14180e+04 -4176 1.64640e+04 2.22200e+03 -4177 1.64640e+04 3.85000e+03 -4178 1.64640e+04 5.47800e+03 -4179 1.64640e+04 6.79800e+03 -4180 1.64640e+04 7.76600e+03 -4181 1.64640e+04 1.04610e+04 -4182 1.64640e+04 1.14290e+04 -4183 1.44000e+02 1.15280e+04 -4184 3.20000e+02 1.14400e+04 -4185 4.96000e+02 1.14400e+04 -4186 7.52000e+02 1.14400e+04 -4187 9.12000e+02 1.14400e+04 -4188 1.10400e+03 1.14400e+04 -4189 1.23200e+03 1.14400e+04 -4190 1.58400e+03 1.14400e+04 -4191 1.71200e+03 1.14400e+04 -4192 1.77600e+03 1.14400e+04 -4193 1.90400e+03 1.14400e+04 -4194 2.06400e+03 1.14400e+04 -4195 2.25100e+03 1.14400e+04 -4196 2.35200e+03 3.11300e+03 -4197 2.35200e+03 6.64400e+03 -4198 2.35200e+03 1.00320e+04 -4199 2.35200e+03 1.12970e+04 -4200 2.46400e+03 1.14400e+04 -4201 2.73600e+03 1.14400e+04 -4202 3.00800e+03 1.14400e+04 -4203 3.15200e+03 1.14400e+04 -4204 3.34400e+03 1.14400e+04 -4205 3.50400e+03 1.14400e+04 -4206 3.58400e+03 1.14400e+04 -4207 3.71200e+03 1.14400e+04 -4208 3.88800e+03 1.14400e+04 -4209 4.04800e+03 1.14400e+04 -4210 4.12800e+03 1.14400e+04 -4211 4.27200e+03 1.14400e+04 -4212 4.36800e+03 1.15280e+04 -4213 1.31680e+04 7.28200e+03 -4214 1.31680e+04 8.53600e+03 -4215 1.31680e+04 9.17400e+03 -4216 1.31680e+04 1.14290e+04 -4217 1.32640e+04 1.60600e+03 -4218 1.32640e+04 2.31000e+03 -4219 1.32640e+04 3.12400e+03 -4220 1.32640e+04 3.93800e+03 -4221 1.32640e+04 4.92800e+03 -4222 1.32640e+04 6.41300e+03 -4223 7.79200e+03 8.89900e+03 -4224 7.82400e+03 8.75600e+03 -4225 7.85600e+03 1.18800e+03 -4226 7.85600e+03 4.81800e+03 -4227 7.85600e+03 8.61300e+03 -4228 1.67200e+04 1.01200e+03 -4229 1.67200e+04 2.22200e+03 -4230 1.67200e+04 3.85000e+03 -4231 1.67200e+04 5.47800e+03 -4232 1.67200e+04 6.68800e+03 -4233 1.67200e+04 7.87600e+03 -4234 1.67200e+04 1.05600e+04 -4235 1.67200e+04 1.15280e+04 -4236 1.90560e+04 1.15280e+04 -4237 1.29760e+04 3.93800e+03 -4238 1.29760e+04 4.70800e+03 -4239 1.29760e+04 6.07200e+03 -4240 1.29760e+04 7.28200e+03 -4241 1.29760e+04 8.53600e+03 -4242 1.29760e+04 9.17400e+03 -4243 1.29760e+04 1.14290e+04 -4244 1.30400e+04 4.73000e+02 -4245 1.30400e+04 1.60600e+03 -4246 1.30400e+04 2.31000e+03 -4247 1.59200e+04 2.49700e+03 -4248 1.59360e+04 3.30000e+03 -4249 1.59520e+04 3.77300e+03 -4250 1.59520e+04 5.36800e+03 -4251 1.59520e+04 6.79800e+03 -4252 1.59520e+04 7.76600e+03 -4253 1.59520e+04 8.62400e+03 -4254 1.59520e+04 9.87800e+03 -4255 1.59520e+04 1.06260e+04 -4256 1.59520e+04 1.14290e+04 -4257 5.29600e+03 6.40200e+03 -4258 5.29600e+03 7.19400e+03 -4259 5.29600e+03 1.05820e+04 -4260 5.31200e+03 5.58800e+03 -4261 5.32800e+03 2.17800e+03 -4262 5.32800e+03 4.04800e+03 -4263 1.18560e+04 9.02000e+02 -4264 1.18560e+04 4.48800e+03 -4265 1.18560e+04 5.92900e+03 -4266 1.18720e+04 6.02800e+03 -4267 1.18880e+04 6.17100e+03 -4268 1.18880e+04 7.39200e+03 -4269 1.18880e+04 1.11650e+04 -4270 1.55040e+04 5.83000e+02 -4271 1.55040e+04 2.53000e+03 -4272 1.55040e+04 5.36800e+03 -4273 1.55040e+04 6.79800e+03 -4274 1.55040e+04 8.64600e+03 -4275 1.55520e+04 9.28400e+03 -4276 1.56000e+04 9.87800e+03 -4277 1.56000e+04 1.06260e+04 -4278 1.56000e+04 1.14290e+04 -4279 5.84000e+03 2.09000e+02 -4280 5.84000e+03 2.02400e+03 -4281 5.84000e+03 4.04800e+03 -4282 5.84000e+03 8.38200e+03 -4283 5.84000e+03 1.08020e+04 -4284 4.36800e+03 2.36500e+03 -4285 4.36800e+03 5.43400e+03 -4286 4.36800e+03 7.81000e+03 -4287 4.38800e+03 1.11320e+04 -4288 4.46400e+03 1.11320e+04 -4289 4.52800e+03 1.11320e+04 -4290 4.62400e+03 1.11320e+04 -4291 4.78400e+03 1.11320e+04 -4292 4.94400e+03 1.11320e+04 -4293 5.13600e+03 1.11320e+04 -4294 5.20000e+03 1.11320e+04 -4295 5.36000e+03 1.11320e+04 -4296 5.55200e+03 1.11320e+04 -4297 5.61600e+03 1.11320e+04 -4298 5.80800e+03 1.11320e+04 -4299 5.96800e+03 1.11320e+04 -4300 6.03200e+03 1.11320e+04 -4301 6.11200e+03 1.11320e+04 -4302 6.20800e+03 1.11320e+04 -4303 6.35200e+03 1.11320e+04 -4304 6.46400e+03 1.11320e+04 -4305 6.67200e+03 1.11320e+04 -4306 6.83200e+03 1.11320e+04 -4307 7.02400e+03 1.11320e+04 -4308 7.20000e+03 1.11320e+04 -4309 7.44000e+03 1.11320e+04 -4310 7.53600e+03 1.11320e+04 -4311 7.60000e+03 1.11320e+04 -4312 7.69600e+03 1.11320e+04 -4313 7.82400e+03 1.11320e+04 -4314 7.88800e+03 1.11320e+04 -4315 6.28800e+03 4.29000e+02 -4316 6.28800e+03 2.02400e+03 -4317 6.28800e+03 4.04800e+03 -4318 6.41600e+03 8.22800e+03 -4319 6.54400e+03 8.22800e+03 -4320 6.67200e+03 8.22800e+03 -4321 6.86400e+03 8.22800e+03 -4322 6.92800e+03 8.22800e+03 -4323 7.04000e+03 8.22800e+03 -4324 7.18400e+03 8.22800e+03 -4325 7.53600e+03 8.22800e+03 -4326 7.60000e+03 8.22800e+03 -4327 7.69600e+03 8.22800e+03 -4328 7.76000e+03 8.22800e+03 -4329 7.82400e+03 8.22800e+03 -4330 7.88800e+03 8.22800e+03 -4331 8.09600e+03 8.22800e+03 -4332 8.17600e+03 8.22800e+03 -4333 8.25600e+03 8.22800e+03 -4334 8.44800e+03 8.22800e+03 -4335 8.72000e+03 8.22800e+03 -4336 8.84800e+03 8.22800e+03 -4337 9.11500e+03 8.22800e+03 -4338 9.13600e+03 9.87800e+03 -4339 4.62400e+03 2.68400e+03 -4340 4.62400e+03 5.44500e+03 -4341 4.64400e+03 5.80800e+03 -4342 4.75200e+03 5.80800e+03 -4343 4.84800e+03 5.80800e+03 -4344 4.91200e+03 5.80800e+03 -4345 5.04000e+03 5.80800e+03 -4346 5.32800e+03 5.80800e+03 -4347 5.66400e+03 5.80800e+03 -4348 6.09600e+03 5.80800e+03 -4349 6.19200e+03 5.80800e+03 -4350 6.25600e+03 5.80800e+03 -4351 6.41600e+03 5.80800e+03 -4352 6.56000e+03 5.80800e+03 -4353 6.67200e+03 5.80800e+03 -4354 6.76800e+03 5.80800e+03 -4355 6.86400e+03 5.80800e+03 -4356 6.99200e+03 5.80800e+03 -4357 7.08800e+03 5.80800e+03 -4358 7.18400e+03 5.80800e+03 -4359 7.32800e+03 5.80800e+03 -4360 7.58400e+03 5.80800e+03 -4361 7.66400e+03 5.80800e+03 -4362 7.76000e+03 5.80800e+03 -4363 7.82400e+03 5.80800e+03 -4364 7.88800e+03 5.80800e+03 -4365 7.95200e+03 5.80800e+03 -4366 8.04800e+03 5.80800e+03 -4367 8.17600e+03 5.80800e+03 -4368 8.33600e+03 6.90800e+03 -4369 8.33600e+03 8.64600e+03 -4370 9.00800e+03 1.18800e+03 -4371 9.44000e+03 3.82800e+03 -4372 9.55200e+03 3.82800e+03 -4373 9.68000e+03 3.82800e+03 -4374 9.82400e+03 3.82800e+03 -4375 9.93600e+03 3.82800e+03 -4376 1.00000e+04 3.82800e+03 -4377 1.02240e+04 3.82800e+03 -4378 1.02880e+04 3.82800e+03 -4379 1.03840e+04 3.82800e+03 -4380 1.05120e+04 3.82800e+03 -4381 1.05760e+04 3.82800e+03 -4382 1.06400e+04 3.82800e+03 -4383 1.07040e+04 3.82800e+03 -4384 1.08000e+04 3.82800e+03 -4385 1.09280e+04 3.82800e+03 -4386 1.10560e+04 3.82800e+03 -4387 1.11200e+04 3.82800e+03 -4388 1.12160e+04 3.82800e+03 -4389 1.13440e+04 3.82800e+03 -4390 1.14880e+04 3.82800e+03 -4391 1.16800e+04 3.82800e+03 -4392 1.17600e+04 3.82800e+03 -4393 1.19040e+04 3.82800e+03 -4394 1.20480e+04 3.82800e+03 -4395 1.21760e+04 3.82800e+03 -4396 1.23360e+04 3.82800e+03 -4397 1.24320e+04 3.82800e+03 -4398 1.25280e+04 3.82800e+03 -4399 1.26240e+04 3.82800e+03 -4400 1.26880e+04 3.82800e+03 -4401 1.27520e+04 4.70800e+03 -4402 1.27520e+04 6.07200e+03 -4403 1.27520e+04 7.39200e+03 -4404 1.27520e+04 8.64600e+03 -4405 1.27520e+04 1.14290e+04 -4406 1.45120e+04 9.16300e+03 -4407 1.45120e+04 9.87800e+03 -4408 1.45120e+04 1.15390e+04 -4409 1.47040e+04 9.06400e+03 -4410 1.47840e+04 9.06400e+03 -4411 1.51200e+04 9.06400e+03 -4412 1.53920e+04 9.06400e+03 -4413 1.54720e+04 9.06400e+03 -4414 1.55680e+04 9.06400e+03 -4415 1.57120e+04 9.06400e+03 -4416 1.57920e+04 9.06400e+03 -4417 1.58560e+04 9.06400e+03 -4418 1.59840e+04 9.06400e+03 -4419 1.60800e+04 9.06400e+03 -4420 1.62080e+04 9.06400e+03 -4421 1.64320e+04 9.06400e+03 -4422 1.65920e+04 9.06400e+03 -4423 1.66880e+04 9.06400e+03 -4424 1.67840e+04 9.06400e+03 -4425 1.69120e+04 9.06400e+03 -4426 1.70400e+04 9.06400e+03 -4427 1.71360e+04 9.06400e+03 -4428 1.72800e+04 9.06400e+03 -4429 1.73920e+04 9.06400e+03 -4430 1.74720e+04 9.06400e+03 -4431 1.75520e+04 9.06400e+03 -4432 1.79520e+04 9.06400e+03 -4433 1.82240e+04 9.06400e+03 -4434 1.84270e+04 9.06400e+03 -4435 1.85120e+04 4.03700e+03 -4436 1.85120e+04 8.85500e+03 -4437 6.48000e+03 4.29000e+02 -4438 6.48000e+03 2.02400e+03 -4439 6.48000e+03 4.04800e+03 -4440 6.48000e+03 8.64600e+03 -4441 6.67200e+03 1.02520e+04 -4442 6.84800e+03 1.02520e+04 -4443 7.02400e+03 1.02520e+04 -4444 7.20000e+03 1.02520e+04 -4445 7.37600e+03 1.02520e+04 -4446 7.53600e+03 1.02520e+04 -4447 7.60000e+03 1.02520e+04 -4448 7.69600e+03 1.02520e+04 -4449 7.82400e+03 1.02520e+04 -4450 7.88800e+03 1.02520e+04 -4451 7.98400e+03 1.02520e+04 -4452 8.09600e+03 1.02520e+04 -4453 8.17600e+03 1.02520e+04 -4454 8.27200e+03 1.02520e+04 -4455 8.36800e+03 1.02520e+04 -4456 8.43200e+03 1.02520e+04 -4457 8.72000e+03 1.02520e+04 -4458 8.84800e+03 1.02520e+04 -4459 9.10400e+03 1.02520e+04 -4460 9.72800e+03 1.02520e+04 -4461 1.00320e+04 1.02520e+04 -4462 1.02560e+04 1.02520e+04 -4463 1.03200e+04 1.02520e+04 -4464 7.47200e+03 6.38000e+02 -4465 7.47200e+03 1.51800e+03 -4466 7.47200e+03 4.04800e+03 -4467 7.47200e+03 4.92800e+03 -4468 7.47200e+03 8.75600e+03 -4469 7.53600e+03 1.09120e+04 -4470 7.60000e+03 1.09120e+04 -4471 7.69600e+03 1.09120e+04 -4472 7.82400e+03 1.09120e+04 -4473 7.88800e+03 1.09120e+04 -4474 7.98400e+03 1.09120e+04 -4475 8.09600e+03 1.09120e+04 -4476 8.17600e+03 1.09120e+04 -4477 8.27200e+03 1.09120e+04 -4478 8.36800e+03 1.09120e+04 -4479 8.43200e+03 1.09120e+04 -4480 8.72000e+03 1.09120e+04 -4481 8.84800e+03 1.09120e+04 -4482 9.10400e+03 1.09120e+04 -4483 9.72800e+03 1.09120e+04 -4484 1.00320e+04 1.09120e+04 -4485 1.02560e+04 1.09120e+04 -4486 1.03200e+04 1.09120e+04 -4487 1.04800e+04 1.09120e+04 -4488 1.06560e+04 1.09120e+04 -4489 1.07680e+04 1.09120e+04 -4490 1.09280e+04 1.09120e+04 -4491 1.10240e+04 1.09120e+04 -4492 1.12160e+04 1.09120e+04 -4493 1.13280e+04 1.09120e+04 -4494 1.14400e+04 1.14400e+04 -4495 1.14400e+04 1.10880e+04 -4496 4.84800e+03 7.75500e+03 -4497 4.84800e+03 1.14950e+04 -4498 4.86400e+03 7.61200e+03 -4499 4.88000e+03 2.61800e+03 -4500 4.88000e+03 6.40200e+03 -4501 8.91200e+03 1.18800e+03 -4502 8.91200e+03 3.94900e+03 -4503 8.99200e+03 4.04800e+03 -4504 9.44000e+03 4.04800e+03 -4505 9.55200e+03 4.04800e+03 -4506 9.68000e+03 4.04800e+03 -4507 9.82400e+03 4.04800e+03 -4508 9.93600e+03 4.04800e+03 -4509 1.00000e+04 4.04800e+03 -4510 1.02240e+04 4.04800e+03 -4511 1.02880e+04 4.04800e+03 -4512 1.03840e+04 4.04800e+03 -4513 1.05120e+04 4.04800e+03 -4514 1.05760e+04 4.04800e+03 -4515 1.06400e+04 4.04800e+03 -4516 1.07040e+04 4.04800e+03 -4517 1.08000e+04 4.04800e+03 -4518 1.09280e+04 4.04800e+03 -4519 1.10560e+04 4.04800e+03 -4520 1.11200e+04 4.04800e+03 -4521 1.12160e+04 4.04800e+03 -4522 1.13440e+04 4.04800e+03 -4523 1.14880e+04 4.04800e+03 -4524 1.16800e+04 4.04800e+03 -4525 1.17600e+04 4.04800e+03 -4526 1.19040e+04 4.04800e+03 -4527 1.20480e+04 4.04800e+03 -4528 1.21760e+04 4.04800e+03 -4529 1.23360e+04 4.04800e+03 -4530 1.24320e+04 4.04800e+03 -4531 1.25280e+04 4.04800e+03 -4532 1.26240e+04 4.70800e+03 -4533 1.26240e+04 6.07200e+03 -4534 1.26240e+04 7.39200e+03 -4535 1.26240e+04 1.14290e+04 -4536 1.26880e+04 4.04800e+03 -4537 1.28000e+04 4.04800e+03 -4538 1.28800e+04 1.60600e+03 -4539 1.28800e+04 2.31000e+03 -4540 1.28800e+04 3.94900e+03 -4541 4.65600e+03 2.62900e+03 -4542 4.72000e+03 4.48800e+03 -4543 4.78400e+03 4.48800e+03 -4544 4.84800e+03 4.48800e+03 -4545 4.91200e+03 4.48800e+03 -4546 5.04000e+03 4.48800e+03 -4547 5.29600e+03 4.48800e+03 -4548 5.66400e+03 4.48800e+03 -4549 5.87200e+03 4.48800e+03 -4550 6.12800e+03 4.48800e+03 -4551 6.19200e+03 4.48800e+03 -4552 6.25600e+03 4.48800e+03 -4553 6.41600e+03 4.48800e+03 -4554 6.56000e+03 4.48800e+03 -4555 6.67200e+03 4.48800e+03 -4556 6.78400e+03 4.48800e+03 -4557 6.89600e+03 4.48800e+03 -4558 7.00800e+03 4.48800e+03 -4559 7.08800e+03 4.48800e+03 -4560 7.18400e+03 4.48800e+03 -4561 7.31200e+03 4.48800e+03 -4562 7.50400e+03 4.48800e+03 -4563 7.66400e+03 4.48800e+03 -4564 7.76000e+03 4.48800e+03 -4565 7.82400e+03 4.48800e+03 -4566 7.88800e+03 4.48800e+03 -4567 7.95200e+03 4.48800e+03 -4568 8.04800e+03 4.48800e+03 -4569 8.20800e+03 4.48800e+03 -4570 8.33600e+03 4.48800e+03 -4571 8.43200e+03 4.48800e+03 -4572 8.49600e+03 4.48800e+03 -4573 8.68800e+03 5.96200e+03 -4574 8.68800e+03 8.86600e+03 -4575 1.20160e+04 9.02000e+02 -4576 1.20160e+04 4.48800e+03 -4577 1.20160e+04 6.08300e+03 -4578 1.20360e+04 6.33600e+03 -4579 1.21760e+04 6.33600e+03 -4580 1.23840e+04 6.33600e+03 -4581 1.25230e+04 6.33600e+03 -4582 1.25600e+04 7.39200e+03 -4583 1.25600e+04 1.14290e+04 -4584 1.74560e+04 1.15280e+04 -4585 1.74760e+04 1.14400e+04 -4586 1.75520e+04 1.14400e+04 -4587 1.79200e+04 1.14400e+04 -4588 1.83680e+04 1.14400e+04 -4589 1.85230e+04 1.14400e+04 -4590 1.86080e+04 4.03700e+03 -4591 1.86080e+04 8.52500e+03 -4592 1.86080e+04 1.06700e+04 -4593 1.86080e+04 1.15280e+04 -4594 1.44160e+04 8.86600e+03 -4595 1.44160e+04 9.87800e+03 -4596 1.44160e+04 1.15390e+04 -4597 1.45120e+04 7.34800e+03 -4598 1.47040e+04 7.34800e+03 -4599 1.48160e+04 7.34800e+03 -4600 1.49280e+04 7.34800e+03 -4601 1.51360e+04 7.34800e+03 -4602 1.53280e+04 7.34800e+03 -4603 1.54400e+04 7.34800e+03 -4604 1.56000e+04 7.34800e+03 -4605 1.57120e+04 7.34800e+03 -4606 1.57920e+04 7.34800e+03 -4607 1.58880e+04 7.34800e+03 -4608 1.59840e+04 7.34800e+03 -4609 1.61280e+04 7.34800e+03 -4610 1.62880e+04 7.34800e+03 -4611 1.65440e+04 7.34800e+03 -4612 1.66880e+04 7.34800e+03 -4613 1.67520e+04 7.34800e+03 -4614 1.68160e+04 7.34800e+03 -4615 1.69120e+04 7.34800e+03 -4616 1.70400e+04 7.34800e+03 -4617 1.71040e+04 7.34800e+03 -4618 1.71680e+04 7.34800e+03 -4619 1.74080e+04 7.34800e+03 -4620 1.75040e+04 7.34800e+03 -4621 1.77120e+04 7.34800e+03 -4622 1.78560e+04 7.34800e+03 -4623 1.79680e+04 7.34800e+03 -4624 1.81920e+04 7.34800e+03 -4625 1.82560e+04 7.34800e+03 -4626 1.83840e+04 7.34800e+03 -4627 1.84480e+04 3.56400e+03 -4628 1.84480e+04 7.17200e+03 -4629 8.59200e+03 1.18800e+03 -4630 8.59200e+03 5.96200e+03 -4631 8.59200e+03 6.87500e+03 -4632 8.81600e+03 7.09500e+03 -4633 8.83600e+03 8.75600e+03 -4634 9.10400e+03 8.75600e+03 -4635 9.72800e+03 8.75600e+03 -4636 1.00000e+04 8.75600e+03 -4637 1.02560e+04 8.75600e+03 -4638 1.03520e+04 8.75600e+03 -4639 1.04640e+04 8.75600e+03 -4640 1.06560e+04 8.75600e+03 -4641 1.07360e+04 8.75600e+03 -4642 1.08000e+04 8.75600e+03 -4643 1.09120e+04 8.75600e+03 -4644 1.10400e+04 8.75600e+03 -4645 1.12000e+04 8.75600e+03 -4646 1.13440e+04 8.75600e+03 -4647 1.15040e+04 8.75600e+03 -4648 1.16000e+04 8.75600e+03 -4649 1.17120e+04 8.75600e+03 -4650 1.17920e+04 8.75600e+03 -4651 1.19840e+04 8.75600e+03 -4652 1.21920e+04 8.75600e+03 -4653 1.22720e+04 8.75600e+03 -4654 1.23840e+04 8.75600e+03 -4655 1.25280e+04 8.75600e+03 -4656 1.26560e+04 8.75600e+03 -4657 1.27200e+04 1.14290e+04 -4658 4.91200e+03 2.29900e+03 -4659 5.04000e+03 3.60800e+03 -4660 5.29600e+03 3.60800e+03 -4661 5.66400e+03 3.60800e+03 -4662 5.87200e+03 3.60800e+03 -4663 6.12800e+03 3.60800e+03 -4664 6.19200e+03 3.60800e+03 -4665 6.25600e+03 3.60800e+03 -4666 6.41600e+03 3.60800e+03 -4667 6.56000e+03 3.60800e+03 -4668 6.67200e+03 3.60800e+03 -4669 6.78400e+03 3.60800e+03 -4670 6.89600e+03 3.60800e+03 -4671 7.00800e+03 3.60800e+03 -4672 7.08800e+03 3.60800e+03 -4673 7.18400e+03 3.60800e+03 -4674 7.31200e+03 3.60800e+03 -4675 7.50400e+03 3.60800e+03 -4676 7.66400e+03 3.60800e+03 -4677 7.76000e+03 3.60800e+03 -4678 7.82400e+03 3.60800e+03 -4679 7.88800e+03 3.60800e+03 -4680 7.95200e+03 3.60800e+03 -4681 8.04800e+03 3.60800e+03 -4682 8.20800e+03 3.60800e+03 -4683 8.33600e+03 3.60800e+03 -4684 8.43200e+03 3.60800e+03 -4685 8.49600e+03 3.60800e+03 -4686 8.62400e+03 3.60800e+03 -4687 8.75200e+03 3.60800e+03 -4688 8.84800e+03 3.60800e+03 -4689 8.97600e+03 3.60800e+03 -4690 9.04000e+03 5.96200e+03 -4691 9.04000e+03 6.90800e+03 -4692 9.04000e+03 9.87800e+03 -4693 9.32800e+03 6.71000e+02 -4694 9.32800e+03 1.76000e+03 -4695 9.32800e+03 2.83800e+03 -4696 9.72800e+03 9.72400e+03 -4697 1.00320e+04 9.72400e+03 -4698 1.02560e+04 9.72400e+03 -4699 1.03200e+04 9.72400e+03 -4700 1.04160e+04 9.72400e+03 -4701 1.04800e+04 9.72400e+03 -4702 1.06560e+04 9.72400e+03 -4703 1.07360e+04 9.72400e+03 -4704 1.08000e+04 9.72400e+03 -4705 1.09280e+04 9.72400e+03 -4706 1.10400e+04 9.72400e+03 -4707 1.12160e+04 9.72400e+03 -4708 1.13120e+04 9.72400e+03 -4709 1.14400e+04 9.72400e+03 -4710 1.15200e+04 9.72400e+03 -4711 1.16000e+04 9.72400e+03 -4712 1.17120e+04 9.72400e+03 -4713 1.17920e+04 9.72400e+03 -4714 1.19840e+04 9.72400e+03 -4715 1.20800e+04 9.72400e+03 -4716 1.22080e+04 9.72400e+03 -4717 1.23840e+04 9.72400e+03 -4718 1.25280e+04 9.72400e+03 -4719 1.26560e+04 9.72400e+03 -4720 1.28270e+04 9.72400e+03 -4721 1.28480e+04 1.14290e+04 -4722 1.29440e+04 9.72400e+03 -4723 1.30880e+04 9.72400e+03 -4724 1.32320e+04 9.72400e+03 -4725 1.34030e+04 9.72400e+03 -4726 1.34240e+04 1.60600e+03 -4727 1.34240e+04 2.79400e+03 -4728 1.34240e+04 3.93800e+03 -4729 1.34240e+04 4.92800e+03 -4730 1.34240e+04 7.39200e+03 -4731 1.34240e+04 8.53600e+03 -4732 1.34240e+04 9.17400e+03 -4733 1.68800e+04 1.01200e+03 -4734 1.68800e+04 2.22200e+03 -4735 1.68800e+04 3.85000e+03 -4736 1.68800e+04 5.36800e+03 -4737 1.68800e+04 6.68800e+03 -4738 1.68800e+04 7.87600e+03 -4739 1.68800e+04 1.05600e+04 -4740 1.68800e+04 1.15280e+04 -4741 1.85760e+04 4.03700e+03 -4742 1.85760e+04 8.64600e+03 -4743 1.86560e+04 8.86600e+03 -4744 1.88590e+04 8.86600e+03 -4745 1.89920e+04 1.08460e+04 -4746 1.89920e+04 1.15280e+04 -4747 8.17600e+03 1.18800e+03 -4748 8.17600e+03 4.82900e+03 -4749 8.33600e+03 4.92800e+03 -4750 8.43200e+03 4.92800e+03 -4751 8.49600e+03 4.92800e+03 -4752 8.75200e+03 4.92800e+03 -4753 8.84800e+03 4.92800e+03 -4754 8.99200e+03 4.92800e+03 -4755 9.44000e+03 4.92800e+03 -4756 9.55200e+03 4.92800e+03 -4757 9.68000e+03 4.92800e+03 -4758 9.82400e+03 4.92800e+03 -4759 9.93600e+03 4.92800e+03 -4760 1.00000e+04 4.92800e+03 -4761 1.02240e+04 4.92800e+03 -4762 1.02880e+04 4.92800e+03 -4763 1.03840e+04 4.92800e+03 -4764 1.05120e+04 4.92800e+03 -4765 1.06080e+04 4.92800e+03 -4766 1.07040e+04 4.92800e+03 -4767 1.08000e+04 4.92800e+03 -4768 1.09280e+04 4.92800e+03 -4769 1.10560e+04 4.92800e+03 -4770 1.11200e+04 4.92800e+03 -4771 1.12160e+04 4.92800e+03 -4772 1.13440e+04 4.92800e+03 -4773 1.14880e+04 4.92800e+03 -4774 1.16800e+04 4.92800e+03 -4775 1.17600e+04 4.92800e+03 -4776 1.19040e+04 4.92800e+03 -4777 1.20480e+04 4.92800e+03 -4778 1.21760e+04 4.92800e+03 -4779 1.23360e+04 4.92800e+03 -4780 1.24430e+04 4.92800e+03 -4781 1.24640e+04 5.96200e+03 -4782 1.24640e+04 7.39200e+03 -4783 1.24640e+04 1.14290e+04 -4784 6.00000e+03 1.08020e+04 -4785 6.00000e+03 1.14950e+04 -4786 6.01600e+03 8.62400e+03 -4787 6.03200e+03 3.19000e+02 -4788 6.03200e+03 2.02400e+03 -4789 6.03200e+03 4.04800e+03 -4790 6.03200e+03 5.32400e+03 -4791 7.08800e+03 6.38000e+02 -4792 7.08800e+03 1.51800e+03 -4793 7.08800e+03 2.40900e+03 -4794 7.18400e+03 2.50800e+03 -4795 7.31200e+03 2.50800e+03 -4796 7.50400e+03 2.50800e+03 -4797 7.66400e+03 2.50800e+03 -4798 7.76000e+03 2.50800e+03 -4799 7.82400e+03 2.50800e+03 -4800 7.88800e+03 2.50800e+03 -4801 7.95200e+03 2.50800e+03 -4802 8.04800e+03 2.50800e+03 -4803 8.20800e+03 2.50800e+03 -4804 8.33600e+03 2.50800e+03 -4805 8.43200e+03 2.50800e+03 -4806 8.49600e+03 2.50800e+03 -4807 8.62400e+03 2.50800e+03 -4808 8.75200e+03 2.50800e+03 -4809 8.84800e+03 2.50800e+03 -4810 8.97600e+03 2.50800e+03 -4811 9.04000e+03 2.50800e+03 -4812 9.26400e+03 2.50800e+03 -4813 9.40800e+03 2.50800e+03 -4814 9.68000e+03 2.50800e+03 -4815 9.80800e+03 2.50800e+03 -4816 9.87200e+03 2.50800e+03 -4817 1.00000e+04 2.50800e+03 -4818 1.00960e+04 2.50800e+03 -4819 1.02240e+04 2.50800e+03 -4820 1.02880e+04 2.50800e+03 -4821 1.03840e+04 2.50800e+03 -4822 1.05120e+04 2.50800e+03 -4823 1.05760e+04 2.50800e+03 -4824 1.06400e+04 2.50800e+03 -4825 1.07040e+04 2.50800e+03 -4826 1.08000e+04 2.50800e+03 -4827 1.09280e+04 2.50800e+03 -4828 1.10560e+04 2.50800e+03 -4829 1.11200e+04 2.50800e+03 -4830 1.12160e+04 2.50800e+03 -4831 1.13440e+04 2.50800e+03 -4832 1.14080e+04 4.48800e+03 -4833 1.14080e+04 6.07200e+03 -4834 1.14080e+04 7.39200e+03 -4835 1.14080e+04 1.13850e+04 -4836 1.57600e+04 2.53000e+03 -4837 1.57600e+04 5.36800e+03 -4838 1.57600e+04 6.79800e+03 -4839 1.57600e+04 8.42600e+03 -4840 1.57600e+04 9.87800e+03 -4841 1.57600e+04 1.06260e+04 -4842 1.57600e+04 1.14290e+04 -4843 1.12000e+02 9.21800e+03 -4844 1.12000e+02 1.15280e+04 -4845 2.60000e+02 7.48000e+03 -4846 4.80000e+02 7.48000e+03 -4847 5.60000e+02 7.48000e+03 -4848 7.36000e+02 7.48000e+03 -4849 8.48000e+02 7.48000e+03 -4850 9.12000e+02 7.48000e+03 -4851 9.76000e+02 7.48000e+03 -4852 1.07200e+03 7.48000e+03 -4853 1.15200e+03 7.48000e+03 -4854 1.31200e+03 7.48000e+03 -4855 1.53600e+03 7.48000e+03 -4856 1.64800e+03 7.48000e+03 -4857 1.76000e+03 7.48000e+03 -4858 1.87200e+03 7.48000e+03 -4859 1.98400e+03 7.48000e+03 -4860 2.11200e+03 7.48000e+03 -4861 2.19200e+03 7.48000e+03 -4862 2.28800e+03 7.48000e+03 -4863 2.46400e+03 7.48000e+03 -4864 2.62400e+03 7.48000e+03 -4865 2.73600e+03 7.48000e+03 -4866 2.86400e+03 7.48000e+03 -4867 2.96000e+03 7.48000e+03 -4868 3.02400e+03 7.48000e+03 -4869 3.20000e+03 7.48000e+03 -4870 3.31200e+03 7.48000e+03 -4871 3.41900e+03 7.48000e+03 -4872 3.44000e+03 3.11300e+03 -4873 3.44000e+03 6.86400e+03 -4874 5.61600e+03 1.91400e+03 -4875 5.61600e+03 4.04800e+03 -4876 5.65200e+03 6.33600e+03 -4877 6.09600e+03 6.33600e+03 -4878 6.19200e+03 6.33600e+03 -4879 6.25600e+03 6.33600e+03 -4880 6.41600e+03 6.33600e+03 -4881 6.54400e+03 6.33600e+03 -4882 6.67200e+03 6.33600e+03 -4883 6.76800e+03 6.33600e+03 -4884 6.86400e+03 6.33600e+03 -4885 6.99200e+03 6.33600e+03 -4886 7.08800e+03 6.33600e+03 -4887 7.18400e+03 6.33600e+03 -4888 7.32800e+03 6.33600e+03 -4889 7.61600e+03 6.33600e+03 -4890 7.74400e+03 6.33600e+03 -4891 7.82400e+03 6.33600e+03 -4892 7.88800e+03 6.33600e+03 -4893 8.04800e+03 6.33600e+03 -4894 8.17600e+03 6.33600e+03 -4895 8.43200e+03 6.33600e+03 -4896 8.51200e+03 6.33600e+03 -4897 8.83200e+03 6.33600e+03 -4898 8.99200e+03 6.33600e+03 -4899 9.29600e+03 6.33600e+03 -4900 9.45600e+03 6.33600e+03 -4901 9.55200e+03 6.33600e+03 -4902 9.68000e+03 6.33600e+03 -4903 9.80800e+03 6.33600e+03 -4904 1.00160e+04 6.33600e+03 -4905 1.01390e+04 6.33600e+03 -4906 1.69440e+04 1.01200e+03 -4907 1.69440e+04 2.22200e+03 -4908 1.69440e+04 3.85000e+03 -4909 1.69440e+04 5.36800e+03 -4910 1.69440e+04 6.68800e+03 -4911 1.69440e+04 7.87600e+03 -4912 1.69440e+04 1.05600e+04 -4913 1.69440e+04 1.15280e+04 -4914 9.74400e+03 2.31000e+02 -4915 9.74400e+03 1.01200e+03 -4916 9.74400e+03 1.76000e+03 -4917 9.76400e+03 6.99600e+03 -4918 1.00160e+04 6.99600e+03 -4919 1.01280e+04 6.99600e+03 -4920 1.02240e+04 6.99600e+03 -4921 1.03840e+04 6.99600e+03 -4922 1.04960e+04 6.99600e+03 -4923 1.06560e+04 6.99600e+03 -4924 1.08160e+04 6.99600e+03 -4925 1.09280e+04 6.99600e+03 -4926 1.10400e+04 6.99600e+03 -4927 1.11200e+04 6.99600e+03 -4928 1.12160e+04 6.99600e+03 -4929 1.13280e+04 6.99600e+03 -4930 1.15040e+04 6.99600e+03 -4931 1.15680e+04 6.99600e+03 -4932 1.16320e+04 6.99600e+03 -4933 1.16960e+04 6.99600e+03 -4934 1.17600e+04 6.99600e+03 -4935 1.18240e+04 6.99600e+03 -4936 1.19680e+04 6.99600e+03 -4937 1.21920e+04 6.99600e+03 -4938 1.22720e+04 6.99600e+03 -4939 1.23840e+04 6.99600e+03 -4940 1.25280e+04 6.99600e+03 -4941 1.26560e+04 6.99600e+03 -4942 1.28000e+04 6.99600e+03 -4943 1.28910e+04 6.99600e+03 -4944 1.29120e+04 7.27100e+03 -4945 1.29120e+04 8.53600e+03 -4946 1.29120e+04 9.17400e+03 -4947 1.29120e+04 1.14290e+04 -4948 1.29330e+04 6.77600e+03 -4949 1.30880e+04 6.77600e+03 -4950 1.32800e+04 6.77600e+03 -4951 1.33920e+04 6.77600e+03 -4952 1.34560e+04 6.77600e+03 -4953 1.35200e+04 6.77600e+03 -4954 1.36320e+04 6.77600e+03 -4955 1.37600e+04 6.77600e+03 -4956 1.39200e+04 6.77600e+03 -4957 1.40800e+04 6.77600e+03 -4958 1.41920e+04 6.77600e+03 -4959 1.42670e+04 6.77600e+03 -4960 1.29120e+04 6.90800e+03 -4961 1.42880e+04 2.53000e+03 -4962 1.42880e+04 5.36800e+03 -4963 1.42880e+04 6.63300e+03 -4964 1.39040e+04 1.15280e+04 -4965 1.39200e+04 1.14400e+04 -4966 1.39360e+04 1.15280e+04 -4967 1.39520e+04 1.14400e+04 -4968 1.39680e+04 1.15280e+04 -4969 6.57600e+03 4.29000e+02 -4970 6.57600e+03 1.63900e+03 -4971 6.67200e+03 2.06800e+03 -4972 6.78400e+03 2.06800e+03 -4973 6.89600e+03 2.06800e+03 -4974 7.00800e+03 2.06800e+03 -4975 7.18400e+03 2.06800e+03 -4976 7.31200e+03 2.06800e+03 -4977 7.50400e+03 2.06800e+03 -4978 7.66400e+03 2.06800e+03 -4979 7.76000e+03 2.06800e+03 -4980 7.82400e+03 2.06800e+03 -4981 7.88800e+03 2.06800e+03 -4982 7.95200e+03 2.06800e+03 -4983 8.04800e+03 2.06800e+03 -4984 8.20800e+03 2.06800e+03 -4985 8.33600e+03 2.06800e+03 -4986 8.43200e+03 2.06800e+03 -4987 8.49600e+03 2.06800e+03 -4988 8.56000e+03 2.06800e+03 -4989 8.62400e+03 2.06800e+03 -4990 8.75200e+03 2.06800e+03 -4991 8.84800e+03 2.06800e+03 -4992 8.97600e+03 2.06800e+03 -4993 9.04000e+03 2.06800e+03 -4994 9.26400e+03 2.06800e+03 -4995 9.42400e+03 2.06800e+03 -4996 9.58400e+03 2.06800e+03 -4997 9.68000e+03 2.06800e+03 -4998 9.80800e+03 2.06800e+03 -4999 9.87200e+03 2.06800e+03 -5000 1.00000e+04 2.06800e+03 -5001 1.00960e+04 2.06800e+03 -5002 1.02240e+04 2.06800e+03 -5003 1.02880e+04 2.06800e+03 -5004 1.03840e+04 2.06800e+03 -5005 1.05120e+04 2.06800e+03 -5006 1.05760e+04 2.06800e+03 -5007 1.06400e+04 2.06800e+03 -5008 1.07040e+04 2.06800e+03 -5009 1.08000e+04 2.06800e+03 -5010 1.09280e+04 2.06800e+03 -5011 1.10560e+04 2.06800e+03 -5012 1.11200e+04 2.06800e+03 -5013 1.12270e+04 2.06800e+03 -5014 1.12480e+04 4.48800e+03 -5015 1.12480e+04 7.39200e+03 -5016 1.12480e+04 1.13850e+04 -5017 5.55200e+03 2.17800e+03 -5018 5.55200e+03 4.04800e+03 -5019 5.55200e+03 6.40200e+03 -5020 5.55200e+03 7.40300e+03 -5021 5.64800e+03 7.48000e+03 -5022 5.93600e+03 7.48000e+03 -5023 6.09600e+03 7.48000e+03 -5024 6.19200e+03 7.48000e+03 -5025 6.41600e+03 7.48000e+03 -5026 6.54400e+03 7.48000e+03 -5027 6.67200e+03 7.48000e+03 -5028 6.86400e+03 7.48000e+03 -5029 6.92800e+03 7.48000e+03 -5030 7.04000e+03 7.48000e+03 -5031 7.16800e+03 7.48000e+03 -5032 7.31200e+03 7.48000e+03 -5033 7.60000e+03 7.48000e+03 -5034 7.76000e+03 7.48000e+03 -5035 7.82400e+03 7.48000e+03 -5036 7.88800e+03 7.48000e+03 -5037 8.04800e+03 7.48000e+03 -5038 8.17600e+03 7.48000e+03 -5039 8.27200e+03 7.48000e+03 -5040 8.41600e+03 7.48000e+03 -5041 8.65600e+03 7.48000e+03 -5042 8.84800e+03 7.48000e+03 -5043 9.10400e+03 7.48000e+03 -5044 9.23200e+03 7.48000e+03 -5045 9.61600e+03 7.48000e+03 -5046 9.68000e+03 7.48000e+03 -5047 9.76000e+03 7.48000e+03 -5048 1.00160e+04 7.48000e+03 -5049 1.01280e+04 7.48000e+03 -5050 1.02240e+04 7.62300e+03 -5051 1.01600e+04 2.31000e+02 -5052 1.01600e+04 1.01200e+03 -5053 1.01600e+04 1.76000e+03 -5054 1.02240e+04 5.14800e+03 -5055 1.02880e+04 5.14800e+03 -5056 1.03840e+04 5.14800e+03 -5057 1.05120e+04 5.14800e+03 -5058 1.06080e+04 5.14800e+03 -5059 1.07040e+04 5.14800e+03 -5060 1.08000e+04 5.14800e+03 -5061 1.09280e+04 5.14800e+03 -5062 1.10560e+04 5.14800e+03 -5063 1.11200e+04 5.14800e+03 -5064 1.12160e+04 5.14800e+03 -5065 1.13440e+04 5.14800e+03 -5066 1.14880e+04 5.14800e+03 -5067 1.16800e+04 5.14800e+03 -5068 1.17600e+04 5.14800e+03 -5069 1.19040e+04 5.14800e+03 -5070 1.20480e+04 5.14800e+03 -5071 1.21760e+04 5.14800e+03 -5072 1.23360e+04 5.14800e+03 -5073 1.24320e+04 5.14800e+03 -5074 1.25280e+04 5.14800e+03 -5075 1.26880e+04 5.14800e+03 -5076 1.28000e+04 5.14800e+03 -5077 1.29120e+04 5.14800e+03 -5078 1.31150e+04 5.14800e+03 -5079 1.31360e+04 6.18200e+03 -5080 1.31360e+04 7.28200e+03 -5081 1.31360e+04 8.53600e+03 -5082 1.31360e+04 9.17400e+03 -5083 1.31360e+04 1.14290e+04 -5084 1.33280e+04 4.48800e+03 -5085 1.34560e+04 4.48800e+03 -5086 1.35200e+04 4.48800e+03 -5087 1.36160e+04 4.48800e+03 -5088 1.38720e+04 4.48800e+03 -5089 1.40800e+04 4.48800e+03 -5090 1.42240e+04 4.48800e+03 -5091 1.44000e+04 4.48800e+03 -5092 1.45120e+04 4.48800e+03 -5093 1.47360e+04 4.48800e+03 -5094 1.48110e+04 4.48800e+03 -5095 1.31360e+04 4.84000e+03 -5096 1.48320e+04 2.53000e+03 -5097 1.48320e+04 4.38900e+03 -5098 6.00000e+03 3.19000e+02 -5099 6.00000e+03 2.02400e+03 -5100 6.00000e+03 4.04800e+03 -5101 6.00000e+03 5.32400e+03 -5102 6.00000e+03 8.23900e+03 -5103 6.06400e+03 8.45900e+03 -5104 6.06400e+03 1.08020e+04 -5105 6.06400e+03 1.14950e+04 -5106 1.71680e+04 1.05600e+04 -5107 1.71680e+04 1.15280e+04 -5108 1.72320e+04 1.78200e+03 -5109 1.72320e+04 4.09200e+03 -5110 1.72320e+04 6.68800e+03 -5111 1.72320e+04 7.72200e+03 -5112 4.68800e+03 2.50800e+03 -5113 4.68800e+03 5.32400e+03 -5114 4.68800e+03 7.71100e+03 -5115 4.75200e+03 8.86600e+03 -5116 4.75200e+03 1.14950e+04 -5117 1.72320e+04 1.05600e+04 -5118 1.72320e+04 1.15280e+04 -5119 1.72640e+04 8.84400e+03 -5120 1.72960e+04 1.78200e+03 -5121 1.72960e+04 4.09200e+03 -5122 1.72960e+04 6.68800e+03 -5123 1.72960e+04 7.72200e+03 -5124 1.72960e+04 8.59100e+03 -5125 1.04160e+04 2.31000e+02 -5126 1.04160e+04 1.01200e+03 -5127 1.04160e+04 1.76000e+03 -5128 1.04160e+04 7.39200e+03 -5129 3.63200e+03 3.11300e+03 -5130 3.63200e+03 7.13900e+03 -5131 3.69600e+03 7.48000e+03 -5132 3.80800e+03 7.48000e+03 -5133 3.88800e+03 7.48000e+03 -5134 3.95200e+03 7.48000e+03 -5135 4.09600e+03 7.48000e+03 -5136 4.17600e+03 7.48000e+03 -5137 4.25600e+03 7.48000e+03 -5138 4.33600e+03 7.48000e+03 -5139 4.43200e+03 7.48000e+03 -5140 4.49600e+03 7.48000e+03 -5141 4.63500e+03 7.48000e+03 -5142 4.65600e+03 7.68900e+03 -5143 4.65600e+03 8.86600e+03 -5144 4.65600e+03 1.14950e+04 -5145 1.05760e+04 2.31000e+02 -5146 1.05760e+04 1.02300e+03 -5147 1.06400e+04 1.23200e+03 -5148 1.07040e+04 1.23200e+03 -5149 1.08000e+04 1.23200e+03 -5150 1.09280e+04 1.23200e+03 -5151 1.10560e+04 1.23200e+03 -5152 1.11200e+04 1.23200e+03 -5153 1.12160e+04 1.23200e+03 -5154 1.13440e+04 1.23200e+03 -5155 1.14880e+04 1.23200e+03 -5156 1.16960e+04 1.23200e+03 -5157 1.17600e+04 1.23200e+03 -5158 1.19040e+04 1.23200e+03 -5159 1.20480e+04 1.23200e+03 -5160 1.21760e+04 1.23200e+03 -5161 1.23360e+04 1.23200e+03 -5162 1.24320e+04 1.23200e+03 -5163 1.25280e+04 1.23200e+03 -5164 1.26880e+04 1.23200e+03 -5165 1.28160e+04 1.23200e+03 -5166 1.29440e+04 1.23200e+03 -5167 1.31200e+04 1.23200e+03 -5168 1.32000e+04 1.48500e+03 -5169 1.32000e+04 2.31000e+03 -5170 1.32000e+04 3.12400e+03 -5171 1.32000e+04 3.93800e+03 -5172 1.32000e+04 4.92800e+03 -5173 1.32000e+04 7.28200e+03 -5174 1.32000e+04 8.53600e+03 -5175 1.32000e+04 9.17400e+03 -5176 1.32000e+04 1.14290e+04 -5177 1.33440e+04 1.23200e+03 -5178 1.34880e+04 1.23200e+03 -5179 1.36320e+04 1.23200e+03 -5180 1.38720e+04 1.23200e+03 -5181 1.40960e+04 1.23200e+03 -5182 1.42240e+04 1.23200e+03 -5183 1.44000e+04 1.23200e+03 -5184 1.45120e+04 1.23200e+03 -5185 1.47360e+04 1.23200e+03 -5186 1.48000e+04 1.23200e+03 -5187 1.49120e+04 1.23200e+03 -5188 1.51200e+04 1.23200e+03 -5189 1.53280e+04 1.23200e+03 -5190 1.54080e+04 1.23200e+03 -5191 1.54720e+04 1.23200e+03 -5192 1.56000e+04 1.23200e+03 -5193 1.21440e+04 1.11650e+04 -5194 1.22080e+04 9.50400e+03 -5195 1.23840e+04 9.50400e+03 -5196 1.25280e+04 9.50400e+03 -5197 1.26560e+04 9.50400e+03 -5198 1.28320e+04 9.50400e+03 -5199 1.29440e+04 9.50400e+03 -5200 1.30880e+04 9.50400e+03 -5201 1.32320e+04 9.50400e+03 -5202 1.33920e+04 9.50400e+03 -5203 1.35360e+04 9.50400e+03 -5204 1.36320e+04 9.50400e+03 -5205 1.37440e+04 9.50400e+03 -5206 1.39680e+04 9.50400e+03 -5207 1.41920e+04 9.50400e+03 -5208 1.42720e+04 9.50400e+03 -5209 1.43840e+04 9.50400e+03 -5210 1.44480e+04 9.50400e+03 -5211 1.47040e+04 9.50400e+03 -5212 1.47840e+04 9.50400e+03 -5213 1.51200e+04 9.50400e+03 -5214 1.53920e+04 9.50400e+03 -5215 1.55200e+04 9.50400e+03 -5216 1.57120e+04 9.50400e+03 -5217 1.57920e+04 9.50400e+03 -5218 1.58560e+04 9.50400e+03 -5219 1.59840e+04 9.50400e+03 -5220 1.60800e+04 9.50400e+03 -5221 1.62080e+04 9.50400e+03 -5222 1.64320e+04 9.50400e+03 -5223 1.64960e+04 9.50400e+03 -5224 1.65920e+04 9.50400e+03 -5225 1.66880e+04 9.50400e+03 -5226 1.67840e+04 9.50400e+03 -5227 1.69120e+04 9.50400e+03 -5228 1.70400e+04 9.50400e+03 -5229 1.71360e+04 9.50400e+03 -5230 1.72800e+04 9.50400e+03 -5231 1.73600e+04 1.78200e+03 -5232 1.73600e+04 4.09200e+03 -5233 1.73600e+04 6.68800e+03 -5234 1.73600e+04 7.72200e+03 -5235 1.73600e+04 8.58000e+03 -5236 1.09920e+04 2.31000e+02 -5237 1.09920e+04 9.02000e+02 -5238 1.09920e+04 1.76000e+03 -5239 1.09920e+04 4.48800e+03 -5240 1.09920e+04 7.39200e+03 -5241 1.10280e+04 1.02520e+04 -5242 1.12160e+04 1.02520e+04 -5243 1.13120e+04 1.02520e+04 -5244 1.14400e+04 1.02520e+04 -5245 1.15200e+04 1.02520e+04 -5246 1.16000e+04 1.02520e+04 -5247 1.17120e+04 1.02520e+04 -5248 1.17920e+04 1.02520e+04 -5249 1.19840e+04 1.02520e+04 -5250 1.20800e+04 1.02520e+04 -5251 1.22080e+04 1.02520e+04 -5252 1.23840e+04 1.02520e+04 -5253 1.25280e+04 1.02520e+04 -5254 1.26560e+04 1.02520e+04 -5255 1.28160e+04 1.02520e+04 -5256 1.29440e+04 1.02520e+04 -5257 1.30880e+04 1.02520e+04 -5258 1.32320e+04 1.02520e+04 -5259 1.34030e+04 1.02520e+04 -5260 1.34240e+04 1.14290e+04 -5261 1.35360e+04 1.02520e+04 -5262 1.36960e+04 1.02520e+04 -5263 1.39680e+04 1.02520e+04 -5264 1.41920e+04 1.02520e+04 -5265 1.42720e+04 1.02520e+04 -5266 1.43840e+04 1.02520e+04 -5267 1.44480e+04 1.02520e+04 -5268 1.47040e+04 1.02520e+04 -5269 1.47840e+04 1.02520e+04 -5270 1.51200e+04 1.02520e+04 -5271 1.53920e+04 1.02520e+04 -5272 1.55200e+04 1.02520e+04 -5273 1.57120e+04 1.02520e+04 -5274 1.57920e+04 1.02520e+04 -5275 1.58560e+04 1.02520e+04 -5276 1.60480e+04 1.02520e+04 -5277 1.62190e+04 1.02520e+04 -5278 1.62400e+04 2.22200e+03 -5279 1.62400e+04 3.74000e+03 -5280 1.62400e+04 5.36800e+03 -5281 1.62400e+04 6.79800e+03 -5282 1.62400e+04 7.76600e+03 -5283 1.04480e+04 2.31000e+02 -5284 1.04480e+04 1.01200e+03 -5285 1.04480e+04 1.76000e+03 -5286 1.04480e+04 7.39200e+03 -5287 5.71200e+03 8.45900e+03 -5288 5.71200e+03 1.08020e+04 -5289 5.72800e+03 8.31600e+03 -5290 5.74400e+03 2.02400e+03 -5291 5.74400e+03 4.04800e+03 -5292 5.74400e+03 8.23900e+03 -5293 1.74240e+04 1.78200e+03 -5294 1.74240e+04 4.09200e+03 -5295 1.74240e+04 6.69900e+03 -5296 1.75040e+04 7.12800e+03 -5297 1.77120e+04 7.12800e+03 -5298 1.78080e+04 7.76600e+03 -5299 1.78080e+04 8.73400e+03 -5300 1.78080e+04 9.60300e+03 -5301 1.78080e+04 1.06700e+04 -5302 9.52000e+03 7.12800e+03 -5303 9.53600e+03 3.60800e+03 -5304 9.55200e+03 2.31000e+02 -5305 9.55200e+03 1.01200e+03 -5306 9.55200e+03 1.76000e+03 -5307 1.73280e+04 1.78200e+03 -5308 1.73280e+04 4.09200e+03 -5309 1.73280e+04 6.68800e+03 -5310 1.73280e+04 7.72200e+03 -5311 1.73280e+04 8.58000e+03 -5312 1.73280e+04 1.06700e+04 -5313 1.73280e+04 1.15280e+04 -5314 1.90880e+04 1.15280e+04 -5315 1.14080e+04 2.31000e+02 -5316 1.14080e+04 9.02000e+02 -5317 1.14880e+04 1.98000e+03 -5318 1.16960e+04 1.98000e+03 -5319 1.17600e+04 1.98000e+03 -5320 1.19040e+04 1.98000e+03 -5321 1.20480e+04 1.98000e+03 -5322 1.21760e+04 1.98000e+03 -5323 1.23360e+04 1.98000e+03 -5324 1.24320e+04 1.98000e+03 -5325 1.25280e+04 1.98000e+03 -5326 1.26880e+04 1.98000e+03 -5327 1.28160e+04 1.98000e+03 -5328 1.29440e+04 1.98000e+03 -5329 1.31200e+04 1.98000e+03 -5330 1.33440e+04 1.98000e+03 -5331 1.34670e+04 1.98000e+03 -5332 1.34880e+04 2.67300e+03 -5333 1.34880e+04 3.93800e+03 -5334 1.34880e+04 4.92800e+03 -5335 1.34880e+04 7.28200e+03 -5336 1.34880e+04 8.53600e+03 -5337 1.34880e+04 9.17400e+03 -5338 1.34880e+04 1.14290e+04 -5339 1.35090e+04 1.45200e+03 -5340 1.36320e+04 1.45200e+03 -5341 1.38720e+04 1.45200e+03 -5342 1.40960e+04 1.45200e+03 -5343 1.42240e+04 1.45200e+03 -5344 1.44000e+04 1.45200e+03 -5345 1.45120e+04 1.45200e+03 -5346 1.47360e+04 1.45200e+03 -5347 1.48000e+04 1.45200e+03 -5348 1.49120e+04 1.45200e+03 -5349 1.51200e+04 1.45200e+03 -5350 1.53280e+04 1.45200e+03 -5351 1.54080e+04 1.45200e+03 -5352 1.54720e+04 1.45200e+03 -5353 1.56000e+04 1.45200e+03 -5354 1.57120e+04 1.45200e+03 -5355 1.57920e+04 1.45200e+03 -5356 1.58880e+04 1.45200e+03 -5357 1.59840e+04 1.45200e+03 -5358 1.61280e+04 1.45200e+03 -5359 1.62720e+04 1.45200e+03 -5360 1.64000e+04 1.45200e+03 -5361 1.65440e+04 1.45200e+03 -5362 1.66560e+04 1.45200e+03 -5363 1.67520e+04 1.45200e+03 -5364 1.69120e+04 1.45200e+03 -5365 1.70400e+04 1.45200e+03 -5366 1.34880e+04 1.73800e+03 -5367 1.71040e+04 1.13300e+03 -5368 1.11200e+04 1.13850e+04 -5369 1.11840e+04 2.31000e+02 -5370 1.11840e+04 9.02000e+02 -5371 1.11840e+04 1.76000e+03 -5372 1.11840e+04 4.48800e+03 -5373 1.11840e+04 7.39200e+03 -5374 5.68000e+03 8.38200e+03 -5375 5.68000e+03 1.08020e+04 -5376 5.69600e+03 7.70000e+03 -5377 5.71200e+03 2.02400e+03 -5378 5.71200e+03 4.04800e+03 -5379 4.30400e+03 2.36500e+03 -5380 4.30400e+03 5.43400e+03 -5381 4.30400e+03 6.90800e+03 -5382 4.30400e+03 7.81000e+03 -5383 2.12800e+03 1.00320e+04 -5384 2.14400e+03 8.93200e+03 -5385 2.16000e+03 3.11300e+03 -5386 2.16000e+03 6.64400e+03 -5387 2.16000e+03 8.78900e+03 -5388 5.42400e+03 7.18300e+03 -5389 5.42400e+03 1.06920e+04 -5390 5.44000e+03 6.99600e+03 -5391 5.45600e+03 2.17800e+03 -5392 5.45600e+03 4.04800e+03 -5393 5.45600e+03 6.40200e+03 -5394 1.11520e+04 2.31000e+02 -5395 1.11520e+04 9.02000e+02 -5396 1.11520e+04 1.76000e+03 -5397 1.11520e+04 4.48800e+03 -5398 1.11520e+04 7.39200e+03 -5399 1.11520e+04 1.13850e+04 -5400 1.56320e+04 2.53000e+03 -5401 1.56320e+04 5.36800e+03 -5402 1.56320e+04 6.79800e+03 -5403 1.56320e+04 8.42600e+03 -5404 1.56320e+04 9.87800e+03 -5405 1.56320e+04 1.06260e+04 -5406 1.56320e+04 1.14290e+04 -5407 1.61760e+04 2.22200e+03 -5408 1.61760e+04 3.74000e+03 -5409 1.61760e+04 5.36800e+03 -5410 1.61760e+04 6.79800e+03 -5411 1.61760e+04 7.76600e+03 -5412 1.61760e+04 8.73400e+03 -5413 1.61760e+04 1.06260e+04 -5414 1.61760e+04 1.14290e+04 -5415 5.39200e+03 7.19400e+03 -5416 5.39200e+03 1.06920e+04 -5417 5.40800e+03 6.55600e+03 -5418 5.42400e+03 2.17800e+03 -5419 5.42400e+03 4.04800e+03 -5420 5.42400e+03 6.41300e+03 -5421 4.46400e+03 2.57400e+03 -5422 4.46400e+03 5.43400e+03 -5423 4.46400e+03 7.92000e+03 -5424 4.52800e+03 1.06920e+04 -5425 4.62400e+03 1.06920e+04 -5426 4.68800e+03 1.06920e+04 -5427 4.78400e+03 1.06920e+04 -5428 4.94400e+03 1.06920e+04 -5429 5.07200e+03 1.07910e+04 -5430 5.07200e+03 1.14950e+04 -5431 1.83520e+04 3.61900e+03 -5432 1.83520e+04 7.88700e+03 -5433 1.83720e+04 8.18400e+03 -5434 1.84640e+04 8.18400e+03 -5435 1.86670e+04 8.18400e+03 -5436 1.87040e+04 8.40400e+03 -5437 1.87040e+04 1.06700e+04 -5438 1.87040e+04 1.15280e+04 -5439 4.52800e+03 2.57400e+03 -5440 4.52800e+03 5.43400e+03 -5441 4.52800e+03 7.93100e+03 -5442 4.62400e+03 8.14000e+03 -5443 4.68800e+03 8.14000e+03 -5444 4.78400e+03 8.14000e+03 -5445 4.94400e+03 8.14000e+03 -5446 5.13600e+03 8.14000e+03 -5447 5.48800e+03 8.37100e+03 -5448 5.48800e+03 1.06920e+04 -5449 1.68000e+03 1.00320e+04 -5450 1.70000e+03 8.93200e+03 -5451 1.77600e+03 8.93200e+03 -5452 1.88300e+03 8.93200e+03 -5453 1.90400e+03 3.11300e+03 -5454 1.90400e+03 6.75400e+03 -5455 1.90400e+03 8.05200e+03 -5456 1.90400e+03 8.78900e+03 -5457 1.91200e+04 1.15280e+04 -5458 1.91220e+04 8.03000e+03 -5459 1.82560e+04 3.45400e+03 -5460 1.82560e+04 6.95200e+03 -5461 1.82720e+04 7.12800e+03 -5462 1.82880e+04 7.87600e+03 -5463 1.82880e+04 9.42700e+03 -5464 1.82880e+04 1.06700e+04 -5465 4.75200e+03 2.61800e+03 -5466 4.75200e+03 5.22500e+03 -5467 4.77200e+03 5.36800e+03 -5468 4.84800e+03 5.36800e+03 -5469 4.91200e+03 5.36800e+03 -5470 5.04000e+03 5.36800e+03 -5471 5.29600e+03 5.36800e+03 -5472 5.66400e+03 5.36800e+03 -5473 5.90400e+03 5.46700e+03 -5474 5.90400e+03 8.38200e+03 -5475 5.90400e+03 1.08020e+04 -5476 1.26400e+03 6.78700e+03 -5477 1.26400e+03 7.83200e+03 -5478 1.26400e+03 9.65800e+03 -5479 1.28400e+03 6.55600e+03 -5480 1.45600e+03 6.55600e+03 -5481 1.55200e+03 6.55600e+03 -5482 1.64800e+03 6.55600e+03 -5483 1.76000e+03 6.55600e+03 -5484 1.84000e+03 3.11300e+03 -5485 1.78720e+04 9.60300e+03 -5486 1.78720e+04 1.06700e+04 -5487 1.79520e+04 8.84400e+03 -5488 1.82240e+04 3.61900e+03 -5489 1.82240e+04 7.76600e+03 -5490 4.81600e+03 2.61800e+03 -5491 4.81600e+03 6.40200e+03 -5492 4.81600e+03 7.70000e+03 -5493 4.81600e+03 8.72300e+03 -5494 4.94400e+03 8.84400e+03 -5495 5.13600e+03 8.84400e+03 -5496 5.55200e+03 8.84400e+03 -5497 5.63200e+03 8.84400e+03 -5498 5.79200e+03 8.84400e+03 -5499 5.96800e+03 8.84400e+03 -5500 6.03200e+03 8.84400e+03 -5501 6.11200e+03 8.84400e+03 -5502 6.19200e+03 8.84400e+03 -5503 6.32000e+03 1.14950e+04 -5504 8.48000e+02 9.92200e+03 -5505 9.12000e+02 8.18400e+03 -5506 9.76000e+02 8.18400e+03 -5507 1.10400e+03 8.18400e+03 -5508 1.23200e+03 8.18400e+03 -5509 1.32800e+03 8.18400e+03 -5510 1.53600e+03 8.18400e+03 -5511 1.61600e+03 3.11300e+03 -5512 1.61600e+03 7.01800e+03 -5513 1.61600e+03 8.06300e+03 -5514 1.78400e+04 8.72300e+03 -5515 1.78400e+04 9.60300e+03 -5516 1.78400e+04 1.06700e+04 -5517 1.78600e+04 8.62400e+03 -5518 1.79360e+04 2.31000e+02 -5519 1.79360e+04 1.62800e+03 -5520 1.79360e+04 4.79600e+03 -5521 1.79360e+04 7.76600e+03 -5522 1.80000e+04 2.31000e+02 -5523 1.80000e+04 1.59500e+03 -5524 1.80160e+04 2.37600e+03 -5525 1.80320e+04 4.52100e+03 -5526 1.80320e+04 7.76600e+03 -5527 1.80320e+04 1.06700e+04 -5528 1.74240e+04 8.61300e+03 -5529 1.74240e+04 9.60300e+03 -5530 1.74240e+04 1.06700e+04 -5531 1.74240e+04 1.15280e+04 -5532 1.74880e+04 8.40400e+03 -5533 1.75520e+04 8.40400e+03 -5534 1.77120e+04 8.40400e+03 -5535 1.78560e+04 8.40400e+03 -5536 1.79680e+04 8.40400e+03 -5537 1.81920e+04 8.40400e+03 -5538 1.83680e+04 8.40400e+03 -5539 1.84640e+04 8.40400e+03 -5540 1.85440e+04 4.03700e+03 -5541 4.32000e+02 9.70200e+03 -5542 4.68000e+02 7.26000e+03 -5543 5.60000e+02 7.26000e+03 -5544 7.36000e+02 7.26000e+03 -5545 8.48000e+02 7.26000e+03 -5546 9.12000e+02 7.26000e+03 -5547 9.76000e+02 7.26000e+03 -5548 1.07200e+03 7.26000e+03 -5549 1.15200e+03 7.26000e+03 -5550 1.31200e+03 7.26000e+03 -5551 1.52000e+03 3.11300e+03 -5552 1.52000e+03 7.02900e+03 -5553 1.12480e+04 2.31000e+02 -5554 1.12480e+04 9.02000e+02 -5555 1.13440e+04 1.76000e+03 -5556 1.14880e+04 1.76000e+03 -5557 1.16960e+04 1.76000e+03 -5558 1.17600e+04 1.76000e+03 -5559 1.19040e+04 1.76000e+03 -5560 1.20480e+04 1.76000e+03 -5561 1.21760e+04 1.76000e+03 -5562 1.23040e+04 4.48800e+03 -5563 1.23040e+04 5.96200e+03 -5564 1.23040e+04 7.39200e+03 -5565 1.23040e+04 1.11650e+04 -5566 1.81600e+04 3.61900e+03 -5567 1.81600e+04 7.76600e+03 -5568 1.81600e+04 1.06700e+04 -5569 1.80960e+04 2.31000e+02 -5570 1.80960e+04 3.74000e+03 -5571 1.80960e+04 7.76600e+03 -5572 1.80960e+04 1.06700e+04 -5573 1.10880e+04 2.31000e+02 -5574 1.10880e+04 9.02000e+02 -5575 1.10880e+04 1.76000e+03 -5576 1.10880e+04 4.48800e+03 -5577 1.11080e+04 5.36800e+03 -5578 1.12160e+04 5.36800e+03 -5579 1.13440e+04 5.36800e+03 -5580 1.14880e+04 5.36800e+03 -5581 1.16800e+04 5.36800e+03 -5582 1.17600e+04 5.36800e+03 -5583 1.19040e+04 5.36800e+03 -5584 1.20480e+04 5.36800e+03 -5585 1.21760e+04 5.36800e+03 -5586 1.23360e+04 5.36800e+03 -5587 1.24320e+04 5.36800e+03 -5588 1.25280e+04 5.36800e+03 -5589 1.26880e+04 5.36800e+03 -5590 1.28000e+04 5.36800e+03 -5591 1.29120e+04 5.36800e+03 -5592 1.31040e+04 5.36800e+03 -5593 1.33280e+04 5.36800e+03 -5594 1.34560e+04 5.36800e+03 -5595 1.35200e+04 5.36800e+03 -5596 1.35840e+04 5.46700e+03 -5597 1.35840e+04 7.28200e+03 -5598 1.35840e+04 8.86600e+03 -5599 1.35840e+04 1.15390e+04 -5600 1.06720e+04 2.31000e+02 -5601 1.06720e+04 9.02000e+02 -5602 1.06720e+04 1.76000e+03 -5603 1.08000e+04 5.58800e+03 -5604 1.09280e+04 5.58800e+03 -5605 1.10880e+04 5.58800e+03 -5606 1.12160e+04 5.58800e+03 -5607 1.13440e+04 5.58800e+03 -5608 1.14880e+04 5.58800e+03 -5609 1.16800e+04 5.58800e+03 -5610 1.17600e+04 5.58800e+03 -5611 1.19040e+04 5.58800e+03 -5612 1.20480e+04 5.58800e+03 -5613 1.21760e+04 5.58800e+03 -5614 1.23360e+04 5.58800e+03 -5615 1.24320e+04 5.58800e+03 -5616 1.25280e+04 5.58800e+03 -5617 1.26880e+04 5.58800e+03 -5618 1.28000e+04 5.58800e+03 -5619 1.29120e+04 5.58800e+03 -5620 1.31040e+04 5.58800e+03 -5621 1.33280e+04 6.40200e+03 -5622 1.33280e+04 7.39200e+03 -5623 1.33280e+04 8.53600e+03 -5624 1.33280e+04 9.17400e+03 -5625 1.33280e+04 1.14290e+04 -5626 3.79200e+03 2.90400e+03 -5627 3.79200e+03 5.85200e+03 -5628 3.81300e+03 6.02800e+03 -5629 3.88800e+03 6.02800e+03 -5630 3.95200e+03 6.02800e+03 -5631 4.09600e+03 6.02800e+03 -5632 4.17600e+03 6.02800e+03 -5633 4.25600e+03 6.02800e+03 -5634 4.43200e+03 6.02800e+03 -5635 4.49600e+03 6.02800e+03 -5636 4.56000e+03 6.02800e+03 -5637 4.64000e+03 6.02800e+03 -5638 4.75200e+03 6.02800e+03 -5639 4.84800e+03 6.02800e+03 -5640 4.91200e+03 6.02800e+03 -5641 5.04000e+03 6.02800e+03 -5642 5.32800e+03 6.02800e+03 -5643 5.66400e+03 6.02800e+03 -5644 6.09600e+03 6.02800e+03 -5645 6.19200e+03 6.02800e+03 -5646 6.25600e+03 6.02800e+03 -5647 6.41600e+03 6.02800e+03 -5648 6.55500e+03 6.02800e+03 -5649 6.57600e+03 8.64600e+03 -5650 6.57600e+03 9.43800e+03 -5651 6.57600e+03 1.14950e+04 -5652 4.04800e+03 2.95900e+03 -5653 4.04800e+03 6.90800e+03 -5654 4.12800e+03 1.00320e+04 -5655 4.27200e+03 1.00320e+04 -5656 4.40000e+03 1.00320e+04 -5657 4.52800e+03 1.00320e+04 -5658 4.62400e+03 1.00320e+04 -5659 4.68800e+03 1.00320e+04 -5660 4.78400e+03 1.00320e+04 -5661 4.94400e+03 1.00320e+04 -5662 5.00800e+03 1.00320e+04 -5663 5.13600e+03 1.00320e+04 -5664 5.26400e+03 1.00320e+04 -5665 5.55200e+03 1.00320e+04 -5666 5.63200e+03 1.00320e+04 -5667 5.80800e+03 1.00320e+04 -5668 5.96800e+03 1.00320e+04 -5669 6.03200e+03 1.00320e+04 -5670 6.11200e+03 1.00320e+04 -5671 6.19200e+03 1.00320e+04 -5672 6.35200e+03 1.00320e+04 -5673 6.44800e+03 1.00320e+04 -5674 6.67200e+03 1.00320e+04 -5675 6.84800e+03 1.00320e+04 -5676 6.92800e+03 1.08020e+04 -5677 4.40000e+03 2.36500e+03 -5678 4.40000e+03 5.43400e+03 -5679 4.40000e+03 7.81000e+03 -5680 4.52800e+03 9.59200e+03 -5681 4.62400e+03 9.59200e+03 -5682 4.68800e+03 9.59200e+03 -5683 4.78400e+03 9.59200e+03 -5684 4.96000e+03 9.59200e+03 -5685 5.13600e+03 9.59200e+03 -5686 5.55200e+03 9.59200e+03 -5687 5.63200e+03 9.59200e+03 -5688 5.80800e+03 9.59200e+03 -5689 5.96800e+03 9.59200e+03 -5690 6.03200e+03 9.59200e+03 -5691 6.11200e+03 9.59200e+03 -5692 6.19200e+03 9.59200e+03 -5693 6.35200e+03 9.59200e+03 -5694 6.41600e+03 1.14950e+04 -5695 1.02560e+04 2.31000e+02 -5696 1.02560e+04 1.01200e+03 -5697 1.02560e+04 1.76000e+03 -5698 1.02560e+04 7.51300e+03 -5699 1.03840e+04 7.78800e+03 -5700 1.04960e+04 7.78800e+03 -5701 1.06560e+04 7.78800e+03 -5702 1.08160e+04 7.78800e+03 -5703 1.09280e+04 7.78800e+03 -5704 1.10400e+04 7.78800e+03 -5705 1.11200e+04 7.78800e+03 -5706 1.12160e+04 7.78800e+03 -5707 1.13280e+04 7.78800e+03 -5708 1.15040e+04 7.78800e+03 -5709 1.15680e+04 7.78800e+03 -5710 1.16320e+04 7.78800e+03 -5711 1.16960e+04 7.78800e+03 -5712 1.17600e+04 7.78800e+03 -5713 1.18240e+04 7.78800e+03 -5714 1.19680e+04 7.78800e+03 -5715 1.21920e+04 7.78800e+03 -5716 1.22720e+04 7.78800e+03 -5717 1.23840e+04 7.78800e+03 -5718 1.25280e+04 7.78800e+03 -5719 1.26560e+04 7.78800e+03 -5720 1.28000e+04 7.78800e+03 -5721 1.28800e+04 7.78800e+03 -5722 1.29440e+04 7.78800e+03 -5723 1.30880e+04 7.78800e+03 -5724 1.32750e+04 7.78800e+03 -5725 1.32960e+04 8.53600e+03 -5726 1.32960e+04 9.17400e+03 -5727 1.32960e+04 1.14290e+04 -5728 9.84000e+03 2.31000e+02 -5729 9.84000e+03 1.01200e+03 -5730 9.84000e+03 1.76000e+03 -5731 9.86000e+03 3.16800e+03 -5732 1.00000e+04 3.16800e+03 -5733 1.00960e+04 3.16800e+03 -5734 1.02240e+04 3.16800e+03 -5735 1.02880e+04 3.16800e+03 -5736 1.03840e+04 3.16800e+03 -5737 1.05120e+04 3.16800e+03 -5738 1.05760e+04 3.16800e+03 -5739 1.06400e+04 3.16800e+03 -5740 1.07040e+04 3.16800e+03 -5741 1.08000e+04 3.16800e+03 -5742 1.09280e+04 3.16800e+03 -5743 1.10560e+04 3.16800e+03 -5744 1.11200e+04 3.16800e+03 -5745 1.12160e+04 3.16800e+03 -5746 1.13440e+04 3.16800e+03 -5747 1.14880e+04 3.16800e+03 -5748 1.16960e+04 3.16800e+03 -5749 1.17600e+04 3.16800e+03 -5750 1.19040e+04 3.16800e+03 -5751 1.20480e+04 3.16800e+03 -5752 1.21760e+04 3.16800e+03 -5753 1.23360e+04 3.16800e+03 -5754 1.24320e+04 3.16800e+03 -5755 1.25440e+04 3.16800e+03 -5756 1.26880e+04 3.16800e+03 -5757 1.27520e+04 3.16800e+03 -5758 1.28160e+04 3.16800e+03 -5759 1.29280e+04 3.16800e+03 -5760 1.30400e+04 3.26700e+03 -5761 1.30400e+04 3.93800e+03 -5762 1.30400e+04 4.70800e+03 -5763 1.30400e+04 6.07200e+03 -5764 1.30400e+04 7.28200e+03 -5765 1.30400e+04 8.53600e+03 -5766 1.30400e+04 9.17400e+03 -5767 1.30400e+04 1.14290e+04 -5768 4.08000e+03 2.31000e+03 -5769 4.08000e+03 4.66400e+03 -5770 4.10100e+03 4.84000e+03 -5771 4.17600e+03 4.84000e+03 -5772 4.25600e+03 4.84000e+03 -5773 4.43200e+03 4.84000e+03 -5774 4.49600e+03 4.84000e+03 -5775 4.56000e+03 4.84000e+03 -5776 4.65600e+03 4.84000e+03 -5777 4.72000e+03 4.84000e+03 -5778 4.78400e+03 4.84000e+03 -5779 4.84800e+03 4.84000e+03 -5780 4.91200e+03 4.84000e+03 -5781 5.04000e+03 4.84000e+03 -5782 5.29600e+03 4.84000e+03 -5783 5.66400e+03 4.84000e+03 -5784 5.87200e+03 4.84000e+03 -5785 6.12800e+03 4.84000e+03 -5786 6.19200e+03 4.84000e+03 -5787 6.25600e+03 4.84000e+03 -5788 6.41600e+03 4.84000e+03 -5789 6.56000e+03 4.84000e+03 -5790 6.67200e+03 4.84000e+03 -5791 6.78400e+03 4.84000e+03 -5792 6.89600e+03 4.84000e+03 -5793 7.00800e+03 4.84000e+03 -5794 7.08800e+03 4.84000e+03 -5795 7.18400e+03 4.84000e+03 -5796 7.28000e+03 4.98300e+03 -5797 7.28000e+03 7.12800e+03 -5798 7.28000e+03 8.75600e+03 -5799 7.28000e+03 1.08020e+04 -5800 4.33600e+03 2.36500e+03 -5801 4.33600e+03 5.43400e+03 -5802 4.43200e+03 6.77600e+03 -5803 4.49600e+03 6.77600e+03 -5804 4.64000e+03 6.77600e+03 -5805 4.76800e+03 6.77600e+03 -5806 4.84800e+03 6.77600e+03 -5807 4.91200e+03 6.77600e+03 -5808 5.04000e+03 6.77600e+03 -5809 5.42400e+03 6.77600e+03 -5810 5.64800e+03 6.77600e+03 -5811 5.93600e+03 6.77600e+03 -5812 6.09600e+03 6.77600e+03 -5813 6.19200e+03 6.77600e+03 -5814 6.41600e+03 6.77600e+03 -5815 6.54400e+03 6.77600e+03 -5816 6.67200e+03 6.77600e+03 -5817 6.76800e+03 6.77600e+03 -5818 6.86400e+03 6.77600e+03 -5819 6.99200e+03 6.77600e+03 -5820 7.08800e+03 6.77600e+03 -5821 7.18400e+03 6.77600e+03 -5822 7.32800e+03 6.77600e+03 -5823 7.61100e+03 6.77600e+03 -5824 7.63200e+03 6.89700e+03 -5825 7.63200e+03 8.75600e+03 -5826 1.80640e+04 2.31000e+02 -5827 1.80640e+04 3.74000e+03 -5828 1.80640e+04 7.76600e+03 -5829 1.80640e+04 1.06700e+04 -5830 6.96000e+03 6.38000e+02 -5831 6.96000e+03 1.51800e+03 -5832 6.96000e+03 2.57400e+03 -5833 6.96000e+03 4.04800e+03 -5834 6.99600e+03 5.58800e+03 -5835 7.08800e+03 5.58800e+03 -5836 7.18400e+03 5.58800e+03 -5837 7.32800e+03 5.58800e+03 -5838 7.58400e+03 5.58800e+03 -5839 7.66400e+03 5.58800e+03 -5840 7.76000e+03 5.58800e+03 -5841 7.82400e+03 5.58800e+03 -5842 7.88800e+03 5.58800e+03 -5843 7.95200e+03 5.58800e+03 -5844 8.04800e+03 5.58800e+03 -5845 8.17600e+03 5.58800e+03 -5846 8.33600e+03 5.58800e+03 -5847 8.43200e+03 5.58800e+03 -5848 8.49600e+03 5.58800e+03 -5849 8.75200e+03 5.58800e+03 -5850 8.84800e+03 5.58800e+03 -5851 8.99200e+03 5.58800e+03 -5852 9.44000e+03 5.58800e+03 -5853 9.55200e+03 5.58800e+03 -5854 9.68000e+03 5.58800e+03 -5855 9.82400e+03 5.58800e+03 -5856 1.00160e+04 5.58800e+03 -5857 1.01600e+04 5.58800e+03 -5858 1.02240e+04 5.58800e+03 -5859 1.02880e+04 7.39200e+03 -5860 9.20000e+03 8.80000e+02 -5861 9.20000e+03 1.76000e+03 -5862 9.20000e+03 2.94800e+03 -5863 9.44000e+03 5.80800e+03 -5864 9.55200e+03 5.80800e+03 -5865 9.68000e+03 5.80800e+03 -5866 9.81900e+03 5.80800e+03 -5867 1.32800e+03 9.91100e+03 -5868 1.58400e+03 9.15200e+03 -5869 1.71200e+03 9.15200e+03 -5870 1.77600e+03 9.15200e+03 -5871 1.90400e+03 9.15200e+03 -5872 2.06400e+03 9.15200e+03 -5873 2.24000e+03 9.15200e+03 -5874 2.46400e+03 9.15200e+03 -5875 2.73600e+03 9.15200e+03 -5876 2.96000e+03 9.15200e+03 -5877 3.02400e+03 9.15200e+03 -5878 3.16800e+03 9.15200e+03 -5879 3.31200e+03 9.15200e+03 -5880 3.50400e+03 9.15200e+03 -5881 3.56800e+03 3.11300e+03 -5882 3.56800e+03 7.12800e+03 -5883 3.56800e+03 9.05300e+03 -5884 9.42400e+03 3.52000e+02 -5885 9.44400e+03 5.72000e+02 -5886 9.58400e+03 5.72000e+02 -5887 9.68000e+03 5.72000e+02 -5888 9.80800e+03 5.72000e+02 -5889 9.87200e+03 5.72000e+02 -5890 1.00000e+04 5.72000e+02 -5891 1.00960e+04 5.72000e+02 -5892 1.02240e+04 5.72000e+02 -5893 1.02880e+04 5.72000e+02 -5894 1.03840e+04 5.72000e+02 -5895 1.05120e+04 5.72000e+02 -5896 1.06400e+04 5.72000e+02 -5897 1.07040e+04 5.72000e+02 -5898 1.08000e+04 5.72000e+02 -5899 1.09280e+04 5.72000e+02 -5900 1.10560e+04 5.72000e+02 -5901 1.11200e+04 5.72000e+02 -5902 1.12160e+04 5.72000e+02 -5903 1.13440e+04 5.72000e+02 -5904 1.14880e+04 5.72000e+02 -5905 1.16960e+04 5.72000e+02 -5906 1.17600e+04 5.72000e+02 -5907 1.19040e+04 5.72000e+02 -5908 1.20480e+04 5.72000e+02 -5909 1.21760e+04 5.72000e+02 -5910 1.23360e+04 5.72000e+02 -5911 1.24320e+04 5.72000e+02 -5912 1.25280e+04 5.72000e+02 -5913 1.26880e+04 5.72000e+02 -5914 1.28160e+04 5.72000e+02 -5915 1.29550e+04 5.72000e+02 -EOF diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/usa13509.tsp b/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/usa13509.tsp deleted file mode 100644 index a03eef901..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/benchs/usa13509.tsp +++ /dev/null @@ -1,13519 +0,0 @@ -NAME: usa13509 -TYPE: TSP -COMMENT: Cities with population at least 500 in the continental US. -COMMENT: Contributed by David Applegate and Andre Rohe, based on the -COMMENT: data set "US.lat-long" from the ftp site ftp.cs.toronto.edu. -COMMENT: The file US.lat-long.Z can be found in the directory /doc/geography. -DIMENSION: 13509 -EDGE_WEIGHT_TYPE: EUC_2D -NODE_COORD_SECTION -1 245552.778 817827.778 -2 247133.333 810905.556 -3 247205.556 810188.889 -4 249238.889 806280.556 -5 250111.111 805152.778 -6 254475.000 804794.444 -7 254683.333 804777.778 -8 254950.000 804294.444 -9 255622.222 803825.000 -10 255802.778 803469.444 -11 255972.222 803808.333 -12 256047.222 803538.889 -13 256147.222 803108.333 -14 256311.111 803691.667 -15 256788.889 803175.000 -16 256933.333 801630.556 -17 257072.222 802936.111 -18 257072.222 803258.333 -19 257211.111 802686.111 -20 257263.889 803555.556 -21 257544.444 803275.000 -22 257630.556 802963.889 -23 257738.889 801938.889 -24 257902.778 801302.778 -25 258100.000 803025.000 -26 258219.444 802897.222 -27 258402.778 803266.667 -28 258458.333 801541.667 -29 258550.000 801933.333 -30 258572.222 802783.333 -31 258627.778 801930.556 -32 258647.222 803247.222 -33 258702.778 802991.667 -34 258780.556 801258.333 -35 258822.222 801808.333 -36 258872.222 801313.889 -37 258897.222 801869.444 -38 258913.889 801272.222 -39 259013.889 974972.222 -40 259019.444 802505.556 -41 259305.556 803286.111 -42 259327.778 801627.778 -43 259402.778 802458.333 -44 259480.556 801508.333 -45 259502.778 801230.556 -46 259619.444 801769.444 -47 259647.222 801225.000 -48 259647.222 802416.667 -49 259722.222 817291.667 -50 259808.333 801486.111 -51 259869.444 802325.000 -52 259875.000 801750.000 -53 260027.778 802241.667 -54 260108.333 801497.222 -55 260519.444 801441.667 -56 260569.444 802719.444 -57 260644.444 802322.222 -58 260713.889 974761.111 -59 260730.556 972083.333 -60 260883.333 817263.889 -61 260919.444 979569.444 -62 261000.000 982627.778 -63 261005.556 972900.000 -64 261033.333 971644.444 -65 261219.444 801436.111 -66 261272.222 802333.333 -67 261322.222 976308.333 -68 261400.000 802136.111 -69 261416.667 817950.000 -70 261494.444 979133.333 -71 261586.111 978236.111 -72 261591.667 979905.556 -73 261600.000 801391.667 -74 261661.111 802086.111 -75 261700.000 980516.667 -76 261833.333 981227.778 -77 261902.778 976958.333 -78 261916.667 800966.667 -79 261944.444 981833.333 -80 262022.222 800941.667 -81 262030.556 982297.222 -82 262155.556 983250.000 -83 262188.889 817919.444 -84 262255.556 977577.778 -85 262350.000 975816.667 -86 262375.000 801250.000 -87 262441.667 802066.667 -88 262466.667 984811.111 -89 262483.333 977336.111 -90 262563.889 978247.222 -91 262613.889 818094.444 -92 262825.000 801072.222 -93 262869.444 983130.556 -94 262930.556 979927.778 -95 262936.111 800791.667 -96 262936.111 979602.778 -97 262983.333 979283.333 -98 263013.889 981630.556 -99 263180.556 801000.000 -100 263305.556 818269.444 -101 263394.444 817788.889 -102 263583.333 800833.333 -103 263727.778 979713.889 -104 263794.444 988200.000 -105 263991.667 800658.333 -106 264047.222 990155.556 -107 264119.444 977894.444 -108 264183.333 814175.000 -109 264422.222 980136.111 -110 264486.111 820225.000 -111 264516.667 819483.333 -112 264611.111 800730.556 -113 264669.444 818016.667 -114 265250.000 800666.667 -115 265266.667 800486.111 -116 265625.000 819497.222 -117 265661.111 800536.111 -118 265863.889 800522.222 -119 265886.111 800388.889 -120 266155.556 800572.222 -121 266233.333 801255.556 -122 266250.000 816250.000 -123 266402.778 818725.000 -124 266450.000 800761.111 -125 266636.111 807163.889 -126 266669.444 818802.778 -127 266744.444 818152.778 -128 266841.667 806677.778 -129 266908.333 801202.778 -130 267052.778 800366.667 -131 267088.889 817461.111 -132 267150.000 800536.111 -133 267372.222 809511.111 -134 267538.889 809338.889 -135 267600.000 800738.889 -136 267613.889 814386.111 -137 267750.000 800583.333 -138 267777.778 800358.333 -139 268000.000 800666.667 -140 268172.222 800822.222 -141 268197.222 806655.556 -142 268327.778 810933.333 -143 268416.667 810963.889 -144 268794.444 800536.111 -145 268833.333 822902.778 -146 269069.444 992711.111 -147 269097.222 820541.667 -148 269138.889 823272.222 -149 269294.444 820455.556 -150 269338.889 800944.444 -151 269466.667 820261.111 -152 269580.556 820672.222 -153 269613.889 819841.667 -154 269758.333 820908.333 -155 270269.444 804858.333 -156 270500.000 822500.000 -157 270527.778 824244.444 -158 270566.667 823786.111 -159 270591.667 801366.667 -160 270727.778 824077.778 -161 270994.444 824544.444 -162 271188.889 824444.444 -163 271300.000 824533.333 -164 271438.889 802008.333 -165 271675.000 802663.889 -166 271958.333 824905.556 -167 271972.222 802530.556 -168 272155.556 818586.111 -169 272172.222 802700.000 -170 272191.667 802394.444 -171 272216.667 824980.556 -172 272266.667 981438.889 -173 272436.111 808300.000 -174 272516.667 808141.667 -175 272541.667 802300.000 -176 272836.111 824808.333 -177 272927.778 813630.556 -178 273063.889 986780.556 -179 273294.444 824577.778 -180 273361.111 825308.333 -181 273602.778 981233.333 -182 274097.222 825694.444 -183 274122.222 826591.667 -184 274241.667 825802.778 -185 274250.000 825905.556 -186 274463.889 803258.333 -187 274472.222 825463.889 -188 274666.667 827041.667 -189 274688.889 826863.889 -190 274691.667 825416.667 -191 274930.556 817961.111 -192 274952.778 814411.111 -193 274972.222 827091.667 -194 274986.111 825750.000 -195 275061.111 995072.222 -196 275119.444 826322.222 -197 275155.556 978558.333 -198 275211.111 825725.000 -199 275213.889 825277.778 -200 275308.333 827336.111 -201 275355.556 825613.889 -202 275427.778 804025.000 -203 275469.444 818116.667 -204 275858.333 977988.889 -205 275955.556 815063.889 -206 275986.111 984077.778 -207 276380.556 818241.667 -208 276383.333 803975.000 -209 276741.667 977483.333 -210 276750.000 804094.444 -211 277122.222 822991.667 -212 277163.889 803844.444 -213 277205.556 824333.333 -214 277455.556 815308.333 -215 277480.556 804363.889 -216 277480.556 827036.111 -217 277519.444 818019.444 -218 277519.444 980694.444 -219 277547.222 827377.778 -220 277636.111 982386.111 -221 277675.000 806016.667 -222 277688.889 827691.667 -223 277813.889 979083.333 -224 277900.000 976686.111 -225 277950.000 819805.556 -226 277977.778 827975.000 -227 278002.778 973961.111 -228 278083.333 828113.889 -229 278138.889 827783.333 -230 278158.333 828208.333 -231 278258.333 828291.667 -232 278336.111 970608.333 -233 278355.556 804933.333 -234 278425.000 826997.222 -235 278625.000 828486.111 -236 278750.000 828513.889 -237 278769.444 973236.111 -238 278775.000 972113.889 -239 278802.778 805005.556 -240 278825.000 986175.000 -241 278950.000 819736.111 -242 278961.111 818433.333 -243 279011.111 815861.111 -244 279091.667 827875.000 -245 279091.667 971497.222 -246 279141.667 827055.556 -247 279211.111 828172.222 -248 279219.444 972897.222 -249 279227.778 828433.333 -250 279355.556 828063.889 -251 279375.000 822861.111 -252 279455.556 818005.556 -253 279472.222 824586.111 -254 279502.778 975819.444 -255 279525.000 817272.222 -256 279563.889 979366.667 -257 279650.000 818780.556 -258 279655.556 828002.778 -259 279675.000 819736.111 -260 279780.556 817566.667 -261 279786.111 816141.667 -262 279786.111 973983.333 -263 279905.556 826933.333 -264 279936.111 816902.778 -265 279938.889 822197.222 -266 279944.444 817383.333 -267 280033.333 805658.333 -268 280083.333 819077.778 -269 280183.333 821130.556 -270 280194.444 827719.444 -271 280202.778 970541.667 -272 280219.444 817330.556 -273 280222.222 816194.444 -274 280313.889 820150.000 -275 280338.889 826652.778 -276 280341.667 805888.889 -277 280350.000 823894.444 -278 280363.889 975088.889 -279 280408.333 993541.667 -280 280441.667 816280.556 -281 280611.111 970408.333 -282 280650.000 817888.889 -283 280680.556 805605.556 -284 280713.889 806536.111 -285 280719.444 806802.778 -286 280777.778 827638.889 -287 280786.111 806027.778 -288 280850.000 806666.667 -289 280891.667 805658.333 -290 280916.667 817236.111 -291 280941.667 978277.778 -292 281138.889 816180.556 -293 281144.444 819738.889 -294 281205.556 820233.333 -295 281355.556 806719.444 -296 281458.333 827569.444 -297 281486.111 805886.111 -298 281508.333 824616.667 -299 281611.111 816019.444 -300 281758.333 805902.778 -301 281822.222 818241.667 -302 281875.000 827397.222 -303 282163.889 827225.000 -304 282333.333 821813.889 -305 282380.556 973197.222 -306 282438.889 827194.444 -307 282586.111 814566.667 -308 282713.889 827197.222 -309 282916.667 814077.778 -310 283050.000 972750.000 -311 283197.222 806077.778 -312 283322.222 981172.222 -313 283358.333 822747.222 -314 283505.556 807255.556 -315 283644.444 821961.111 -316 283858.333 807422.222 -317 284005.556 977480.556 -318 284055.556 806050.000 -319 284150.000 967133.333 -320 284319.444 807602.778 -321 284366.667 992347.222 -322 284569.444 813916.667 -323 284580.556 813594.444 -324 284600.000 981822.222 -325 284655.556 821722.222 -326 284716.667 813680.556 -327 284858.333 813725.000 -328 284952.778 815350.000 -329 285025.000 813308.333 -330 285072.222 821705.556 -331 285216.667 998602.778 -332 285380.556 813794.444 -333 285380.556 814605.556 -334 285408.333 813008.333 -335 285491.667 817730.556 -336 285544.444 811066.667 -337 285547.222 816333.333 -338 285550.000 823880.556 -339 285577.778 818513.889 -340 285650.000 815863.889 -341 285688.889 815441.667 -342 285730.556 995683.333 -343 285741.667 817463.889 -344 285780.556 818869.444 -345 285908.333 813944.444 -346 285997.222 813394.444 -347 286097.222 820552.778 -348 286119.444 808077.778 -349 286144.444 813808.333 -350 286147.222 966258.333 -351 286191.667 814427.778 -352 286416.667 811236.111 -353 286475.000 968922.222 -354 286488.889 813513.889 -355 286497.222 819927.778 -356 286608.333 813658.333 -357 286613.889 814191.667 -358 286616.667 815097.222 -359 286647.222 821130.556 -360 286650.000 808450.000 -361 286672.222 991702.778 -362 286680.556 973880.556 -363 286697.222 812083.333 -364 286772.222 998277.778 -365 286775.000 813280.556 -366 286794.444 965600.000 -367 286802.778 815097.222 -368 286986.111 813083.333 -369 287077.778 962172.222 -370 287088.889 1004991.667 -371 287094.444 817330.556 -372 287308.333 816013.889 -373 287394.444 811152.778 -374 287500.000 822969.444 -375 287555.556 820950.000 -376 287586.111 813180.556 -377 287811.111 826152.778 -378 287994.444 820702.778 -379 288002.778 812733.333 -380 288022.222 816447.222 -381 288038.889 817258.333 -382 288105.556 818780.556 -383 288188.889 978483.333 -384 288355.556 823305.556 -385 288402.778 817688.889 -386 288525.000 816855.556 -387 288611.111 819066.667 -388 288616.667 987061.111 -389 288650.000 820391.667 -390 288830.556 977127.778 -391 288847.222 979005.556 -392 288919.444 990947.222 -393 289002.778 812638.889 -394 289005.556 823747.222 -395 289022.222 825927.778 -396 289172.222 819230.556 -397 289177.778 985461.111 -398 289291.667 816658.333 -399 289408.333 998494.444 -400 289441.667 952886.111 -401 289486.111 812988.889 -402 289538.889 953594.444 -403 289600.000 960650.000 -404 289669.444 984783.333 -405 289783.333 966458.333 -406 289805.556 812336.111 -407 289808.333 975025.000 -408 289825.000 959691.667 -409 289825.000 980172.222 -410 289886.111 809025.000 -411 290027.778 953316.667 -412 290175.000 958891.667 -413 290244.444 953986.111 -414 290255.556 809272.222 -415 290255.556 809722.222 -416 290297.222 827161.111 -417 290300.000 826688.889 -418 290336.111 954341.667 -419 290386.111 956983.333 -420 290402.778 965133.333 -421 290402.778 985677.778 -422 290441.667 955688.889 -423 290488.889 824611.111 -424 290550.000 820625.000 -425 290558.333 954097.222 -426 290694.444 980816.667 -427 290936.111 972888.889 -428 290961.111 809372.222 -429 291191.667 813516.667 -430 291333.333 981558.333 -431 291383.333 830352.778 -432 291397.222 989050.000 -433 291436.111 956450.000 -434 291655.556 810047.222 -435 291691.667 954316.667 -436 291758.333 809830.556 -437 291869.444 821402.778 -438 291894.444 988622.222 -439 291963.889 962694.444 -440 292094.444 997858.333 -441 292105.556 810230.556 -442 292261.111 986575.000 -443 292280.556 953447.222 -444 292366.667 979597.222 -445 292391.667 814658.333 -446 292433.333 810377.778 -447 292672.222 977641.667 -448 292855.556 810561.111 -449 292875.000 971516.667 -450 292947.222 952786.111 -451 293102.778 1004175.000 -452 293105.556 988097.222 -453 293113.889 961025.000 -454 293172.222 994661.111 -455 293472.222 991411.111 -456 293480.556 950158.333 -457 293488.889 810666.667 -458 293555.556 988783.333 -459 293561.111 981152.778 -460 293625.000 1008963.889 -461 293663.889 821975.000 -462 293788.889 902600.000 -463 293836.111 949025.000 -464 293872.222 824469.444 -465 293991.667 958375.000 -466 294236.111 952438.889 -467 294238.889 984933.333 -468 294288.889 971702.778 -469 294300.000 815108.333 -470 294383.333 905952.778 -471 294419.444 902991.667 -472 294436.111 969408.333 -473 294475.000 826425.000 -474 294505.556 959944.444 -475 294569.444 946394.444 -476 294605.556 950511.111 -477 294625.000 953577.778 -478 294630.556 983852.778 -479 294658.333 812580.556 -480 294747.222 811272.222 -481 294747.222 984505.556 -482 294786.111 984872.222 -483 294802.778 896938.889 -484 294822.222 954152.778 -485 294830.556 949219.444 -486 294847.222 984655.556 -487 294877.778 985513.889 -488 294950.000 986183.333 -489 295000.000 815916.667 -490 295013.889 974522.222 -491 295044.444 822800.000 -492 295066.667 949922.222 -493 295072.222 950947.222 -494 295152.778 983800.000 -495 295177.778 983158.333 -496 295230.556 985161.111 -497 295291.667 952008.333 -498 295297.222 825191.667 -499 295308.333 960708.333 -500 295375.000 907200.000 -501 295425.000 903380.556 -502 295425.000 950202.778 -503 295472.222 950319.444 -504 295477.778 982908.333 -505 295519.444 982694.444 -506 295533.333 906022.222 -507 295569.444 958083.333 -508 295605.556 1043716.667 -509 295613.889 982266.667 -510 295633.333 952858.333 -511 295638.889 950252.778 -512 295686.111 979644.444 -513 295711.111 981400.000 -514 295722.222 903816.667 -515 295747.222 971425.000 -516 295819.444 957605.556 -517 295822.222 984905.556 -518 295847.222 985522.222 -519 295894.444 963333.333 -520 295916.667 820875.000 -521 295919.444 980330.556 -522 295955.556 907194.444 -523 296002.778 984869.444 -524 296130.556 828177.778 -525 296158.333 955575.000 -526 296183.333 955375.000 -527 296194.444 956347.222 -528 296200.000 950097.222 -529 296236.111 818905.556 -530 296311.111 960650.000 -531 296341.667 831252.778 -532 296458.333 905391.667 -533 296461.111 826066.667 -534 296483.333 816377.778 -535 296513.889 823250.000 -536 296580.556 815986.111 -537 296622.222 948900.000 -538 296627.778 952352.778 -539 296655.556 950191.667 -540 296661.111 911019.444 -541 296666.667 901083.333 -542 296691.667 1000119.444 -543 296791.667 959769.444 -544 296802.778 976472.222 -545 296816.667 969027.778 -546 296875.000 971083.333 -547 296894.444 912708.333 -548 296897.222 958994.444 -549 296908.333 952088.889 -550 296930.556 913019.444 -551 296944.444 912188.889 -552 296991.667 912066.667 -553 297027.778 967802.778 -554 297027.778 981241.667 -555 297050.000 951236.111 -556 297055.556 954586.111 -557 297058.333 954366.667 -558 297063.889 965394.444 -559 297177.778 815083.333 -560 297177.778 954336.111 -561 297230.556 901236.111 -562 297255.556 849833.333 -563 297263.889 990733.333 -564 297272.222 905988.889 -565 297352.778 949772.222 -566 297363.889 848786.111 -567 297486.111 966008.333 -568 297597.222 955169.444 -569 297630.556 953630.556 -570 297672.222 952336.111 -571 297672.222 955297.222 -572 297702.778 954952.778 -573 297727.778 946825.000 -574 297758.333 951144.444 -575 297772.222 955169.444 -576 297780.556 951716.667 -577 297805.556 961569.444 -578 297855.556 958241.667 -579 297858.333 820316.667 -580 297858.333 959508.333 -581 297894.444 821675.000 -582 297897.222 943830.556 -583 297927.778 961005.556 -584 297944.444 987316.667 -585 297955.556 824944.444 -586 297955.556 908227.778 -587 297958.333 915013.889 -588 297975.000 933250.000 -589 298186.111 950558.333 -590 298200.000 943838.889 -591 298236.111 904750.000 -592 298266.667 825969.444 -593 298372.222 909561.111 -594 298377.778 915441.667 -595 298475.000 948905.556 -596 298530.556 846644.444 -597 298547.222 899905.556 -598 298677.778 951280.556 -599 298797.222 950627.778 -600 298830.556 979411.111 -601 298847.222 976697.222 -602 298875.000 955627.778 -603 298955.556 898977.778 -604 298986.111 939286.111 -605 298991.667 901002.778 -606 299022.222 955022.222 -607 299033.333 900772.222 -608 299052.778 968763.889 -609 299058.333 901422.222 -610 299061.111 903561.111 -611 299100.000 900325.000 -612 299108.333 916633.333 -613 299116.667 950619.444 -614 299144.444 900538.889 -615 299175.000 939241.667 -616 299183.333 902108.333 -617 299319.444 903663.889 -618 299322.222 953800.000 -619 299361.111 906786.111 -620 299402.778 902030.556 -621 299402.778 910247.222 -622 299425.000 899633.333 -623 299427.778 903516.667 -624 299438.889 821100.000 -625 299477.778 854180.556 -626 299480.556 919886.111 -627 299480.556 939169.444 -628 299500.000 962569.444 -629 299541.667 900052.778 -630 299544.444 900750.000 -631 299580.556 920358.333 -632 299588.889 829283.333 -633 299650.000 912030.556 -634 299675.000 989047.222 -635 299741.667 939922.222 -636 299763.889 904088.889 -637 299777.778 903877.778 -638 299794.444 818105.556 -639 299838.889 901527.778 -640 299888.889 978769.444 -641 299911.111 939583.333 -642 299916.667 816783.333 -643 299938.889 902416.667 -644 299977.778 922847.222 -645 299988.889 904122.222 -646 300033.333 918186.111 -647 300108.333 907194.444 -648 300155.556 1002050.000 -649 300205.556 938455.556 -650 300225.000 823397.222 -651 300258.333 925083.333 -652 300272.222 945913.889 -653 300355.556 944241.667 -654 300402.778 906988.889 -655 300438.889 820719.444 -656 300463.889 948850.000 -657 300472.222 906897.222 -658 300472.222 991400.000 -659 300477.778 943355.556 -660 300527.778 831750.000 -661 300536.111 905516.667 -662 300558.333 906191.667 -663 300563.889 917369.444 -664 300563.889 959266.667 -665 300663.889 904800.000 -666 300772.222 992400.000 -667 300805.556 926713.889 -668 300819.444 937580.556 -669 300850.000 978400.000 -670 300858.333 941016.667 -671 300927.778 937363.889 -672 300930.556 959875.000 -673 300972.222 960780.556 -674 300977.778 984211.111 -675 300994.444 919900.000 -676 301008.333 909927.778 -677 301025.000 940516.667 -678 301088.889 948580.556 -679 301102.778 973150.000 -680 301125.000 852005.556 -681 301130.556 946427.778 -682 301172.222 835819.444 -683 301216.667 924980.556 -684 301308.333 856033.333 -685 301313.889 940152.778 -686 301400.000 944108.333 -687 301422.222 1023936.111 -688 301469.444 919611.111 -689 301522.222 947388.889 -690 301527.778 855700.000 -691 301586.111 856602.778 -692 301658.333 817066.667 -693 301666.667 963975.000 -694 301686.111 933758.333 -695 301697.222 911469.444 -696 301708.333 856252.778 -697 301758.333 843752.778 -698 301763.889 858055.556 -699 301805.556 924641.667 -700 301816.667 932736.111 -701 301825.000 969361.111 -702 301841.667 908591.667 -703 301894.444 826394.444 -704 301897.222 925825.000 -705 301905.556 935811.111 -706 301922.222 826147.222 -707 302008.333 856269.444 -708 302138.889 923744.444 -709 302141.667 918319.444 -710 302172.222 910961.111 -711 302222.222 926569.444 -712 302238.889 920197.222 -713 302255.556 978033.333 -714 302263.889 932172.222 -715 302327.778 951608.333 -716 302347.222 922683.333 -717 302355.556 920944.444 -718 302355.556 921852.778 -719 302358.333 928225.000 -720 302363.889 933772.222 -721 302366.667 930136.111 -722 302383.333 909200.000 -723 302419.444 932505.556 -724 302452.778 856483.333 -725 302458.333 877008.333 -726 302500.000 1032500.000 -727 302530.556 941897.222 -728 302669.444 977427.778 -729 302733.333 918991.667 -730 302750.000 897811.111 -731 302750.000 988716.667 -732 302766.667 977908.333 -733 302766.667 984116.667 -734 302772.222 912236.111 -735 302819.444 821222.222 -736 302866.667 893761.111 -737 302888.889 912341.667 -738 302891.667 856405.556 -739 302944.444 813933.333 -740 302950.000 907950.000 -741 302975.000 937433.333 -742 302977.778 978016.667 -743 303025.000 819755.556 -744 303025.000 931905.556 -745 303077.778 1040186.111 -746 303086.111 892869.444 -747 303116.667 813966.667 -748 303116.667 954558.333 -749 303130.556 917902.778 -750 303133.333 899430.556 -751 303138.889 842475.000 -752 303155.556 892475.000 -753 303169.444 920488.889 -754 303294.444 827591.667 -755 303311.111 924955.556 -756 303319.444 816558.333 -757 303341.667 813988.889 -758 303405.556 975566.667 -759 303458.333 965280.556 -760 303488.889 941777.778 -761 303494.444 973700.000 -762 303502.778 891527.778 -763 303536.111 912652.778 -764 303547.222 940725.000 -765 303569.444 871638.889 -766 303580.556 900655.556 -767 303583.333 1036605.556 -768 303586.111 905861.111 -769 303655.556 885561.111 -770 303672.222 890927.778 -771 303677.778 979913.889 -772 303713.889 943122.222 -773 303758.333 843008.333 -774 303758.333 897483.333 -775 303838.889 872750.000 -776 303855.556 886116.667 -777 303877.778 960875.000 -778 303933.333 864958.333 -779 303941.667 912536.111 -780 303958.333 888852.778 -781 303975.000 919313.889 -782 304027.778 922150.000 -783 304030.556 882483.333 -784 304041.667 901569.444 -785 304055.556 866188.889 -786 304063.889 876836.111 -787 304097.222 866630.556 -788 304108.333 817080.556 -789 304108.333 914336.111 -790 304111.111 888277.778 -791 304111.111 920683.333 -792 304113.889 885344.444 -793 304188.889 970113.889 -794 304208.333 873075.000 -795 304211.111 872169.444 -796 304247.222 954797.222 -797 304250.000 872519.444 -798 304261.111 888908.333 -799 304263.889 872797.222 -800 304302.778 888422.222 -801 304319.444 849758.333 -802 304380.556 842808.333 -803 304386.111 904413.889 -804 304391.667 976197.222 -805 304402.778 885436.111 -806 304408.333 866136.111 -807 304427.778 872225.000 -808 304433.333 850452.778 -809 304438.889 856886.111 -810 304502.778 934330.556 -811 304505.556 911544.444 -812 304519.444 912100.000 -813 304555.556 866383.333 -814 304613.889 873150.000 -815 304686.111 872361.111 -816 304691.667 834130.556 -817 304691.667 836302.778 -818 304702.778 919783.333 -819 304738.889 879191.667 -820 304752.778 901008.333 -821 304761.111 883422.222 -822 304783.333 900375.000 -823 304811.111 926955.556 -824 304850.000 925958.333 -825 304852.778 928505.556 -826 304866.667 909561.111 -827 304875.000 876997.222 -828 304891.667 997716.667 -829 304911.111 915194.444 -830 304941.667 924175.000 -831 304977.778 949963.889 -832 304980.556 861361.111 -833 305019.444 907477.778 -834 305041.667 904611.111 -835 305041.667 905822.222 -836 305050.000 978200.000 -837 305080.556 976786.111 -838 305100.000 872125.000 -839 305180.556 829483.333 -840 305183.333 921847.222 -841 305186.111 872727.778 -842 305227.778 879033.333 -843 305252.778 896794.444 -844 305333.333 920813.889 -845 305366.667 917527.778 -846 305375.000 954830.556 -847 305425.000 975463.889 -848 305450.000 838702.778 -849 305452.778 877516.667 -850 305475.000 881752.778 -851 305536.111 877119.444 -852 305588.889 915558.333 -853 305600.000 919538.889 -854 305619.444 818308.333 -855 305666.667 1006430.556 -856 305691.667 847433.333 -857 305705.556 974091.667 -858 305772.222 904830.556 -859 305780.556 982725.000 -860 305786.111 978527.778 -861 305813.889 872913.889 -862 305869.444 845833.333 -863 305880.556 911680.556 -864 305900.000 881708.333 -865 305902.778 972966.667 -866 305922.222 951291.667 -867 305958.333 916163.889 -868 305986.111 870311.111 -869 305991.667 871611.111 -870 306033.333 879036.111 -871 306038.889 830980.556 -872 306136.111 972052.778 -873 306161.111 920569.444 -874 306169.444 846600.000 -875 306180.556 877530.556 -876 306200.000 927625.000 -877 306227.778 857122.222 -878 306236.111 844147.222 -879 306277.778 963341.667 -880 306316.667 816066.667 -881 306322.222 870397.222 -882 306325.000 976769.444 -883 306336.111 924191.667 -884 306352.778 905008.333 -885 306483.333 911563.889 -886 306580.556 984402.778 -887 306602.778 938925.000 -888 306694.444 814627.778 -889 306877.778 922713.889 -890 306908.333 819175.000 -891 306927.778 917438.889 -892 306936.111 853922.222 -893 306941.667 880430.556 -894 307013.889 914361.111 -895 307050.000 848430.556 -896 307075.000 849244.444 -897 307100.000 1012002.778 -898 307108.333 949327.778 -899 307122.222 850202.778 -900 307172.222 911413.889 -901 307175.000 974425.000 -902 307213.889 861155.556 -903 307233.333 955505.556 -904 307238.889 873141.667 -905 307383.333 915941.667 -906 307386.111 880788.889 -907 307436.111 980552.778 -908 307472.222 832208.333 -909 307488.889 844838.889 -910 307541.667 935402.778 -911 307580.556 982280.556 -912 307591.667 986747.222 -913 307619.444 865705.556 -914 307636.111 880747.222 -915 307647.222 905116.667 -916 307730.556 858141.667 -917 307741.667 852269.444 -918 307750.000 944152.778 -919 307816.667 855386.111 -920 307836.111 924252.778 -921 307847.222 835600.000 -922 307908.333 898486.111 -923 307916.667 837900.000 -924 307916.667 856797.222 -925 307947.222 974252.778 -926 307969.444 853766.667 -927 307997.222 816900.000 -928 308158.333 926602.778 -929 308205.556 880705.556 -930 308230.556 883613.889 -931 308302.778 820100.000 -932 308305.556 906716.667 -933 308325.000 832786.111 -934 308372.222 912175.000 -935 308400.000 895341.667 -936 308411.111 977933.333 -937 308461.111 932888.889 -938 308469.444 901530.556 -939 308483.333 937572.222 -940 308530.556 880561.111 -941 308530.556 969766.667 -942 308558.333 820211.111 -943 308600.000 1006005.556 -944 308655.556 910155.556 -945 308700.000 851619.444 -946 308772.222 842013.889 -947 308780.556 974013.889 -948 308783.333 965927.778 -949 308827.778 843238.889 -950 308827.778 877730.556 -951 308916.667 880397.222 -952 308938.889 1028788.889 -953 309036.111 845755.556 -954 309077.778 944219.444 -955 309138.889 1018975.000 -956 309175.000 997861.111 -957 309197.222 932822.222 -958 309200.000 911155.556 -959 309200.000 939963.889 -960 309250.000 885900.000 -961 309380.556 905088.889 -962 309450.000 953752.778 -963 309469.444 975383.333 -964 309497.222 959113.889 -965 309527.778 871513.889 -966 309530.556 921825.000 -967 309566.667 855166.667 -968 309575.000 851622.222 -969 309597.222 837380.556 -970 309636.111 817227.778 -971 309655.556 864597.222 -972 309736.111 840530.556 -973 309763.889 925850.000 -974 309777.778 966736.111 -975 309813.889 863075.000 -976 309833.333 918000.000 -977 309838.889 920533.333 -978 309841.667 1037441.667 -979 309911.111 833727.778 -980 309966.667 948269.444 -981 310000.000 872608.333 -982 310011.111 894522.222 -983 310050.000 863280.556 -984 310066.667 904722.222 -985 310102.778 863497.222 -986 310111.111 838663.889 -987 310147.222 922872.222 -988 310236.111 874938.889 -989 310258.333 964850.000 -990 310294.444 961144.444 -991 310327.778 858638.889 -992 310344.444 919755.556 -993 310363.889 827472.222 -994 310397.222 1048302.778 -995 310402.778 848791.667 -996 310408.333 830752.778 -997 310486.111 853050.000 -998 310547.222 951255.556 -999 310558.333 974641.667 -1000 310577.778 920488.889 -1001 310594.444 921211.111 -1002 310636.111 981813.889 -1003 310680.556 836238.889 -1004 310722.222 840891.667 -1005 310727.778 969783.333 -1006 310744.444 831994.444 -1007 310786.111 976052.778 -1008 310894.444 910683.333 -1009 310905.556 882280.556 -1010 310930.556 870627.778 -1011 310944.444 924002.778 -1012 310980.556 973425.000 -1013 311022.222 856969.444 -1014 311044.444 912994.444 -1015 311050.000 870722.222 -1016 311080.556 855944.444 -1017 311086.111 888272.222 -1018 311127.778 860461.111 -1019 311147.222 932713.889 -1020 311158.333 901419.444 -1021 311169.444 977275.000 -1022 311238.889 979027.778 -1023 311266.667 954452.778 -1024 311275.000 841519.444 -1025 311277.778 920661.111 -1026 311358.333 1022238.889 -1027 311369.444 834236.111 -1028 311391.667 855191.667 -1029 311430.556 894097.222 -1030 311430.556 904586.111 -1031 311433.333 932608.333 -1032 311497.222 814916.667 -1033 311555.556 885577.778 -1034 311583.333 944261.111 -1035 311650.000 966766.667 -1036 311691.667 889200.000 -1037 311711.111 847333.333 -1038 311797.222 837891.667 -1039 311808.333 821350.000 -1040 311827.778 852363.889 -1041 311869.444 947808.333 -1042 311913.889 1014600.000 -1043 311955.556 987177.778 -1044 311972.222 910216.667 -1045 312022.222 890347.222 -1046 312033.333 970363.889 -1047 312041.667 819813.889 -1048 312066.667 973025.000 -1049 312072.222 832502.778 -1050 312133.333 823541.667 -1051 312158.333 861711.111 -1052 312161.111 998452.778 -1053 312169.444 983930.556 -1054 312227.778 904602.778 -1055 312230.556 853905.556 -1056 312311.111 842105.556 -1057 312355.556 857227.778 -1058 312436.111 904530.556 -1059 312477.778 939741.667 -1060 312516.667 898375.000 -1061 312616.667 1008169.444 -1062 312688.889 836872.222 -1063 312713.889 834650.000 -1064 312775.000 945763.889 -1065 312794.444 863255.556 -1066 312822.222 892755.556 -1067 312825.000 862555.556 -1068 312836.111 904683.333 -1069 312925.000 851116.667 -1070 312975.000 828525.000 -1071 312988.889 853444.444 -1072 312988.889 870225.000 -1073 313058.333 822422.222 -1074 313061.111 968977.778 -1075 313080.556 973611.111 -1076 313100.000 857130.556 -1077 313111.111 924450.000 -1078 313113.889 855530.556 -1079 313127.778 843358.333 -1080 313180.556 954563.889 -1081 313188.889 854938.889 -1082 313194.444 839172.222 -1083 313222.222 924341.667 -1084 313269.444 892902.778 -1085 313380.556 947288.889 -1086 313391.667 1028513.889 -1087 313402.778 1109336.111 -1088 313405.556 830461.111 -1089 313405.556 938466.667 -1090 313408.333 835936.111 -1091 313444.444 1095447.222 -1092 313463.889 892600.000 -1093 313511.111 853422.222 -1094 313527.778 865391.667 -1095 313569.444 1095611.111 -1096 313613.889 961438.889 -1097 313644.444 893061.111 -1098 313700.000 814341.667 -1099 313775.000 849341.667 -1100 313794.444 841611.111 -1101 313850.000 832230.556 -1102 313855.556 859294.444 -1103 313863.889 972152.778 -1104 313902.778 926691.667 -1105 313902.778 976841.667 -1106 313972.222 1023497.222 -1107 314127.778 833291.667 -1108 314144.444 860677.778 -1109 314152.778 924116.667 -1110 314172.222 895422.222 -1111 314216.667 853377.778 -1112 314227.778 1034927.778 -1113 314333.333 874013.889 -1114 314350.000 977436.111 -1115 314394.444 835194.444 -1116 314397.222 847250.000 -1117 314436.111 934572.222 -1118 314438.889 974088.889 -1119 314480.556 1099277.778 -1120 314497.222 985705.556 -1121 314502.778 835086.111 -1122 314588.889 856405.556 -1123 314611.111 1033933.333 -1124 314622.222 971955.556 -1125 314627.778 908500.000 -1126 314636.111 1004366.667 -1127 314650.000 882544.444 -1128 314675.000 971144.444 -1129 314716.667 836469.444 -1130 314722.222 908966.667 -1131 314747.222 969230.556 -1132 314855.556 845138.889 -1133 314861.111 820172.222 -1134 314916.667 954783.333 -1135 315022.222 1061580.556 -1136 315044.444 910688.889 -1137 315086.111 828500.000 -1138 315088.889 878944.444 -1139 315127.778 837877.778 -1140 315172.222 826350.000 -1141 315188.889 927066.667 -1142 315213.889 971536.111 -1143 315241.667 965336.111 -1144 315277.778 873247.222 -1145 315297.222 941058.333 -1146 315305.556 838355.556 -1147 315341.667 974427.778 -1148 315391.667 824625.000 -1149 315394.444 1107555.556 -1150 315422.222 867150.000 -1151 315422.222 968333.333 -1152 315491.667 971463.889 -1153 315536.111 901072.222 -1154 315544.444 1103030.556 -1155 315580.556 847383.333 -1156 315602.778 914030.556 -1157 315652.778 914258.333 -1158 315686.111 934838.889 -1159 315700.000 1030005.556 -1160 315716.667 852505.556 -1161 315783.333 841558.333 -1162 315788.889 904405.556 -1163 315811.111 925327.778 -1164 315827.778 1029202.778 -1165 315847.222 958488.889 -1166 315850.000 1062722.222 -1167 315922.222 1062236.111 -1168 315938.889 971086.111 -1169 315941.667 832505.556 -1170 315941.667 1028922.222 -1171 315972.222 1001819.444 -1172 315983.333 898669.444 -1173 316000.000 857188.889 -1174 316033.333 946552.778 -1175 316038.889 891955.556 -1176 316072.222 818855.556 -1177 316088.889 850472.222 -1178 316250.000 828869.444 -1179 316250.000 955791.667 -1180 316263.889 918180.556 -1181 316269.444 962836.111 -1182 316277.778 1103333.333 -1183 316291.667 971025.000 -1184 316300.000 915544.444 -1185 316313.889 936438.889 -1186 316338.889 883133.333 -1187 316369.444 867419.444 -1188 316452.778 895552.778 -1189 316502.778 950725.000 -1190 316527.778 932019.444 -1191 316591.667 974719.444 -1192 316672.222 928905.556 -1193 316747.222 886461.111 -1194 316752.778 930444.444 -1195 316797.222 964819.444 -1196 316830.556 921336.111 -1197 316925.000 1062069.444 -1198 316938.889 891305.556 -1199 317011.111 903975.000 -1200 317036.111 981236.111 -1201 317058.333 836533.333 -1202 317077.778 817425.000 -1203 317086.111 856105.556 -1204 317086.111 877772.222 -1205 317113.889 910605.556 -1206 317127.778 1100669.444 -1207 317147.222 832527.778 -1208 317163.889 862638.889 -1209 317169.444 991322.222 -1210 317200.000 858161.111 -1211 317225.000 915430.556 -1212 317244.444 961650.000 -1213 317319.444 841708.333 -1214 317333.333 872047.222 -1215 317380.556 999469.444 -1216 317419.444 989452.778 -1217 317511.111 1031594.444 -1218 317538.889 966497.222 -1219 317561.111 846152.778 -1220 317586.111 1064863.889 -1221 317605.556 930861.111 -1222 317711.111 847894.444 -1223 317719.444 918213.889 -1224 317733.333 844466.667 -1225 317738.889 816327.778 -1226 317780.556 823486.111 -1227 317822.222 975763.889 -1228 317833.333 855558.333 -1229 317838.889 816077.778 -1230 317863.889 890322.222 -1231 317877.778 964622.222 -1232 317883.333 877272.222 -1233 317958.333 951500.000 -1234 318022.222 970913.889 -1235 318086.111 859700.000 -1236 318144.444 948402.778 -1237 318191.667 923297.222 -1238 318197.222 935141.667 -1239 318213.889 930294.444 -1240 318241.667 944908.333 -1241 318272.222 994261.111 -1242 318294.444 866177.778 -1243 318308.333 843644.444 -1244 318361.111 1009844.444 -1245 318455.556 1023672.222 -1246 318463.889 916561.111 -1247 318466.667 815961.111 -1248 318575.000 1030922.222 -1249 318600.000 886994.444 -1250 318602.778 903958.333 -1251 318636.111 922958.333 -1252 318736.111 897336.111 -1253 318780.556 854497.222 -1254 318866.667 889838.889 -1255 318872.222 1002913.889 -1256 318911.111 851455.556 -1257 318922.222 1004844.444 -1258 318933.333 931180.556 -1259 318938.889 967144.444 -1260 318972.222 986033.333 -1261 319002.778 842519.444 -1262 319027.778 922430.556 -1263 319036.111 943950.000 -1264 319119.444 1118805.556 -1265 319133.333 877358.333 -1266 319230.556 976563.889 -1267 319252.778 926394.444 -1268 319291.667 826797.222 -1269 319363.889 819286.111 -1270 319380.556 813036.111 -1271 319436.111 942438.889 -1272 319508.333 834563.889 -1273 319563.889 999619.444 -1274 319608.333 909838.889 -1275 319616.667 898700.000 -1276 319633.333 837825.000 -1277 319636.111 952702.778 -1278 319655.556 940536.111 -1279 319677.778 1102938.889 -1280 319752.778 939977.778 -1281 319788.889 892872.222 -1282 319808.333 916555.556 -1283 319827.778 980333.333 -1284 319844.444 865786.111 -1285 319872.222 903569.444 -1286 319894.444 832002.778 -1287 319908.333 872905.556 -1288 319919.444 833069.444 -1289 319972.222 1020775.000 -1290 320000.000 808458.333 -1291 320038.889 1066052.778 -1292 320108.333 971297.222 -1293 320147.222 933419.444 -1294 320166.667 929091.667 -1295 320172.222 830627.778 -1296 320216.667 937141.667 -1297 320263.889 921388.889 -1298 320333.333 810500.000 -1299 320333.333 895222.222 -1300 320338.889 843927.778 -1301 320355.556 825083.333 -1302 320375.000 937000.000 -1303 320400.000 887280.556 -1304 320491.667 916580.556 -1305 320497.222 921091.667 -1306 320525.000 955061.111 -1307 320677.778 829008.333 -1308 320722.222 842327.778 -1309 320725.000 912408.333 -1310 320736.111 829147.222 -1311 320800.000 968063.889 -1312 320833.333 811000.000 -1313 320850.000 983416.667 -1314 320852.778 932200.000 -1315 320866.667 821180.556 -1316 320877.778 846675.000 -1317 320883.333 954716.667 -1318 320894.444 882219.444 -1319 320913.889 837955.556 -1320 320919.444 967155.556 -1321 320952.778 964686.111 -1322 320958.333 989633.333 -1323 320961.111 902941.667 -1324 321094.444 906233.333 -1325 321100.000 835011.111 -1326 321141.667 811541.667 -1327 321152.778 812472.222 -1328 321244.444 969450.000 -1329 321261.111 991650.000 -1330 321291.667 1017880.556 -1331 321322.222 812991.667 -1332 321330.556 962275.000 -1333 321358.333 816222.222 -1334 321397.222 953200.000 -1335 321438.889 960908.333 -1336 321441.667 857150.000 -1337 321444.444 951202.778 -1338 321469.444 827780.556 -1339 321488.889 811633.333 -1340 321530.556 947991.667 -1341 321533.333 901311.111 -1342 321558.333 819338.889 -1343 321572.222 943372.222 -1344 321594.444 971497.222 -1345 321613.889 819041.667 -1346 321630.556 917205.556 -1347 321686.111 882825.000 -1348 321694.444 960122.222 -1349 321811.111 821091.667 -1350 321838.889 865802.778 -1351 321838.889 968844.444 -1352 321872.222 825658.333 -1353 321975.000 831777.778 -1354 321994.444 1109677.778 -1355 322019.444 839086.111 -1356 322041.667 823219.444 -1357 322047.222 958552.778 -1358 322094.444 997963.889 -1359 322136.111 986702.778 -1360 322161.111 807527.778 -1361 322175.000 824136.111 -1362 322205.556 982019.444 -1363 322216.667 1109258.333 -1364 322252.778 950575.000 -1365 322266.667 952252.778 -1366 322333.333 973741.667 -1367 322344.444 977550.000 -1368 322369.444 808605.556 -1369 322380.556 843091.667 -1370 322386.111 949402.778 -1371 322411.111 927158.333 -1372 322416.667 854163.889 -1373 322427.778 944552.778 -1374 322502.778 1014783.333 -1375 322527.778 1098313.889 -1376 322591.667 904225.000 -1377 322613.889 837366.667 -1378 322663.889 876252.778 -1379 322686.111 1077580.556 -1380 322700.000 1068002.778 -1381 322730.556 899858.333 -1382 322744.444 949783.333 -1383 322766.667 927233.333 -1384 322783.333 957494.444 -1385 322816.667 938238.889 -1386 322836.111 834722.222 -1387 322861.111 1040952.778 -1388 322869.444 810808.333 -1389 322936.111 840611.111 -1390 322958.333 812355.556 -1391 322963.889 1013058.333 -1392 322986.111 901847.222 -1393 323050.000 840275.000 -1394 323052.778 847727.778 -1395 323061.111 877980.556 -1396 323061.111 924502.778 -1397 323069.444 960063.889 -1398 323077.778 954797.222 -1399 323088.889 917747.222 -1400 323094.444 901388.889 -1401 323122.222 1067777.778 -1402 323127.778 897983.333 -1403 323130.556 970113.889 -1404 323158.333 945163.889 -1405 323175.000 890255.556 -1406 323186.111 1025452.778 -1407 323188.889 845172.222 -1408 323202.778 962127.778 -1409 323211.111 891633.333 -1410 323283.333 932797.222 -1411 323291.667 966250.000 -1412 323300.000 906055.556 -1413 323344.444 961511.111 -1414 323361.111 813916.667 -1415 323413.889 903216.667 -1416 323430.556 893286.111 -1417 323475.000 973863.889 -1418 323491.667 904600.000 -1419 323502.778 1087080.556 -1420 323511.111 953008.333 -1421 323525.000 908777.778 -1422 323536.111 896544.444 -1423 323641.667 887036.111 -1424 323644.444 894741.667 -1425 323663.889 961005.556 -1426 323666.667 863000.000 -1427 323694.444 841880.556 -1428 323716.667 1128600.000 -1429 323769.444 825925.000 -1430 323788.889 806927.778 -1431 323794.444 816633.333 -1432 323808.333 1064788.889 -1433 323863.889 968480.556 -1434 323866.667 833547.222 -1435 323880.556 989788.889 -1436 323880.556 1008641.667 -1437 323938.889 993938.889 -1438 323966.667 973236.111 -1439 323969.444 820602.778 -1440 323969.444 908563.889 -1441 324013.889 988172.222 -1442 324058.333 994933.333 -1443 324063.889 972113.889 -1444 324066.667 887772.222 -1445 324072.222 870211.111 -1446 324083.333 911866.667 -1447 324111.111 1007119.444 -1448 324172.222 886477.778 -1449 324205.556 1042283.333 -1450 324238.889 856916.667 -1451 324283.333 901322.222 -1452 324311.111 966675.000 -1453 324313.889 806700.000 -1454 324322.222 830613.889 -1455 324333.333 971022.222 -1456 324338.889 866547.222 -1457 324355.556 807241.667 -1458 324366.667 1112247.222 -1459 324372.222 1031586.111 -1460 324388.889 891083.333 -1461 324419.444 822152.778 -1462 324419.444 977938.889 -1463 324425.000 962297.222 -1464 324452.778 949483.333 -1465 324458.333 1005383.333 -1466 324486.111 817833.333 -1467 324486.111 997327.778 -1468 324488.889 975263.889 -1469 324494.444 875141.667 -1470 324561.111 839402.778 -1471 324575.000 914930.556 -1472 324575.000 998711.111 -1473 324580.556 837316.667 -1474 324608.333 849877.778 -1475 324613.889 973877.778 -1476 324616.667 901152.778 -1477 324638.889 864597.222 -1478 324697.222 986786.111 -1479 324705.556 1000125.000 -1480 324708.333 850008.333 -1481 324708.333 1004055.556 -1482 324772.222 917547.222 -1483 324786.111 940594.444 -1484 324797.222 863619.444 -1485 324805.556 809805.556 -1486 324822.222 969941.667 -1487 324861.111 882963.889 -1488 324955.556 849919.444 -1489 325005.556 947402.778 -1490 325041.667 945738.889 -1491 325091.667 921191.667 -1492 325116.667 863766.667 -1493 325155.556 954091.667 -1494 325158.333 921916.667 -1495 325158.333 937319.444 -1496 325175.000 878363.889 -1497 325175.000 968041.667 -1498 325183.333 921475.000 -1499 325230.556 926377.778 -1500 325247.222 956369.444 -1501 325250.000 937500.000 -1502 325263.889 968861.111 -1503 325275.000 927138.889 -1504 325294.444 949027.778 -1505 325300.000 925141.667 -1506 325305.556 825894.444 -1507 325325.000 935038.889 -1508 325338.889 966652.778 -1509 325344.444 927883.333 -1510 325355.556 934108.333 -1511 325358.333 858933.333 -1512 325380.556 819325.000 -1513 325402.778 829038.889 -1514 325419.444 973205.556 -1515 325430.556 903091.667 -1516 325436.111 862119.444 -1517 325438.889 930527.778 -1518 325447.222 943672.222 -1519 325480.556 828719.444 -1520 325488.889 929200.000 -1521 325497.222 858700.000 -1522 325519.444 984977.778 -1523 325536.111 838875.000 -1524 325563.889 958630.556 -1525 325569.444 842383.333 -1526 325597.222 840963.889 -1527 325605.556 856725.000 -1528 325630.556 971413.889 -1529 325788.889 973622.222 -1530 325808.333 938925.000 -1531 325827.778 821552.778 -1532 325836.111 951086.111 -1533 325838.889 1171122.222 -1534 325841.667 881872.222 -1535 325883.333 952038.889 -1536 325883.333 965083.333 -1537 325888.889 963086.111 -1538 325888.889 966850.000 -1539 325897.222 968566.667 -1540 325908.333 926477.778 -1541 325919.444 967558.333 -1542 325936.111 948552.778 -1543 325963.889 1147088.889 -1544 325972.222 823338.889 -1545 325997.222 1106302.778 -1546 326038.889 914777.778 -1547 326055.556 832455.556 -1548 326097.222 854808.333 -1549 326108.333 1107702.778 -1550 326119.444 998138.889 -1551 326125.000 900366.667 -1552 326152.778 932866.667 -1553 326208.333 836000.000 -1554 326277.778 964555.556 -1555 326308.333 972888.889 -1556 326322.222 873191.667 -1557 326352.778 860344.444 -1558 326394.444 965380.556 -1559 326400.000 1170833.333 -1560 326408.333 903647.222 -1561 326452.778 853783.333 -1562 326466.667 972255.556 -1563 326491.667 967127.778 -1564 326516.667 969080.556 -1565 326536.111 837597.222 -1566 326550.000 799405.556 -1567 326591.667 836188.889 -1568 326630.556 954880.556 -1569 326652.778 1071525.000 -1570 326727.778 1141461.111 -1571 326730.556 974602.778 -1572 326733.333 957091.667 -1573 326775.000 845394.444 -1574 326780.556 1170983.333 -1575 326788.889 1154980.556 -1576 326833.333 847383.333 -1577 326858.333 1171822.222 -1578 326875.000 833466.667 -1579 326875.000 939608.333 -1580 326900.000 808508.333 -1581 326947.222 937416.667 -1582 326958.333 976019.444 -1583 326961.111 920858.333 -1584 326980.556 958850.000 -1585 326988.889 926566.667 -1586 326991.667 1081313.889 -1587 327025.000 1031355.556 -1588 327027.778 971550.000 -1589 327044.444 875958.333 -1590 327091.667 960080.556 -1591 327141.667 971561.111 -1592 327152.778 1171563.889 -1593 327169.444 1168752.778 -1594 327188.889 1026444.444 -1595 327213.889 1091047.222 -1596 327216.667 840133.333 -1597 327225.000 1106400.000 -1598 327233.333 992969.444 -1599 327252.778 973205.556 -1600 327252.778 1146236.111 -1601 327286.111 949422.222 -1602 327286.111 966225.000 -1603 327291.667 827200.000 -1604 327308.333 1155288.889 -1605 327341.667 802419.444 -1606 327358.333 962750.000 -1607 327361.111 968866.667 -1608 327375.000 1019505.556 -1609 327425.000 1170305.556 -1610 327438.889 939713.889 -1611 327447.222 974133.333 -1612 327458.333 969975.000 -1613 327480.556 964716.667 -1614 327502.778 816369.444 -1615 327547.222 812422.222 -1616 327555.556 989019.444 -1617 327558.333 1115541.667 -1618 327563.889 998958.333 -1619 327572.222 943450.000 -1620 327572.222 974105.556 -1621 327577.778 848750.000 -1622 327591.667 977969.444 -1623 327594.444 974580.556 -1624 327616.667 1081300.000 -1625 327630.556 802502.778 -1626 327675.000 886508.333 -1627 327677.778 1170222.222 -1628 327700.000 1082797.222 -1629 327713.889 891166.667 -1630 327733.333 924055.556 -1631 327750.000 917925.000 -1632 327763.889 799311.111 -1633 327786.111 919141.667 -1634 327794.444 1081497.222 -1635 327833.333 968000.000 -1636 327852.778 800352.778 -1637 327872.222 845619.444 -1638 327883.333 868716.667 -1639 327888.889 851450.000 -1640 327916.667 930555.556 -1641 327919.444 1155622.222 -1642 327927.778 956341.667 -1643 327930.556 1156902.778 -1644 327938.889 798627.778 -1645 327947.222 1169616.667 -1646 327958.333 954508.333 -1647 327961.111 851838.889 -1648 327963.889 965605.556 -1649 327994.444 972688.889 -1650 328000.000 947205.556 -1651 328002.778 856536.111 -1652 328038.889 819494.444 -1653 328041.667 911700.000 -1654 328047.222 974447.222 -1655 328058.333 974027.778 -1656 328083.333 981125.000 -1657 328111.111 831727.778 -1658 328111.111 1153794.444 -1659 328138.889 969486.111 -1660 328158.333 972277.778 -1661 328188.889 822350.000 -1662 328191.667 934175.000 -1663 328202.778 851722.222 -1664 328219.444 926577.778 -1665 328233.333 971702.778 -1666 328266.667 830794.444 -1667 328280.556 884763.889 -1668 328311.111 857636.111 -1669 328338.889 1097069.444 -1670 328341.667 972286.111 -1671 328344.444 852297.222 -1672 328363.889 964747.222 -1673 328383.333 1169730.556 -1674 328386.111 866294.444 -1675 328402.778 851833.333 -1676 328405.556 836325.000 -1677 328405.556 878875.000 -1678 328422.222 1044027.778 -1679 328438.889 971427.778 -1680 328466.667 852100.000 -1681 328475.000 1155686.111 -1682 328491.667 1097586.111 -1683 328502.778 810794.444 -1684 328516.667 800366.667 -1685 328519.444 1004652.778 -1686 328544.444 799750.000 -1687 328550.000 904055.556 -1688 328563.889 973386.111 -1689 328572.222 1169213.889 -1690 328577.778 972544.444 -1691 328597.222 846200.000 -1692 328600.000 973636.111 -1693 328666.667 824041.667 -1694 328677.778 843305.556 -1695 328686.111 851905.556 -1696 328708.333 811097.222 -1697 328713.889 939872.222 -1698 328744.444 957652.778 -1699 328763.889 877425.000 -1700 328777.778 851833.333 -1701 328794.444 1117566.667 -1702 328808.333 971547.222 -1703 328819.444 833325.000 -1704 328833.333 816583.333 -1705 328836.111 899713.889 -1706 328847.222 1001261.111 -1707 328880.556 843266.667 -1708 328927.778 934483.333 -1709 328936.111 960291.667 -1710 328950.000 975455.556 -1711 328961.111 1098269.444 -1712 328997.222 854011.111 -1713 328997.222 945561.111 -1714 329013.889 922419.444 -1715 329027.778 965636.111 -1716 329050.000 806669.444 -1717 329050.000 936966.667 -1718 329063.889 908780.556 -1719 329102.778 961352.778 -1720 329155.556 867158.333 -1721 329183.333 800222.222 -1722 329191.667 916769.444 -1723 329252.778 811875.000 -1724 329263.889 968958.333 -1725 329311.111 964594.444 -1726 329327.778 843494.444 -1727 329341.667 970777.778 -1728 329344.444 972513.889 -1729 329358.333 828116.667 -1730 329372.222 871647.222 -1731 329411.111 971338.889 -1732 329438.889 859538.889 -1733 329438.889 1033480.556 -1734 329441.667 1025644.444 -1735 329444.444 871386.111 -1736 329452.778 998025.000 -1737 329477.778 1127161.111 -1738 329480.556 967294.444 -1739 329536.111 968900.000 -1740 329544.444 970147.222 -1741 329572.222 952900.000 -1742 329572.222 1057419.444 -1743 329588.889 812366.667 -1744 329594.444 1172644.444 -1745 329597.222 867466.667 -1746 329616.667 968288.889 -1747 329619.444 931400.000 -1748 329627.778 1170350.000 -1749 329636.111 1018322.222 -1750 329644.444 1028286.111 -1751 329688.889 934505.556 -1752 329700.000 899122.222 -1753 329719.444 1107758.333 -1754 329738.889 908244.444 -1755 329750.000 817577.778 -1756 329750.000 963322.222 -1757 329761.111 965950.000 -1758 329777.778 1059413.889 -1759 329777.778 1115169.444 -1760 329783.333 885700.000 -1761 329786.111 1155294.444 -1762 329808.333 800327.778 -1763 329813.889 828102.778 -1764 329836.111 845827.778 -1765 329855.556 801100.000 -1766 329875.000 1107702.778 -1767 329911.111 1172702.778 -1768 329922.222 890661.111 -1769 329950.000 975425.000 -1770 329952.778 949655.556 -1771 329975.000 876300.000 -1772 329983.333 946305.556 -1773 330013.889 824113.889 -1774 330038.889 972255.556 -1775 330047.222 1107847.222 -1776 330066.667 801555.556 -1777 330077.778 813086.111 -1778 330122.222 943652.778 -1779 330136.111 927250.000 -1780 330144.444 970966.667 -1781 330150.000 966127.778 -1782 330161.111 927241.667 -1783 330183.333 801758.333 -1784 330197.222 966986.111 -1785 330202.778 1172019.444 -1786 330308.333 850611.111 -1787 330313.889 1113866.667 -1788 330316.667 947216.667 -1789 330341.667 839383.333 -1790 330369.444 1172911.111 -1791 330372.222 1156205.556 -1792 330391.667 850313.889 -1793 330394.444 921825.000 -1794 330483.333 1166300.000 -1795 330508.333 1092955.556 -1796 330544.444 841558.333 -1797 330569.444 1109100.000 -1798 330572.222 915733.333 -1799 330575.000 895875.000 -1800 330605.556 954719.444 -1801 330655.556 860533.333 -1802 330655.556 962275.000 -1803 330677.778 1093594.444 -1804 330680.556 1173025.000 -1805 330738.889 1060180.556 -1806 330750.000 898544.444 -1807 330766.667 1117386.111 -1808 330786.111 868816.667 -1809 330786.111 1093647.222 -1810 330786.111 1166011.111 -1811 330800.000 832322.222 -1812 330847.222 972958.333 -1813 330897.222 820158.333 -1814 330916.667 970463.889 -1815 330955.556 803155.556 -1816 330980.556 936547.222 -1817 331002.778 934608.333 -1818 331005.556 868641.667 -1819 331027.778 867536.111 -1820 331030.556 966702.778 -1821 331052.778 885608.333 -1822 331075.000 923347.222 -1823 331094.444 912619.444 -1824 331130.556 900530.556 -1825 331136.111 941641.667 -1826 331150.000 1043263.889 -1827 331180.556 871250.000 -1828 331191.667 970252.778 -1829 331191.667 1170855.556 -1830 331211.111 971830.556 -1831 331213.889 855663.889 -1832 331236.111 890550.000 -1833 331255.556 1155133.333 -1834 331280.556 919611.111 -1835 331283.333 1072522.222 -1836 331294.444 881513.889 -1837 331333.333 1002269.444 -1838 331372.222 958391.667 -1839 331386.111 1101244.444 -1840 331408.333 919938.889 -1841 331433.333 1171652.778 -1842 331480.556 959511.111 -1843 331486.111 941500.000 -1844 331505.556 968233.333 -1845 331511.111 853722.222 -1846 331575.000 997333.333 -1847 331575.000 1057736.111 -1848 331580.556 1173497.222 -1849 331611.111 983852.778 -1850 331633.333 963597.222 -1851 331650.000 970291.667 -1852 331655.556 919413.889 -1853 331666.667 1017933.333 -1854 331688.889 908538.889 -1855 331730.556 849150.000 -1856 331730.556 862516.667 -1857 331780.556 866072.222 -1858 331786.111 991772.222 -1859 331800.000 964977.778 -1860 331805.556 947438.889 -1861 331811.111 1022738.889 -1862 331827.778 902227.778 -1863 331841.667 904891.667 -1864 331844.444 998933.333 -1865 331886.111 952211.111 -1866 331908.333 1013777.778 -1867 331938.889 987383.333 -1868 331958.333 800133.333 -1869 331958.333 1173786.111 -1870 331972.222 1043725.000 -1871 331975.000 966150.000 -1872 332000.000 1172416.667 -1873 332030.556 946800.000 -1874 332075.000 823919.444 -1875 332075.000 926661.111 -1876 332097.222 875691.667 -1877 332100.000 847444.444 -1878 332100.000 977544.444 -1879 332144.444 804480.556 -1880 332183.333 981583.333 -1881 332183.333 1170333.333 -1882 332280.556 917975.000 -1883 332288.889 875772.222 -1884 332333.333 825955.556 -1885 332341.667 864836.111 -1886 332341.667 975858.333 -1887 332344.444 885822.222 -1888 332347.222 848358.333 -1889 332361.111 968008.333 -1890 332377.778 915113.889 -1891 332400.000 1155180.556 -1892 332436.111 842288.889 -1893 332441.667 868163.889 -1894 332447.222 813588.889 -1895 332466.667 842641.667 -1896 332469.444 958997.222 -1897 332480.556 1005733.333 -1898 332511.111 808158.333 -1899 332558.333 1163741.667 -1900 332569.444 1033172.222 -1901 332611.111 938852.778 -1902 332613.889 972377.778 -1903 332619.444 905922.222 -1904 332652.778 842816.667 -1905 332666.667 892908.333 -1906 332669.444 932391.667 -1907 332697.222 908797.222 -1908 332736.111 858361.111 -1909 332755.556 829763.889 -1910 332775.000 850980.556 -1911 332780.556 863550.000 -1912 332858.333 965725.000 -1913 332938.889 1110955.556 -1914 332941.667 961944.444 -1915 332944.444 839661.111 -1916 332958.333 977986.111 -1917 332961.111 868436.111 -1918 332969.444 810350.000 -1919 332975.000 914936.111 -1920 333022.222 845538.889 -1921 333041.667 969858.333 -1922 333047.222 836833.333 -1923 333061.111 1118405.556 -1924 333088.889 854847.222 -1925 333100.000 891727.778 -1926 333105.556 857544.444 -1927 333138.889 820969.444 -1928 333158.333 926627.778 -1929 333200.000 879027.778 -1930 333208.333 902322.222 -1931 333225.000 804138.889 -1932 333225.000 811425.000 -1933 333244.444 967841.667 -1934 333266.667 833886.111 -1935 333286.111 912816.667 -1936 333288.889 925383.333 -1937 333288.889 1056038.889 -1938 333316.667 1056725.000 -1939 333319.444 897411.111 -1940 333327.778 943425.000 -1941 333369.444 1022061.111 -1942 333427.778 1183269.444 -1943 333438.889 864380.556 -1944 333452.778 1104525.000 -1945 333458.333 841091.667 -1946 333477.778 932097.222 -1947 333486.111 806830.556 -1948 333488.889 965483.333 -1949 333505.556 847766.667 -1950 333513.889 932955.556 -1951 333527.778 1117883.333 -1952 333536.111 905925.000 -1953 333577.778 812708.333 -1954 333583.333 935775.000 -1955 333583.333 976944.444 -1956 333625.000 951044.444 -1957 333630.556 971736.111 -1958 333647.222 927247.222 -1959 333652.778 934950.000 -1960 333702.778 1125830.556 -1961 333705.556 960686.111 -1962 333705.556 987525.000 -1963 333708.333 1119622.222 -1964 333733.333 956880.556 -1965 333763.889 1172502.778 -1966 333766.667 792947.222 -1967 333783.333 880152.778 -1968 333794.444 962472.222 -1969 333805.556 847997.222 -1970 333869.444 842830.556 -1971 333941.667 1045225.000 -1972 333941.667 1107858.333 -1973 333944.444 803475.000 -1974 333963.889 969602.778 -1975 333966.667 845958.333 -1976 333991.667 1108680.556 -1977 334016.667 869544.444 -1978 334025.000 814202.778 -1979 334052.778 908975.000 -1980 334069.444 826622.222 -1981 334100.000 910616.667 -1982 334111.111 930694.444 -1983 334111.111 1108419.444 -1984 334130.556 823852.778 -1985 334144.444 823127.778 -1986 334147.222 1119086.111 -1987 334150.000 1115488.889 -1988 334152.778 886438.889 -1989 334180.556 998186.111 -1990 334208.333 821622.222 -1991 334213.889 816858.333 -1992 334213.889 965769.444 -1993 334222.222 1118219.444 -1994 334247.222 959461.111 -1995 334250.000 940475.000 -1996 334255.556 869266.667 -1997 334266.667 941061.111 -1998 334269.444 1176111.111 -1999 334305.556 963383.333 -2000 334336.111 841488.889 -2001 334341.667 869472.222 -2002 334352.778 1122972.222 -2003 334352.778 1123575.000 -2004 334355.556 1123488.889 -2005 334358.333 861058.333 -2006 334372.222 1016430.556 -2007 334416.667 940375.000 -2008 334433.333 895716.667 -2009 334472.222 841469.444 -2010 334483.333 1120733.333 -2011 334486.111 844550.000 -2012 334486.111 867877.778 -2013 334491.667 996225.000 -2014 334500.000 905055.556 -2015 334500.000 1122586.111 -2016 334502.778 821983.333 -2017 334502.778 888183.333 -2018 334508.333 906550.000 -2019 334511.111 795611.111 -2020 334511.111 869966.667 -2021 334516.667 811255.556 -2022 334538.889 910072.222 -2023 334561.111 1024888.889 -2024 334597.222 944152.778 -2025 334613.889 869088.889 -2026 334636.111 1176783.333 -2027 334661.111 942883.333 -2028 334666.667 820166.667 -2029 334666.667 969180.556 -2030 334669.444 1176972.222 -2031 334672.222 995241.667 -2032 334705.556 825047.222 -2033 334705.556 952136.111 -2034 334750.000 804866.667 -2035 334763.889 1008552.778 -2036 334819.444 897280.556 -2037 334916.667 808558.333 -2038 334933.333 1123572.222 -2039 334936.111 1171475.000 -2040 334938.889 849138.889 -2041 334950.000 903197.222 -2042 334955.556 884272.222 -2043 334966.667 812794.444 -2044 334966.667 818922.222 -2045 335005.556 1177422.222 -2046 335016.667 819652.778 -2047 335016.667 1176616.667 -2048 335044.444 818691.667 -2049 335058.333 1020086.111 -2050 335086.111 946161.111 -2051 335086.111 966119.444 -2052 335091.667 1118983.333 -2053 335127.778 963922.222 -2054 335172.222 820758.333 -2055 335177.778 818441.667 -2056 335180.556 899205.556 -2057 335200.000 964836.111 -2058 335205.556 868025.000 -2059 335213.889 798788.889 -2060 335213.889 843538.889 -2061 335225.000 1177066.667 -2062 335252.778 914358.333 -2063 335261.111 953155.556 -2064 335308.333 805722.222 -2065 335308.333 819450.000 -2066 335311.111 1119419.444 -2067 335316.667 811233.333 -2068 335358.333 869972.222 -2069 335377.778 852533.333 -2070 335377.778 924697.222 -2071 335380.556 867072.222 -2072 335386.111 1121852.778 -2073 335400.000 891241.667 -2074 335405.556 892669.444 -2075 335422.222 1177822.222 -2076 335441.667 842338.889 -2077 335452.778 1055716.667 -2078 335461.111 957255.556 -2079 335480.556 865444.444 -2080 335508.333 790416.667 -2081 335508.333 818041.667 -2082 335519.444 947808.333 -2083 335538.889 828961.111 -2084 335552.778 890847.222 -2085 335575.000 807147.222 -2086 335588.889 978483.333 -2087 335602.778 817197.222 -2088 335605.556 1171572.222 -2089 335613.889 969108.333 -2090 335633.333 880813.889 -2091 335636.111 818080.556 -2092 335655.556 813036.111 -2093 335669.444 845811.111 -2094 335700.000 868963.889 -2095 335716.667 1160763.889 -2096 335725.000 844133.333 -2097 335750.000 838938.889 -2098 335755.556 831825.000 -2099 335772.222 961780.556 -2100 335772.222 962730.556 -2101 335777.778 1018547.222 -2102 335805.556 1122366.667 -2103 335808.333 799891.667 -2104 335830.556 843394.444 -2105 335833.333 867727.778 -2106 335833.333 959097.222 -2107 335844.444 928341.667 -2108 335861.111 862861.111 -2109 335869.444 845425.000 -2110 335869.444 879844.444 -2111 335872.222 1023775.000 -2112 335908.333 864908.333 -2113 335938.889 1123022.222 -2114 335941.667 992600.000 -2115 335955.556 834680.556 -2116 335955.556 986252.778 -2117 335966.667 838602.778 -2118 335975.000 1122711.111 -2119 335991.667 797444.444 -2120 335991.667 963663.889 -2121 336000.000 1176711.111 -2122 336008.333 869561.111 -2123 336016.667 907736.111 -2124 336047.222 867938.889 -2125 336058.333 789733.333 -2126 336063.889 843352.778 -2127 336075.000 886502.778 -2128 336077.778 927400.000 -2129 336080.556 803513.889 -2130 336086.111 912066.667 -2131 336102.778 964105.556 -2132 336102.778 1145955.556 -2133 336105.556 950525.000 -2134 336105.556 1145730.556 -2135 336125.000 920644.444 -2136 336125.000 1177119.444 -2137 336130.556 859611.111 -2138 336130.556 1123238.889 -2139 336141.667 858350.000 -2140 336155.556 811022.222 -2141 336188.889 838675.000 -2142 336188.889 1179280.556 -2143 336197.222 866088.889 -2144 336205.556 869713.889 -2145 336213.889 858441.667 -2146 336219.444 843691.667 -2147 336258.333 836125.000 -2148 336258.333 1176927.778 -2149 336261.111 859188.889 -2150 336288.889 913994.444 -2151 336288.889 917908.333 -2152 336288.889 919313.889 -2153 336305.556 1123325.000 -2154 336330.556 897111.111 -2155 336355.556 966086.111 -2156 336358.333 972225.000 -2157 336386.111 1173430.556 -2158 336411.111 1179177.778 -2159 336416.667 1058766.667 -2160 336416.667 1172900.000 -2161 336447.222 843258.333 -2162 336455.556 859125.000 -2163 336488.889 855875.000 -2164 336516.667 973761.111 -2165 336522.222 813613.889 -2166 336533.333 844494.444 -2167 336561.111 837183.333 -2168 336561.111 969066.667 -2169 336597.222 858316.667 -2170 336597.222 876000.000 -2171 336600.000 844102.778 -2172 336600.000 868127.778 -2173 336600.000 1012375.000 -2174 336602.778 1179983.333 -2175 336608.333 955552.778 -2176 336613.889 952663.889 -2177 336613.889 953855.556 -2178 336647.222 791027.778 -2179 336663.889 1016825.000 -2180 336669.444 935913.889 -2181 336675.000 798308.333 -2182 336675.000 840177.778 -2183 336694.444 1178222.222 -2184 336705.556 1015347.222 -2185 336741.667 941311.111 -2186 336741.667 1013872.222 -2187 336772.222 863966.667 -2188 336794.444 844394.444 -2189 336802.778 1161730.556 -2190 336833.333 789986.111 -2191 336844.444 878308.333 -2192 336861.111 864750.000 -2193 336888.889 788869.444 -2194 336888.889 1019977.778 -2195 336938.889 817672.222 -2196 336950.000 802111.111 -2197 336986.111 858397.222 -2198 337038.889 907263.889 -2199 337066.667 840316.667 -2200 337072.222 842719.444 -2201 337091.667 1171963.889 -2202 337091.667 1179527.778 -2203 337122.222 841052.778 -2204 337133.333 873886.111 -2205 337205.556 1162147.222 -2206 337211.111 851455.556 -2207 337213.889 1163875.000 -2208 337244.444 926155.556 -2209 337258.333 905513.889 -2210 337286.111 870902.778 -2211 337305.556 872844.444 -2212 337319.444 849191.667 -2213 337366.667 827394.444 -2214 337369.444 850325.000 -2215 337372.222 1018361.111 -2216 337380.556 810980.556 -2217 337397.222 1164119.444 -2218 337413.889 1181038.889 -2219 337430.556 1171083.333 -2220 337444.444 852880.556 -2221 337444.444 861558.333 -2222 337455.556 1178669.444 -2223 337458.333 1171741.667 -2224 337458.333 1178252.778 -2225 337475.000 1169711.111 -2226 337480.556 868086.111 -2227 337488.889 843880.556 -2228 337519.444 858113.889 -2229 337536.111 794477.778 -2230 337547.222 842675.000 -2231 337555.556 965363.889 -2232 337569.444 881088.889 -2233 337569.444 1183530.556 -2234 337591.667 966691.667 -2235 337591.667 1180058.333 -2236 337597.222 871833.333 -2237 337669.444 1181883.333 -2238 337688.889 898083.333 -2239 337713.889 842672.222 -2240 337733.333 868138.889 -2241 337738.889 1179405.556 -2242 337747.222 842963.889 -2243 337750.000 864716.667 -2244 337786.111 907213.889 -2245 337788.889 924916.667 -2246 337797.222 1164644.444 -2247 337802.778 843361.111 -2248 337825.000 1172277.778 -2249 337833.333 860025.000 -2250 337838.889 1169577.778 -2251 337855.556 1180841.667 -2252 337866.667 977255.556 -2253 337877.778 1178522.222 -2254 337877.778 1183572.222 -2255 337894.444 819297.222 -2256 337897.222 842641.667 -2257 337902.778 843061.111 -2258 337913.889 908569.444 -2259 337922.222 824791.667 -2260 337922.222 1183141.667 -2261 337936.111 842061.111 -2262 337938.889 846605.556 -2263 337947.222 837133.333 -2264 338005.556 1183891.667 -2265 338013.889 1171450.000 -2266 338025.000 851886.111 -2267 338025.000 933808.333 -2268 338025.000 1179922.222 -2269 338030.556 1180716.667 -2270 338080.556 841702.778 -2271 338094.444 842397.222 -2272 338094.444 905263.889 -2273 338111.111 1021633.333 -2274 338125.000 846344.444 -2275 338136.111 857613.889 -2276 338136.111 924127.778 -2277 338141.667 868094.444 -2278 338144.444 1178122.222 -2279 338161.111 986947.222 -2280 338169.444 811011.111 -2281 338169.444 1180363.889 -2282 338172.222 981950.000 -2283 338177.778 794494.444 -2284 338180.556 867427.778 -2285 338186.111 845825.000 -2286 338200.000 1163894.444 -2287 338247.222 870861.111 -2288 338250.000 885436.111 -2289 338302.778 1165444.444 -2290 338311.111 872775.000 -2291 338313.889 1180719.444 -2292 338313.889 1182811.111 -2293 338319.444 818011.111 -2294 338322.222 1018425.000 -2295 338333.333 1119500.000 -2296 338352.778 1179136.111 -2297 338358.333 790480.556 -2298 338358.333 1183397.222 -2299 338369.444 1099636.111 -2300 338388.889 839008.333 -2301 338388.889 907261.111 -2302 338452.778 816619.444 -2303 338463.889 1180458.333 -2304 338491.667 1183875.000 -2305 338530.556 965022.222 -2306 338533.333 910277.778 -2307 338536.111 1181330.556 -2308 338544.444 842172.222 -2309 338552.778 893113.889 -2310 338555.556 892844.444 -2311 338572.222 840200.000 -2312 338575.000 1154863.889 -2313 338594.444 846838.889 -2314 338622.222 1183986.111 -2315 338627.778 834088.889 -2316 338650.000 843366.667 -2317 338658.333 1180822.222 -2318 338675.000 827413.889 -2319 338675.000 1179972.222 -2320 338694.444 1015969.444 -2321 338702.778 1179244.444 -2322 338708.333 797555.556 -2323 338722.222 1178694.444 -2324 338752.778 1175655.556 -2325 338755.556 847622.222 -2326 338755.556 891772.222 -2327 338766.667 806930.556 -2328 338780.556 907272.222 -2329 338780.556 1175200.000 -2330 338816.667 1181161.111 -2331 338838.889 845144.444 -2332 338847.222 1184100.000 -2333 338869.444 914916.667 -2334 338883.333 1183080.556 -2335 338886.111 1178122.222 -2336 338894.444 1181588.889 -2337 338900.000 841430.556 -2338 338905.556 800186.111 -2339 338916.667 875261.111 -2340 338919.444 842988.889 -2341 338955.556 948261.111 -2342 338958.333 1182191.667 -2343 338966.667 979361.111 -2344 338980.556 842833.333 -2345 338983.333 889991.667 -2346 339016.667 881344.444 -2347 339022.222 1180808.333 -2348 339055.556 914988.889 -2349 339077.778 815475.000 -2350 339102.778 811047.222 -2351 339108.333 811358.333 -2352 339133.333 822936.111 -2353 339136.111 984930.556 -2354 339163.889 815136.111 -2355 339163.889 845447.222 -2356 339163.889 1183516.667 -2357 339166.667 928480.556 -2358 339166.667 1178991.667 -2359 339172.222 1023244.444 -2360 339172.222 1180111.111 -2361 339175.000 797441.667 -2362 339191.667 1184155.556 -2363 339202.778 803416.667 -2364 339202.778 1172777.778 -2365 339208.333 931538.889 -2366 339213.889 780205.556 -2367 339236.111 848408.333 -2368 339241.667 843786.111 -2369 339244.444 860225.000 -2370 339255.556 1168755.556 -2371 339288.889 878172.222 -2372 339294.444 1169763.889 -2373 339302.778 1182105.556 -2374 339319.444 1179452.778 -2375 339344.444 964283.333 -2376 339352.778 799327.778 -2377 339369.444 971163.889 -2378 339380.556 1183516.667 -2379 339383.333 943569.444 -2380 339397.222 862016.667 -2381 339400.000 1172427.778 -2382 339400.000 1181316.667 -2383 339411.111 842136.111 -2384 339427.778 918433.333 -2385 339441.667 909450.000 -2386 339455.556 938469.444 -2387 339461.111 843347.222 -2388 339472.222 903441.667 -2389 339472.222 1180844.444 -2390 339480.556 864727.778 -2391 339491.667 835347.222 -2392 339508.333 907677.778 -2393 339513.889 986683.333 -2394 339533.333 1173952.778 -2395 339547.222 860419.444 -2396 339561.111 839880.556 -2397 339583.333 921900.000 -2398 339605.556 1181844.444 -2399 339608.333 833780.556 -2400 339608.333 1179497.222 -2401 339608.333 1180408.333 -2402 339611.111 1165008.333 -2403 339616.667 1183522.222 -2404 339650.000 835966.667 -2405 339652.778 1181505.556 -2406 339655.556 810741.667 -2407 339655.556 879147.222 -2408 339669.444 832783.333 -2409 339672.222 941683.333 -2410 339680.556 1182241.667 -2411 339686.111 1127288.889 -2412 339725.000 1169763.889 -2413 339730.556 783861.111 -2414 339761.111 1179044.444 -2415 339766.667 896755.556 -2416 339775.000 1181861.111 -2417 339791.667 1180319.444 -2418 339813.889 812363.889 -2419 339816.667 1182241.667 -2420 339830.556 1180958.333 -2421 339838.889 997244.444 -2422 339841.667 884880.556 -2423 339844.444 1013372.222 -2424 339850.000 915608.333 -2425 339866.667 1181844.444 -2426 339875.000 802083.333 -2427 339875.000 822980.556 -2428 339886.111 838980.556 -2429 339897.222 834258.333 -2430 339911.111 963738.889 -2431 339919.444 893488.889 -2432 339925.000 837202.778 -2433 339925.000 1175155.556 -2434 339933.333 810741.667 -2435 339958.333 795702.778 -2436 339961.111 1174047.222 -2437 339966.667 779075.000 -2438 339980.556 858663.889 -2439 339986.111 967194.444 -2440 339997.222 791997.222 -2441 340005.556 810350.000 -2442 340013.889 817722.222 -2443 340016.667 887552.778 -2444 340022.222 950936.111 -2445 340025.000 850416.667 -2446 340027.778 841447.222 -2447 340066.667 900566.667 -2448 340094.444 1181044.444 -2449 340105.556 955094.444 -2450 340116.667 1174838.889 -2451 340119.444 1008216.667 -2452 340122.222 1003016.667 -2453 340122.222 1176880.556 -2454 340130.556 982319.444 -2455 340136.111 838277.778 -2456 340141.667 860066.667 -2457 340144.444 867469.444 -2458 340147.222 904316.667 -2459 340172.222 961425.000 -2460 340186.111 952661.111 -2461 340191.667 809900.000 -2462 340194.444 1184902.778 -2463 340200.000 979572.222 -2464 340200.000 1179486.111 -2465 340202.778 1178644.444 -2466 340211.111 1183955.556 -2467 340216.667 860886.111 -2468 340230.556 843616.667 -2469 340233.333 846155.556 -2470 340238.889 1181711.111 -2471 340252.778 877583.333 -2472 340261.111 863261.111 -2473 340272.222 958688.889 -2474 340291.667 947388.889 -2475 340291.667 989186.111 -2476 340336.111 1170422.222 -2477 340338.889 1173127.778 -2478 340350.000 778938.889 -2479 340377.778 943411.111 -2480 340444.444 907447.222 -2481 340452.778 1179427.778 -2482 340455.556 850561.111 -2483 340469.444 875497.222 -2484 340469.444 1165800.000 -2485 340483.333 1172602.778 -2486 340513.889 840713.889 -2487 340519.444 1180458.333 -2488 340522.222 1182427.778 -2489 340536.111 809613.889 -2490 340536.111 852550.000 -2491 340552.778 1177513.889 -2492 340561.111 788905.556 -2493 340583.333 1068908.333 -2494 340600.000 800716.667 -2495 340600.000 950030.556 -2496 340605.556 867675.000 -2497 340622.222 936897.222 -2498 340625.000 1180894.444 -2499 340625.000 1181219.444 -2500 340633.333 1176500.000 -2501 340636.111 831255.556 -2502 340638.889 809583.333 -2503 340641.667 1018433.333 -2504 340658.333 846769.444 -2505 340677.778 1025238.889 -2506 340680.556 981902.778 -2507 340686.111 1179380.556 -2508 340686.111 1180266.667 -2509 340700.000 883911.111 -2510 340702.778 1173950.000 -2511 340722.222 860333.333 -2512 340736.111 1098563.889 -2513 340736.111 1183994.444 -2514 340738.889 1173127.778 -2515 340750.000 925552.778 -2516 340752.778 842941.667 -2517 340805.556 1180719.444 -2518 340808.333 844113.889 -2519 340813.889 865911.111 -2520 340852.778 1179600.000 -2521 340858.333 811833.333 -2522 340888.889 886222.222 -2523 340900.000 1178894.444 -2524 340900.000 1183608.333 -2525 340902.778 967713.889 -2526 340922.222 825958.333 -2527 340922.222 1174341.667 -2528 340952.778 1181261.111 -2529 340961.111 1181050.000 -2530 340966.667 1177188.889 -2531 340975.000 1176475.000 -2532 340977.778 985702.778 -2533 341008.333 1177669.444 -2534 341013.889 845194.444 -2535 341030.556 1178450.000 -2536 341066.667 1178058.333 -2537 341069.444 1179344.444 -2538 341072.222 1180569.444 -2539 341111.111 828672.222 -2540 341111.111 1092908.333 -2541 341161.111 887116.667 -2542 341161.111 1181494.444 -2543 341166.667 1072433.333 -2544 341172.222 913763.889 -2545 341191.667 940163.889 -2546 341191.667 1164450.000 -2547 341205.556 840044.444 -2548 341208.333 930536.111 -2549 341213.889 1173022.222 -2550 341213.889 1181055.556 -2551 341244.444 1014411.111 -2552 341258.333 1099369.444 -2553 341266.667 962630.556 -2554 341283.333 1172077.778 -2555 341333.333 1092852.778 -2556 341336.111 1179066.667 -2557 341344.444 778819.444 -2558 341347.222 799400.000 -2559 341347.222 1163122.222 -2560 341355.556 1160533.333 -2561 341361.111 1178644.444 -2562 341394.444 1179763.889 -2563 341397.222 1180344.444 -2564 341422.222 879886.111 -2565 341463.889 874022.222 -2566 341469.444 1179700.000 -2567 341477.778 1181436.111 -2568 341477.778 1191941.667 -2569 341480.556 1179980.556 -2570 341486.111 788769.444 -2571 341500.000 1142883.333 -2572 341513.889 896313.889 -2573 341519.444 856788.889 -2574 341541.667 1173433.333 -2575 341544.444 992647.222 -2576 341544.444 1099727.778 -2577 341602.778 1186513.889 -2578 341616.667 1180519.444 -2579 341650.000 848000.000 -2580 341669.444 979972.222 -2581 341686.111 800627.778 -2582 341705.556 1188366.667 -2583 341733.333 901375.000 -2584 341738.889 845013.889 -2585 341741.667 971433.333 -2586 341747.222 868436.111 -2587 341750.000 820241.667 -2588 341752.778 972625.000 -2589 341780.556 794008.333 -2590 341780.556 823791.667 -2591 341783.333 975922.222 -2592 341791.667 778477.778 -2593 341833.333 1021341.667 -2594 341850.000 839252.778 -2595 341858.333 968802.778 -2596 341861.111 1033338.889 -2597 341866.667 851747.222 -2598 341872.222 969841.667 -2599 341897.222 1181302.778 -2600 341941.667 887197.222 -2601 341952.778 797627.778 -2602 341952.778 821619.444 -2603 341975.000 1191761.111 -2604 342000.000 905708.333 -2605 342005.556 861663.889 -2606 342016.667 902833.333 -2607 342022.222 871813.889 -2608 342038.889 834572.222 -2609 342047.222 830308.333 -2610 342055.556 792547.222 -2611 342072.222 841402.778 -2612 342083.333 777966.667 -2613 342091.667 778438.889 -2614 342091.667 815333.333 -2615 342102.778 778869.444 -2616 342116.667 1016897.222 -2617 342133.333 886644.444 -2618 342163.889 1190366.667 -2619 342177.778 905419.444 -2620 342180.556 802486.111 -2621 342200.000 856077.778 -2622 342255.556 779450.000 -2623 342263.889 876213.889 -2624 342263.889 1027233.333 -2625 342272.222 806894.444 -2626 342275.000 838844.444 -2627 342283.333 920030.556 -2628 342283.333 986841.667 -2629 342308.333 1113244.444 -2630 342311.111 956200.000 -2631 342322.222 1191716.667 -2632 342330.556 974875.000 -2633 342330.556 1024102.778 -2634 342336.111 791488.889 -2635 342361.111 966783.333 -2636 342366.667 844908.333 -2637 342369.444 849441.667 -2638 342408.333 990752.778 -2639 342419.444 853358.333 -2640 342419.444 1172847.222 -2641 342463.889 806072.222 -2642 342477.778 889986.111 -2643 342483.333 1171883.333 -2644 342527.778 835616.667 -2645 342541.667 1100291.667 -2646 342563.889 902719.444 -2647 342563.889 995163.889 -2648 342569.444 851647.222 -2649 342575.000 887033.333 -2650 342638.889 858605.556 -2651 342647.222 934608.333 -2652 342675.000 862088.889 -2653 342719.444 982355.556 -2654 342722.222 778188.889 -2655 342738.889 884091.667 -2656 342738.889 920908.333 -2657 342744.444 816188.889 -2658 342772.222 878286.111 -2659 342819.444 1184380.556 -2660 342827.778 847452.778 -2661 342847.222 831444.444 -2662 342855.556 1188811.111 -2663 342869.444 831102.778 -2664 342883.333 779213.889 -2665 342927.778 913377.778 -2666 342977.778 838241.667 -2667 342977.778 997400.000 -2668 342997.222 798763.889 -2669 343047.222 819830.556 -2670 343063.889 826638.889 -2671 343069.444 924011.111 -2672 343083.333 908519.444 -2673 343113.889 899441.667 -2674 343133.333 790375.000 -2675 343144.444 971425.000 -2676 343180.556 864958.333 -2677 343188.889 785002.778 -2678 343191.667 918472.222 -2679 343205.556 784022.222 -2680 343219.444 788272.222 -2681 343241.667 884911.111 -2682 343266.667 935505.556 -2683 343333.333 823880.556 -2684 343336.111 834991.667 -2685 343366.667 850713.889 -2686 343369.444 794313.889 -2687 343380.556 843766.667 -2688 343386.111 787033.333 -2689 343455.556 791658.333 -2690 343461.111 831100.000 -2691 343508.333 877063.889 -2692 343513.889 860008.333 -2693 343527.778 829322.222 -2694 343530.556 890230.556 -2695 343541.667 1190583.333 -2696 343555.556 779002.778 -2697 343580.556 862947.222 -2698 343597.222 983075.000 -2699 343608.333 1176325.000 -2700 343616.667 810855.556 -2701 343622.222 928127.778 -2702 343661.111 1010566.667 -2703 343663.889 1017480.556 -2704 343683.333 869086.111 -2705 343686.111 849341.667 -2706 343688.889 979636.111 -2707 343694.444 906388.889 -2708 343713.889 1193055.556 -2709 343738.889 800736.111 -2710 343763.889 886816.667 -2711 343805.556 810866.667 -2712 343819.444 843711.111 -2713 343847.222 1185300.000 -2714 343850.000 1021152.778 -2715 343858.333 961280.556 -2716 343875.000 836663.889 -2717 343886.111 1030508.333 -2718 343919.444 990180.556 -2719 343925.000 1008972.222 -2720 343936.111 800697.222 -2721 343983.333 822469.444 -2722 343988.889 1195175.000 -2723 343991.667 1189172.222 -2724 344000.000 1192991.667 -2725 344047.222 1032047.222 -2726 344147.222 818113.889 -2727 344152.778 1187930.556 -2728 344163.889 793713.889 -2729 344219.444 917061.111 -2730 344233.333 1197033.333 -2731 344244.444 930950.000 -2732 344263.889 1002036.111 -2733 344263.889 1173000.000 -2734 344302.778 1036319.444 -2735 344319.444 902208.333 -2736 344358.333 831069.444 -2737 344361.111 847000.000 -2738 344397.222 881408.333 -2739 344433.333 869352.778 -2740 344436.111 1186086.111 -2741 344441.667 857197.222 -2742 344450.000 921830.556 -2743 344463.889 823916.667 -2744 344466.667 859041.667 -2745 344480.556 1192419.444 -2746 344550.000 936800.000 -2747 344600.000 976736.111 -2748 344650.000 1100905.556 -2749 344666.667 960530.556 -2750 344672.222 835738.889 -2751 344677.778 844291.667 -2752 344688.889 802561.111 -2753 344705.556 826708.333 -2754 344716.667 1042450.000 -2755 344719.444 996477.778 -2756 344725.000 818808.333 -2757 344741.667 1013041.667 -2758 344750.000 782025.000 -2759 344805.556 853477.778 -2760 344811.111 872933.333 -2761 344811.111 983827.778 -2762 344838.889 1143216.667 -2763 344847.222 854763.889 -2764 344872.222 786563.889 -2765 344916.667 835375.000 -2766 344941.667 858477.778 -2767 344941.667 890077.778 -2768 344966.667 791144.444 -2769 344988.889 820144.444 -2770 345002.778 915525.000 -2771 345008.333 1171850.000 -2772 345013.889 926363.889 -2773 345022.222 979575.000 -2774 345025.000 849511.111 -2775 345025.000 901986.111 -2776 345027.778 816116.667 -2777 345027.778 991405.556 -2778 345033.333 826502.778 -2779 345036.111 930550.000 -2780 345044.444 971191.667 -2781 345077.778 877286.111 -2782 345077.778 969680.556 -2783 345094.444 886352.778 -2784 345105.556 899397.222 -2785 345113.889 835272.222 -2786 345125.000 798511.111 -2787 345133.333 1100777.778 -2788 345136.111 1028825.000 -2789 345186.111 835008.333 -2790 345202.778 1062405.556 -2791 345227.778 824944.444 -2792 345230.556 869702.778 -2793 345250.000 868947.222 -2794 345286.111 862533.333 -2795 345325.000 839850.000 -2796 345358.333 1017580.556 -2797 345361.111 1172902.778 -2798 345363.889 792916.667 -2799 345380.556 962183.333 -2800 345386.111 787877.778 -2801 345400.000 1124677.778 -2802 345438.889 853105.556 -2803 345441.667 919688.889 -2804 345486.111 994219.444 -2805 345505.556 906416.667 -2806 345508.333 1023113.889 -2807 345516.667 805838.889 -2808 345519.444 779263.889 -2809 345555.556 909127.778 -2810 345566.667 936338.889 -2811 345622.222 858125.000 -2812 345636.111 1118536.111 -2813 345644.444 925866.667 -2814 345650.000 835452.778 -2815 345688.889 856150.000 -2816 345719.444 931730.556 -2817 345750.000 809022.222 -2818 345772.222 833325.000 -2819 345794.444 795466.667 -2820 345794.444 1181155.556 -2821 345811.111 1132038.889 -2822 345827.778 1174083.333 -2823 345861.111 942394.444 -2824 345894.444 953525.000 -2825 345930.556 806755.556 -2826 345958.333 911997.222 -2827 345958.333 1201366.667 -2828 345969.444 837633.333 -2829 346016.667 1052077.778 -2830 346047.222 964238.889 -2831 346058.333 869833.333 -2832 346080.556 821136.111 -2833 346086.111 983900.000 -2834 346100.000 1123150.000 -2835 346125.000 835250.000 -2836 346136.111 1201916.667 -2837 346144.444 1200788.889 -2838 346172.222 796850.000 -2839 346175.000 899686.111 -2840 346180.556 790088.889 -2841 346183.333 824780.556 -2842 346200.000 923952.778 -2843 346227.778 973961.111 -2844 346275.000 968405.556 -2845 346277.778 862744.444 -2846 346291.667 786055.556 -2847 346294.444 986283.333 -2848 346350.000 857672.222 -2849 346377.778 978172.222 -2850 346380.556 993336.111 -2851 346391.667 1204569.444 -2852 346402.778 784841.667 -2853 346416.667 1027236.111 -2854 346433.333 971641.667 -2855 346447.222 824702.778 -2856 346452.778 1182172.222 -2857 346461.111 893052.778 -2858 346480.556 979577.778 -2859 346500.000 803891.667 -2860 346516.667 827838.889 -2861 346525.000 965258.333 -2862 346563.889 819652.778 -2863 346580.556 885666.667 -2864 346588.889 989513.889 -2865 346627.778 1067758.333 -2866 346647.222 830966.667 -2867 346686.111 795455.556 -2868 346708.333 890263.889 -2869 346719.444 929986.111 -2870 346722.222 860341.667 -2871 346777.778 769511.111 -2872 346780.556 829316.667 -2873 346800.000 791952.778 -2874 346811.111 874061.111 -2875 346833.333 828375.000 -2876 346844.444 903827.778 -2877 346855.556 829533.333 -2878 346875.000 771194.444 -2879 346883.333 999116.667 -2880 346888.889 821958.333 -2881 346930.556 913136.111 -2882 346950.000 765597.222 -2883 346972.222 989491.667 -2884 346975.000 798836.111 -2885 346980.556 1181358.333 -2886 346988.889 767405.556 -2887 347008.333 875288.889 -2888 347016.667 863758.333 -2889 347022.222 824647.222 -2890 347047.222 812144.444 -2891 347047.222 852819.444 -2892 347141.667 856808.333 -2893 347180.556 766641.667 -2894 347202.778 807711.111 -2895 347205.556 958988.889 -2896 347227.778 767263.889 -2897 347241.667 827813.889 -2898 347247.222 1005336.111 -2899 347297.222 889505.556 -2900 347302.778 865861.111 -2901 347311.111 877025.000 -2902 347338.889 824438.889 -2903 347350.000 793491.667 -2904 347355.556 779955.556 -2905 347358.333 800883.333 -2906 347369.444 822544.444 -2907 347394.444 820372.222 -2908 347400.000 972219.444 -2909 347436.111 1018541.667 -2910 347447.222 876675.000 -2911 347463.889 922894.444 -2912 347502.778 981713.889 -2913 347513.889 950477.778 -2914 347538.889 774305.556 -2915 347569.444 879727.778 -2916 347575.000 1124530.556 -2917 347583.333 1060552.778 -2918 347588.889 796108.333 -2919 347600.000 827538.889 -2920 347647.222 830641.667 -2921 347650.000 876986.111 -2922 347658.333 847700.000 -2923 347694.444 922669.444 -2924 347697.222 849702.778 -2925 347711.111 794438.889 -2926 347711.111 1120572.222 -2927 347730.556 803919.444 -2928 347736.111 907575.000 -2929 347738.889 794630.556 -2930 347744.444 966780.556 -2931 347780.556 923488.889 -2932 347786.111 823102.778 -2933 347794.444 993350.000 -2934 347802.778 982919.444 -2935 347808.333 915808.333 -2936 347825.000 979566.667 -2937 347830.556 917463.889 -2938 347838.889 918997.222 -2939 347861.111 783944.444 -2940 347863.889 768594.444 -2941 347877.778 826925.000 -2942 347966.667 969591.667 -2943 347997.222 876772.222 -2944 348000.000 824244.444 -2945 348027.778 869716.667 -2946 348061.111 1067327.778 -2947 348116.667 881900.000 -2948 348150.000 791833.333 -2949 348150.000 922241.667 -2950 348150.000 1023972.222 -2951 348172.222 974055.556 -2952 348227.778 1189438.889 -2953 348230.556 982438.889 -2954 348238.889 899936.111 -2955 348247.222 824194.444 -2956 348252.778 1068380.556 -2957 348255.556 872947.222 -2958 348258.333 774597.222 -2959 348266.667 972588.889 -2960 348288.889 958436.111 -2961 348297.222 826016.667 -2962 348347.222 976022.222 -2963 348405.556 850427.778 -2964 348405.556 883147.222 -2965 348422.222 826447.222 -2966 348450.000 955572.222 -2967 348480.556 1146133.333 -2968 348513.889 865722.222 -2969 348525.000 823941.667 -2970 348544.444 955819.444 -2971 348561.111 1002133.333 -2972 348611.111 966652.778 -2973 348613.889 824316.667 -2974 348627.778 875375.000 -2975 348638.889 800013.889 -2976 348638.889 843241.667 -2977 348641.667 1181625.000 -2978 348661.111 921100.000 -2979 348686.111 858394.444 -2980 348697.222 1117602.778 -2981 348711.111 852908.333 -2982 348719.444 855091.667 -2983 348719.444 995038.889 -2984 348722.222 896905.556 -2985 348761.111 839583.333 -2986 348766.667 1171030.556 -2987 348777.778 824241.667 -2988 348780.556 834011.111 -2989 348788.889 769016.667 -2990 348788.889 964122.222 -2991 348794.444 819663.889 -2992 348833.333 827075.000 -2993 348847.222 796944.444 -2994 348852.778 824561.111 -2995 348877.778 793663.889 -2996 348877.778 911944.444 -2997 348891.667 946005.556 -2998 348905.556 809566.667 -2999 348936.111 983655.556 -3000 348963.889 982002.778 -3001 348983.333 940905.556 -3002 348988.889 817619.444 -3003 349022.222 1101575.000 -3004 349025.000 790119.444 -3005 349047.222 772316.667 -3006 349050.000 1168194.444 -3007 349069.444 1066802.778 -3008 349105.556 818530.556 -3009 349127.778 911100.000 -3010 349147.222 977783.333 -3011 349158.333 851091.667 -3012 349180.556 797627.778 -3013 349180.556 833855.556 -3014 349180.556 973141.667 -3015 349186.111 953088.889 -3016 349202.778 822963.889 -3017 349225.000 817427.778 -3018 349236.111 777741.667 -3019 349238.889 819330.556 -3020 349244.444 807436.111 -3021 349277.778 957155.556 -3022 349283.333 820991.667 -3023 349319.444 981400.000 -3024 349322.222 865719.444 -3025 349330.556 837772.222 -3026 349330.556 838472.222 -3027 349333.333 957694.444 -3028 349363.889 818794.444 -3029 349377.778 821452.778 -3030 349377.778 1008877.778 -3031 349386.111 822272.222 -3032 349386.111 1046819.444 -3033 349391.667 797741.667 -3034 349430.556 797872.222 -3035 349447.222 818377.778 -3036 349475.000 857144.444 -3037 349480.556 821275.000 -3038 349491.667 904713.889 -3039 349494.444 819322.222 -3040 349508.333 821061.111 -3041 349508.333 950800.000 -3042 349511.111 946369.444 -3043 349527.778 785088.889 -3044 349530.556 1204347.222 -3045 349569.444 924272.222 -3046 349580.556 819908.333 -3047 349580.556 852233.333 -3048 349594.444 967525.000 -3049 349611.111 819675.000 -3050 349616.667 898294.444 -3051 349622.222 779625.000 -3052 349622.222 993802.778 -3053 349672.222 947244.444 -3054 349675.000 799847.222 -3055 349675.000 824436.111 -3056 349680.556 800769.444 -3057 349691.667 873711.111 -3058 349702.778 789455.556 -3059 349716.667 1205708.333 -3060 349722.222 909025.000 -3061 349744.444 920163.889 -3062 349769.444 914950.000 -3063 349775.000 853577.778 -3064 349808.333 792244.444 -3065 349830.556 852861.111 -3066 349841.667 804494.444 -3067 349841.667 819266.667 -3068 349852.778 805497.222 -3069 349861.111 843713.889 -3070 349883.333 803672.222 -3071 349894.444 969233.333 -3072 349894.444 992491.667 -3073 349900.000 1060486.111 -3074 349919.444 818350.000 -3075 349919.444 868466.667 -3076 349919.444 868469.444 -3077 349936.111 802647.222 -3078 349941.667 812422.222 -3079 349941.667 853494.444 -3080 349958.333 792263.889 -3081 349977.778 783236.111 -3082 349991.667 780913.889 -3083 349994.444 1176488.889 -3084 350025.000 809800.000 -3085 350047.222 928025.000 -3086 350072.222 809452.778 -3087 350075.000 802011.111 -3088 350080.556 907897.222 -3089 350080.556 912511.111 -3090 350122.222 857044.444 -3091 350130.556 907225.000 -3092 350133.333 786941.667 -3093 350136.111 973608.333 -3094 350141.667 852519.444 -3095 350147.222 973352.778 -3096 350152.778 785033.333 -3097 350158.333 819750.000 -3098 350166.667 818041.667 -3099 350169.444 1178347.222 -3100 350227.778 943811.111 -3101 350241.667 810280.556 -3102 350241.667 1106966.667 -3103 350294.444 990927.778 -3104 350308.333 766933.333 -3105 350319.444 787950.000 -3106 350322.222 932230.556 -3107 350413.889 821044.444 -3108 350419.444 896644.444 -3109 350427.778 1204750.000 -3110 350450.000 896216.667 -3111 350455.556 853097.222 -3112 350469.444 820902.778 -3113 350477.778 856719.444 -3114 350511.111 862697.222 -3115 350522.222 868886.111 -3116 350525.000 788786.111 -3117 350525.000 831969.444 -3118 350525.000 979361.111 -3119 350525.000 1181730.556 -3120 350530.556 850502.778 -3121 350536.111 946233.333 -3122 350538.889 933933.333 -3123 350550.000 777466.667 -3124 350552.778 871575.000 -3125 350561.111 884352.778 -3126 350588.889 1194000.000 -3127 350594.444 942525.000 -3128 350644.444 888908.333 -3129 350705.556 918794.444 -3130 350711.111 797616.667 -3131 350716.667 816500.000 -3132 350725.000 982433.333 -3133 350741.667 856261.111 -3134 350766.667 806694.444 -3135 350777.778 874397.222 -3136 350800.000 816330.556 -3137 350802.778 963988.889 -3138 350822.222 942630.556 -3139 350830.556 808925.000 -3140 350833.333 980875.000 -3141 350838.889 922077.778 -3142 350844.444 1066505.556 -3143 350872.222 973347.222 -3144 350875.000 840347.222 -3145 350886.111 770352.778 -3146 350886.111 924419.444 -3147 350905.556 806863.889 -3148 350930.556 934483.333 -3149 350950.000 789558.333 -3150 350963.889 787841.667 -3151 350975.000 987461.111 -3152 350977.778 984352.778 -3153 350988.889 1206113.889 -3154 351036.111 986033.333 -3155 351044.444 801094.444 -3156 351055.556 830966.667 -3157 351083.333 770444.444 -3158 351097.222 794725.000 -3159 351111.111 812266.667 -3160 351116.667 1013627.778 -3161 351127.778 918222.222 -3162 351136.111 851380.556 -3163 351161.111 781363.889 -3164 351166.667 807238.889 -3165 351186.111 1205897.222 -3166 351211.111 815161.111 -3167 351216.667 1206202.778 -3168 351225.000 853438.889 -3169 351227.778 953708.333 -3170 351258.333 1179850.000 -3171 351302.778 967755.556 -3172 351313.889 794297.222 -3173 351322.222 1184480.556 -3174 351347.222 1194552.778 -3175 351347.222 1194716.667 -3176 351377.778 976577.778 -3177 351391.667 973944.444 -3178 351400.000 939213.889 -3179 351411.111 848722.222 -3180 351425.000 1194555.556 -3181 351427.778 767705.556 -3182 351427.778 1206402.778 -3183 351436.111 828213.889 -3184 351447.222 768025.000 -3185 351461.111 966697.222 -3186 351463.889 901844.444 -3187 351483.333 818611.111 -3188 351494.444 900488.889 -3189 351497.222 949705.556 -3190 351508.333 927438.889 -3191 351508.333 938066.667 -3192 351519.444 865705.556 -3193 351522.222 1078425.000 -3194 351536.111 781055.556 -3195 351544.444 1194552.778 -3196 351577.778 991750.000 -3197 351586.111 964930.556 -3198 351594.444 848766.667 -3199 351600.000 926405.556 -3200 351608.333 848577.778 -3201 351619.444 1066422.222 -3202 351644.444 860105.556 -3203 351647.222 853013.889 -3204 351672.222 946722.222 -3205 351677.778 789730.556 -3206 351697.222 1078902.778 -3207 351700.000 885922.222 -3208 351716.667 1037244.444 -3209 351738.889 793925.000 -3210 351741.667 846536.111 -3211 351741.667 877377.778 -3212 351744.444 814500.000 -3213 351750.000 821894.444 -3214 351794.444 806475.000 -3215 351858.333 861122.222 -3216 351863.889 947855.556 -3217 351872.222 773211.111 -3218 351883.333 982602.778 -3219 351894.444 854858.333 -3220 351894.444 1140522.222 -3221 351902.778 944108.333 -3222 351958.333 851847.222 -3223 351980.556 1116505.556 -3224 351997.222 870308.333 -3225 352005.556 1067005.556 -3226 352013.889 855191.667 -3227 352016.667 838241.667 -3228 352030.556 859211.111 -3229 352036.111 1011063.889 -3230 352044.444 898738.889 -3231 352086.111 851269.444 -3232 352091.667 1188275.000 -3233 352097.222 860794.444 -3234 352144.444 901963.889 -3235 352152.778 998661.111 -3236 352191.667 812058.333 -3237 352219.444 1018308.333 -3238 352225.000 974391.667 -3239 352230.556 931577.778 -3240 352244.444 907866.667 -3241 352244.444 966702.778 -3242 352247.222 882491.667 -3243 352250.000 903250.000 -3244 352255.556 803291.667 -3245 352269.444 808433.333 -3246 352302.778 810427.778 -3247 352311.111 944777.778 -3248 352316.667 916675.000 -3249 352325.000 1005994.444 -3250 352333.333 827344.444 -3251 352336.111 886063.889 -3252 352338.889 923875.000 -3253 352352.778 815147.222 -3254 352358.333 883905.556 -3255 352361.111 823494.444 -3256 352361.111 851986.111 -3257 352369.444 974061.111 -3258 352375.000 962413.889 -3259 352377.778 1066061.111 -3260 352380.556 1189141.667 -3261 352386.111 810752.778 -3262 352386.111 1066666.667 -3263 352391.667 944258.333 -3264 352400.000 858397.222 -3265 352411.111 946197.222 -3266 352422.222 873347.222 -3267 352427.778 1024277.778 -3268 352436.111 893500.000 -3269 352450.000 813413.889 -3270 352463.889 929363.889 -3271 352472.222 975994.444 -3272 352480.556 930488.889 -3273 352494.444 1121902.778 -3274 352505.556 917361.111 -3275 352530.556 821972.222 -3276 352536.111 951227.778 -3277 352541.667 827002.778 -3278 352555.556 793725.000 -3279 352555.556 949213.889 -3280 352561.111 792825.000 -3281 352561.111 889877.778 -3282 352561.111 912000.000 -3283 352569.444 783525.000 -3284 352577.778 969363.889 -3285 352591.667 810755.556 -3286 352597.222 804255.556 -3287 352597.222 1189133.333 -3288 352602.778 857361.111 -3289 352605.556 971194.444 -3290 352619.444 811875.000 -3291 352625.000 775819.444 -3292 352633.333 905711.111 -3293 352677.778 811030.556 -3294 352700.000 916397.222 -3295 352705.556 861280.556 -3296 352722.222 810483.333 -3297 352747.222 812102.778 -3298 352750.000 904666.667 -3299 352766.667 991347.222 -3300 352783.333 931336.111 -3301 352800.000 824222.222 -3302 352822.222 913652.778 -3303 352827.778 1206586.111 -3304 352830.556 863741.667 -3305 352847.222 812841.667 -3306 352861.111 811305.556 -3307 352872.222 955822.222 -3308 352888.889 811450.000 -3309 352908.333 978119.444 -3310 352911.111 996397.222 -3311 352919.444 937297.222 -3312 352922.222 815358.333 -3313 352927.778 936344.444 -3314 352950.000 797455.556 -3315 352963.889 847480.556 -3316 352969.444 940361.111 -3317 352980.556 810161.111 -3318 352983.333 824833.333 -3319 353000.000 1065505.556 -3320 353052.778 767888.889 -3321 353061.111 786091.667 -3322 353066.667 777883.333 -3323 353083.333 771544.444 -3324 353088.889 983416.667 -3325 353097.222 915677.778 -3326 353105.556 818588.889 -3327 353111.111 824441.667 -3328 353127.778 979441.667 -3329 353163.889 811763.889 -3330 353186.111 824611.111 -3331 353194.444 877622.222 -3332 353227.778 838075.000 -3333 353233.333 845250.000 -3334 353236.111 806561.111 -3335 353236.111 873036.111 -3336 353255.556 943013.889 -3337 353258.333 896161.111 -3338 353263.889 891494.444 -3339 353266.667 786763.889 -3340 353272.222 969250.000 -3341 353288.889 817588.889 -3342 353288.889 932527.778 -3343 353338.889 818652.778 -3344 353355.556 961361.111 -3345 353361.111 941730.556 -3346 353375.000 857041.667 -3347 353394.444 974863.889 -3348 353413.889 898972.222 -3349 353425.000 779088.889 -3350 353458.333 794172.222 -3351 353463.889 824722.222 -3352 353488.889 991700.000 -3353 353500.000 802002.778 -3354 353511.111 855677.778 -3355 353544.444 944338.889 -3356 353561.111 952652.778 -3357 353575.000 780061.111 -3358 353583.333 798947.222 -3359 353588.889 810972.222 -3360 353597.222 797800.000 -3361 353600.000 819294.444 -3362 353613.889 868397.222 -3363 353619.444 862094.444 -3364 353627.778 842941.667 -3365 353652.778 1034102.778 -3366 353658.333 1208488.889 -3367 353691.667 819569.444 -3368 353694.444 824930.556 -3369 353713.889 853905.556 -3370 353725.000 774377.778 -3371 353733.333 1190177.778 -3372 353736.111 832261.111 -3373 353780.556 987816.667 -3374 353786.111 813791.667 -3375 353797.222 902577.778 -3376 353819.444 785488.889 -3377 353833.333 1191088.889 -3378 353841.667 922155.556 -3379 353841.667 977241.667 -3380 353847.222 779930.556 -3381 353858.333 943983.333 -3382 353869.444 879952.778 -3383 353877.778 805958.333 -3384 353916.667 979411.111 -3385 353991.667 788161.111 -3386 354005.556 1194686.111 -3387 354013.889 931141.667 -3388 354019.444 797844.444 -3389 354019.444 907530.556 -3390 354019.444 974811.111 -3391 354025.000 812025.000 -3392 354025.000 1082227.778 -3393 354058.333 801169.444 -3394 354061.111 945986.111 -3395 354077.778 786722.222 -3396 354105.556 808430.556 -3397 354116.667 902783.333 -3398 354119.444 994038.889 -3399 354130.556 787358.333 -3400 354133.333 780711.111 -3401 354175.000 816430.556 -3402 354197.222 1190202.778 -3403 354211.111 945144.444 -3404 354219.444 992791.667 -3405 354230.556 914558.333 -3406 354244.444 844875.000 -3407 354266.667 918366.667 -3408 354286.111 794933.333 -3409 354288.889 815016.667 -3410 354294.444 857230.556 -3411 354302.778 942313.889 -3412 354308.333 834475.000 -3413 354325.000 936152.778 -3414 354325.000 963047.222 -3415 354338.889 795872.222 -3416 354338.889 1064461.111 -3417 354341.667 806208.333 -3418 354352.778 1011725.000 -3419 354358.333 970911.111 -3420 354363.889 1008052.778 -3421 354366.667 943480.556 -3422 354372.222 936727.778 -3423 354391.667 886413.889 -3424 354397.222 959816.667 -3425 354405.556 933877.778 -3426 354411.111 897780.556 -3427 354419.444 974405.556 -3428 354427.778 845930.556 -3429 354427.778 1208911.111 -3430 354447.222 784272.222 -3431 354452.778 1002705.556 -3432 354469.444 850844.444 -3433 354491.667 867888.889 -3434 354491.667 898150.000 -3435 354494.444 973963.889 -3436 354580.556 959411.111 -3437 354602.778 947872.222 -3438 354622.222 894019.444 -3439 354638.889 815219.444 -3440 354658.333 781608.333 -3441 354666.667 856541.667 -3442 354675.000 975161.111 -3443 354686.111 830041.667 -3444 354700.000 955227.778 -3445 354713.889 934663.889 -3446 354713.889 983552.778 -3447 354725.000 774158.333 -3448 354736.111 812547.222 -3449 354777.778 942216.667 -3450 354797.222 791805.556 -3451 354816.667 860886.111 -3452 354833.333 864602.778 -3453 354866.667 808602.778 -3454 354866.667 966847.222 -3455 354869.444 938275.000 -3456 354872.222 806219.444 -3457 354886.111 829888.889 -3458 354894.444 971633.333 -3459 354894.444 1206697.222 -3460 354900.000 903586.111 -3461 354911.111 973227.778 -3462 354913.889 920311.111 -3463 354922.222 941375.000 -3464 354938.889 850125.000 -3465 354941.667 953052.778 -3466 354969.444 779822.222 -3467 354975.000 972686.111 -3468 354983.333 949694.444 -3469 354991.667 808488.889 -3470 355005.556 940513.889 -3471 355033.333 969025.000 -3472 355041.667 974458.333 -3473 355066.667 977622.222 -3474 355069.444 787394.444 -3475 355077.778 901469.444 -3476 355083.333 783397.222 -3477 355125.000 771008.333 -3478 355133.333 845452.778 -3479 355147.222 847902.778 -3480 355147.222 1063652.778 -3481 355150.000 882452.778 -3482 355155.556 989669.444 -3483 355186.111 976319.444 -3484 355197.222 843636.111 -3485 355225.000 976186.111 -3486 355227.778 973769.444 -3487 355261.111 987072.222 -3488 355272.222 863336.111 -3489 355280.556 1087419.444 -3490 355288.889 774013.889 -3491 355297.222 806683.333 -3492 355322.222 979547.222 -3493 355325.000 770327.778 -3494 355327.778 828375.000 -3495 355327.778 904205.556 -3496 355333.333 829108.333 -3497 355336.111 825286.111 -3498 355361.111 1009594.444 -3499 355363.889 782847.222 -3500 355400.000 766233.333 -3501 355452.778 779750.000 -3502 355455.556 806111.111 -3503 355463.889 770525.000 -3504 355477.778 875519.444 -3505 355494.444 985777.778 -3506 355497.222 826502.778 -3507 355508.333 975486.111 -3508 355511.111 804066.667 -3509 355608.333 975511.111 -3510 355641.667 896463.889 -3511 355641.667 907166.667 -3512 355641.667 1210797.222 -3513 355658.333 972866.667 -3514 355691.667 805819.444 -3515 355741.667 1056744.444 -3516 355752.778 1011838.889 -3517 355755.556 812119.444 -3518 355777.778 989641.667 -3519 355841.667 788002.778 -3520 355841.667 881194.444 -3521 355847.222 808102.778 -3522 355869.444 804630.556 -3523 355880.556 1184911.111 -3524 355900.000 842419.444 -3525 355913.889 924602.778 -3526 355941.667 1193400.000 -3527 355961.111 781244.444 -3528 355977.778 824000.000 -3529 356008.333 825541.667 -3530 356013.889 844611.111 -3531 356027.778 859197.222 -3532 356055.556 851888.889 -3533 356066.667 778236.111 -3534 356075.000 958600.000 -3535 356080.556 968208.333 -3536 356091.667 1184827.778 -3537 356111.111 773730.556 -3538 356111.111 903297.222 -3539 356122.222 804469.444 -3540 356138.889 996711.111 -3541 356138.889 1067252.778 -3542 356144.444 888138.889 -3543 356150.000 870352.778 -3544 356172.222 878394.444 -3545 356177.778 823213.889 -3546 356202.778 908983.333 -3547 356225.000 1176700.000 -3548 356233.333 959602.778 -3549 356288.889 821808.333 -3550 356311.111 983169.444 -3551 356327.778 993813.889 -3552 356333.333 801161.111 -3553 356333.333 825822.222 -3554 356350.000 779333.333 -3555 356355.556 941672.222 -3556 356361.111 833777.778 -3557 356383.333 912650.000 -3558 356397.222 1016027.778 -3559 356419.444 977461.111 -3560 356441.667 823030.556 -3561 356452.778 780100.000 -3562 356486.111 956558.333 -3563 356497.222 881266.667 -3564 356497.222 910738.889 -3565 356505.556 784566.667 -3566 356508.333 883933.333 -3567 356508.333 1176608.333 -3568 356527.778 974777.778 -3569 356577.778 820255.556 -3570 356611.111 841722.222 -3571 356616.667 971952.778 -3572 356650.000 988827.778 -3573 356677.778 1013969.444 -3574 356697.222 812216.667 -3575 356708.333 804744.444 -3576 356727.778 895733.333 -3577 356736.111 905072.222 -3578 356744.444 900997.222 -3579 356780.556 1081505.556 -3580 356780.556 1192283.333 -3581 356805.556 1090519.444 -3582 356816.667 804325.000 -3583 356838.889 820094.444 -3584 356841.667 819919.444 -3585 356869.444 1059372.222 -3586 356913.889 1006377.778 -3587 356919.444 848608.333 -3588 356922.222 804350.000 -3589 356941.667 970630.556 -3590 356969.444 825608.333 -3591 357005.556 808883.333 -3592 357016.667 914413.889 -3593 357016.667 968805.556 -3594 357044.444 820361.111 -3595 357047.222 967650.000 -3596 357050.000 899694.444 -3597 357063.889 812188.889 -3598 357069.444 1184552.778 -3599 357072.222 810758.333 -3600 357077.778 798138.889 -3601 357111.111 786144.444 -3602 357111.111 890875.000 -3603 357138.889 814222.222 -3604 357141.667 835102.778 -3605 357144.444 811463.889 -3606 357200.000 791775.000 -3607 357233.333 794625.000 -3608 357258.333 979761.111 -3609 357272.222 814708.333 -3610 357288.889 814000.000 -3611 357288.889 817794.444 -3612 357291.667 1185486.111 -3613 357305.556 911983.333 -3614 357319.444 1051511.111 -3615 357325.000 788505.556 -3616 357327.778 843338.889 -3617 357330.556 806772.222 -3618 357333.333 796527.778 -3619 357405.556 815633.333 -3620 357422.222 905622.222 -3621 357425.000 960700.000 -3622 357436.111 796925.000 -3623 357441.667 987472.222 -3624 357444.444 1090758.333 -3625 357452.778 816850.000 -3626 357452.778 895297.222 -3627 357472.222 854666.667 -3628 357477.778 953694.444 -3629 357486.111 966577.778 -3630 357519.444 776702.778 -3631 357547.222 1184244.444 -3632 357561.111 899280.556 -3633 357563.889 839705.556 -3634 357577.778 816044.444 -3635 357580.556 903222.222 -3636 357602.778 841358.333 -3637 357636.111 1059319.444 -3638 357688.889 1192461.111 -3639 357697.222 916408.333 -3640 357719.444 786388.889 -3641 357719.444 877838.889 -3642 357738.889 814313.889 -3643 357758.333 889900.000 -3644 357808.333 783700.000 -3645 357825.000 808875.000 -3646 357847.222 891172.222 -3647 357875.000 784808.333 -3648 357883.333 776380.556 -3649 357883.333 835544.444 -3650 357894.444 839738.889 -3651 357900.000 782041.667 -3652 357913.889 787813.889 -3653 357950.000 839319.444 -3654 357963.889 814308.333 -3655 357966.667 1191069.444 -3656 357972.222 826841.667 -3657 357972.222 842561.111 -3658 357975.000 952502.778 -3659 357980.556 976783.333 -3660 358027.778 887747.222 -3661 358027.778 965058.333 -3662 358063.889 778636.111 -3663 358083.333 970125.000 -3664 358102.778 805561.111 -3665 358111.111 768969.444 -3666 358144.444 946283.333 -3667 358147.222 892255.556 -3668 358161.111 904341.667 -3669 358177.778 798033.333 -3670 358197.222 889158.333 -3671 358202.778 956738.889 -3672 358216.667 911283.333 -3673 358238.889 772555.556 -3674 358238.889 802536.111 -3675 358241.667 783150.000 -3676 358263.889 825494.444 -3677 358269.444 1014425.000 -3678 358275.000 839408.333 -3679 358275.000 860716.667 -3680 358302.778 925577.778 -3681 358305.556 963908.333 -3682 358383.333 894061.111 -3683 358422.222 907041.667 -3684 358425.000 756388.889 -3685 358447.222 984127.778 -3686 358455.556 863902.778 -3687 358483.333 814961.111 -3688 358505.556 953180.556 -3689 358544.444 770558.333 -3690 358588.889 1087608.333 -3691 358613.889 979313.889 -3692 358655.556 846850.000 -3693 358655.556 1019727.778 -3694 358666.667 767488.889 -3695 358669.444 778294.444 -3696 358680.556 835619.444 -3697 358683.333 921175.000 -3698 358708.333 955222.222 -3699 358727.778 917538.889 -3700 358755.556 893961.111 -3701 358763.889 960608.333 -3702 358777.778 766155.556 -3703 358788.889 974250.000 -3704 358800.000 901669.444 -3705 358808.333 845086.111 -3706 358825.000 800822.222 -3707 358841.667 1192713.889 -3708 358894.444 775325.000 -3709 358905.556 903441.667 -3710 358922.222 828291.667 -3711 358922.222 904525.000 -3712 358938.889 805616.667 -3713 358966.667 775361.111 -3714 359000.000 905819.444 -3715 359027.778 802572.222 -3716 359080.556 756761.111 -3717 359088.889 926311.111 -3718 359091.667 848780.556 -3719 359100.000 790755.556 -3720 359127.778 1003816.667 -3721 359138.889 815391.667 -3722 359152.778 820647.222 -3723 359152.778 949697.222 -3724 359175.000 762525.000 -3725 359197.222 887588.889 -3726 359216.667 811766.667 -3727 359241.667 941883.333 -3728 359250.000 868688.889 -3729 359258.333 854641.667 -3730 359272.222 899188.889 -3731 359325.000 951411.111 -3732 359338.889 845525.000 -3733 359358.333 902577.778 -3734 359380.556 777908.333 -3735 359416.667 915483.333 -3736 359419.444 958830.556 -3737 359444.444 772100.000 -3738 359447.222 960650.000 -3739 359488.889 850269.444 -3740 359494.444 944233.333 -3741 359516.667 956505.556 -3742 359525.000 975944.444 -3743 359552.778 960086.111 -3744 359555.556 800055.556 -3745 359572.222 756244.444 -3746 359594.444 953691.667 -3747 359597.222 899719.444 -3748 359605.556 839208.333 -3749 359605.556 858141.667 -3750 359608.333 782538.889 -3751 359619.444 797625.000 -3752 359625.000 1190433.333 -3753 359669.444 831877.778 -3754 359686.111 1192908.333 -3755 359730.556 886780.556 -3756 359738.889 970333.333 -3757 359744.444 779658.333 -3758 359758.333 943175.000 -3759 359786.111 1148316.667 -3760 359797.222 785100.000 -3761 359805.556 889413.889 -3762 359813.889 979108.333 -3763 359819.444 841138.889 -3764 359850.000 967666.667 -3765 359883.333 966008.333 -3766 359911.111 1060800.000 -3767 359925.000 945677.778 -3768 359938.889 788988.889 -3769 359941.667 799355.556 -3770 359941.667 941750.000 -3771 359983.333 769463.889 -3772 359986.111 961138.889 -3773 360005.556 884280.556 -3774 360013.889 940080.556 -3775 360025.000 1059297.222 -3776 360041.667 1201280.556 -3777 360080.556 931863.889 -3778 360083.333 1199608.333 -3779 360102.778 842697.222 -3780 360111.111 778577.778 -3781 360113.889 886227.778 -3782 360152.778 834150.000 -3783 360155.556 865819.444 -3784 360166.667 1018241.667 -3785 360211.111 879669.444 -3786 360213.889 803822.222 -3787 360222.222 1069577.778 -3788 360227.778 959680.556 -3789 360316.667 840280.556 -3790 360344.444 893855.556 -3791 360358.333 894797.222 -3792 360363.889 788236.111 -3793 360380.556 882444.444 -3794 360380.556 882736.111 -3795 360397.222 1149811.111 -3796 360416.667 901138.889 -3797 360419.444 942469.444 -3798 360444.444 843444.444 -3799 360469.444 902927.778 -3800 360488.889 777494.444 -3801 360502.778 909750.000 -3802 360508.333 902386.111 -3803 360525.000 957905.556 -3804 360533.333 873125.000 -3805 360536.111 985880.556 -3806 360583.333 905000.000 -3807 360588.889 880977.778 -3808 360594.444 919083.333 -3809 360594.444 1025127.778 -3810 360594.444 1193111.111 -3811 360605.556 766094.444 -3812 360625.000 941572.222 -3813 360652.778 1190158.333 -3814 360666.667 889938.889 -3815 360688.889 794008.333 -3816 360719.444 841333.333 -3817 360725.000 797922.222 -3818 360752.778 791000.000 -3819 360763.889 888100.000 -3820 360769.444 873877.778 -3821 360775.000 860333.333 -3822 360838.889 877947.222 -3823 360838.889 898291.667 -3824 360844.444 965833.333 -3825 360861.111 937411.111 -3826 360872.222 819275.000 -3827 360913.889 793644.444 -3828 360944.444 1150411.111 -3829 360955.556 794380.556 -3830 360958.333 792672.222 -3831 360958.333 844425.000 -3832 360966.667 811825.000 -3833 360969.444 804194.444 -3834 360980.556 1195594.444 -3835 360988.889 783013.889 -3836 360997.222 802444.444 -3837 361005.556 870511.111 -3838 361016.667 784583.333 -3839 361019.444 871150.000 -3840 361027.778 795069.444 -3841 361033.333 841319.444 -3842 361038.889 835527.778 -3843 361047.222 845972.222 -3844 361052.778 777130.556 -3845 361055.556 795425.000 -3846 361072.222 796588.889 -3847 361075.000 832869.444 -3848 361075.000 872208.333 -3849 361077.778 876330.556 -3850 361083.333 910972.222 -3851 361091.667 978983.333 -3852 361127.778 892616.667 -3853 361130.556 794766.667 -3854 361141.667 966988.889 -3855 361155.556 970580.556 -3856 361161.111 983166.667 -3857 361169.444 867663.889 -3858 361194.444 921358.333 -3859 361197.222 800738.889 -3860 361219.444 794291.667 -3861 361222.222 786863.889 -3862 361222.222 834925.000 -3863 361275.000 889858.333 -3864 361294.444 774205.556 -3865 361305.556 824247.222 -3866 361319.444 787569.444 -3867 361325.000 885186.111 -3868 361341.667 901597.222 -3869 361344.444 806597.222 -3870 361350.000 816777.778 -3871 361350.000 1112391.667 -3872 361397.222 961086.111 -3873 361397.222 1203591.667 -3874 361450.000 824169.444 -3875 361455.556 1190597.222 -3876 361458.333 811608.333 -3877 361475.000 852683.333 -3878 361480.556 989238.889 -3879 361497.222 992977.778 -3880 361511.111 955091.667 -3881 361533.333 888005.556 -3882 361536.111 856436.111 -3883 361538.889 959925.000 -3884 361541.667 837041.667 -3885 361544.444 1095519.444 -3886 361572.222 819783.333 -3887 361583.333 811477.778 -3888 361627.778 855016.667 -3889 361630.556 818716.667 -3890 361630.556 828311.111 -3891 361661.111 948544.444 -3892 361713.889 811941.667 -3893 361725.000 859297.222 -3894 361750.000 1151363.889 -3895 361772.222 873397.222 -3896 361777.778 942333.333 -3897 361808.333 776669.444 -3898 361858.333 953427.778 -3899 361866.667 941286.111 -3900 361869.444 903830.556 -3901 361880.556 945402.778 -3902 361888.889 957455.556 -3903 361894.444 829586.111 -3904 361900.000 764663.889 -3905 361930.556 896555.556 -3906 361955.556 840680.556 -3907 361958.333 854486.111 -3908 361961.111 820705.556 -3909 361983.333 811530.556 -3910 361983.333 1011919.444 -3911 361988.889 1151166.667 -3912 362000.000 865186.111 -3913 362000.000 951675.000 -3914 362022.222 802811.111 -3915 362022.222 890122.222 -3916 362025.000 911744.444 -3917 362027.778 1201019.444 -3918 362030.556 891908.333 -3919 362030.556 1190872.222 -3920 362061.111 942341.667 -3921 362077.778 1193463.889 -3922 362086.111 799050.000 -3923 362127.778 1211250.000 -3924 362136.111 886125.000 -3925 362138.889 832950.000 -3926 362163.889 805127.778 -3927 362166.667 816747.222 -3928 362177.778 841547.222 -3929 362188.889 764641.667 -3930 362211.111 919291.667 -3931 362238.889 916083.333 -3932 362261.111 926847.222 -3933 362272.222 808336.111 -3934 362294.444 771144.444 -3935 362297.222 931075.000 -3936 362325.000 807083.333 -3937 362333.333 888244.444 -3938 362336.111 897494.444 -3939 362338.889 897694.444 -3940 362361.111 900555.556 -3941 362369.444 799797.222 -3942 362380.556 963163.889 -3943 362391.667 808447.222 -3944 362402.778 802936.111 -3945 362419.444 859519.444 -3946 362419.444 959755.556 -3947 362441.667 808486.111 -3948 362505.556 837975.000 -3949 362522.222 859516.667 -3950 362552.778 941305.556 -3951 362569.444 830861.111 -3952 362586.111 831952.778 -3953 362588.889 891916.667 -3954 362613.889 909711.111 -3955 362630.556 902925.000 -3956 362633.333 894877.778 -3957 362641.667 946927.778 -3958 362650.000 1014058.333 -3959 362675.000 944844.444 -3960 362688.889 984794.444 -3961 362694.444 958544.444 -3962 362711.111 925352.778 -3963 362738.889 772847.222 -3964 362741.667 870641.667 -3965 362758.333 998808.333 -3966 362788.889 925969.444 -3967 362802.778 978977.778 -3968 362805.556 803594.444 -3969 362808.333 835150.000 -3970 362830.556 924938.889 -3971 362841.667 821727.778 -3972 362866.667 769850.000 -3973 362894.444 972877.778 -3974 362913.889 887080.556 -3975 362927.778 951530.556 -3976 362941.667 824736.111 -3977 362952.778 801419.444 -3978 362961.111 1191411.111 -3979 362972.222 959911.111 -3980 362972.222 970077.778 -3981 362977.778 1192058.333 -3982 362988.889 842233.333 -3983 363008.333 1197819.444 -3984 363019.444 762236.111 -3985 363019.444 883266.667 -3986 363047.222 866200.000 -3987 363063.889 821933.333 -3988 363075.000 975861.111 -3989 363080.556 784069.444 -3990 363100.000 964638.889 -3991 363105.556 785911.111 -3992 363119.444 877733.333 -3993 363125.000 956158.333 -3994 363133.333 823536.111 -3995 363155.556 997572.222 -3996 363158.333 914825.000 -3997 363158.333 1197075.000 -3998 363183.333 876947.222 -3999 363200.000 906019.444 -4000 363208.333 1212427.778 -4001 363230.556 867133.333 -4002 363275.000 1196447.222 -4003 363294.444 783994.444 -4004 363300.000 841838.889 -4005 363302.778 1192911.111 -4006 363313.889 772130.556 -4007 363319.444 941183.333 -4008 363352.778 934358.333 -4009 363358.333 944605.556 -4010 363361.111 1020716.667 -4011 363377.778 968036.111 -4012 363386.111 891638.889 -4013 363416.667 783902.778 -4014 363433.333 888502.778 -4015 363486.111 822108.333 -4016 363511.111 1194191.667 -4017 363527.778 1096172.222 -4018 363547.222 796647.222 -4019 363555.556 856588.889 -4020 363586.111 1056088.889 -4021 363611.111 1045947.222 -4022 363627.778 907536.111 -4023 363644.444 958386.111 -4024 363647.222 935677.778 -4025 363683.333 960011.111 -4026 363722.222 822258.333 -4027 363727.778 942086.111 -4028 363783.333 894719.444 -4029 363808.333 848844.444 -4030 363827.778 841200.000 -4031 363827.778 901905.556 -4032 363833.333 853230.556 -4033 363838.889 925813.889 -4034 363852.778 799597.222 -4035 363863.889 804697.222 -4036 363872.222 1192169.444 -4037 363875.000 980894.444 -4038 363883.333 864466.667 -4039 363908.333 861672.222 -4040 363911.111 950463.889 -4041 363922.222 824116.667 -4042 363936.111 789830.556 -4043 363950.000 867794.444 -4044 363955.556 769322.222 -4045 363955.556 807227.778 -4046 363955.556 978780.556 -4047 363983.333 781555.556 -4048 363991.667 900236.111 -4049 364000.000 1008022.222 -4050 364011.111 937377.778 -4051 364036.111 814930.556 -4052 364038.889 793363.889 -4053 364052.778 984402.778 -4054 364072.222 830055.556 -4055 364072.222 1055725.000 -4056 364077.778 905797.222 -4057 364122.222 799672.222 -4058 364141.667 963950.000 -4059 364158.333 776033.333 -4060 364169.444 1092280.556 -4061 364180.556 826238.889 -4062 364197.222 824766.667 -4063 364202.778 814736.111 -4064 364211.111 947966.667 -4065 364219.444 944533.333 -4066 364241.667 890569.444 -4067 364247.222 1213252.778 -4068 364252.778 896994.444 -4069 364269.444 775958.333 -4070 364333.333 1196858.333 -4071 364336.111 993900.000 -4072 364338.889 1001411.111 -4073 364344.444 779122.222 -4074 364355.556 978686.111 -4075 364366.667 952711.111 -4076 364369.444 772291.667 -4077 364369.444 975852.778 -4078 364391.667 992044.444 -4079 364394.444 824558.333 -4080 364422.222 770988.889 -4081 364425.000 835997.222 -4082 364441.667 883344.444 -4083 364455.556 781986.111 -4084 364508.333 775591.667 -4085 364511.111 776797.222 -4086 364516.667 899669.444 -4087 364516.667 1031836.111 -4088 364519.444 899191.667 -4089 364533.333 1005369.444 -4090 364541.667 835694.444 -4091 364613.889 776544.444 -4092 364638.889 950475.000 -4093 364644.444 929200.000 -4094 364663.889 799072.222 -4095 364702.778 866513.889 -4096 364708.333 828519.444 -4097 364741.667 822611.111 -4098 364744.444 818050.000 -4099 364761.111 1194422.222 -4100 364777.778 825933.333 -4101 364797.222 1217313.889 -4102 364850.000 825033.333 -4103 364877.778 878383.333 -4104 364883.333 797669.444 -4105 364900.000 774416.667 -4106 364933.333 900750.000 -4107 364955.556 915405.556 -4108 364980.556 845127.778 -4109 364991.667 806075.000 -4110 365002.778 776452.778 -4111 365002.778 806266.667 -4112 365008.333 888752.778 -4113 365041.667 888741.667 -4114 365050.000 1017825.000 -4115 365052.778 811211.111 -4116 365066.667 1214433.333 -4117 365091.667 868850.000 -4118 365108.333 1049152.778 -4119 365138.889 1195530.556 -4120 365147.222 946111.111 -4121 365188.889 896125.000 -4122 365211.111 860263.889 -4123 365222.222 827136.111 -4124 365225.000 939394.444 -4125 365233.333 1192858.333 -4126 365244.444 915380.556 -4127 365288.889 974436.111 -4128 365297.222 832175.000 -4129 365297.222 873594.444 -4130 365302.778 959233.333 -4131 365330.556 823269.444 -4132 365333.333 858500.000 -4133 365355.556 954322.222 -4134 365427.778 1198322.222 -4135 365433.333 1144461.111 -4136 365433.333 1193861.111 -4137 365450.000 1192863.889 -4138 365455.556 944850.000 -4139 365461.111 963269.444 -4140 365461.111 982697.222 -4141 365483.333 824558.333 -4142 365483.333 825619.444 -4143 365486.111 866961.111 -4144 365500.000 855052.778 -4145 365555.556 824680.556 -4146 365569.444 899663.889 -4147 365619.444 862480.556 -4148 365619.444 961613.889 -4149 365680.556 896005.556 -4150 365708.333 1196111.111 -4151 365711.111 891861.111 -4152 365736.111 967038.889 -4153 365736.111 995719.444 -4154 365744.444 851288.889 -4155 365752.778 906038.889 -4156 365769.444 825677.778 -4157 365788.889 984619.444 -4158 365816.667 865163.889 -4159 365822.222 870655.556 -4160 365822.222 988794.444 -4161 365830.556 772002.778 -4162 365844.444 824894.444 -4163 365858.333 793952.778 -4164 365863.889 895277.778 -4165 365877.778 841269.444 -4166 365886.111 793663.889 -4167 365913.889 825736.111 -4168 365922.222 896152.778 -4169 365933.333 1218338.889 -4170 365936.111 947688.889 -4171 365944.444 943838.889 -4172 365950.000 821888.889 -4173 365952.778 1016361.111 -4174 365958.333 902472.222 -4175 365963.889 821886.111 -4176 365963.889 1194494.444 -4177 366002.778 1218936.111 -4178 366030.556 924280.556 -4179 366061.111 1180619.444 -4180 366066.667 1201880.556 -4181 366102.778 883147.222 -4182 366111.111 1218505.556 -4183 366116.667 1195261.111 -4184 366136.111 898163.889 -4185 366208.333 908233.333 -4186 366211.111 932152.778 -4187 366222.222 811511.111 -4188 366244.444 1193127.778 -4189 366283.333 799511.111 -4190 366305.556 1196775.000 -4191 366336.111 817838.889 -4192 366377.778 825811.111 -4193 366386.111 951538.889 -4194 366408.333 802658.333 -4195 366422.222 887388.889 -4196 366436.111 932183.333 -4197 366483.333 871663.889 -4198 366502.778 1197897.222 -4199 366505.556 944433.333 -4200 366508.333 844386.111 -4201 366591.667 1195927.778 -4202 366611.111 809241.667 -4203 366672.222 889933.333 -4204 366675.000 868519.444 -4205 366677.778 963369.444 -4206 366688.889 899686.111 -4207 366691.667 978008.333 -4208 366722.222 939408.333 -4209 366769.444 938686.111 -4210 366775.000 769227.778 -4211 366777.778 1216544.444 -4212 366783.333 973097.222 -4213 366827.778 1014811.111 -4214 366844.444 1218011.111 -4215 366850.000 931197.222 -4216 366858.333 775427.778 -4217 366888.889 831111.111 -4218 366905.556 975561.111 -4219 366908.333 851347.222 -4220 366913.889 798727.778 -4221 366936.111 949627.778 -4222 366941.667 913991.667 -4223 366986.111 789016.667 -4224 366988.889 844775.000 -4225 367000.000 781000.000 -4226 367000.000 799388.889 -4227 367005.556 956377.778 -4228 367022.222 856916.667 -4229 367038.889 1055944.444 -4230 367069.444 970852.778 -4231 367080.556 1195550.000 -4232 367097.222 819775.000 -4233 367097.222 998930.556 -4234 367105.556 1197575.000 -4235 367111.111 1079838.889 -4236 367133.333 788288.889 -4237 367150.000 799155.556 -4238 367161.111 770683.333 -4239 367161.111 809788.889 -4240 367222.222 865772.222 -4241 367233.333 844705.556 -4242 367236.111 1200588.889 -4243 367263.889 781291.667 -4244 367277.778 1102538.889 -4245 367280.556 765838.889 -4246 367280.556 918522.222 -4247 367280.556 1082180.556 -4248 367286.111 809991.667 -4249 367294.444 1025127.778 -4250 367341.667 1083591.667 -4251 367416.667 886366.667 -4252 367416.667 943988.889 -4253 367433.333 841597.222 -4254 367472.222 959805.556 -4255 367477.778 1197713.889 -4256 367511.111 948472.222 -4257 367533.333 861905.556 -4258 367536.111 1203805.556 -4259 367544.444 983563.889 -4260 367569.444 903927.778 -4261 367575.000 778472.222 -4262 367583.333 830272.222 -4263 367591.667 799905.556 -4264 367591.667 895866.667 -4265 367619.444 836950.000 -4266 367625.000 807350.000 -4267 367627.778 940558.333 -4268 367647.222 882952.778 -4269 367658.333 789286.111 -4270 367658.333 1217569.444 -4271 367758.333 873555.556 -4272 367786.111 956391.667 -4273 367797.222 893855.556 -4274 367819.444 966608.333 -4275 367855.556 1086863.889 -4276 367891.667 815822.222 -4277 367902.778 853705.556 -4278 367911.111 817713.889 -4279 367958.333 899577.778 -4280 367958.333 959352.778 -4281 367983.333 816825.000 -4282 367991.667 784586.111 -4283 368044.444 972825.000 -4284 368050.000 986661.111 -4285 368069.444 977333.333 -4286 368083.333 767444.444 -4287 368097.222 1022550.000 -4288 368100.000 871541.667 -4289 368125.000 898613.889 -4290 368141.667 774686.111 -4291 368161.111 1005194.444 -4292 368172.222 939205.556 -4293 368222.222 1079922.222 -4294 368252.778 1197019.444 -4295 368255.556 793983.333 -4296 368347.222 815150.000 -4297 368352.778 762986.111 -4298 368355.556 996300.000 -4299 368405.556 763105.556 -4300 368413.889 946108.333 -4301 368430.556 833219.444 -4302 368452.778 868872.222 -4303 368455.556 1215369.444 -4304 368466.667 762855.556 -4305 368472.222 896852.778 -4306 368486.111 832191.667 -4307 368519.444 833541.667 -4308 368525.000 1214005.556 -4309 368527.778 759783.333 -4310 368572.222 883502.778 -4311 368588.889 1204550.000 -4312 368600.000 1012130.556 -4313 368641.667 867102.778 -4314 368650.000 878352.778 -4315 368655.556 874886.111 -4316 368658.333 831905.556 -4317 368663.889 838888.889 -4318 368672.222 814236.111 -4319 368688.889 943677.778 -4320 368705.556 890097.222 -4321 368736.111 950955.556 -4322 368744.444 948772.222 -4323 368766.667 895877.778 -4324 368816.667 827472.222 -4325 368822.222 970530.556 -4326 368833.333 979216.667 -4327 368858.333 899291.667 -4328 368900.000 822797.222 -4329 368913.889 895383.333 -4330 368936.111 812761.111 -4331 368941.667 817769.444 -4332 368975.000 959258.333 -4333 369008.333 820802.778 -4334 369030.556 1065788.889 -4335 369033.333 1044386.111 -4336 369041.667 1217475.000 -4337 369052.778 935713.889 -4338 369066.667 827819.444 -4339 369069.444 1005388.889 -4340 369086.111 1114727.778 -4341 369094.444 894525.000 -4342 369102.778 1217558.333 -4343 369172.222 948794.444 -4344 369191.667 942550.000 -4345 369208.333 893505.556 -4346 369288.889 939275.000 -4347 369333.333 826291.667 -4348 369333.333 948727.778 -4349 369336.111 1069983.333 -4350 369352.778 1217719.444 -4351 369366.667 1218636.111 -4352 369438.889 824641.667 -4353 369444.444 940041.667 -4354 369455.556 1125258.333 -4355 369483.333 810850.000 -4356 369486.111 840969.444 -4357 369497.222 901583.333 -4358 369519.444 926602.778 -4359 369536.111 793591.667 -4360 369541.667 1010650.000 -4361 369544.444 947877.778 -4362 369605.556 840933.333 -4363 369608.333 1219630.556 -4364 369613.889 1200597.222 -4365 369619.444 781252.778 -4366 369638.889 937955.556 -4367 369647.222 829486.111 -4368 369647.222 890891.667 -4369 369661.111 829225.000 -4370 369683.333 1218991.667 -4371 369708.333 937177.778 -4372 369741.667 1220297.222 -4373 369752.778 1219522.222 -4374 369758.333 825758.333 -4375 369772.222 1218983.333 -4376 369780.556 829886.111 -4377 369783.333 822977.778 -4378 369786.111 764283.333 -4379 369800.000 856122.222 -4380 369847.222 850630.556 -4381 369861.111 1206255.556 -4382 369869.444 948305.556 -4383 369880.556 1219555.556 -4384 369888.889 846000.000 -4385 369902.778 864436.111 -4386 369911.111 914925.000 -4387 369922.222 919697.222 -4388 369927.778 786013.889 -4389 369944.444 956200.000 -4390 369947.222 782275.000 -4391 369952.778 917036.111 -4392 369952.778 943158.333 -4393 369955.556 910144.444 -4394 369958.333 859119.444 -4395 369975.000 798922.222 -4396 370011.111 930813.889 -4397 370030.556 936372.222 -4398 370052.778 891763.889 -4399 370058.333 1215672.222 -4400 370080.556 1018897.222 -4401 370097.222 913233.333 -4402 370113.889 959350.000 -4403 370161.111 819744.444 -4404 370172.222 984850.000 -4405 370175.000 885313.889 -4406 370208.333 932058.333 -4407 370236.111 898197.222 -4408 370297.222 763455.556 -4409 370302.778 934727.778 -4410 370322.222 976066.667 -4411 370333.333 883500.000 -4412 370358.333 770955.556 -4413 370369.444 944966.667 -4414 370372.222 950897.222 -4415 370372.222 956161.111 -4416 370402.778 784836.111 -4417 370405.556 944725.000 -4418 370430.556 1009205.556 -4419 370433.333 932941.667 -4420 370436.111 896102.778 -4421 370475.000 1125255.556 -4422 370477.778 807800.000 -4423 370477.778 874850.000 -4424 370500.000 789444.444 -4425 370511.111 1220136.111 -4426 370513.889 1220722.222 -4427 370516.667 890466.667 -4428 370525.000 862077.778 -4429 370561.111 850886.111 -4430 370563.889 786386.111 -4431 370583.333 1208488.889 -4432 370588.889 881325.000 -4433 370597.222 953591.667 -4434 370619.444 970380.556 -4435 370625.000 817519.444 -4436 370666.667 766766.667 -4437 370675.000 935519.444 -4438 370691.667 941163.889 -4439 370758.333 946394.444 -4440 370766.667 889736.111 -4441 370766.667 944591.667 -4442 370802.778 779975.000 -4443 370833.333 886000.000 -4444 370836.111 944133.333 -4445 370841.667 945130.556 -4446 370850.000 896552.778 -4447 370850.000 1216091.667 -4448 370852.778 891625.000 -4449 370869.444 818552.778 -4450 370891.667 1220852.778 -4451 370919.444 846041.667 -4452 370925.000 792966.667 -4453 370930.556 817938.889 -4454 370938.889 860463.889 -4455 370944.444 880802.778 -4456 371027.778 853063.889 -4457 371036.111 938183.333 -4458 371041.667 965000.000 -4459 371041.667 1135833.333 -4460 371044.444 899105.556 -4461 371055.556 806855.556 -4462 371066.667 925805.556 -4463 371091.667 878819.444 -4464 371116.667 792858.333 -4465 371141.667 891977.778 -4466 371147.222 815197.222 -4467 371150.000 1076325.000 -4468 371155.556 933700.000 -4469 371169.444 930555.556 -4470 371183.333 828269.444 -4471 371200.000 934800.000 -4472 371222.222 763461.111 -4473 371230.556 1202591.667 -4474 371236.111 826013.889 -4475 371236.111 886302.778 -4476 371238.889 921011.111 -4477 371261.111 1221211.111 -4478 371266.667 961866.667 -4479 371288.889 840833.333 -4480 371297.222 804091.667 -4481 371305.556 922633.333 -4482 371305.556 1135075.000 -4483 371305.556 1216533.333 -4484 371330.556 1136533.333 -4485 371366.667 859569.444 -4486 371388.889 884033.333 -4487 371425.000 945105.556 -4488 371463.889 927686.111 -4489 371463.889 944627.778 -4490 371491.667 944427.778 -4491 371500.000 824561.111 -4492 371505.556 913575.000 -4493 371511.111 887319.444 -4494 371533.333 980308.333 -4495 371536.111 837619.444 -4496 371544.444 906955.556 -4497 371575.000 929405.556 -4498 371658.333 872475.000 -4499 371672.222 876925.000 -4500 371675.000 951097.222 -4501 371686.111 1136786.111 -4502 371691.667 948438.889 -4503 371694.444 1045000.000 -4504 371730.556 781236.111 -4505 371733.333 826311.111 -4506 371741.667 1059369.444 -4507 371752.778 1013491.667 -4508 371752.778 1132891.667 -4509 371763.889 943100.000 -4510 371766.667 945652.778 -4511 371769.444 846358.333 -4512 371791.667 916566.667 -4513 371794.444 859069.444 -4514 371800.000 896550.000 -4515 371836.111 873836.111 -4516 371875.000 782016.667 -4517 371883.333 944700.000 -4518 371886.111 997652.778 -4519 371902.778 952969.444 -4520 371908.333 874527.778 -4521 371966.667 897361.111 -4522 372008.333 1054233.333 -4523 372011.111 871788.889 -4524 372011.111 1132688.889 -4525 372013.889 994836.111 -4526 372063.889 888447.222 -4527 372075.000 826719.444 -4528 372080.556 880566.667 -4529 372147.222 938397.222 -4530 372152.778 932980.556 -4531 372166.667 895244.444 -4532 372175.000 870488.889 -4533 372197.222 895088.889 -4534 372241.667 957080.556 -4535 372255.556 866836.111 -4536 372255.556 1075975.000 -4537 372266.667 1219736.111 -4538 372275.000 800130.556 -4539 372277.778 774022.222 -4540 372302.778 774777.778 -4541 372322.222 820991.667 -4542 372350.000 892700.000 -4543 372363.889 1219913.889 -4544 372366.667 874752.778 -4545 372369.444 871591.667 -4546 372397.222 969952.778 -4547 372400.000 774302.778 -4548 372413.889 982263.889 -4549 372416.667 909686.111 -4550 372422.222 784600.000 -4551 372494.444 831933.333 -4552 372508.333 925102.778 -4553 372525.000 812713.889 -4554 372538.889 764972.222 -4555 372577.778 1209977.778 -4556 372583.333 1059041.667 -4557 372608.333 854988.889 -4558 372638.889 1220219.444 -4559 372652.778 973713.889 -4560 372658.333 977652.778 -4561 372677.778 760177.778 -4562 372683.333 931169.444 -4563 372688.889 993263.889 -4564 372694.444 1070091.667 -4565 372697.222 812225.000 -4566 372702.778 955522.222 -4567 372705.556 767077.778 -4568 372708.333 799416.667 -4569 372722.222 858911.111 -4570 372741.667 875119.444 -4571 372741.667 971686.111 -4572 372750.000 1059597.222 -4573 372752.778 1078794.444 -4574 372769.444 891833.333 -4575 372775.000 948247.222 -4576 372777.778 820991.667 -4577 372808.333 798972.222 -4578 372811.111 985800.000 -4579 372855.556 1003397.222 -4580 372866.667 980255.556 -4581 372872.222 1219488.889 -4582 372894.444 759716.667 -4583 372908.333 1203175.000 -4584 372936.111 889752.778 -4585 372938.889 871233.333 -4586 372991.667 862286.111 -4587 373002.778 899811.111 -4588 373011.111 816911.111 -4589 373019.444 783922.222 -4590 373022.222 1204819.444 -4591 373038.889 823511.111 -4592 373050.000 934283.333 -4593 373058.333 895180.556 -4594 373058.333 899702.778 -4595 373100.000 947716.667 -4596 373125.000 812600.000 -4597 373127.778 967538.889 -4598 373138.889 1210197.222 -4599 373152.778 935850.000 -4600 373194.444 806391.667 -4601 373205.556 792577.778 -4602 373230.556 1220311.111 -4603 373250.000 813119.444 -4604 373261.111 919558.333 -4605 373263.889 807352.778 -4606 373280.556 874988.889 -4607 373280.556 1196483.333 -4608 373313.889 808113.889 -4609 373325.000 827211.111 -4610 373327.778 880811.111 -4611 373338.889 869961.111 -4612 373341.667 795233.333 -4613 373352.778 1218938.889 -4614 373358.333 814366.667 -4615 373358.333 829805.556 -4616 373361.111 943011.111 -4617 373386.111 929069.444 -4618 373402.778 952608.333 -4619 373411.111 799433.333 -4620 373433.333 853419.444 -4621 373441.667 867547.222 -4622 373450.000 1082886.111 -4623 373458.333 948086.111 -4624 373475.000 1212675.000 -4625 373488.889 1085852.778 -4626 373538.889 812527.778 -4627 373566.667 774419.444 -4628 373569.444 788255.556 -4629 373602.778 963036.111 -4630 373611.111 891658.333 -4631 373636.111 815502.778 -4632 373636.111 1183941.667 -4633 373661.111 811027.778 -4634 373661.111 1218261.111 -4635 373672.222 884863.889 -4636 373688.889 1220352.778 -4637 373783.333 798072.222 -4638 373797.222 1221363.889 -4639 373819.444 869225.000 -4640 373822.222 808227.778 -4641 373822.222 896661.111 -4642 373838.889 931511.111 -4643 373841.667 1222341.667 -4644 373855.556 939530.556 -4645 373855.556 1001952.778 -4646 373861.111 1022777.778 -4647 373869.444 1207225.000 -4648 373875.000 971138.889 -4649 373894.444 1206122.222 -4650 373902.778 976419.444 -4651 373930.556 940936.111 -4652 373938.889 972808.333 -4653 373972.222 807994.444 -4654 374019.444 868758.333 -4655 374027.778 1046527.778 -4656 374041.667 844138.889 -4657 374083.333 1026138.889 -4658 374108.333 947047.222 -4659 374111.111 935494.444 -4660 374136.111 791425.000 -4661 374152.778 888977.778 -4662 374152.778 938408.333 -4663 374158.333 872655.556 -4664 374183.333 956800.000 -4665 374200.000 812433.333 -4666 374208.333 814402.778 -4667 374216.667 774377.778 -4668 374222.222 810163.889 -4669 374236.111 883461.111 -4670 374241.667 864883.333 -4671 374255.556 815069.444 -4672 374283.333 1219055.556 -4673 374300.000 1222527.778 -4674 374302.778 839980.556 -4675 374308.333 791233.333 -4676 374322.222 1207775.000 -4677 374327.778 815847.222 -4678 374372.222 1019716.667 -4679 374419.444 1221419.444 -4680 374433.333 1000147.222 -4681 374450.000 828052.778 -4682 374450.000 871438.889 -4683 374511.111 869091.667 -4684 374516.667 892680.556 -4685 374538.889 1221811.111 -4686 374555.556 912094.444 -4687 374555.556 946888.889 -4688 374602.778 892469.444 -4689 374613.889 1221966.667 -4690 374636.111 1224275.000 -4691 374644.444 818138.889 -4692 374644.444 845066.667 -4693 374650.000 858933.333 -4694 374688.889 1221400.000 -4695 374694.444 1058694.444 -4696 374702.778 962633.333 -4697 374716.667 1211286.111 -4698 374738.889 1085038.889 -4699 374744.444 972436.111 -4700 374747.222 758586.111 -4701 374766.667 878200.000 -4702 374783.333 816536.111 -4703 374791.667 825188.889 -4704 374800.000 862938.889 -4705 374816.667 1008433.333 -4706 374850.000 1199652.778 -4707 374861.111 1222333.333 -4708 374930.556 871319.444 -4709 374930.556 954700.000 -4710 374947.222 1208455.556 -4711 374950.000 942763.889 -4712 374952.778 862213.889 -4713 374994.444 918569.444 -4714 375019.444 928208.333 -4715 375027.778 975041.667 -4716 375027.778 1224683.333 -4717 375050.000 1050072.222 -4718 375111.111 948377.778 -4719 375177.778 876902.778 -4720 375202.778 1222747.222 -4721 375238.889 956611.111 -4722 375263.889 1207958.333 -4723 375272.222 796800.000 -4724 375275.000 1225122.222 -4725 375297.222 1220391.667 -4726 375311.111 846619.444 -4727 375313.889 767966.667 -4728 375313.889 892533.333 -4729 375316.667 758233.333 -4730 375338.889 958263.889 -4731 375388.889 872583.333 -4732 375422.222 1225150.000 -4733 375427.778 784575.000 -4734 375438.889 947000.000 -4735 375455.556 972686.111 -4736 375458.333 773280.556 -4737 375466.667 879838.889 -4738 375472.222 996338.889 -4739 375536.111 774605.556 -4740 375544.444 889722.222 -4741 375547.222 763372.222 -4742 375569.444 946216.667 -4743 375580.556 945197.222 -4744 375583.333 971347.222 -4745 375586.111 1222700.000 -4746 375597.222 902938.889 -4747 375630.556 1223244.444 -4748 375658.333 973538.889 -4749 375686.111 842963.889 -4750 375697.222 852527.778 -4751 375716.667 837069.444 -4752 375727.778 827527.778 -4753 375738.889 857400.000 -4754 375741.667 1223783.333 -4755 375791.667 1061475.000 -4756 375808.333 774072.222 -4757 375813.889 1013547.222 -4758 375830.556 813805.556 -4759 375830.556 815372.222 -4760 375841.667 1223650.000 -4761 375850.000 790516.667 -4762 375866.667 847938.889 -4763 375880.556 906288.889 -4764 375900.000 775566.667 -4765 375913.889 805438.889 -4766 375950.000 1209566.667 -4767 375958.333 816361.111 -4768 375958.333 1004427.778 -4769 375969.444 1208650.000 -4770 375972.222 906272.222 -4771 375986.111 1223861.111 -4772 376027.778 992922.222 -4773 376036.111 774916.667 -4774 376069.444 875286.111 -4775 376075.000 774772.222 -4776 376133.333 779050.000 -4777 376141.667 818666.667 -4778 376144.444 934102.778 -4779 376150.000 1145111.111 -4780 376194.444 845780.556 -4781 376194.444 888366.667 -4782 376194.444 991061.111 -4783 376211.111 906402.778 -4784 376219.444 821633.333 -4785 376241.667 1047797.222 -4786 376241.667 1094775.000 -4787 376263.889 894977.778 -4788 376300.000 977822.222 -4789 376305.556 1224100.000 -4790 376338.889 794505.556 -4791 376352.778 854008.333 -4792 376361.111 867175.000 -4793 376375.000 765747.222 -4794 376413.889 1207594.444 -4795 376438.889 930922.222 -4796 376438.889 984308.333 -4797 376438.889 987372.222 -4798 376452.778 836488.889 -4799 376455.556 847722.222 -4800 376455.556 915358.333 -4801 376458.333 981133.333 -4802 376486.111 1189711.111 -4803 376547.222 1224066.667 -4804 376577.778 855911.111 -4805 376583.333 976833.333 -4806 376597.222 975750.000 -4807 376613.889 764194.444 -4808 376625.000 1218736.111 -4809 376655.556 827716.667 -4810 376658.333 775066.667 -4811 376719.444 822841.667 -4812 376738.889 808894.444 -4813 376741.667 822775.000 -4814 376775.000 1130611.111 -4815 376788.889 812105.556 -4816 376788.889 1063527.778 -4817 376791.667 954569.444 -4818 376805.556 926636.111 -4819 376808.333 1223988.889 -4820 376811.111 1221233.333 -4821 376819.444 1217669.444 -4822 376830.556 868713.889 -4823 376833.333 879166.667 -4824 376844.444 839530.556 -4825 376852.778 852222.222 -4826 376866.667 979763.889 -4827 376880.556 972633.333 -4828 376902.778 967819.444 -4829 376908.333 757163.889 -4830 376919.444 816241.667 -4831 376922.222 973372.222 -4832 376938.889 858591.667 -4833 376941.667 1220852.778 -4834 376947.222 1221127.778 -4835 376988.889 937958.333 -4836 377005.556 839738.889 -4837 377022.222 1219347.222 -4838 377033.333 822811.111 -4839 377075.000 812508.333 -4840 377102.778 763800.000 -4841 377105.556 821841.667 -4842 377116.667 757494.444 -4843 377130.556 881866.667 -4844 377138.889 971361.111 -4845 377152.778 911350.000 -4846 377194.444 756658.333 -4847 377202.778 1225258.333 -4848 377241.667 898611.111 -4849 377250.000 1221550.000 -4850 377258.333 806422.222 -4851 377272.222 892166.667 -4852 377305.556 818380.556 -4853 377305.556 889330.556 -4854 377338.889 883433.333 -4855 377341.667 793541.667 -4856 377347.222 812997.222 -4857 377361.111 1209344.444 -4858 377383.333 885405.556 -4859 377397.222 818777.778 -4860 377397.222 1214241.667 -4861 377405.556 812308.333 -4862 377416.667 1211233.333 -4863 377430.556 811230.556 -4864 377433.333 877038.889 -4865 377477.778 842947.222 -4866 377497.222 804630.556 -4867 377519.444 890677.778 -4868 377525.000 830688.889 -4869 377527.778 1000166.667 -4870 377530.556 1061080.556 -4871 377533.333 847666.667 -4872 377583.333 812127.778 -4873 377588.889 774802.778 -4874 377600.000 890772.222 -4875 377622.222 848433.333 -4876 377644.444 893350.000 -4877 377661.111 1089052.778 -4878 377666.667 1208461.111 -4879 377691.667 906247.222 -4880 377702.778 1116013.889 -4881 377708.333 812086.111 -4882 377733.333 1130236.111 -4883 377738.889 890263.889 -4884 377741.667 871133.333 -4885 377750.000 1224183.333 -4886 377752.778 879305.556 -4887 377780.556 811883.333 -4888 377791.667 964669.444 -4889 377791.667 975361.111 -4890 377800.000 864605.556 -4891 377800.000 980194.444 -4892 377800.000 1219769.444 -4893 377805.556 804572.222 -4894 377808.333 904216.667 -4895 377813.889 891191.667 -4896 377819.444 756538.889 -4897 377830.556 812661.111 -4898 377838.889 794430.556 -4899 377888.889 971083.333 -4900 377905.556 976291.667 -4901 377930.556 819877.778 -4902 377933.333 799941.667 -4903 377944.444 935777.778 -4904 377963.889 802977.778 -4905 377975.000 797913.889 -4906 377975.000 969994.444 -4907 377975.000 1209955.556 -4908 377975.000 1212150.000 -4909 377991.667 882611.111 -4910 378000.000 973180.556 -4911 378016.667 804458.333 -4912 378030.556 890275.000 -4913 378044.444 1222697.222 -4914 378066.667 1003477.778 -4915 378091.667 854669.444 -4916 378100.000 859813.889 -4917 378105.556 954366.667 -4918 378119.444 1076638.889 -4919 378133.333 820247.222 -4920 378136.111 884380.556 -4921 378144.444 828072.222 -4922 378158.333 811525.000 -4923 378161.111 798247.222 -4924 378172.222 968619.444 -4925 378175.000 892277.778 -4926 378205.556 889275.000 -4927 378216.667 1219988.889 -4928 378227.778 1124350.000 -4929 378227.778 1212755.556 -4930 378238.889 962888.889 -4931 378241.667 820597.222 -4932 378244.444 1222305.556 -4933 378261.111 759919.444 -4934 378286.111 922005.556 -4935 378313.889 1222841.667 -4936 378330.556 891427.778 -4937 378333.333 866327.778 -4938 378344.444 857319.444 -4939 378347.222 973730.556 -4940 378361.111 811350.000 -4941 378361.111 875900.000 -4942 378363.889 812019.444 -4943 378366.667 905327.778 -4944 378391.667 943544.444 -4945 378397.222 947080.556 -4946 378402.778 859491.667 -4947 378405.556 886091.667 -4948 378422.222 1128272.222 -4949 378436.111 824094.444 -4950 378455.556 838583.333 -4951 378486.111 819936.111 -4952 378491.667 1069258.333 -4953 378500.000 997563.889 -4954 378502.778 904986.111 -4955 378502.778 1220311.111 -4956 378511.111 905205.556 -4957 378566.667 924050.000 -4958 378588.889 808544.444 -4959 378591.667 839186.111 -4960 378591.667 1224841.667 -4961 378619.444 846616.667 -4962 378666.667 819866.667 -4963 378672.222 905930.556 -4964 378686.111 976647.222 -4965 378713.889 1093422.222 -4966 378716.667 1222716.667 -4967 378727.778 905277.778 -4968 378736.111 1224555.556 -4969 378769.444 891144.444 -4970 378772.222 1221786.111 -4971 378802.778 862838.889 -4972 378805.556 845730.556 -4973 378811.111 957330.556 -4974 378830.556 870494.444 -4975 378858.333 1221169.444 -4976 378869.444 1222966.667 -4977 378883.333 894947.222 -4978 378966.667 981783.333 -4979 378977.778 889313.889 -4980 378988.889 977825.000 -4981 378994.444 890519.444 -4982 379000.000 867550.000 -4983 379061.111 1225438.889 -4984 379063.889 1220638.889 -4985 379086.111 881291.667 -4986 379094.444 1226852.778 -4987 379100.000 892358.333 -4988 379102.778 853166.667 -4989 379105.556 1222791.667 -4990 379113.889 867444.444 -4991 379136.111 898219.444 -4992 379141.667 919025.000 -4993 379161.111 951700.000 -4994 379166.667 974222.222 -4995 379169.444 952988.889 -4996 379175.000 887622.222 -4997 379213.889 832597.222 -4998 379230.556 905552.778 -4999 379230.556 994094.444 -5000 379236.111 953458.333 -5001 379244.444 953997.222 -5002 379252.778 768594.444 -5003 379255.556 1225263.889 -5004 379330.556 753791.667 -5005 379358.333 1223466.667 -5006 379361.111 992522.222 -5007 379363.889 907877.778 -5008 379369.444 859916.667 -5009 379369.444 869022.222 -5010 379375.000 1078116.667 -5011 379388.889 970194.444 -5012 379402.778 918808.333 -5013 379405.556 1012544.444 -5014 379444.444 874052.778 -5015 379480.556 1220597.222 -5016 379488.889 922636.111 -5017 379508.333 836258.333 -5018 379513.889 867677.778 -5019 379513.889 917711.111 -5020 379533.333 1204216.667 -5021 379577.778 1212897.222 -5022 379586.111 767583.333 -5023 379622.222 986002.778 -5024 379622.222 1223444.444 -5025 379630.556 806897.222 -5026 379647.222 971472.222 -5027 379680.556 913547.222 -5028 379686.111 807672.222 -5029 379716.667 1008722.222 -5030 379725.000 890533.333 -5031 379736.111 820175.000 -5032 379736.111 838419.444 -5033 379736.111 1216944.444 -5034 379736.111 1225300.000 -5035 379747.222 758341.667 -5036 379747.222 815291.667 -5037 379747.222 875558.333 -5038 379747.222 1225605.556 -5039 379772.222 1222941.667 -5040 379780.556 1220300.000 -5041 379797.222 1011327.778 -5042 379805.556 1017522.222 -5043 379811.111 883291.667 -5044 379830.556 890161.111 -5045 379833.333 758541.667 -5046 379838.889 895894.444 -5047 379841.667 1203811.111 -5048 379850.000 1035433.333 -5049 379861.111 1009888.889 -5050 379872.222 1225877.778 -5051 379883.333 857158.333 -5052 379900.000 841797.222 -5053 379916.667 920936.111 -5054 379941.667 838877.778 -5055 379952.778 867977.778 -5056 379966.667 889200.000 -5057 379969.444 1035313.889 -5058 379975.000 1217113.889 -5059 379977.778 1202688.889 -5060 379988.889 861694.444 -5061 379994.444 859436.111 -5062 380013.889 975083.333 -5063 380044.444 1222977.778 -5064 380050.000 1218047.222 -5065 380072.222 896583.333 -5066 380080.556 927444.444 -5067 380127.778 1226441.667 -5068 380144.444 1036277.778 -5069 380147.222 870363.889 -5070 380150.000 1216394.444 -5071 380152.778 890425.000 -5072 380163.889 896186.111 -5073 380172.222 1222875.000 -5074 380227.778 1076708.333 -5075 380238.889 976694.444 -5076 380250.000 780044.444 -5077 380269.444 1219361.111 -5078 380280.556 979400.000 -5079 380280.556 1218836.111 -5080 380291.667 784769.444 -5081 380300.000 790338.889 -5082 380316.667 853425.000 -5083 380330.556 1222658.333 -5084 380372.222 848966.667 -5085 380397.222 1202316.667 -5086 380466.667 937041.667 -5087 380466.667 973447.222 -5088 380491.667 872741.667 -5089 380494.444 773469.444 -5090 380494.444 1221575.000 -5091 380500.000 855458.333 -5092 380522.222 1021222.222 -5093 380525.000 847300.000 -5094 380527.778 811041.667 -5095 380563.889 839433.333 -5096 380608.333 979294.444 -5097 380627.778 914033.333 -5098 380633.333 785027.778 -5099 380638.889 1023100.000 -5100 380666.667 1032222.222 -5101 380669.444 818194.444 -5102 380672.222 1172291.667 -5103 380683.333 788897.222 -5104 380694.444 787008.333 -5105 380722.222 973452.778 -5106 380755.556 755683.333 -5107 380786.111 793833.333 -5108 380802.778 893819.444 -5109 380808.333 818341.667 -5110 380830.556 900958.333 -5111 380838.889 956341.667 -5112 380844.444 998930.556 -5113 380863.889 831263.889 -5114 380872.222 1026202.778 -5115 380875.000 1060944.444 -5116 380902.778 899383.333 -5117 380902.778 922925.000 -5118 380908.333 881586.111 -5119 380916.667 890502.778 -5120 380933.333 885355.556 -5121 380988.889 813241.667 -5122 380991.667 875788.889 -5123 380994.444 883375.000 -5124 381041.667 1222555.556 -5125 381050.000 857588.889 -5126 381075.000 1225686.111 -5127 381088.889 788577.778 -5128 381111.111 858702.778 -5129 381141.667 826033.333 -5130 381161.111 825958.333 -5131 381169.444 784419.444 -5132 381200.000 869141.667 -5133 381230.556 897016.667 -5134 381236.111 857197.222 -5135 381291.667 1040227.778 -5136 381297.222 879350.000 -5137 381302.778 1212713.889 -5138 381344.444 977697.222 -5139 381355.556 961355.556 -5140 381361.111 810997.222 -5141 381372.222 781880.556 -5142 381375.000 1204586.111 -5143 381377.778 892300.000 -5144 381383.333 974311.111 -5145 381400.000 937266.667 -5146 381411.111 856877.778 -5147 381427.778 948133.333 -5148 381450.000 841113.889 -5149 381472.222 980833.333 -5150 381494.444 790719.444 -5151 381502.778 926177.778 -5152 381505.556 812875.000 -5153 381522.222 1212422.222 -5154 381541.667 1213002.778 -5155 381547.222 912438.889 -5156 381558.333 1216902.778 -5157 381597.222 855877.778 -5158 381597.222 874483.333 -5159 381600.000 856597.222 -5160 381616.667 880652.778 -5161 381619.444 834288.889 -5162 381619.444 1216105.556 -5163 381636.111 1211488.889 -5164 381683.333 811950.000 -5165 381688.889 869900.000 -5166 381694.444 971063.889 -5167 381700.000 877830.556 -5168 381769.444 753930.556 -5169 381777.778 947111.111 -5170 381783.333 857097.222 -5171 381802.778 813286.111 -5172 381805.556 990983.333 -5173 381811.111 813072.222 -5174 381863.889 896055.556 -5175 381866.667 919469.444 -5176 381869.444 813655.556 -5177 381875.000 877102.778 -5178 381905.556 940291.667 -5179 381941.667 855644.444 -5180 381944.444 957425.000 -5181 381950.000 856519.444 -5182 381961.111 872966.667 -5183 381961.111 1206794.444 -5184 381969.444 856633.333 -5185 381980.556 886844.444 -5186 382000.000 858227.778 -5187 382008.333 848733.333 -5188 382019.444 790086.111 -5189 382027.778 756927.778 -5190 382030.556 975188.889 -5191 382038.889 857252.778 -5192 382050.000 875741.667 -5193 382080.556 911602.778 -5194 382097.222 842530.556 -5195 382100.000 813841.667 -5196 382100.000 982066.667 -5197 382116.667 899941.667 -5198 382119.444 852236.111 -5199 382119.444 861219.444 -5200 382119.444 896825.000 -5201 382125.000 857402.778 -5202 382141.667 856138.889 -5203 382141.667 1129227.778 -5204 382152.778 814247.222 -5205 382180.556 814430.556 -5206 382180.556 1037555.556 -5207 382183.333 1085680.556 -5208 382205.556 903958.333 -5209 382211.111 903788.889 -5210 382213.889 824425.000 -5211 382225.000 853552.778 -5212 382233.333 800947.222 -5213 382238.889 868622.222 -5214 382247.222 805333.333 -5215 382288.889 856775.000 -5216 382319.444 815377.778 -5217 382319.444 977730.556 -5218 382322.222 905627.778 -5219 382325.000 1226355.556 -5220 382369.444 859858.333 -5221 382383.333 1220391.667 -5222 382402.778 855241.667 -5223 382430.556 933816.667 -5224 382444.444 969277.778 -5225 382452.778 781111.111 -5226 382452.778 815672.222 -5227 382455.556 870361.111 -5228 382494.444 1220388.889 -5229 382500.000 897500.000 -5230 382511.111 875811.111 -5231 382522.222 855922.222 -5232 382541.667 857594.444 -5233 382544.444 769638.889 -5234 382544.444 1046086.111 -5235 382547.222 856313.889 -5236 382547.222 1212988.889 -5237 382566.667 856016.667 -5238 382575.000 879936.111 -5239 382586.111 943302.778 -5240 382613.889 856291.667 -5241 382666.667 764541.667 -5242 382666.667 855330.556 -5243 382672.222 788261.111 -5244 382677.778 856716.667 -5245 382683.333 903800.000 -5246 382694.444 1085472.222 -5247 382716.667 846863.889 -5248 382719.444 876877.778 -5249 382722.222 855836.111 -5250 382730.556 856230.556 -5251 382738.889 856344.444 -5252 382750.000 856150.000 -5253 382769.444 1126402.778 -5254 382786.111 821030.556 -5255 382794.444 856500.000 -5256 382805.556 952416.667 -5257 382811.111 808527.778 -5258 382825.000 855744.444 -5259 382833.333 855911.111 -5260 382833.333 903950.000 -5261 382855.556 821958.333 -5262 382855.556 858241.667 -5263 382858.333 917202.778 -5264 382911.111 766361.111 -5265 382919.444 1224569.444 -5266 382944.444 903158.333 -5267 382972.222 856033.333 -5268 382972.222 1222844.444 -5269 382977.778 1224905.556 -5270 382988.889 869550.000 -5271 383000.000 831741.667 -5272 383002.778 765077.778 -5273 383016.667 916327.778 -5274 383019.444 841475.000 -5275 383027.778 855961.111 -5276 383050.000 899941.667 -5277 383055.556 856963.889 -5278 383083.333 959555.556 -5279 383105.556 854875.000 -5280 383119.444 840275.000 -5281 383138.889 1224808.333 -5282 383150.000 919225.000 -5283 383166.667 866958.333 -5284 383172.222 889030.556 -5285 383175.000 815211.111 -5286 383219.444 756205.556 -5287 383225.000 752180.556 -5288 383238.889 774686.111 -5289 383238.889 1218211.111 -5290 383263.889 898769.444 -5291 383269.444 1227061.111 -5292 383294.444 891908.333 -5293 383305.556 806533.333 -5294 383308.333 887258.333 -5295 383322.222 874452.778 -5296 383325.000 829486.111 -5297 383336.111 856536.111 -5298 383344.444 864641.667 -5299 383358.333 901497.222 -5300 383363.889 750852.778 -5301 383386.111 873450.000 -5302 383397.222 1227000.000 -5303 383422.222 862761.111 -5304 383436.111 893805.556 -5305 383450.000 856155.556 -5306 383450.000 982013.889 -5307 383452.778 885877.778 -5308 383455.556 915013.889 -5309 383483.333 925813.889 -5310 383483.333 970169.444 -5311 383488.889 1207730.556 -5312 383497.222 816327.778 -5313 383500.000 947611.111 -5314 383516.667 859416.667 -5315 383519.444 972041.667 -5316 383527.778 1209316.667 -5317 383550.000 983491.667 -5318 383552.778 875675.000 -5319 383555.556 985805.556 -5320 383566.667 1219866.667 -5321 383605.556 755997.222 -5322 383605.556 817375.000 -5323 383641.667 1225230.556 -5324 383644.444 987644.444 -5325 383683.333 816997.222 -5326 383700.000 851805.556 -5327 383708.333 976638.889 -5328 383722.222 965425.000 -5329 383755.556 863447.222 -5330 383775.000 880561.111 -5331 383819.444 789769.444 -5332 383819.444 975372.222 -5333 383822.222 872127.778 -5334 383861.111 974277.778 -5335 383902.778 842941.667 -5336 383902.778 1051180.556 -5337 383908.333 933344.444 -5338 383911.111 753488.889 -5339 383913.889 869311.111 -5340 383930.556 1208013.889 -5341 383938.889 956027.778 -5342 383952.778 754133.333 -5343 383963.889 825588.889 -5344 383969.444 1130100.000 -5345 383975.000 943513.889 -5346 383980.556 857550.000 -5347 383980.556 980116.667 -5348 383988.889 825783.333 -5349 383997.222 913305.556 -5350 384000.000 1052166.667 -5351 384016.667 1223597.222 -5352 384027.778 942536.111 -5353 384038.889 961813.889 -5354 384047.222 826005.556 -5355 384069.444 875855.556 -5356 384075.000 853788.889 -5357 384077.778 786238.889 -5358 384077.778 861100.000 -5359 384086.111 899919.444 -5360 384088.889 1213705.556 -5361 384094.444 805580.556 -5362 384094.444 822947.222 -5363 384108.333 877613.889 -5364 384147.222 789388.889 -5365 384147.222 818441.667 -5366 384166.667 958527.778 -5367 384177.778 825863.889 -5368 384191.667 824452.778 -5369 384200.000 756880.556 -5370 384200.000 820555.556 -5371 384222.222 837338.889 -5372 384275.000 899136.111 -5373 384277.778 824572.222 -5374 384291.667 1052194.444 -5375 384313.889 928408.333 -5376 384325.000 820202.778 -5377 384327.778 903775.000 -5378 384333.333 851697.222 -5379 384341.667 895502.778 -5380 384344.444 821325.000 -5381 384363.889 1228686.111 -5382 384369.444 823772.222 -5383 384391.667 891627.778 -5384 384405.556 1227133.333 -5385 384408.333 929916.667 -5386 384416.667 892741.667 -5387 384427.778 814805.556 -5388 384436.111 902011.111 -5389 384455.556 910055.556 -5390 384494.444 788691.667 -5391 384527.778 999061.111 -5392 384530.556 856702.778 -5393 384558.333 755777.778 -5394 384563.889 755775.000 -5395 384597.222 940005.556 -5396 384600.000 932025.000 -5397 384602.778 752211.111 -5398 384602.778 810852.778 -5399 384613.889 900916.667 -5400 384655.556 1230077.778 -5401 384697.222 1017522.222 -5402 384722.222 818144.444 -5403 384730.556 779969.444 -5404 384783.333 826380.556 -5405 384783.333 1078755.556 -5406 384794.444 946083.333 -5407 384797.222 1013583.333 -5408 384805.556 1027813.889 -5409 384808.333 767783.333 -5410 384816.667 943541.667 -5411 384819.444 907413.889 -5412 384819.444 1004666.667 -5413 384819.444 1208436.111 -5414 384825.000 1009066.667 -5415 384850.000 786252.778 -5416 384858.333 918502.778 -5417 384886.111 813483.333 -5418 384888.889 921741.667 -5419 384897.222 766825.000 -5420 384902.778 816475.000 -5421 384902.778 897930.556 -5422 384902.778 904869.444 -5423 384919.444 872786.111 -5424 384925.000 826902.778 -5425 384961.111 1214077.778 -5426 384972.222 949502.778 -5427 385019.444 1229950.000 -5428 385025.000 906277.778 -5429 385033.333 826472.222 -5430 385069.444 962616.667 -5431 385086.111 906025.000 -5432 385088.889 891405.556 -5433 385094.444 818400.000 -5434 385130.556 904358.333 -5435 385158.333 884375.000 -5436 385161.111 902102.778 -5437 385172.222 752352.778 -5438 385172.222 826977.778 -5439 385180.556 987777.778 -5440 385200.000 899838.889 -5441 385208.333 880047.222 -5442 385222.222 772938.889 -5443 385225.000 827172.222 -5444 385247.222 1186236.111 -5445 385250.000 891333.333 -5446 385250.000 985333.333 -5447 385250.000 1219697.222 -5448 385266.667 877097.222 -5449 385313.889 993083.333 -5450 385322.222 935219.444 -5451 385325.000 767841.667 -5452 385333.333 902869.444 -5453 385338.889 899888.889 -5454 385347.222 1059983.333 -5455 385363.889 848419.444 -5456 385363.889 859286.111 -5457 385366.667 826830.556 -5458 385369.444 903797.222 -5459 385375.000 819325.000 -5460 385386.111 903350.000 -5461 385388.889 904072.222 -5462 385400.000 827286.111 -5463 385402.778 765847.222 -5464 385411.111 902800.000 -5465 385416.667 857677.778 -5466 385419.444 902327.778 -5467 385425.000 757197.222 -5468 385433.333 896122.222 -5469 385450.000 1217394.444 -5470 385458.333 1069247.222 -5471 385466.667 773369.444 -5472 385488.889 866200.000 -5473 385491.667 904925.000 -5474 385502.778 827780.556 -5475 385505.556 903330.556 -5476 385530.556 903094.444 -5477 385536.111 895383.333 -5478 385541.667 903450.000 -5479 385555.556 978333.333 -5480 385561.111 864683.333 -5481 385563.889 755716.667 -5482 385569.444 903816.667 -5483 385580.556 910119.444 -5484 385594.444 835761.111 -5485 385611.111 941911.111 -5486 385613.889 898972.222 -5487 385630.556 760791.667 -5488 385672.222 866283.333 -5489 385675.000 773283.333 -5490 385708.333 901900.000 -5491 385722.222 948788.889 -5492 385730.556 828302.778 -5493 385733.333 1095491.667 -5494 385736.111 976741.667 -5495 385752.778 771558.333 -5496 385752.778 785027.778 -5497 385758.333 1224488.889 -5498 385766.667 921733.333 -5499 385788.889 1225786.111 -5500 385805.556 1215291.667 -5501 385816.667 1214933.333 -5502 385830.556 936944.444 -5503 385833.333 901250.000 -5504 385833.333 904066.667 -5505 385869.444 984108.333 -5506 385891.667 1213016.667 -5507 385897.222 901200.000 -5508 385902.778 769405.556 -5509 385902.778 903366.667 -5510 385908.333 822830.556 -5511 385913.889 752916.667 -5512 385922.222 899111.111 -5513 385925.000 853177.778 -5514 385925.000 903572.222 -5515 385925.000 905869.444 -5516 385950.000 905461.111 -5517 385969.444 905091.667 -5518 385991.667 833188.889 -5519 386000.000 771625.000 -5520 386008.333 904327.778 -5521 386038.889 898072.222 -5522 386050.000 1079816.667 -5523 386055.556 894358.333 -5524 386055.556 896819.444 -5525 386066.667 896075.000 -5526 386066.667 1212655.556 -5527 386072.222 903833.333 -5528 386075.000 903783.333 -5529 386083.333 912188.889 -5530 386086.111 771408.333 -5531 386102.778 893725.000 -5532 386105.556 895269.444 -5533 386105.556 1228680.556 -5534 386122.222 904633.333 -5535 386125.000 903244.444 -5536 386130.556 787991.667 -5537 386152.778 873544.444 -5538 386155.556 891141.667 -5539 386155.556 952675.000 -5540 386158.333 838086.111 -5541 386172.222 890522.222 -5542 386172.222 1213272.222 -5543 386175.000 819819.444 -5544 386175.000 903491.667 -5545 386183.333 905891.667 -5546 386194.444 946805.556 -5547 386241.667 758547.222 -5548 386244.444 769394.444 -5549 386269.444 770733.333 -5550 386269.444 889455.556 -5551 386275.000 925663.889 -5552 386283.333 910575.000 -5553 386286.111 903194.444 -5554 386300.000 1121200.000 -5555 386338.889 958255.556 -5556 386350.000 900927.778 -5557 386355.556 756102.778 -5558 386355.556 904150.000 -5559 386366.667 900255.556 -5560 386369.444 773113.889 -5561 386380.556 845605.556 -5562 386388.889 787741.667 -5563 386402.778 921222.222 -5564 386411.111 756113.889 -5565 386411.111 837444.444 -5566 386425.000 903236.111 -5567 386450.000 828488.889 -5568 386477.778 786716.667 -5569 386497.222 900930.556 -5570 386497.222 903805.556 -5571 386513.889 862611.111 -5572 386533.333 943486.111 -5573 386555.556 837611.111 -5574 386555.556 927797.222 -5575 386580.556 772500.000 -5576 386591.667 871727.778 -5577 386608.333 904225.000 -5578 386611.111 964916.667 -5579 386616.667 864263.889 -5580 386636.111 873094.444 -5581 386644.444 807100.000 -5582 386652.778 784597.222 -5583 386652.778 903758.333 -5584 386658.333 1209250.000 -5585 386663.889 867911.111 -5586 386675.000 770286.111 -5587 386688.889 884855.556 -5588 386702.778 899844.444 -5589 386711.111 969422.222 -5590 386722.222 901697.222 -5591 386727.778 902991.667 -5592 386730.556 807750.000 -5593 386752.778 917694.444 -5594 386763.889 1213352.778 -5595 386766.667 843302.778 -5596 386769.444 869141.667 -5597 386772.222 875286.111 -5598 386772.222 1231341.667 -5599 386780.556 1211750.000 -5600 386786.111 1212247.222 -5601 386800.000 930927.778 -5602 386808.333 851794.444 -5603 386819.444 845900.000 -5604 386822.222 1047002.778 -5605 386825.000 840658.333 -5606 386825.000 901569.444 -5607 386827.778 1121475.000 -5608 386833.333 902838.889 -5609 386833.333 903077.778 -5610 386858.333 903238.889 -5611 386858.333 1213711.111 -5612 386861.111 765350.000 -5613 386863.889 761719.444 -5614 386886.111 883541.667 -5615 386900.000 753858.333 -5616 386900.000 903425.000 -5617 386905.556 902872.222 -5618 386911.111 1214475.000 -5619 386922.222 1220161.111 -5620 386930.556 902822.222 -5621 386941.667 757738.889 -5622 386947.222 902783.333 -5623 386947.222 1208138.889 -5624 386952.778 903138.889 -5625 386966.667 768480.556 -5626 386975.000 882236.111 -5627 387000.000 902922.222 -5628 387008.333 903497.222 -5629 387011.111 903622.222 -5630 387013.889 901486.111 -5631 387019.444 903169.444 -5632 387025.000 903433.333 -5633 387041.667 772280.556 -5634 387041.667 902816.667 -5635 387041.667 914372.222 -5636 387044.444 932280.556 -5637 387058.333 877600.000 -5638 387072.222 765313.889 -5639 387072.222 1212800.000 -5640 387077.778 770863.889 -5641 387083.333 902927.778 -5642 387105.556 902980.556 -5643 387111.111 981569.444 -5644 387130.556 904297.222 -5645 387133.333 777955.556 -5646 387141.667 854736.111 -5647 387141.667 939911.111 -5648 387144.444 903672.222 -5649 387169.444 878613.889 -5650 387175.000 902655.556 -5651 387183.333 902922.222 -5652 387183.333 950813.889 -5653 387191.667 902602.778 -5654 387191.667 944583.333 -5655 387202.778 920911.111 -5656 387208.333 750763.889 -5657 387208.333 829583.333 -5658 387208.333 902747.222 -5659 387236.111 853694.444 -5660 387236.111 899558.333 -5661 387238.889 770100.000 -5662 387252.778 902966.667 -5663 387263.889 903586.111 -5664 387275.000 903108.333 -5665 387291.667 876816.667 -5666 387291.667 898830.556 -5667 387297.222 1207975.000 -5668 387302.778 828555.556 -5669 387305.556 982277.778 -5670 387308.333 880852.778 -5671 387313.889 799702.778 -5672 387316.667 829977.778 -5673 387316.667 900802.778 -5674 387327.778 763938.889 -5675 387358.333 853800.000 -5676 387358.333 903638.889 -5677 387383.333 771852.778 -5678 387394.444 896711.111 -5679 387400.000 903263.889 -5680 387402.778 902263.889 -5681 387422.222 1080683.333 -5682 387425.000 756047.222 -5683 387430.556 948252.778 -5684 387441.667 903061.111 -5685 387455.556 838450.000 -5686 387458.333 786425.000 -5687 387466.667 1051777.778 -5688 387469.444 902400.000 -5689 387475.000 770833.333 -5690 387477.778 850672.222 -5691 387483.333 899830.556 -5692 387494.444 902855.556 -5693 387508.333 774755.556 -5694 387516.667 769788.889 -5695 387522.222 829369.444 -5696 387544.444 903311.111 -5697 387547.222 828688.889 -5698 387552.778 890952.778 -5699 387552.778 950022.222 -5700 387583.333 830291.667 -5701 387583.333 858080.556 -5702 387594.444 874155.556 -5703 387613.889 1205855.556 -5704 387627.778 937358.333 -5705 387647.222 903136.111 -5706 387647.222 950077.778 -5707 387650.000 768986.111 -5708 387650.000 935563.889 -5709 387713.889 903708.333 -5710 387716.667 840058.333 -5711 387722.222 885025.000 -5712 387725.000 772213.889 -5713 387725.000 1120833.333 -5714 387733.333 888466.667 -5715 387741.667 760766.667 -5716 387741.667 873077.778 -5717 387744.444 751397.222 -5718 387744.444 922569.444 -5719 387750.000 951861.111 -5720 387763.889 765555.556 -5721 387775.000 753102.778 -5722 387800.000 895980.556 -5723 387805.556 955569.444 -5724 387816.667 957383.333 -5725 387819.444 771466.667 -5726 387827.778 846052.778 -5727 387833.333 849016.667 -5728 387838.889 774700.000 -5729 387861.111 829791.667 -5730 387863.889 843697.222 -5731 387863.889 897775.000 -5732 387875.000 942691.667 -5733 387877.778 902158.333 -5734 387891.667 903225.000 -5735 387908.333 1212347.222 -5736 387930.556 774480.556 -5737 387933.333 772719.444 -5738 387933.333 902672.222 -5739 387944.444 835452.778 -5740 387955.556 967355.556 -5741 387997.222 1077188.889 -5742 388005.556 858416.667 -5743 388019.444 813511.111 -5744 388019.444 944525.000 -5745 388033.333 769900.000 -5746 388038.889 769069.444 -5747 388041.667 772050.000 -5748 388047.222 770472.222 -5749 388061.111 871522.222 -5750 388069.444 755916.667 -5751 388072.222 753972.222 -5752 388094.444 769983.333 -5753 388097.222 822025.000 -5754 388105.556 906997.222 -5755 388108.333 949269.444 -5756 388113.889 899530.556 -5757 388113.889 908527.778 -5758 388113.889 911413.889 -5759 388119.444 945316.667 -5760 388133.333 827269.444 -5761 388138.889 769458.333 -5762 388158.333 767500.000 -5763 388183.333 771436.111 -5764 388186.111 817108.333 -5765 388186.111 956888.889 -5766 388188.889 769988.889 -5767 388208.333 785661.111 -5768 388213.889 1023527.778 -5769 388213.889 1211919.444 -5770 388250.000 861700.000 -5771 388250.000 984750.000 -5772 388275.000 910200.000 -5773 388277.778 895400.000 -5774 388283.333 1079702.778 -5775 388294.444 900627.778 -5776 388300.000 768916.667 -5777 388302.778 771966.667 -5778 388327.778 769597.222 -5779 388333.333 769519.444 -5780 388336.111 821383.333 -5781 388338.889 1048208.333 -5782 388341.667 887722.222 -5783 388388.889 774277.778 -5784 388388.889 840963.889 -5785 388402.778 976111.111 -5786 388416.667 765125.000 -5787 388422.222 1061305.556 -5788 388427.778 869913.889 -5789 388444.444 821372.222 -5790 388450.000 768752.778 -5791 388461.111 773066.667 -5792 388466.667 919477.778 -5793 388483.333 900761.111 -5794 388516.667 943436.111 -5795 388527.778 991472.222 -5796 388533.333 913058.333 -5797 388536.111 772597.222 -5798 388561.111 806550.000 -5799 388575.000 768897.222 -5800 388588.889 961088.889 -5801 388597.222 1049166.667 -5802 388611.111 864872.222 -5803 388611.111 900975.000 -5804 388683.333 1075913.889 -5805 388688.889 1179211.111 -5806 388697.222 1069872.222 -5807 388702.778 769213.889 -5808 388711.111 874413.889 -5809 388719.444 771555.556 -5810 388747.222 929113.889 -5811 388783.333 870858.333 -5812 388788.889 860419.444 -5813 388791.667 993263.889 -5814 388794.444 823805.556 -5815 388794.444 829969.444 -5816 388802.778 901111.111 -5817 388808.333 773011.111 -5818 388813.889 948188.889 -5819 388844.444 758275.000 -5820 388850.000 769161.111 -5821 388858.333 945327.778 -5822 388875.000 765122.222 -5823 388877.778 900847.222 -5824 388883.333 897313.889 -5825 388888.889 898452.778 -5826 388905.556 901841.667 -5827 388916.667 1212919.444 -5828 388922.222 894130.556 -5829 388933.333 772219.444 -5830 388941.667 774313.889 -5831 388950.000 770366.667 -5832 388950.000 772119.444 -5833 388952.778 988594.444 -5834 388961.111 769069.444 -5835 388963.889 871866.667 -5836 388966.667 1210758.333 -5837 388975.000 768305.556 -5838 388977.778 1017516.667 -5839 388983.333 900066.667 -5840 389008.333 769158.333 -5841 389008.333 865252.778 -5842 389011.111 772655.556 -5843 389016.667 1079258.333 -5844 389027.778 971166.667 -5845 389061.111 958158.333 -5846 389091.667 900405.556 -5847 389102.778 914480.556 -5848 389105.556 1226091.667 -5849 389125.000 754283.333 -5850 389127.778 772011.111 -5851 389144.444 900858.333 -5852 389172.222 972136.111 -5853 389177.778 839833.333 -5854 389180.556 781947.222 -5855 389186.111 772313.889 -5856 389194.444 973708.333 -5857 389205.556 886613.889 -5858 389208.333 768719.444 -5859 389222.222 1119333.333 -5860 389230.556 942438.889 -5861 389233.333 810961.111 -5862 389236.111 755780.556 -5863 389236.111 768802.778 -5864 389250.000 892688.889 -5865 389258.333 798469.444 -5866 389280.556 769161.111 -5867 389291.667 768619.444 -5868 389313.889 898388.889 -5869 389330.556 769461.111 -5870 389338.889 768969.444 -5871 389341.667 771777.778 -5872 389341.667 808377.778 -5873 389350.000 749063.889 -5874 389350.000 1050163.889 -5875 389377.778 764602.778 -5876 389380.556 769486.111 -5877 389380.556 995602.778 -5878 389386.111 749422.222 -5879 389391.667 769341.667 -5880 389400.000 764952.778 -5881 389413.889 769652.778 -5882 389419.444 835725.000 -5883 389430.556 768925.000 -5884 389430.556 769569.444 -5885 389430.556 845441.667 -5886 389433.333 950983.333 -5887 389452.778 769519.444 -5888 389458.333 846805.556 -5889 389458.333 1199702.778 -5890 389466.667 769313.889 -5891 389477.778 758847.222 -5892 389480.556 817611.111 -5893 389486.111 842800.000 -5894 389488.889 834058.333 -5895 389494.444 848538.889 -5896 389516.667 923338.889 -5897 389519.444 765783.333 -5898 389536.111 947333.333 -5899 389558.333 769458.333 -5900 389561.111 903597.222 -5901 389577.778 1118591.667 -5902 389580.556 762105.556 -5903 389591.667 858902.778 -5904 389591.667 989683.333 -5905 389605.556 890936.111 -5906 389636.111 769911.111 -5907 389636.111 934147.222 -5908 389658.333 770963.889 -5909 389666.667 946166.667 -5910 389683.333 874055.556 -5911 389686.111 773413.889 -5912 389686.111 777358.333 -5913 389688.889 1123227.778 -5914 389694.444 773863.889 -5915 389697.222 768802.778 -5916 389700.000 904313.889 -5917 389702.778 769422.222 -5918 389711.111 770766.667 -5919 389711.111 819144.444 -5920 389716.667 952350.000 -5921 389722.222 970222.222 -5922 389736.111 758052.778 -5923 389736.111 927430.556 -5924 389747.222 748338.889 -5925 389775.000 915047.222 -5926 389777.778 770077.778 -5927 389780.556 1228383.333 -5928 389783.333 764925.000 -5929 389786.111 799497.222 -5930 389791.667 949683.333 -5931 389794.444 765308.333 -5932 389794.444 909805.556 -5933 389805.556 749083.333 -5934 389805.556 769372.222 -5935 389805.556 771005.556 -5936 389819.444 749583.333 -5937 389822.222 946705.556 -5938 389833.333 935683.333 -5939 389858.333 1191619.444 -5940 389863.889 819736.111 -5941 389886.111 769816.667 -5942 389886.111 783588.889 -5943 389891.667 870822.222 -5944 389905.556 770263.889 -5945 389908.333 881625.000 -5946 389916.667 748152.778 -5947 389925.000 791241.667 -5948 389938.889 769108.333 -5949 389938.889 802322.222 -5950 389938.889 1050563.889 -5951 389952.778 1101611.111 -5952 389958.333 889527.778 -5953 389972.222 907383.333 -5954 389975.000 819741.667 -5955 389975.000 844963.889 -5956 389980.556 772886.111 -5957 389988.889 846266.667 -5958 389988.889 895736.111 -5959 389991.667 939533.333 -5960 390005.556 747997.222 -5961 390011.111 1210208.333 -5962 390016.667 766877.778 -5963 390016.667 820488.889 -5964 390019.444 879088.889 -5965 390030.556 769722.222 -5966 390036.111 774008.333 -5967 390036.111 876127.778 -5968 390038.889 819891.667 -5969 390044.444 768758.333 -5970 390052.778 877391.667 -5971 390061.111 856236.111 -5972 390061.111 1118611.111 -5973 390066.667 767794.444 -5974 390077.778 838086.111 -5975 390086.111 944633.333 -5976 390088.889 754661.111 -5977 390100.000 1214219.444 -5978 390122.222 897911.111 -5979 390125.000 846047.222 -5980 390130.556 1047002.778 -5981 390144.444 748819.444 -5982 390150.000 941983.333 -5983 390166.667 846008.333 -5984 390166.667 962888.889 -5985 390169.444 942813.889 -5986 390172.222 927372.222 -5987 390175.000 1220566.667 -5988 390177.778 850588.889 -5989 390177.778 946166.667 -5990 390180.556 918969.444 -5991 390202.778 1208169.444 -5992 390216.667 820291.667 -5993 390216.667 844400.000 -5994 390222.222 946316.667 -5995 390236.111 946933.333 -5996 390241.667 1226738.889 -5997 390250.000 799358.333 -5998 390250.000 998791.667 -5999 390252.778 844175.000 -6000 390252.778 885697.222 -6001 390255.556 770766.667 -6002 390263.889 769744.444 -6003 390272.222 845850.000 -6004 390275.000 820338.889 -6005 390275.000 839197.222 -6006 390277.778 946555.556 -6007 390283.333 842177.778 -6008 390286.111 749388.889 -6009 390286.111 968311.111 -6010 390294.444 895241.667 -6011 390297.222 843663.889 -6012 390302.778 770727.778 -6013 390305.556 975938.889 -6014 390319.444 765030.556 -6015 390330.556 844519.444 -6016 390344.444 843902.778 -6017 390347.222 769077.778 -6018 390347.222 871658.333 -6019 390355.556 845691.667 -6020 390355.556 1042966.667 -6021 390375.000 946319.444 -6022 390380.556 770933.333 -6023 390383.333 804675.000 -6024 390397.222 769933.333 -6025 390397.222 901405.556 -6026 390405.556 946166.667 -6027 390416.667 760666.667 -6028 390427.778 899516.667 -6029 390430.556 1085516.667 -6030 390430.556 1229147.222 -6031 390444.444 953944.444 -6032 390452.778 821305.556 -6033 390483.333 956777.778 -6034 390508.333 747583.333 -6035 390513.889 845816.667 -6036 390516.667 845341.667 -6037 390536.111 765694.444 -6038 390541.667 840530.556 -6039 390561.111 985361.111 -6040 390569.444 849013.889 -6041 390575.000 769361.111 -6042 390594.444 845475.000 -6043 390597.222 948833.333 -6044 390611.111 948194.444 -6045 390619.444 883797.222 -6046 390619.444 887480.556 -6047 390622.222 789697.222 -6048 390633.333 813952.778 -6049 390638.889 1085500.000 -6050 390644.444 1091808.333 -6051 390680.556 830144.444 -6052 390694.444 872600.000 -6053 390694.444 1002319.444 -6054 390702.778 765455.556 -6055 390708.333 898561.111 -6056 390713.889 845322.222 -6057 390719.444 844727.778 -6058 390719.444 852519.444 -6059 390719.444 915700.000 -6060 390722.222 897272.222 -6061 390725.000 937169.444 -6062 390750.000 844472.222 -6063 390755.556 770022.222 -6064 390758.333 953930.556 -6065 390761.111 769580.556 -6066 390769.444 841769.444 -6067 390775.000 846030.556 -6068 390794.444 770733.333 -6069 390825.000 748241.667 -6070 390833.333 782183.333 -6071 390836.111 845086.111 -6072 390838.889 767005.556 -6073 390838.889 771530.556 -6074 390891.667 893905.556 -6075 390908.333 848500.000 -6076 390911.111 944152.778 -6077 390913.889 844958.333 -6078 390916.667 1048722.222 -6079 390919.444 768180.556 -6080 390919.444 1084483.333 -6081 390925.000 845475.000 -6082 390927.778 846127.778 -6083 390927.778 898038.889 -6084 390936.111 1111325.000 -6085 390952.778 874058.333 -6086 390955.556 1215511.111 -6087 390963.889 796811.111 -6088 390991.667 768486.111 -6089 390997.222 945783.333 -6090 391008.333 1209522.222 -6091 391011.111 747180.556 -6092 391041.667 958583.333 -6093 391063.889 844788.889 -6094 391069.444 764852.778 -6095 391072.222 765713.889 -6096 391080.556 769980.556 -6097 391094.444 876563.889 -6098 391097.222 944444.444 -6099 391097.222 950875.000 -6100 391102.778 1083502.778 -6101 391111.111 769327.778 -6102 391111.111 967058.333 -6103 391127.778 844727.778 -6104 391133.333 755422.222 -6105 391133.333 850880.556 -6106 391136.111 826113.889 -6107 391141.667 946272.222 -6108 391155.556 775638.889 -6109 391175.000 900441.667 -6110 391177.778 772527.778 -6111 391180.556 755591.667 -6112 391200.000 885433.333 -6113 391200.000 903283.333 -6114 391211.111 846063.889 -6115 391211.111 851313.889 -6116 391219.444 977063.889 -6117 391222.222 1049166.667 -6118 391230.556 931966.667 -6119 391233.333 825330.556 -6120 391244.444 843616.667 -6121 391247.222 852891.667 -6122 391250.000 869794.444 -6123 391252.778 1118183.333 -6124 391277.778 1215497.222 -6125 391297.222 898194.444 -6126 391300.000 945619.444 -6127 391308.333 894919.444 -6128 391308.333 1231650.000 -6129 391316.667 755252.778 -6130 391319.444 755327.778 -6131 391325.000 941983.333 -6132 391330.556 884719.444 -6133 391333.333 1008633.333 -6134 391341.667 939825.000 -6135 391350.000 858133.333 -6136 391361.111 959513.889 -6137 391361.111 1034694.444 -6138 391366.667 777150.000 -6139 391366.667 847091.667 -6140 391369.444 766986.111 -6141 391394.444 765480.556 -6142 391397.222 771755.556 -6143 391405.556 1216158.333 -6144 391416.667 949383.333 -6145 391433.333 772016.667 -6146 391444.444 891086.111 -6147 391450.000 843744.444 -6148 391452.778 771444.444 -6149 391458.333 774172.222 -6150 391458.333 926836.111 -6151 391458.333 1215902.778 -6152 391488.889 794983.333 -6153 391488.889 1216658.333 -6154 391491.667 767755.556 -6155 391502.778 1232066.667 -6156 391516.667 779825.000 -6157 391522.222 800405.556 -6158 391525.000 847480.556 -6159 391530.556 770672.222 -6160 391530.556 846372.222 -6161 391533.333 746933.333 -6162 391541.667 945466.667 -6163 391547.222 1221483.333 -6164 391552.778 1118175.000 -6165 391566.667 906177.778 -6166 391569.444 846133.333 -6167 391580.556 755247.222 -6168 391588.889 1087283.333 -6169 391591.667 843072.222 -6170 391597.222 825269.444 -6171 391597.222 1217477.778 -6172 391611.111 803522.222 -6173 391611.111 894936.111 -6174 391616.667 847491.667 -6175 391619.444 844569.444 -6176 391625.000 766250.000 -6177 391630.556 871991.667 -6178 391638.889 1197663.889 -6179 391641.667 894636.111 -6180 391652.778 865263.889 -6181 391666.667 765083.333 -6182 391666.667 907808.333 -6183 391697.222 918827.778 -6184 391744.444 901430.556 -6185 391752.778 842944.444 -6186 391758.333 855730.556 -6187 391772.222 767433.333 -6188 391783.333 873936.111 -6189 391791.667 987888.889 -6190 391830.556 766405.556 -6191 391830.556 945925.000 -6192 391836.111 965713.889 -6193 391847.222 938797.222 -6194 391855.556 781636.111 -6195 391863.889 873016.667 -6196 391872.222 844463.889 -6197 391872.222 844880.556 -6198 391888.889 955694.444 -6199 391908.333 843636.111 -6200 391908.333 990283.333 -6201 391911.111 1068169.444 -6202 391927.778 844005.556 -6203 391950.000 946819.444 -6204 391958.333 952080.556 -6205 391963.889 755491.667 -6206 392008.333 804044.444 -6207 392013.889 859213.889 -6208 392019.444 963047.222 -6209 392022.222 836116.667 -6210 392025.000 944922.222 -6211 392038.889 945544.444 -6212 392047.222 760516.667 -6213 392047.222 844280.556 -6214 392052.778 843947.222 -6215 392058.333 894044.444 -6216 392088.889 760669.444 -6217 392094.444 810519.444 -6218 392094.444 935175.000 -6219 392102.778 921377.778 -6220 392105.556 843672.222 -6221 392122.222 1110188.889 -6222 392127.778 941225.000 -6223 392133.333 970052.778 -6224 392144.444 1220083.333 -6225 392150.000 844555.556 -6226 392152.778 953125.000 -6227 392172.222 766375.000 -6228 392180.556 930688.889 -6229 392183.333 845508.333 -6230 392191.667 1210600.000 -6231 392213.889 944511.111 -6232 392216.667 817975.000 -6233 392230.556 845869.444 -6234 392272.222 928463.889 -6235 392272.222 1110527.778 -6236 392275.000 822025.000 -6237 392280.556 843541.667 -6238 392283.333 766166.667 -6239 392300.000 1210755.556 -6240 392311.111 844658.333 -6241 392319.444 843783.333 -6242 392336.111 845458.333 -6243 392338.889 866250.000 -6244 392341.667 922805.556 -6245 392347.222 992977.778 -6246 392352.778 816313.889 -6247 392369.444 850947.222 -6248 392377.778 946958.333 -6249 392377.778 1200255.556 -6250 392402.778 768397.222 -6251 392416.667 748155.556 -6252 392419.444 764483.333 -6253 392425.000 916452.778 -6254 392458.333 750355.556 -6255 392463.889 824786.111 -6256 392463.889 845836.111 -6257 392475.000 1148877.778 -6258 392477.778 881633.333 -6259 392477.778 957061.111 -6260 392483.333 888622.222 -6261 392486.111 873819.444 -6262 392486.111 949000.000 -6263 392505.556 765208.333 -6264 392508.333 803125.000 -6265 392508.333 1062919.444 -6266 392519.444 844702.778 -6267 392544.444 767002.778 -6268 392561.111 844180.556 -6269 392563.889 893480.556 -6270 392566.667 802925.000 -6271 392580.556 758375.000 -6272 392616.667 1210150.000 -6273 392619.444 848200.000 -6274 392630.556 886297.222 -6275 392633.333 803200.000 -6276 392636.111 816294.444 -6277 392638.889 1036916.667 -6278 392666.667 815616.667 -6279 392672.222 767986.111 -6280 392680.556 844133.333 -6281 392680.556 845230.556 -6282 392683.333 1116361.111 -6283 392691.667 803125.000 -6284 392708.333 938341.667 -6285 392719.444 767322.222 -6286 392725.000 776369.444 -6287 392725.000 915744.444 -6288 392727.778 793647.222 -6289 392736.111 882436.111 -6290 392738.889 815730.556 -6291 392738.889 977716.667 -6292 392775.000 745750.000 -6293 392786.111 939766.667 -6294 392797.222 898816.667 -6295 392805.556 803447.222 -6296 392850.000 809686.111 -6297 392863.889 802563.889 -6298 392866.667 867625.000 -6299 392869.444 844852.778 -6300 392883.333 772041.667 -6301 392886.111 803061.111 -6302 392888.889 778600.000 -6303 392902.778 766125.000 -6304 392905.556 756347.222 -6305 392930.556 839888.889 -6306 392930.556 1030666.667 -6307 392950.000 778608.333 -6308 392958.333 859508.333 -6309 392963.889 807772.222 -6310 392963.889 1197747.222 -6311 392988.889 968305.556 -6312 392991.667 879925.000 -6313 392997.222 756050.000 -6314 392997.222 842633.333 -6315 393000.000 852222.222 -6316 393011.111 892850.000 -6317 393022.222 904069.444 -6318 393025.000 936772.222 -6319 393038.889 857713.889 -6320 393047.222 925125.000 -6321 393061.111 1022688.889 -6322 393077.778 1237983.333 -6323 393091.667 764752.778 -6324 393091.667 772975.000 -6325 393108.333 914883.333 -6326 393111.111 949222.222 -6327 393122.222 846505.556 -6328 393141.667 745252.778 -6329 393141.667 776280.556 -6330 393175.000 745950.000 -6331 393183.333 843688.889 -6332 393194.444 884527.778 -6333 393194.444 895719.444 -6334 393200.000 765158.333 -6335 393222.222 952666.667 -6336 393233.333 777530.556 -6337 393236.111 836911.111 -6338 393266.667 1109638.889 -6339 393269.444 815486.111 -6340 393277.778 745038.889 -6341 393280.556 1201822.222 -6342 393291.667 821013.889 -6343 393330.556 829825.000 -6344 393341.667 764397.222 -6345 393355.556 878819.444 -6346 393372.222 854836.111 -6347 393383.333 764800.000 -6348 393391.667 942258.333 -6349 393397.222 852044.444 -6350 393402.778 744777.778 -6351 393405.556 767225.000 -6352 393408.333 800191.667 -6353 393419.444 787569.444 -6354 393419.444 911950.000 -6355 393433.333 954600.000 -6356 393436.111 902125.000 -6357 393450.000 835530.556 -6358 393483.333 796711.111 -6359 393483.333 974458.333 -6360 393488.889 1108508.333 -6361 393508.333 866669.444 -6362 393508.333 1017097.222 -6363 393519.444 833827.778 -6364 393522.222 1125763.889 -6365 393544.444 841272.222 -6366 393566.667 978408.333 -6367 393575.000 1004413.889 -6368 393577.778 780402.778 -6369 393583.333 934955.556 -6370 393597.222 1115855.556 -6371 393600.000 843100.000 -6372 393602.778 1045963.889 -6373 393633.333 765208.333 -6374 393638.889 1216925.000 -6375 393641.667 744233.333 -6376 393647.222 998416.667 -6377 393672.222 767955.556 -6378 393677.778 943619.444 -6379 393688.889 821325.000 -6380 393688.889 1070322.222 -6381 393702.778 947822.222 -6382 393705.556 909050.000 -6383 393708.333 842133.333 -6384 393713.889 862611.111 -6385 393722.222 1048555.556 -6386 393736.111 769680.556 -6387 393738.889 803486.111 -6388 393741.667 767227.778 -6389 393761.111 771550.000 -6390 393772.222 765400.000 -6391 393794.444 812586.111 -6392 393816.667 752202.778 -6393 393869.444 945808.333 -6394 393877.778 889605.556 -6395 393888.889 890800.000 -6396 393913.889 876936.111 -6397 393916.667 797486.111 -6398 393930.556 793733.333 -6399 393938.889 964133.333 -6400 393941.667 765238.889 -6401 393950.000 865625.000 -6402 393955.556 803002.778 -6403 393958.333 1010519.444 -6404 393977.778 821294.444 -6405 393983.333 793819.444 -6406 394013.889 766022.222 -6407 394022.222 1072105.556 -6408 394036.111 769505.556 -6409 394038.889 758677.778 -6410 394050.000 1147777.778 -6411 394063.889 887900.000 -6412 394097.222 1233544.444 -6413 394100.000 743650.000 -6414 394111.111 949013.889 -6415 394119.444 747427.778 -6416 394125.000 764638.889 -6417 394125.000 1217116.667 -6418 394141.667 774108.333 -6419 394152.778 814550.000 -6420 394166.667 953333.333 -6421 394175.000 766213.889 -6422 394183.333 924380.556 -6423 394186.111 775038.889 -6424 394194.444 767805.556 -6425 394200.000 894555.556 -6426 394227.778 765850.000 -6427 394230.556 850127.778 -6428 394233.333 931302.778 -6429 394238.889 928013.889 -6430 394272.222 752344.444 -6431 394277.778 864283.333 -6432 394283.333 744961.111 -6433 394300.000 778044.444 -6434 394311.111 916750.000 -6435 394344.444 929380.556 -6436 394347.222 845369.444 -6437 394355.556 1215369.444 -6438 394369.444 904030.556 -6439 394380.556 992647.222 -6440 394383.333 942038.889 -6441 394388.889 986944.444 -6442 394405.556 925450.000 -6443 394408.333 789741.667 -6444 394408.333 885947.222 -6445 394433.333 896516.667 -6446 394452.778 838286.111 -6447 394455.556 795466.667 -6448 394458.333 1238041.667 -6449 394463.889 897808.333 -6450 394486.111 764180.556 -6451 394488.889 910513.889 -6452 394494.444 757166.667 -6453 394522.222 747280.556 -6454 394561.111 779641.667 -6455 394561.111 981058.333 -6456 394563.889 879961.111 -6457 394575.000 777491.667 -6458 394586.111 822319.444 -6459 394619.444 821819.444 -6460 394625.000 802183.333 -6461 394650.000 874500.000 -6462 394652.778 957361.111 -6463 394666.667 874138.889 -6464 394694.444 762047.222 -6465 394694.444 768297.222 -6466 394716.667 796836.111 -6467 394727.778 765233.333 -6468 394733.333 827394.444 -6469 394736.111 814791.667 -6470 394736.111 922097.222 -6471 394736.111 1187763.889 -6472 394738.889 829108.333 -6473 394783.333 745755.556 -6474 394800.000 845519.444 -6475 394808.333 844577.778 -6476 394808.333 920011.111 -6477 394811.111 766441.667 -6478 394816.667 1060377.778 -6479 394825.000 1114952.778 -6480 394830.556 883727.778 -6481 394838.889 903713.889 -6482 394847.222 820791.667 -6483 394850.000 801427.778 -6484 394852.778 790450.000 -6485 394861.111 750261.111 -6486 394861.111 773522.222 -6487 394886.111 836369.444 -6488 394888.889 961697.222 -6489 394919.444 872672.222 -6490 394922.222 809038.889 -6491 394950.000 798152.778 -6492 394961.111 881761.111 -6493 394966.667 1215511.111 -6494 395008.333 851863.889 -6495 395008.333 897677.778 -6496 395022.222 985463.889 -6497 395030.556 787688.889 -6498 395030.556 820847.222 -6499 395036.111 801669.444 -6500 395050.000 946330.556 -6501 395069.444 847452.778 -6502 395080.556 915286.111 -6503 395105.556 797986.111 -6504 395113.889 821636.111 -6505 395125.000 984333.333 -6506 395127.778 802491.667 -6507 395136.111 749250.000 -6508 395138.889 1215552.778 -6509 395144.444 764113.889 -6510 395147.222 867938.889 -6511 395161.111 843763.889 -6512 395202.778 890488.889 -6513 395205.556 744861.111 -6514 395208.333 861677.778 -6515 395213.889 857769.444 -6516 395219.444 947697.222 -6517 395222.222 954005.556 -6518 395225.000 887536.111 -6519 395236.111 871250.000 -6520 395244.444 1221925.000 -6521 395250.000 1115897.222 -6522 395258.333 871125.000 -6523 395286.111 746483.333 -6524 395297.222 801169.444 -6525 395297.222 840866.667 -6526 395297.222 1198127.778 -6527 395305.556 790177.778 -6528 395308.333 758077.778 -6529 395308.333 803436.111 -6530 395330.556 773150.000 -6531 395330.556 880222.222 -6532 395347.222 1077825.000 -6533 395350.000 1197516.667 -6534 395358.333 763486.111 -6535 395366.667 871058.333 -6536 395380.556 897630.556 -6537 395391.667 863691.667 -6538 395400.000 824072.222 -6539 395419.444 771083.333 -6540 395425.000 1107347.222 -6541 395463.889 750252.778 -6542 395469.444 1114547.222 -6543 395477.778 816397.222 -6544 395483.333 817930.556 -6545 395483.333 943297.222 -6546 395486.111 1076555.556 -6547 395488.889 892944.444 -6548 395491.667 760919.444 -6549 395500.000 860797.222 -6550 395505.556 1073241.667 -6551 395513.889 1103872.222 -6552 395522.222 797980.556 -6553 395522.222 842333.333 -6554 395522.222 940405.556 -6555 395527.778 879394.444 -6556 395538.889 832569.444 -6557 395580.556 801819.444 -6558 395580.556 860952.778 -6559 395588.889 843041.667 -6560 395591.667 742436.111 -6561 395600.000 760716.667 -6562 395608.333 753627.778 -6563 395630.556 951213.889 -6564 395641.667 809961.111 -6565 395655.556 896572.222 -6566 395655.556 944477.778 -6567 395658.333 789805.556 -6568 395672.222 972783.333 -6569 395675.000 848161.111 -6570 395688.889 771772.222 -6571 395708.333 976622.222 -6572 395716.667 754675.000 -6573 395727.778 1075358.333 -6574 395730.556 742319.444 -6575 395744.444 1060969.444 -6576 395752.778 769961.111 -6577 395777.778 755891.667 -6578 395777.778 822377.778 -6579 395852.778 914008.333 -6580 395855.556 902519.444 -6581 395863.889 1064302.778 -6582 395869.444 937958.333 -6583 395886.111 894144.444 -6584 395900.000 789500.000 -6585 395911.111 973986.111 -6586 395916.667 895802.778 -6587 395916.667 897463.889 -6588 395916.667 899527.778 -6589 395927.778 788336.111 -6590 395950.000 751705.556 -6591 395955.556 748819.444 -6592 395994.444 886077.778 -6593 395994.444 1108100.000 -6594 396000.000 759416.667 -6595 396005.556 778208.333 -6596 396005.556 829461.111 -6597 396011.111 1050316.667 -6598 396019.444 748430.556 -6599 396025.000 820883.333 -6600 396027.778 809369.444 -6601 396030.556 743405.556 -6602 396036.111 933422.222 -6603 396044.444 764780.556 -6604 396047.222 761155.556 -6605 396047.222 768502.778 -6606 396047.222 822116.667 -6607 396047.222 828291.667 -6608 396050.000 833955.556 -6609 396066.667 758336.111 -6610 396077.778 908050.000 -6611 396088.889 777047.222 -6612 396091.667 854463.889 -6613 396108.333 945991.667 -6614 396111.111 876961.111 -6615 396116.667 799047.222 -6616 396127.778 863741.667 -6617 396133.333 1050161.111 -6618 396144.444 787752.778 -6619 396172.222 1049502.778 -6620 396202.778 900438.889 -6621 396205.556 777591.667 -6622 396227.778 872833.333 -6623 396236.111 774111.111 -6624 396247.222 890188.889 -6625 396263.889 1114388.889 -6626 396283.333 1050494.444 -6627 396288.889 902188.889 -6628 396294.444 799561.111 -6629 396297.222 904561.111 -6630 396300.000 1116344.444 -6631 396313.889 1065216.667 -6632 396325.000 787847.222 -6633 396333.333 1053166.667 -6634 396344.444 799700.000 -6635 396355.556 840708.333 -6636 396355.556 849311.111 -6637 396363.889 748027.778 -6638 396375.000 1060613.889 -6639 396400.000 891927.778 -6640 396402.778 852622.222 -6641 396402.778 1063736.111 -6642 396413.889 787747.222 -6643 396416.667 777202.778 -6644 396416.667 1049588.889 -6645 396427.778 741808.333 -6646 396427.778 842866.667 -6647 396441.667 775861.111 -6648 396444.444 808577.778 -6649 396444.444 868647.222 -6650 396455.556 887380.556 -6651 396458.333 799875.000 -6652 396469.444 1050247.222 -6653 396469.444 1069511.111 -6654 396477.778 845272.222 -6655 396477.778 1049872.222 -6656 396486.111 818533.333 -6657 396491.667 818622.222 -6658 396494.444 827444.444 -6659 396511.111 776911.111 -6660 396513.889 753286.111 -6661 396525.000 788972.222 -6662 396527.778 787627.778 -6663 396527.778 837869.444 -6664 396533.333 755169.444 -6665 396536.111 835638.889 -6666 396536.111 917344.444 -6667 396538.889 880261.111 -6668 396547.222 775730.556 -6669 396552.778 1068280.556 -6670 396572.222 893894.444 -6671 396577.778 771747.222 -6672 396580.556 789286.111 -6673 396580.556 837350.000 -6674 396583.333 799866.667 -6675 396600.000 750925.000 -6676 396605.556 955261.111 -6677 396611.111 768852.778 -6678 396616.667 995700.000 -6679 396619.444 741655.556 -6680 396619.444 755666.667 -6681 396636.111 794055.556 -6682 396669.444 757272.222 -6683 396697.222 742322.222 -6684 396700.000 861313.889 -6685 396713.889 981533.333 -6686 396716.667 842527.778 -6687 396733.333 856986.111 -6688 396755.556 898466.667 -6689 396761.111 897044.444 -6690 396763.889 1202400.000 -6691 396794.444 844291.667 -6692 396802.778 874175.000 -6693 396819.444 966594.444 -6694 396830.556 776963.889 -6695 396836.111 757500.000 -6696 396841.667 1108538.889 -6697 396847.222 839297.222 -6698 396847.222 883063.889 -6699 396861.111 749955.556 -6700 396866.667 755847.222 -6701 396883.333 1234816.667 -6702 396891.667 865225.000 -6703 396894.444 841688.889 -6704 396911.111 967472.222 -6705 396927.778 777450.000 -6706 396927.778 787930.556 -6707 396938.889 920427.778 -6708 396941.667 910388.889 -6709 396952.778 742591.667 -6710 396955.556 788800.000 -6711 396977.778 760630.556 -6712 396988.889 781800.000 -6713 397011.111 891230.556 -6714 397016.667 824269.444 -6715 397027.778 751122.222 -6716 397044.444 773272.222 -6717 397047.222 1050808.333 -6718 397055.556 964166.667 -6719 397061.111 842194.444 -6720 397061.111 1056969.444 -6721 397069.444 912066.667 -6722 397083.333 913583.333 -6723 397086.111 902280.556 -6724 397088.889 907244.444 -6725 397102.778 1118355.556 -6726 397111.111 754705.556 -6727 397119.444 888044.444 -6728 397119.444 929480.556 -6729 397127.778 889969.444 -6730 397136.111 756097.222 -6731 397136.111 825994.444 -6732 397147.222 884722.222 -6733 397155.556 756411.111 -6734 397155.556 829530.556 -6735 397155.556 886325.000 -6736 397161.111 838777.778 -6737 397183.333 829869.444 -6738 397194.444 832652.778 -6739 397211.111 822988.889 -6740 397219.444 858891.667 -6741 397252.778 899105.556 -6742 397269.444 763269.444 -6743 397277.778 764522.222 -6744 397286.111 1218363.889 -6745 397294.444 754683.333 -6746 397294.444 1048313.889 -6747 397322.222 748813.889 -6748 397327.778 751319.444 -6749 397338.889 902288.889 -6750 397366.667 775352.778 -6751 397377.778 767016.667 -6752 397383.333 855719.444 -6753 397383.333 1043227.778 -6754 397388.889 798988.889 -6755 397391.667 752244.444 -6756 397391.667 755983.333 -6757 397391.667 1049841.667 -6758 397419.444 922583.333 -6759 397422.222 924725.000 -6760 397425.000 1050130.556 -6761 397427.778 1220125.000 -6762 397436.111 775541.667 -6763 397436.111 939980.556 -6764 397441.667 838086.111 -6765 397444.444 770883.333 -6766 397444.444 845322.222 -6767 397452.778 843850.000 -6768 397458.333 755469.444 -6769 397469.444 925638.889 -6770 397475.000 753108.333 -6771 397475.000 1221952.778 -6772 397477.778 815166.667 -6773 397500.000 755000.000 -6774 397508.333 944963.889 -6775 397508.333 1015325.000 -6776 397519.444 905350.000 -6777 397527.778 790811.111 -6778 397530.556 742233.333 -6779 397530.556 1050636.111 -6780 397536.111 765916.667 -6781 397555.556 948722.222 -6782 397555.556 1052205.556 -6783 397558.333 775780.556 -6784 397561.111 993236.111 -6785 397572.222 896536.111 -6786 397575.000 741066.667 -6787 397588.889 841916.667 -6788 397588.889 1044269.444 -6789 397591.667 949494.444 -6790 397605.556 865263.889 -6791 397611.111 799816.667 -6792 397611.111 868119.444 -6793 397622.222 938041.667 -6794 397625.000 811155.556 -6795 397625.000 872291.667 -6796 397655.556 808713.889 -6797 397658.333 903988.889 -6798 397661.111 755097.222 -6799 397661.111 892616.667 -6800 397661.111 1050766.667 -6801 397669.444 990313.889 -6802 397675.000 896805.556 -6803 397683.333 861580.556 -6804 397686.111 766800.000 -6805 397688.889 820922.222 -6806 397713.889 888741.667 -6807 397761.111 859572.222 -6808 397769.444 896791.667 -6809 397791.667 987847.222 -6810 397811.111 769636.111 -6811 397816.667 928900.000 -6812 397819.444 860502.778 -6813 397830.556 950897.222 -6814 397841.667 749925.000 -6815 397844.444 930733.333 -6816 397850.000 857694.444 -6817 397852.778 759791.667 -6818 397872.222 982097.222 -6819 397894.444 769983.333 -6820 397902.778 777280.556 -6821 397911.111 749294.444 -6822 397913.889 741955.556 -6823 397927.778 873708.333 -6824 397930.556 767305.556 -6825 397930.556 1232469.444 -6826 397941.667 915230.556 -6827 397944.444 751491.667 -6828 397952.778 935522.222 -6829 397955.556 855263.889 -6830 397969.444 885916.667 -6831 397972.222 843113.889 -6832 397975.000 842536.111 -6833 397986.111 879858.333 -6834 397988.889 827011.111 -6835 397991.667 882830.556 -6836 397994.444 884622.222 -6837 398005.556 754600.000 -6838 398016.667 896436.111 -6839 398022.222 750644.444 -6840 398022.222 862672.222 -6841 398027.778 828063.889 -6842 398027.778 1050869.444 -6843 398030.556 798080.556 -6844 398036.111 876736.111 -6845 398058.333 920413.889 -6846 398063.889 838869.444 -6847 398066.667 1010416.667 -6848 398069.444 822972.222 -6849 398072.222 770116.667 -6850 398072.222 820713.889 -6851 398077.778 874950.000 -6852 398088.889 755491.667 -6853 398091.667 754869.444 -6854 398094.444 893972.222 -6855 398097.222 825222.222 -6856 398097.222 863225.000 -6857 398105.556 1204680.556 -6858 398113.889 749833.333 -6859 398119.444 771375.000 -6860 398122.222 852088.889 -6861 398125.000 851716.667 -6862 398127.778 793569.444 -6863 398136.111 790250.000 -6864 398161.111 1118547.222 -6865 398169.444 751555.556 -6866 398169.444 912422.222 -6867 398180.556 970505.556 -6868 398183.333 1005277.778 -6869 398191.667 754188.889 -6870 398200.000 750066.667 -6871 398208.333 840194.444 -6872 398219.444 758277.778 -6873 398222.222 1049333.333 -6874 398230.556 787183.333 -6875 398241.667 749980.556 -6876 398244.444 976322.222 -6877 398247.222 797547.222 -6878 398252.778 836344.444 -6879 398266.667 750158.333 -6880 398269.444 805666.667 -6881 398275.000 754147.222 -6882 398277.778 779036.111 -6883 398288.889 848902.778 -6884 398302.778 752408.333 -6885 398308.333 772313.889 -6886 398311.111 905594.444 -6887 398313.889 757577.778 -6888 398338.889 998911.111 -6889 398341.667 960638.889 -6890 398366.667 844113.889 -6891 398366.667 1049586.111 -6892 398366.667 1050366.667 -6893 398380.556 749652.778 -6894 398380.556 751530.556 -6895 398383.333 854388.889 -6896 398386.111 860252.778 -6897 398394.444 750738.889 -6898 398402.778 825461.111 -6899 398402.778 889547.222 -6900 398411.111 966469.444 -6901 398427.778 828047.222 -6902 398433.333 863977.778 -6903 398438.889 750230.556 -6904 398438.889 841247.222 -6905 398441.667 775586.111 -6906 398441.667 895394.444 -6907 398452.778 826008.333 -6908 398461.111 845397.222 -6909 398466.667 757119.444 -6910 398466.667 799000.000 -6911 398480.556 861725.000 -6912 398483.333 810369.444 -6913 398488.889 868022.222 -6914 398494.444 753561.111 -6915 398513.889 1049980.556 -6916 398522.222 750683.333 -6917 398525.000 894086.111 -6918 398525.000 955355.556 -6919 398527.778 894633.333 -6920 398536.111 831830.556 -6921 398536.111 892419.444 -6922 398538.889 890838.889 -6923 398538.889 891661.111 -6924 398555.556 767077.778 -6925 398555.556 767688.889 -6926 398569.444 847933.333 -6927 398583.333 748033.333 -6928 398597.222 866425.000 -6929 398600.000 753447.222 -6930 398600.000 808155.556 -6931 398611.111 819069.444 -6932 398630.556 790583.333 -6933 398636.111 770561.111 -6934 398638.889 864669.444 -6935 398647.222 750555.556 -6936 398652.778 776127.778 -6937 398658.333 751791.667 -6938 398663.889 750286.111 -6939 398675.000 750950.000 -6940 398680.556 1049713.889 -6941 398691.667 753827.778 -6942 398727.778 899211.111 -6943 398744.444 768661.111 -6944 398769.444 870444.444 -6945 398772.222 750650.000 -6946 398772.222 797022.222 -6947 398775.000 843022.222 -6948 398780.556 751211.111 -6949 398780.556 839369.444 -6950 398783.333 750930.556 -6951 398783.333 799250.000 -6952 398788.889 829508.333 -6953 398811.111 753241.667 -6954 398813.889 830930.556 -6955 398830.556 767108.333 -6956 398841.667 827536.111 -6957 398841.667 874086.111 -6958 398850.000 906558.333 -6959 398855.556 1049866.667 -6960 398863.889 769850.000 -6961 398877.778 900077.778 -6962 398891.667 840266.667 -6963 398891.667 943616.667 -6964 398900.000 754758.333 -6965 398900.000 861572.222 -6966 398905.556 841988.889 -6967 398905.556 887280.556 -6968 398908.333 750733.333 -6969 398908.333 752841.667 -6970 398911.111 749222.222 -6971 398913.889 750380.556 -6972 398916.667 751166.667 -6973 398916.667 753000.000 -6974 398919.444 855769.444 -6975 398922.222 747025.000 -6976 398922.222 997066.667 -6977 398925.000 797472.222 -6978 398936.111 896047.222 -6979 398938.889 968791.667 -6980 398955.556 876519.444 -6981 398963.889 801794.444 -6982 398963.889 824202.778 -6983 398966.667 799747.222 -6984 398969.444 761638.889 -6985 398975.000 830869.444 -6986 398977.778 843063.889 -6987 398991.667 820063.889 -6988 398994.444 766405.556 -6989 399000.000 752894.444 -6990 399000.000 825341.667 -6991 399008.333 750850.000 -6992 399016.667 753288.889 -6993 399019.444 753502.778 -6994 399019.444 846750.000 -6995 399022.222 958005.556 -6996 399033.333 844855.556 -6997 399044.444 844016.667 -6998 399063.889 752719.444 -6999 399088.889 766372.222 -7000 399097.222 753238.889 -7001 399097.222 878211.111 -7002 399111.111 851616.667 -7003 399116.667 752775.000 -7004 399122.222 752541.667 -7005 399136.111 868011.111 -7006 399144.444 939619.444 -7007 399147.222 882733.333 -7008 399161.111 765847.222 -7009 399166.667 753880.556 -7010 399175.000 797175.000 -7011 399180.556 750716.667 -7012 399183.333 752594.444 -7013 399202.778 807433.333 -7014 399205.556 789580.556 -7015 399205.556 1050861.111 -7016 399213.889 752883.333 -7017 399219.444 885719.444 -7018 399230.556 772988.889 -7019 399241.667 838088.889 -7020 399258.333 751200.000 -7021 399266.667 740775.000 -7022 399266.667 741341.667 -7023 399277.778 1221780.556 -7024 399283.333 752741.667 -7025 399286.111 749441.667 -7026 399288.889 853702.778 -7027 399291.667 752966.667 -7028 399302.778 772483.333 -7029 399322.222 858480.556 -7030 399325.000 779991.667 -7031 399325.000 889511.111 -7032 399327.778 890619.444 -7033 399336.111 824725.000 -7034 399355.556 914097.222 -7035 399358.333 741713.889 -7036 399361.111 840255.556 -7037 399375.000 776613.889 -7038 399380.556 752722.222 -7039 399386.111 888655.556 -7040 399388.889 741933.333 -7041 399388.889 752558.333 -7042 399402.778 820133.333 -7043 399416.667 948300.000 -7044 399419.444 741502.778 -7045 399419.444 742047.222 -7046 399425.000 745444.444 -7047 399441.667 740733.333 -7048 399444.444 899372.222 -7049 399452.778 799958.333 -7050 399455.556 752616.667 -7051 399472.222 750669.444 -7052 399477.778 810575.000 -7053 399480.556 743611.111 -7054 399486.111 741375.000 -7055 399486.111 874597.222 -7056 399491.667 759738.889 -7057 399508.333 862619.444 -7058 399511.111 902122.222 -7059 399522.222 751641.667 -7060 399525.000 767516.667 -7061 399530.556 1119000.000 -7062 399536.111 741983.333 -7063 399541.667 895486.111 -7064 399541.667 1121194.444 -7065 399547.222 759972.222 -7066 399547.222 828122.222 -7067 399555.556 849175.000 -7068 399555.556 860138.889 -7069 399569.444 858052.778 -7070 399583.333 841722.222 -7071 399586.111 759197.222 -7072 399594.444 825958.333 -7073 399605.556 756058.333 -7074 399608.333 897238.889 -7075 399611.111 829988.889 -7076 399613.889 1055102.778 -7077 399616.667 824913.889 -7078 399625.000 746791.667 -7079 399625.000 767280.556 -7080 399625.000 843280.556 -7081 399633.333 752505.556 -7082 399666.667 758000.000 -7083 399666.667 828855.556 -7084 399675.000 872775.000 -7085 399677.778 847091.667 -7086 399680.556 753416.667 -7087 399686.111 891622.222 -7088 399688.889 829377.778 -7089 399697.222 815366.667 -7090 399700.000 812994.444 -7091 399702.778 740691.667 -7092 399708.333 807508.333 -7093 399719.444 746833.333 -7094 399719.444 765202.778 -7095 399741.667 758202.778 -7096 399747.222 938008.333 -7097 399755.556 1117844.444 -7098 399777.778 796147.222 -7099 399777.778 1051313.889 -7100 399780.556 767333.333 -7101 399783.333 861180.556 -7102 399786.111 820036.111 -7103 399813.889 740666.667 -7104 399819.444 888227.778 -7105 399825.000 772497.222 -7106 399830.556 758241.667 -7107 399830.556 761844.444 -7108 399836.111 768227.778 -7109 399852.778 1048200.000 -7110 399861.111 882588.889 -7111 399866.667 830616.667 -7112 399869.444 951447.222 -7113 399872.222 907633.333 -7114 399880.556 807316.667 -7115 399880.556 811766.667 -7116 399927.778 747880.556 -7117 399936.111 817341.667 -7118 399936.111 1050891.667 -7119 399947.222 844080.556 -7120 399955.556 826744.444 -7121 399958.333 866200.000 -7122 399963.889 1118425.000 -7123 399966.667 749930.556 -7124 399966.667 795861.111 -7125 399969.444 767069.444 -7126 399975.000 857466.667 -7127 399977.778 763544.444 -7128 400016.667 768505.556 -7129 400025.000 799983.333 -7130 400063.889 757036.111 -7131 400069.444 881580.556 -7132 400083.333 752608.333 -7133 400083.333 790783.333 -7134 400088.889 771158.333 -7135 400102.778 799011.111 -7136 400108.333 892822.222 -7137 400113.889 750152.778 -7138 400113.889 783736.111 -7139 400144.444 743116.667 -7140 400150.000 1052700.000 -7141 400158.333 741452.778 -7142 400161.111 810727.778 -7143 400175.000 904241.667 -7144 400177.778 795897.222 -7145 400180.556 807344.444 -7146 400186.111 785041.667 -7147 400191.667 828794.444 -7148 400208.333 980697.222 -7149 400213.889 1220991.667 -7150 400216.667 767283.333 -7151 400227.778 824447.222 -7152 400241.667 798908.333 -7153 400247.222 801002.778 -7154 400250.000 880733.333 -7155 400272.222 808152.778 -7156 400277.778 748694.444 -7157 400277.778 885733.333 -7158 400288.889 756211.111 -7159 400291.667 810391.667 -7160 400297.222 746188.889 -7161 400313.889 909605.556 -7162 400322.222 859125.000 -7163 400330.556 796616.667 -7164 400333.333 831583.333 -7165 400336.111 765047.222 -7166 400347.222 879580.556 -7167 400361.111 746183.333 -7168 400361.111 755141.667 -7169 400363.889 889569.444 -7170 400375.000 1079125.000 -7171 400377.778 763058.333 -7172 400391.667 764311.111 -7173 400391.667 910691.667 -7174 400394.444 842033.333 -7175 400411.111 868744.444 -7176 400419.444 754766.667 -7177 400422.222 876386.111 -7178 400427.778 914975.000 -7179 400444.444 1117313.889 -7180 400455.556 860086.111 -7181 400455.556 878305.556 -7182 400466.667 941355.556 -7183 400469.444 796547.222 -7184 400480.556 901550.000 -7185 400483.333 864691.667 -7186 400491.667 1015325.000 -7187 400497.222 849397.222 -7188 400502.778 1050494.444 -7189 400505.556 749538.889 -7190 400505.556 775205.556 -7191 400513.889 874333.333 -7192 400513.889 945238.889 -7193 400525.000 806286.111 -7194 400530.556 1116727.778 -7195 400547.222 882516.667 -7196 400552.778 840261.111 -7197 400569.444 765525.000 -7198 400580.556 824013.889 -7199 400588.889 1063883.333 -7200 400608.333 956016.667 -7201 400613.889 876380.556 -7202 400630.556 767041.667 -7203 400638.889 807211.111 -7204 400650.000 877019.444 -7205 400652.778 749194.444 -7206 400652.778 800238.889 -7207 400675.000 745311.111 -7208 400680.556 749011.111 -7209 400680.556 825197.222 -7210 400683.333 858483.333 -7211 400691.667 807838.889 -7212 400697.222 753166.667 -7213 400705.556 807611.111 -7214 400711.111 748652.778 -7215 400716.667 740547.222 -7216 400736.111 1046425.000 -7217 400755.556 798983.333 -7218 400758.333 1022227.778 -7219 400763.889 829438.889 -7220 400788.889 936163.889 -7221 400791.667 753019.444 -7222 400794.444 798658.333 -7223 400811.111 750900.000 -7224 400819.444 830252.778 -7225 400830.556 897380.556 -7226 400833.333 798483.333 -7227 400847.222 1048125.000 -7228 400847.222 1049388.889 -7229 400861.111 918130.556 -7230 400861.111 1059388.889 -7231 400869.444 797508.333 -7232 400875.000 805705.556 -7233 400875.000 870597.222 -7234 400877.778 1088097.222 -7235 400883.333 912836.111 -7236 400886.111 829166.667 -7237 400888.889 985191.667 -7238 400911.111 740483.333 -7239 400911.111 795877.778 -7240 400930.556 830180.556 -7241 400941.667 759116.667 -7242 400952.778 876475.000 -7243 400958.333 751255.556 -7244 400958.333 807247.222 -7245 400961.111 989522.222 -7246 400975.000 993616.667 -7247 400977.778 742180.556 -7248 400991.667 1049366.667 -7249 401002.778 795872.222 -7250 401002.778 798408.333 -7251 401002.778 895908.333 -7252 401005.556 748522.222 -7253 401011.111 800675.000 -7254 401016.667 760855.556 -7255 401027.778 846330.556 -7256 401036.111 798694.444 -7257 401052.778 856802.778 -7258 401072.222 808413.889 -7259 401075.000 832675.000 -7260 401077.778 740569.444 -7261 401083.333 837525.000 -7262 401083.333 961541.667 -7263 401083.333 1045194.444 -7264 401091.667 910175.000 -7265 401097.222 765036.111 -7266 401100.000 867719.444 -7267 401105.556 882072.222 -7268 401108.333 767161.111 -7269 401108.333 770352.778 -7270 401119.444 800175.000 -7271 401125.000 855969.444 -7272 401125.000 1049361.111 -7273 401130.556 872625.000 -7274 401138.889 878730.556 -7275 401138.889 879561.111 -7276 401150.000 1116541.667 -7277 401161.111 877783.333 -7278 401163.889 882433.333 -7279 401166.667 800086.111 -7280 401172.222 821194.444 -7281 401172.222 843538.889 -7282 401177.778 804105.556 -7283 401183.333 771902.778 -7284 401188.889 788183.333 -7285 401202.778 1238222.222 -7286 401211.111 887452.778 -7287 401211.111 905630.556 -7288 401213.889 753402.778 -7289 401213.889 820108.333 -7290 401222.222 886452.778 -7291 401222.222 966622.222 -7292 401222.222 1027247.222 -7293 401236.111 876533.333 -7294 401238.889 860133.333 -7295 401244.444 798800.000 -7296 401244.444 876300.000 -7297 401250.000 798666.667 -7298 401250.000 916250.000 -7299 401261.111 740497.222 -7300 401261.111 829291.667 -7301 401291.667 798683.333 -7302 401291.667 994550.000 -7303 401300.000 765708.333 -7304 401302.778 755152.778 -7305 401302.778 1115777.778 -7306 401311.111 952313.889 -7307 401313.889 750677.778 -7308 401319.444 740350.000 -7309 401322.222 844308.333 -7310 401350.000 862205.556 -7311 401363.889 747291.667 -7312 401372.222 971802.778 -7313 401375.000 998291.667 -7314 401377.778 798983.333 -7315 401391.667 748150.000 -7316 401394.444 966588.889 -7317 401408.333 977225.000 -7318 401411.111 806883.333 -7319 401416.667 873947.222 -7320 401447.222 842425.000 -7321 401461.111 747122.222 -7322 401469.444 789122.222 -7323 401483.333 798880.556 -7324 401483.333 893647.222 -7325 401488.889 1029625.000 -7326 401494.444 810663.889 -7327 401497.222 754022.222 -7328 401497.222 771286.111 -7329 401500.000 742138.889 -7330 401502.778 740313.889 -7331 401511.111 762513.889 -7332 401511.111 799077.778 -7333 401519.444 749169.444 -7334 401527.778 766030.556 -7335 401533.333 740286.111 -7336 401536.111 826852.778 -7337 401536.111 889644.444 -7338 401538.889 797413.889 -7339 401544.444 752219.444 -7340 401544.444 807105.556 -7341 401566.667 758330.556 -7342 401566.667 762025.000 -7343 401572.222 760508.333 -7344 401572.222 763072.222 -7345 401597.222 790666.667 -7346 401605.556 1032138.889 -7347 401613.889 790291.667 -7348 401633.333 763952.778 -7349 401633.333 1104022.222 -7350 401638.889 959447.222 -7351 401652.778 1116100.000 -7352 401663.889 975855.556 -7353 401666.667 807000.000 -7354 401669.444 749180.556 -7355 401672.222 1051013.889 -7356 401675.000 921725.000 -7357 401697.222 805938.889 -7358 401708.333 740277.778 -7359 401719.444 849813.889 -7360 401733.333 798577.778 -7361 401736.111 802377.778 -7362 401736.111 854941.667 -7363 401741.667 751072.222 -7364 401744.444 749230.556 -7365 401755.556 1010125.000 -7366 401758.333 860216.667 -7367 401766.667 755480.556 -7368 401777.778 745838.889 -7369 401783.333 740222.222 -7370 401783.333 751288.889 -7371 401786.111 834355.556 -7372 401786.111 1222347.222 -7373 401794.444 1184725.000 -7374 401797.222 761791.667 -7375 401808.333 754294.444 -7376 401825.000 806913.889 -7377 401830.556 798244.444 -7378 401841.667 755383.333 -7379 401855.556 754519.444 -7380 401872.222 767302.778 -7381 401877.778 851275.000 -7382 401880.556 869038.889 -7383 401888.889 852041.667 -7384 401905.556 747027.778 -7385 401916.667 852688.889 -7386 401922.222 740163.889 -7387 401933.333 853863.889 -7388 401933.333 863605.556 -7389 401944.444 1100611.111 -7390 401947.222 925830.556 -7391 401950.000 779833.333 -7392 401950.000 866672.222 -7393 401952.778 884041.667 -7394 401963.889 762013.889 -7395 401963.889 807752.778 -7396 401988.889 754766.667 -7397 401994.444 848052.778 -7398 402000.000 740283.333 -7399 402013.889 771891.667 -7400 402016.667 980675.000 -7401 402019.444 848091.667 -7402 402019.444 1006252.778 -7403 402022.222 740125.000 -7404 402022.222 896980.556 -7405 402022.222 931250.000 -7406 402030.556 799263.889 -7407 402052.778 742141.667 -7408 402055.556 805569.444 -7409 402066.667 751000.000 -7410 402077.778 750730.556 -7411 402077.778 799472.222 -7412 402088.889 789838.889 -7413 402097.222 797672.222 -7414 402105.556 812663.889 -7415 402108.333 752786.111 -7416 402108.333 767913.889 -7417 402113.889 761236.111 -7418 402113.889 885061.111 -7419 402144.444 846369.444 -7420 402150.000 750111.111 -7421 402150.000 1048222.222 -7422 402152.778 782447.222 -7423 402152.778 860263.889 -7424 402169.444 747433.333 -7425 402177.778 945380.556 -7426 402186.111 808730.556 -7427 402191.667 796097.222 -7428 402200.000 744736.111 -7429 402202.778 740125.000 -7430 402202.778 889619.444 -7431 402225.000 844844.444 -7432 402227.778 857788.889 -7433 402230.556 835575.000 -7434 402233.333 769538.889 -7435 402247.222 1052708.333 -7436 402263.889 806516.667 -7437 402269.444 789366.667 -7438 402275.000 903594.444 -7439 402297.222 1008380.556 -7440 402300.000 909500.000 -7441 402305.556 1040722.222 -7442 402313.889 756344.444 -7443 402319.444 927083.333 -7444 402322.222 768850.000 -7445 402330.556 761375.000 -7446 402333.333 740161.111 -7447 402333.333 910625.000 -7448 402338.889 1116577.778 -7449 402344.444 1004169.444 -7450 402352.778 768416.667 -7451 402361.111 740011.111 -7452 402388.889 891230.556 -7453 402394.444 756513.889 -7454 402397.222 769202.778 -7455 402397.222 788352.778 -7456 402402.778 795769.444 -7457 402411.111 760566.667 -7458 402411.111 768944.444 -7459 402413.889 752841.667 -7460 402416.667 881841.667 -7461 402419.444 743016.667 -7462 402427.778 778933.333 -7463 402430.556 740011.111 -7464 402430.556 792377.778 -7465 402433.333 886425.000 -7466 402436.111 788491.667 -7467 402450.000 755955.556 -7468 402452.778 756500.000 -7469 402455.556 748463.889 -7470 402463.889 802116.667 -7471 402469.444 867250.000 -7472 402472.222 796775.000 -7473 402483.333 996330.556 -7474 402497.222 788491.667 -7475 402502.778 1037994.444 -7476 402525.000 756777.778 -7477 402561.111 754641.667 -7478 402588.889 768322.222 -7479 402588.889 1036233.333 -7480 402594.444 892333.333 -7481 402600.000 742741.667 -7482 402625.000 801875.000 -7483 402627.778 769141.667 -7484 402627.778 856758.333 -7485 402638.889 744916.667 -7486 402644.444 758044.444 -7487 402647.222 806263.889 -7488 402652.778 767086.111 -7489 402680.556 967466.667 -7490 402686.111 929530.556 -7491 402691.667 798900.000 -7492 402694.444 745236.111 -7493 402694.444 857280.556 -7494 402700.000 873866.667 -7495 402708.333 798994.444 -7496 402708.333 807816.667 -7497 402719.444 806097.222 -7498 402719.444 818597.222 -7499 402722.222 816061.111 -7500 402727.778 809969.444 -7501 402736.111 764063.889 -7502 402736.111 768847.222 -7503 402750.000 769158.333 -7504 402750.000 1069577.778 -7505 402752.778 768483.333 -7506 402752.778 817511.111 -7507 402761.111 748494.444 -7508 402769.444 858419.444 -7509 402783.333 795450.000 -7510 402794.444 753875.000 -7511 402794.444 865108.333 -7512 402808.333 742516.667 -7513 402819.444 1001652.778 -7514 402819.444 1047772.222 -7515 402822.222 860411.111 -7516 402841.667 841555.556 -7517 402858.333 759847.222 -7518 402858.333 766505.556 -7519 402872.222 788897.222 -7520 402883.333 752094.444 -7521 402883.333 872938.889 -7522 402891.667 850288.889 -7523 402902.778 740180.556 -7524 402908.333 788691.667 -7525 402911.111 795472.222 -7526 402916.667 793894.444 -7527 402916.667 909188.889 -7528 402922.222 798819.444 -7529 402941.667 872488.889 -7530 402941.667 904277.778 -7531 402961.111 740513.889 -7532 402966.667 784500.000 -7533 402969.444 1116938.889 -7534 402972.222 743586.111 -7535 402986.111 830680.556 -7536 402986.111 894850.000 -7537 402988.889 751813.889 -7538 402988.889 788925.000 -7539 402991.667 839688.889 -7540 402994.444 1099880.556 -7541 403000.000 900608.333 -7542 403008.333 852419.444 -7543 403013.889 795391.667 -7544 403030.556 969886.111 -7545 403041.667 739927.778 -7546 403041.667 741008.333 -7547 403041.667 999000.000 -7548 403044.444 826963.889 -7549 403050.000 878005.556 -7550 403055.556 896027.778 -7551 403058.333 880211.111 -7552 403063.889 1212308.333 -7553 403077.778 759658.333 -7554 403083.333 881558.333 -7555 403083.333 1050805.556 -7556 403088.889 765936.111 -7557 403105.556 759397.222 -7558 403105.556 789388.889 -7559 403111.111 783244.444 -7560 403116.667 753255.556 -7561 403119.444 839158.333 -7562 403133.333 889736.111 -7563 403138.889 855005.556 -7564 403144.444 891697.222 -7565 403147.222 883500.000 -7566 403155.556 798313.889 -7567 403161.111 745141.667 -7568 403172.222 746202.778 -7569 403180.556 740155.556 -7570 403200.000 756105.556 -7571 403211.111 793797.222 -7572 403216.667 806100.000 -7573 403219.444 753283.333 -7574 403230.556 793127.778 -7575 403244.444 797013.889 -7576 403247.222 798925.000 -7577 403247.222 805777.778 -7578 403252.778 809013.889 -7579 403272.222 760113.889 -7580 403275.000 805961.111 -7581 403277.778 906069.444 -7582 403280.556 758911.111 -7583 403280.556 796155.556 -7584 403283.333 747911.111 -7585 403288.889 796413.889 -7586 403294.444 759655.556 -7587 403294.444 765155.556 -7588 403294.444 1048547.222 -7589 403300.000 760808.333 -7590 403302.778 739819.444 -7591 403325.000 984483.333 -7592 403336.111 756377.778 -7593 403336.111 759477.778 -7594 403352.778 820069.444 -7595 403355.556 759272.222 -7596 403358.333 783911.111 -7597 403358.333 798700.000 -7598 403366.667 740475.000 -7599 403366.667 754694.444 -7600 403369.444 1049116.667 -7601 403372.222 764758.333 -7602 403375.000 759800.000 -7603 403375.000 797136.111 -7604 403386.111 856444.444 -7605 403386.111 953930.556 -7606 403391.667 767258.333 -7607 403402.778 853508.333 -7608 403408.333 764116.667 -7609 403433.333 1117200.000 -7610 403444.444 866652.778 -7611 403452.778 756333.333 -7612 403455.556 763902.778 -7613 403461.111 742883.333 -7614 403461.111 948722.222 -7615 403469.444 925688.889 -7616 403477.778 798644.444 -7617 403486.111 746594.444 -7618 403486.111 788838.889 -7619 403488.889 851500.000 -7620 403488.889 1047013.889 -7621 403494.444 762136.111 -7622 403505.556 798863.889 -7623 403513.889 843738.889 -7624 403513.889 903244.444 -7625 403516.667 761347.222 -7626 403519.444 887641.667 -7627 403525.000 744405.556 -7628 403538.889 753052.778 -7629 403552.778 800497.222 -7630 403561.111 801102.778 -7631 403583.333 814344.444 -7632 403591.667 914344.444 -7633 403605.556 740386.111 -7634 403611.111 837597.222 -7635 403613.889 739744.444 -7636 403616.667 761844.444 -7637 403641.667 749516.667 -7638 403641.667 1117377.778 -7639 403647.222 800225.000 -7640 403650.000 804141.667 -7641 403658.333 749433.333 -7642 403666.667 961958.333 -7643 403672.222 769313.889 -7644 403672.222 787916.667 -7645 403677.778 810055.556 -7646 403697.222 806341.667 -7647 403705.556 799750.000 -7648 403708.333 802350.000 -7649 403716.667 752019.444 -7650 403719.444 739994.444 -7651 403719.444 752930.556 -7652 403722.222 979711.111 -7653 403725.000 895472.222 -7654 403733.333 756294.444 -7655 403741.667 867688.889 -7656 403752.778 807038.889 -7657 403755.556 823972.222 -7658 403763.889 1046916.667 -7659 403766.667 744250.000 -7660 403769.444 1117950.000 -7661 403772.222 1055211.111 -7662 403780.556 939366.667 -7663 403788.889 745469.444 -7664 403791.667 876686.111 -7665 403794.444 860886.111 -7666 403802.778 790755.556 -7667 403813.889 798600.000 -7668 403816.667 824925.000 -7669 403819.444 803930.556 -7670 403830.556 798066.667 -7671 403844.444 778825.000 -7672 403855.556 797591.667 -7673 403858.333 1222797.222 -7674 403875.000 1045611.111 -7675 403880.556 759183.333 -7676 403886.111 786725.000 -7677 403886.111 854994.444 -7678 403908.333 754925.000 -7679 403908.333 798102.778 -7680 403916.667 743988.889 -7681 403916.667 1118500.000 -7682 403922.222 799002.778 -7683 403922.222 800911.111 -7684 403927.778 958386.111 -7685 403930.556 813466.667 -7686 403930.556 843761.111 -7687 403930.556 901547.222 -7688 403933.333 813338.889 -7689 403933.333 824858.333 -7690 403936.111 779413.889 -7691 403936.111 797863.889 -7692 403936.111 969225.000 -7693 403938.889 799122.222 -7694 403944.444 841727.778 -7695 403947.222 814072.222 -7696 403955.556 798388.889 -7697 403958.333 800333.333 -7698 403958.333 810850.000 -7699 403963.889 913388.889 -7700 403969.444 791519.444 -7701 403969.444 888705.556 -7702 403972.222 913847.222 -7703 403977.778 1050744.444 -7704 403980.556 770233.333 -7705 403983.333 798900.000 -7706 403986.111 794222.222 -7707 403988.889 798411.111 -7708 403997.222 746347.222 -7709 404008.333 935802.778 -7710 404019.444 835452.778 -7711 404022.222 755875.000 -7712 404030.556 797783.333 -7713 404036.111 739919.444 -7714 404058.333 798252.778 -7715 404058.333 799122.222 -7716 404063.889 755022.222 -7717 404075.000 896427.778 -7718 404077.778 740347.222 -7719 404077.778 749786.111 -7720 404086.111 759219.444 -7721 404086.111 798391.667 -7722 404086.111 800836.111 -7723 404088.889 829555.556 -7724 404091.667 925675.000 -7725 404105.556 753786.111 -7726 404125.000 798794.444 -7727 404127.778 847763.889 -7728 404130.556 795705.556 -7729 404141.667 790202.778 -7730 404141.667 799880.556 -7731 404141.667 822411.111 -7732 404147.222 742300.000 -7733 404147.222 743658.333 -7734 404152.778 856505.556 -7735 404155.556 741913.889 -7736 404163.889 1206519.444 -7737 404166.667 868750.000 -7738 404169.444 865947.222 -7739 404172.222 798652.778 -7740 404175.000 862713.889 -7741 404183.333 1013708.333 -7742 404188.889 805897.222 -7743 404197.222 798502.778 -7744 404202.778 917194.444 -7745 404208.333 745611.111 -7746 404208.333 894144.444 -7747 404233.333 784341.667 -7748 404233.333 1047086.111 -7749 404236.111 798830.556 -7750 404255.556 800941.667 -7751 404258.333 786202.778 -7752 404258.333 869080.556 -7753 404258.333 897791.667 -7754 404263.889 832969.444 -7755 404263.889 907925.000 -7756 404266.667 885261.111 -7757 404272.222 783891.667 -7758 404272.222 861255.556 -7759 404311.111 792611.111 -7760 404316.667 981055.556 -7761 404330.556 742000.000 -7762 404333.333 807719.444 -7763 404336.111 893130.556 -7764 404338.889 830738.889 -7765 404344.444 800825.000 -7766 404344.444 849777.778 -7767 404347.222 892177.778 -7768 404350.000 800663.889 -7769 404369.444 843797.222 -7770 404377.778 813733.333 -7771 404383.333 798433.333 -7772 404400.000 816991.667 -7773 404402.778 953775.000 -7774 404402.778 993694.444 -7775 404405.556 799961.111 -7776 404416.667 741302.778 -7777 404416.667 753419.444 -7778 404416.667 798822.222 -7779 404455.556 950658.333 -7780 404461.111 800677.778 -7781 404463.889 741786.111 -7782 404463.889 743863.889 -7783 404469.444 759666.667 -7784 404483.333 1222966.667 -7785 404502.778 831886.111 -7786 404511.111 853700.000 -7787 404513.889 743083.333 -7788 404533.333 1117772.222 -7789 404538.889 758183.333 -7790 404555.556 1095280.556 -7791 404566.667 742469.444 -7792 404577.778 921711.111 -7793 404591.667 743613.889 -7794 404591.667 906716.667 -7795 404591.667 963772.222 -7796 404597.222 785919.444 -7797 404597.222 795233.333 -7798 404602.778 880952.778 -7799 404608.333 799511.111 -7800 404613.889 836700.000 -7801 404641.667 806011.111 -7802 404650.000 878963.889 -7803 404655.556 800658.333 -7804 404672.222 876683.333 -7805 404677.778 841805.556 -7806 404680.556 769322.222 -7807 404700.000 753208.333 -7808 404711.111 838927.778 -7809 404741.667 957333.333 -7810 404755.556 854944.444 -7811 404769.444 930030.556 -7812 404772.222 1095861.111 -7813 404775.000 1049008.333 -7814 404777.778 742911.111 -7815 404780.556 785411.111 -7816 404780.556 859666.667 -7817 404783.333 991263.889 -7818 404791.667 792000.000 -7819 404797.222 846283.333 -7820 404797.222 856277.778 -7821 404800.000 799786.111 -7822 404802.778 863947.222 -7823 404813.889 789188.889 -7824 404813.889 969602.778 -7825 404819.444 757580.556 -7826 404822.222 785519.444 -7827 404841.667 889936.111 -7828 404847.222 780105.556 -7829 404850.000 787250.000 -7830 404850.000 1068311.111 -7831 404861.111 744522.222 -7832 404863.889 794516.667 -7833 404863.889 861336.111 -7834 404872.222 856130.556 -7835 404875.000 944108.333 -7836 404897.222 814458.333 -7837 404897.222 1119380.556 -7838 404905.556 870963.889 -7839 404913.889 799050.000 -7840 404919.444 1072569.444 -7841 404933.333 798608.333 -7842 404936.111 843147.222 -7843 404944.444 896516.667 -7844 404950.000 819847.222 -7845 404966.667 806069.444 -7846 404986.111 989475.000 -7847 404991.667 743994.444 -7848 405005.556 828936.111 -7849 405008.333 759702.778 -7850 405008.333 800677.778 -7851 405030.556 786305.556 -7852 405033.333 757016.667 -7853 405041.667 799491.667 -7854 405063.889 798433.333 -7855 405066.667 742658.333 -7856 405066.667 837480.556 -7857 405083.333 858255.556 -7858 405083.333 868416.667 -7859 405100.000 800947.222 -7860 405108.333 756033.333 -7861 405113.889 753908.333 -7862 405122.222 748597.222 -7863 405122.222 1114736.111 -7864 405141.667 889905.556 -7865 405152.778 1075458.333 -7866 405158.333 755555.556 -7867 405169.444 1016427.778 -7868 405183.333 801669.444 -7869 405186.111 783950.000 -7870 405194.444 808841.667 -7871 405197.222 872477.778 -7872 405205.556 814741.667 -7873 405208.333 925277.778 -7874 405211.111 873783.333 -7875 405216.667 980550.000 -7876 405219.444 1119383.333 -7877 405222.222 800344.444 -7878 405247.222 1118630.556 -7879 405261.111 750619.444 -7880 405266.667 996333.333 -7881 405269.444 975955.556 -7882 405275.000 894925.000 -7883 405288.889 794616.667 -7884 405294.444 891772.222 -7885 405302.778 1047108.333 -7886 405308.333 1122975.000 -7887 405316.667 801691.667 -7888 405322.222 914147.222 -7889 405344.444 835205.556 -7890 405363.889 801847.222 -7891 405369.444 893575.000 -7892 405394.444 754972.222 -7893 405394.444 769611.111 -7894 405408.333 745880.556 -7895 405416.667 797994.444 -7896 405430.556 743636.111 -7897 405433.333 787880.556 -7898 405433.333 791625.000 -7899 405488.889 768122.222 -7900 405488.889 784294.444 -7901 405488.889 845702.778 -7902 405491.667 828275.000 -7903 405500.000 913847.222 -7904 405508.333 948191.667 -7905 405511.111 801930.556 -7906 405527.778 905061.111 -7907 405530.556 797575.000 -7908 405533.333 745319.444 -7909 405538.889 852775.000 -7910 405544.444 819180.556 -7911 405544.444 1231819.444 -7912 405555.556 759822.222 -7913 405561.111 908658.333 -7914 405575.000 828625.000 -7915 405580.556 900350.000 -7916 405588.889 791513.889 -7917 405622.222 1119288.889 -7918 405630.556 802086.111 -7919 405638.889 888988.889 -7920 405644.444 871069.444 -7921 405647.222 878930.556 -7922 405666.667 767008.333 -7923 405669.444 886163.889 -7924 405675.000 882477.778 -7925 405675.000 896405.556 -7926 405677.778 841936.111 -7927 405683.333 745388.889 -7928 405686.111 750950.000 -7929 405694.444 746333.333 -7930 405694.444 774030.556 -7931 405697.222 773972.222 -7932 405697.222 797650.000 -7933 405716.667 807266.667 -7934 405719.444 857691.667 -7935 405725.000 744930.556 -7936 405725.000 898133.333 -7937 405727.778 810858.333 -7938 405733.333 766916.667 -7939 405736.111 802358.333 -7940 405741.667 746102.778 -7941 405747.222 769894.444 -7942 405763.889 1242627.778 -7943 405772.222 742286.111 -7944 405788.889 861902.778 -7945 405791.667 744119.444 -7946 405794.444 753411.111 -7947 405800.000 797669.444 -7948 405813.889 795666.667 -7949 405825.000 1047313.889 -7950 405833.333 909691.667 -7951 405844.444 1023019.444 -7952 405852.778 1050838.889 -7953 405861.111 795316.667 -7954 405861.111 983880.556 -7955 405866.667 1223905.556 -7956 405875.000 866750.000 -7957 405883.333 736583.333 -7958 405883.333 824250.000 -7959 405886.111 831286.111 -7960 405888.889 737294.444 -7961 405891.667 744722.222 -7962 405891.667 765527.778 -7963 405891.667 802252.778 -7964 405900.000 985058.333 -7965 405902.778 998605.556 -7966 405916.667 1118833.333 -7967 405941.667 751947.222 -7968 405947.222 815269.444 -7969 405961.111 795558.333 -7970 405969.444 880380.556 -7971 405980.556 795613.889 -7972 405983.333 760936.111 -7973 405983.333 1241561.111 -7974 406000.000 1124636.111 -7975 406005.556 839752.778 -7976 406011.111 813613.889 -7977 406013.889 753955.556 -7978 406013.889 797600.000 -7979 406027.778 787088.889 -7980 406027.778 795650.000 -7981 406027.778 806491.667 -7982 406027.778 868672.222 -7983 406033.333 783250.000 -7984 406041.667 736558.333 -7985 406044.444 956575.000 -7986 406050.000 777258.333 -7987 406055.556 978588.889 -7988 406058.333 889872.222 -7989 406080.556 742780.556 -7990 406080.556 797413.889 -7991 406086.111 865400.000 -7992 406097.222 1119383.333 -7993 406111.111 1118991.667 -7994 406113.889 798372.222 -7995 406116.667 767188.889 -7996 406127.778 894591.667 -7997 406130.556 805630.556 -7998 406150.000 896222.222 -7999 406155.556 737300.000 -8000 406166.667 873208.333 -8001 406172.222 855047.222 -8002 406175.000 896002.778 -8003 406183.333 806044.444 -8004 406186.111 805775.000 -8005 406188.889 980969.444 -8006 406197.222 1118094.444 -8007 406200.000 825108.333 -8008 406200.000 966288.889 -8009 406211.111 904619.444 -8010 406211.111 986572.222 -8011 406213.889 791527.778 -8012 406219.444 742450.000 -8013 406225.000 808380.556 -8014 406227.778 737247.222 -8015 406227.778 939338.889 -8016 406238.889 737088.889 -8017 406255.556 1032072.222 -8018 406263.889 753461.111 -8019 406266.667 761930.556 -8020 406283.333 763875.000 -8021 406283.333 876961.111 -8022 406297.222 892747.222 -8023 406297.222 913150.000 -8024 406300.000 744277.778 -8025 406300.000 893325.000 -8026 406300.000 1005152.778 -8027 406305.556 761713.889 -8028 406308.333 929244.444 -8029 406319.444 737130.556 -8030 406336.111 744077.778 -8031 406350.000 802283.333 -8032 406352.778 822333.333 -8033 406355.556 1047547.222 -8034 406358.333 782961.111 -8035 406361.111 736819.444 -8036 406361.111 911672.222 -8037 406363.889 829691.667 -8038 406366.667 791444.444 -8039 406366.667 802402.778 -8040 406369.444 975850.000 -8041 406377.778 744513.889 -8042 406386.111 736405.556 -8043 406386.111 775688.889 -8044 406386.111 1119380.556 -8045 406402.778 917427.778 -8046 406408.333 743111.111 -8047 406408.333 743838.889 -8048 406408.333 748816.667 -8049 406411.111 1026263.889 -8050 406413.889 887833.333 -8051 406416.667 748363.889 -8052 406419.444 736700.000 -8053 406422.222 798511.111 -8054 406425.000 742858.333 -8055 406427.778 787730.556 -8056 406427.778 915644.444 -8057 406430.556 736961.111 -8058 406430.556 775808.333 -8059 406430.556 1112800.000 -8060 406441.667 974500.000 -8061 406444.444 804163.889 -8062 406458.333 805980.556 -8063 406461.111 1114972.222 -8064 406469.444 836097.222 -8065 406472.222 895911.111 -8066 406472.222 971130.556 -8067 406500.000 814522.222 -8068 406502.778 896519.444 -8069 406511.111 812991.667 -8070 406530.556 815811.111 -8071 406536.111 972858.333 -8072 406538.889 750869.444 -8073 406541.667 841508.333 -8074 406547.222 736722.222 -8075 406547.222 754750.000 -8076 406547.222 761011.111 -8077 406552.778 743902.778 -8078 406572.222 961861.111 -8079 406575.000 735836.111 -8080 406577.778 849519.444 -8081 406583.333 743000.000 -8082 406586.111 736416.667 -8083 406588.889 743477.778 -8084 406594.444 743233.333 -8085 406597.222 754772.222 -8086 406597.222 802394.444 -8087 406600.000 1119955.556 -8088 406608.333 862419.444 -8089 406625.000 787802.778 -8090 406627.778 735519.444 -8091 406630.556 868694.444 -8092 406638.889 742111.111 -8093 406638.889 775961.111 -8094 406641.667 737088.889 -8095 406641.667 742636.111 -8096 406641.667 904347.222 -8097 406644.444 742647.222 -8098 406658.333 734886.111 -8099 406661.111 806233.333 -8100 406661.111 895800.000 -8101 406669.444 751577.778 -8102 406669.444 947211.111 -8103 406669.444 1118872.222 -8104 406672.222 813550.000 -8105 406677.778 1119380.556 -8106 406686.111 735275.000 -8107 406686.111 741147.222 -8108 406688.889 1118238.889 -8109 406700.000 754958.333 -8110 406705.556 782388.889 -8111 406722.222 743577.778 -8112 406733.333 805766.667 -8113 406733.333 845188.889 -8114 406733.333 921619.444 -8115 406738.889 857213.889 -8116 406763.889 742911.111 -8117 406766.667 818705.556 -8118 406766.667 958588.889 -8119 406786.111 735894.444 -8120 406786.111 752372.222 -8121 406788.889 734175.000 -8122 406788.889 736744.444 -8123 406788.889 910727.778 -8124 406791.667 804950.000 -8125 406800.000 965061.111 -8126 406800.000 1223508.333 -8127 406802.778 734555.556 -8128 406805.556 734747.222 -8129 406805.556 1223700.000 -8130 406813.889 734002.778 -8131 406813.889 820219.444 -8132 406825.000 931208.333 -8133 406827.778 854272.222 -8134 406833.333 744430.556 -8135 406836.111 735105.556 -8136 406841.667 746361.111 -8137 406844.444 803291.667 -8138 406844.444 896800.000 -8139 406850.000 737022.222 -8140 406855.556 761958.333 -8141 406858.333 926772.222 -8142 406861.111 754972.222 -8143 406866.667 733738.889 -8144 406866.667 841377.778 -8145 406872.222 802716.667 -8146 406875.000 802541.667 -8147 406911.111 735636.111 -8148 406913.889 735338.889 -8149 406916.667 811813.889 -8150 406916.667 897950.000 -8151 406925.000 896277.778 -8152 406927.778 837855.556 -8153 406933.333 735080.556 -8154 406936.111 751905.556 -8155 406936.111 895888.889 -8156 406952.778 803050.000 -8157 406955.556 733261.111 -8158 406958.333 800119.444 -8159 406963.889 761691.667 -8160 406966.667 749411.111 -8161 406975.000 734255.556 -8162 406983.333 744019.444 -8163 406994.444 990811.111 -8164 407000.000 802683.333 -8165 407000.000 1118097.222 -8166 407002.778 735933.333 -8167 407008.333 734625.000 -8168 407008.333 737133.333 -8169 407011.111 742305.556 -8170 407022.222 802866.667 -8171 407036.111 894072.222 -8172 407038.889 1050080.556 -8173 407044.444 963872.222 -8174 407047.222 736505.556 -8175 407061.111 733066.667 -8176 407061.111 838438.889 -8177 407063.889 839213.889 -8178 407063.889 933650.000 -8179 407069.444 749563.889 -8180 407069.444 815983.333 -8181 407072.222 736763.889 -8182 407086.111 732816.667 -8183 407088.889 843536.111 -8184 407091.667 1121008.333 -8185 407105.556 902661.111 -8186 407138.889 775908.333 -8187 407138.889 1161030.556 -8188 407141.667 733819.444 -8189 407141.667 737005.556 -8190 407141.667 740063.889 -8191 407147.222 942350.000 -8192 407150.000 880061.111 -8193 407163.889 733222.222 -8194 407166.667 914500.000 -8195 407172.222 734841.667 -8196 407180.556 733547.222 -8197 407186.111 745697.222 -8198 407188.889 1118875.000 -8199 407191.667 736888.889 -8200 407194.444 748361.111 -8201 407194.444 761161.111 -8202 407194.444 993716.667 -8203 407205.556 734405.556 -8204 407208.333 740177.778 -8205 407213.889 892727.778 -8206 407219.444 954805.556 -8207 407236.111 737052.778 -8208 407241.667 737155.556 -8209 407244.444 815222.222 -8210 407250.000 732458.333 -8211 407255.556 753944.444 -8212 407258.333 735147.222 -8213 407263.889 788069.444 -8214 407266.667 736347.222 -8215 407277.778 730980.556 -8216 407280.556 740780.556 -8217 407294.444 760858.333 -8218 407297.222 732108.333 -8219 407297.222 811055.556 -8220 407302.778 803102.778 -8221 407302.778 919622.222 -8222 407311.111 948994.444 -8223 407311.111 1229408.333 -8224 407316.667 1062830.556 -8225 407319.444 731861.111 -8226 407322.222 906644.444 -8227 407336.111 778858.333 -8228 407336.111 827900.000 -8229 407350.000 736883.333 -8230 407355.556 741727.778 -8231 407358.333 730825.000 -8232 407361.111 732630.556 -8233 407372.222 1140366.667 -8234 407383.333 730511.111 -8235 407386.111 851716.667 -8236 407386.111 995372.222 -8237 407391.667 890163.889 -8238 407394.444 743044.444 -8239 407394.444 803294.444 -8240 407397.222 937475.000 -8241 407402.778 753100.000 -8242 407408.333 736630.556 -8243 407408.333 743841.667 -8244 407408.333 752575.000 -8245 407413.889 743600.000 -8246 407416.667 887197.222 -8247 407419.444 950380.556 -8248 407430.556 731930.556 -8249 407433.333 888813.889 -8250 407438.889 740327.778 -8251 407441.667 734825.000 -8252 407452.778 867647.222 -8253 407463.889 741566.667 -8254 407469.444 909038.889 -8255 407472.222 731702.778 -8256 407472.222 885147.222 -8257 407472.222 895738.889 -8258 407477.778 785347.222 -8259 407483.333 741622.222 -8260 407483.333 756122.222 -8261 407483.333 956472.222 -8262 407483.333 988444.444 -8263 407486.111 847911.111 -8264 407491.667 736411.111 -8265 407494.444 868716.667 -8266 407502.778 786711.111 -8267 407516.667 763363.889 -8268 407516.667 818394.444 -8269 407516.667 924147.222 -8270 407519.444 803194.444 -8271 407519.444 884111.111 -8272 407525.000 736108.333 -8273 407536.111 860688.889 -8274 407536.111 882919.444 -8275 407538.889 733608.333 -8276 407538.889 752625.000 -8277 407538.889 798102.778 -8278 407541.667 755991.667 -8279 407544.444 863566.667 -8280 407552.778 736672.222 -8281 407563.889 736452.778 -8282 407566.667 881911.111 -8283 407569.444 729397.222 -8284 407569.444 933186.111 -8285 407580.556 870416.667 -8286 407583.333 736352.778 -8287 407583.333 825155.556 -8288 407588.889 735700.000 -8289 407594.444 825902.778 -8290 407597.222 744175.000 -8291 407608.333 871508.333 -8292 407608.333 1118902.778 -8293 407616.667 733297.222 -8294 407625.000 734536.111 -8295 407630.556 769397.222 -8296 407633.333 872936.111 -8297 407655.556 730155.556 -8298 407655.556 953719.444 -8299 407663.889 894677.778 -8300 407666.667 728525.000 -8301 407666.667 879922.222 -8302 407669.444 729966.667 -8303 407672.222 742052.778 -8304 407683.333 735255.556 -8305 407683.333 741458.333 -8306 407691.667 731155.556 -8307 407691.667 800630.556 -8308 407691.667 875638.889 -8309 407694.444 740208.333 -8310 407694.444 838227.778 -8311 407700.000 1241416.667 -8312 407702.778 874452.778 -8313 407705.556 737180.556 -8314 407705.556 742330.556 -8315 407713.889 846155.556 -8316 407719.444 983691.667 -8317 407733.333 736436.111 -8318 407738.889 742738.889 -8319 407741.667 729433.333 -8320 407744.444 785536.111 -8321 407744.444 970502.778 -8322 407755.556 777927.778 -8323 407758.333 746011.111 -8324 407761.111 877363.889 -8325 407763.889 734677.778 -8326 407775.000 929436.111 -8327 407777.778 899663.889 -8328 407786.111 900147.222 -8329 407794.444 740241.667 -8330 407797.222 978119.444 -8331 407800.000 803386.111 -8332 407808.333 736769.444 -8333 407808.333 997411.111 -8334 407811.111 732466.667 -8335 407811.111 737250.000 -8336 407811.111 766733.333 -8337 407838.889 762305.556 -8338 407841.667 746972.222 -8339 407858.333 747805.556 -8340 407861.111 737141.667 -8341 407866.667 737269.444 -8342 407869.444 730094.444 -8343 407869.444 737372.222 -8344 407872.222 812827.778 -8345 407875.000 827366.667 -8346 407877.778 740147.222 -8347 407877.778 743886.111 -8348 407883.333 741336.111 -8349 407886.111 736000.000 -8350 407886.111 736477.778 -8351 407886.111 842038.889 -8352 407888.889 765591.667 -8353 407891.667 836433.333 -8354 407894.444 740569.444 -8355 407905.556 732022.222 -8356 407905.556 893605.556 -8357 407913.889 762838.889 -8358 407919.444 740041.667 -8359 407933.333 734155.556 -8360 407933.333 764727.778 -8361 407933.333 778602.778 -8362 407936.111 736275.000 -8363 407936.111 741505.556 -8364 407941.667 736608.333 -8365 407941.667 737488.889 -8366 407944.444 801369.444 -8367 407952.778 814736.111 -8368 407958.333 743152.778 -8369 407961.111 891972.222 -8370 407972.222 759697.222 -8371 407977.778 737000.000 -8372 407977.778 858205.556 -8373 407980.556 783975.000 -8374 407986.111 736802.778 -8375 407986.111 742394.444 -8376 407988.889 768625.000 -8377 407988.889 813786.111 -8378 407988.889 816955.556 -8379 407994.444 762127.778 -8380 407994.444 780544.444 -8381 407997.222 736513.889 -8382 407997.222 756622.222 -8383 407997.222 764280.556 -8384 408000.000 966666.667 -8385 408002.778 727902.778 -8386 408005.556 737288.889 -8387 408013.889 756105.556 -8388 408016.667 835105.556 -8389 408019.444 728413.889 -8390 408022.222 1241625.000 -8391 408025.000 737047.222 -8392 408030.556 726150.000 -8393 408030.556 749900.000 -8394 408041.667 740125.000 -8395 408041.667 763408.333 -8396 408041.667 764652.778 -8397 408041.667 821958.333 -8398 408044.444 904016.667 -8399 408050.000 819352.778 -8400 408052.778 742041.667 -8401 408066.667 737038.889 -8402 408066.667 741858.333 -8403 408072.222 736816.667 -8404 408075.000 911127.778 -8405 408083.333 829755.556 -8406 408102.778 795297.222 -8407 408105.556 778186.111 -8408 408119.444 741247.222 -8409 408122.222 730788.889 -8410 408125.000 761419.444 -8411 408152.778 730455.556 -8412 408161.111 736977.778 -8413 408163.889 736375.000 -8414 408163.889 795222.222 -8415 408166.667 964300.000 -8416 408175.000 730005.556 -8417 408177.778 800144.444 -8418 408191.667 831305.556 -8419 408197.222 737355.556 -8420 408202.778 762011.111 -8421 408202.778 879777.778 -8422 408205.556 742941.667 -8423 408205.556 985997.222 -8424 408213.889 739880.556 -8425 408216.667 744813.889 -8426 408222.222 741602.778 -8427 408230.556 726100.000 -8428 408236.111 733991.667 -8429 408236.111 759805.556 -8430 408238.889 735480.556 -8431 408244.444 726666.667 -8432 408244.444 742850.000 -8433 408250.000 783513.889 -8434 408250.000 911563.889 -8435 408255.556 732030.556 -8436 408255.556 736986.111 -8437 408258.333 742094.444 -8438 408261.111 735025.000 -8439 408263.889 741072.222 -8440 408269.444 739761.111 -8441 408272.222 832813.889 -8442 408275.000 762072.222 -8443 408291.667 853355.556 -8444 408297.222 742405.556 -8445 408297.222 750780.556 -8446 408311.111 730300.000 -8447 408316.667 758827.778 -8448 408316.667 768361.111 -8449 408325.000 1157622.222 -8450 408336.111 757141.667 -8451 408336.111 953080.556 -8452 408338.889 740975.000 -8453 408338.889 805405.556 -8454 408341.667 740091.667 -8455 408341.667 803225.000 -8456 408347.222 736958.333 -8457 408350.000 731316.667 -8458 408355.556 803997.222 -8459 408375.000 796322.222 -8460 408380.556 857302.778 -8461 408386.111 735655.556 -8462 408388.889 898863.889 -8463 408397.222 742769.444 -8464 408402.778 740911.111 -8465 408405.556 725819.444 -8466 408408.333 743022.222 -8467 408411.111 740455.556 -8468 408416.667 962933.333 -8469 408419.444 1017247.222 -8470 408427.778 732933.333 -8471 408430.556 737152.778 -8472 408436.111 817641.667 -8473 408447.222 737022.222 -8474 408450.000 806147.222 -8475 408452.778 733355.556 -8476 408455.556 740883.333 -8477 408475.000 776863.889 -8478 408480.556 739980.556 -8479 408480.556 752919.444 -8480 408483.333 799622.222 -8481 408486.111 768200.000 -8482 408486.111 1119061.111 -8483 408488.889 736452.778 -8484 408500.000 782708.333 -8485 408508.333 739705.556 -8486 408516.667 737191.667 -8487 408519.444 731544.444 -8488 408527.778 731155.556 -8489 408527.778 740425.000 -8490 408530.556 741141.667 -8491 408533.333 734119.444 -8492 408538.889 748294.444 -8493 408541.667 1069652.778 -8494 408555.556 1118922.222 -8495 408558.333 732011.111 -8496 408561.111 731877.778 -8497 408566.667 734700.000 -8498 408566.667 741288.889 -8499 408569.444 740219.444 -8500 408580.556 740811.111 -8501 408583.333 731000.000 -8502 408583.333 741641.667 -8503 408588.889 934972.222 -8504 408597.222 999869.444 -8505 408611.111 798955.556 -8506 408613.889 739886.111 -8507 408616.667 896786.111 -8508 408622.222 736341.667 -8509 408625.000 767947.222 -8510 408625.000 856016.667 -8511 408638.889 802591.667 -8512 408644.444 758113.889 -8513 408644.444 765527.778 -8514 408644.444 864997.222 -8515 408644.444 913144.444 -8516 408655.556 735325.000 -8517 408655.556 752069.444 -8518 408658.333 907483.333 -8519 408661.111 860775.000 -8520 408663.889 730361.111 -8521 408663.889 873636.111 -8522 408666.667 1240816.667 -8523 408672.222 980038.889 -8524 408677.778 868788.889 -8525 408680.556 734261.111 -8526 408680.556 777469.444 -8527 408680.556 975916.667 -8528 408686.111 730019.444 -8529 408686.111 752552.778 -8530 408686.111 823183.333 -8531 408688.889 725180.556 -8532 408688.889 733655.556 -8533 408688.889 742086.111 -8534 408694.444 845841.667 -8535 408700.000 961402.778 -8536 408708.333 735113.889 -8537 408711.111 747344.444 -8538 408711.111 984677.778 -8539 408713.889 734572.222 -8540 408716.667 1118913.889 -8541 408727.778 787244.444 -8542 408758.333 745427.778 -8543 408758.333 757327.778 -8544 408758.333 814025.000 -8545 408761.111 735769.444 -8546 408761.111 740302.778 -8547 408766.667 733250.000 -8548 408772.222 807555.556 -8549 408777.778 798466.667 -8550 408777.778 882691.667 -8551 408780.556 888611.111 -8552 408788.889 769872.222 -8553 408794.444 751841.667 -8554 408802.778 879550.000 -8555 408805.556 752150.000 -8556 408805.556 851663.889 -8557 408813.889 741136.111 -8558 408813.889 826619.444 -8559 408816.667 945616.667 -8560 408822.222 740836.111 -8561 408825.000 1216597.222 -8562 408830.556 854975.000 -8563 408830.556 895025.000 -8564 408830.556 1239827.778 -8565 408838.889 745625.000 -8566 408841.667 723900.000 -8567 408841.667 729377.778 -8568 408852.778 739527.778 -8569 408858.333 740438.889 -8570 408858.333 782211.111 -8571 408861.111 732577.778 -8572 408869.444 735555.556 -8573 408880.556 803383.333 -8574 408883.333 738286.111 -8575 408883.333 806941.667 -8576 408894.444 1118800.000 -8577 408897.222 741952.778 -8578 408897.222 782286.111 -8579 408897.222 815977.778 -8580 408908.333 724641.667 -8581 408908.333 774769.444 -8582 408908.333 928150.000 -8583 408916.667 767977.778 -8584 408927.778 739730.556 -8585 408930.556 745822.222 -8586 408938.889 1119011.111 -8587 408947.222 744333.333 -8588 408952.778 736013.889 -8589 408952.778 738075.000 -8590 408952.778 838888.889 -8591 408975.000 740163.889 -8592 408983.333 956711.111 -8593 408988.889 740930.556 -8594 408988.889 747069.444 -8595 408994.444 973991.667 -8596 408997.222 734152.778 -8597 409002.778 807641.667 -8598 409008.333 733436.111 -8599 409011.111 745147.222 -8600 409022.222 817341.667 -8601 409025.000 740622.222 -8602 409025.000 744075.000 -8603 409027.778 747094.444 -8604 409033.333 731583.333 -8605 409033.333 734602.778 -8606 409038.889 741188.889 -8607 409044.444 890344.444 -8608 409050.000 742102.778 -8609 409063.889 842966.667 -8610 409069.444 970986.111 -8611 409072.222 740755.556 -8612 409083.333 902847.222 -8613 409097.222 738083.333 -8614 409100.000 759916.667 -8615 409105.556 735625.000 -8616 409113.889 737827.778 -8617 409113.889 906472.222 -8618 409116.667 859244.444 -8619 409116.667 871552.778 -8620 409125.000 733013.889 -8621 409133.333 759669.444 -8622 409133.333 777786.111 -8623 409152.778 811061.111 -8624 409166.667 741722.222 -8625 409166.667 847027.778 -8626 409169.444 726625.000 -8627 409175.000 770480.556 -8628 409175.000 965280.556 -8629 409177.778 1113986.111 -8630 409180.556 1118713.889 -8631 409186.111 922227.778 -8632 409191.667 892911.111 -8633 409194.444 840569.444 -8634 409222.222 894861.111 -8635 409225.000 900144.444 -8636 409227.778 810191.667 -8637 409230.556 750969.444 -8638 409230.556 809938.889 -8639 409250.000 983416.667 -8640 409252.778 730477.778 -8641 409252.778 739633.333 -8642 409252.778 742769.444 -8643 409255.556 731413.889 -8644 409258.333 746352.778 -8645 409269.444 913994.444 -8646 409275.000 739977.778 -8647 409277.778 733602.778 -8648 409277.778 737522.222 -8649 409280.556 759150.000 -8650 409286.111 740402.778 -8651 409294.444 1001602.778 -8652 409297.222 897575.000 -8653 409297.222 949758.333 -8654 409311.111 738991.667 -8655 409319.444 909469.444 -8656 409322.222 843388.889 -8657 409327.778 724147.222 -8658 409327.778 746597.222 -8659 409327.778 803636.111 -8660 409350.000 740194.444 -8661 409352.778 879344.444 -8662 409355.556 741866.667 -8663 409366.667 871508.333 -8664 409377.778 723013.889 -8665 409380.556 738325.000 -8666 409402.778 741322.222 -8667 409405.556 739972.222 -8668 409413.889 739597.222 -8669 409416.667 777852.778 -8670 409436.111 789711.111 -8671 409444.444 740758.333 -8672 409461.111 874533.333 -8673 409463.889 730697.222 -8674 409466.667 1240994.444 -8675 409469.444 730300.000 -8676 409477.778 903100.000 -8677 409477.778 903711.111 -8678 409480.556 797430.556 -8679 409480.556 839611.111 -8680 409486.111 737330.556 -8681 409491.667 741541.667 -8682 409494.444 725819.444 -8683 409508.333 730844.444 -8684 409519.444 764600.000 -8685 409525.000 833825.000 -8686 409550.000 741863.889 -8687 409558.333 739316.667 -8688 409561.111 729683.333 -8689 409566.667 744983.333 -8690 409572.222 729080.556 -8691 409572.222 739638.889 -8692 409583.333 759750.000 -8693 409586.111 740372.222 -8694 409586.111 759963.889 -8695 409588.889 768994.444 -8696 409597.222 729966.667 -8697 409597.222 730683.333 -8698 409597.222 731300.000 -8699 409608.333 739905.556 -8700 409622.222 828544.444 -8701 409625.000 853733.333 -8702 409627.778 741333.333 -8703 409627.778 964408.333 -8704 409633.333 711833.333 -8705 409633.333 766130.556 -8706 409636.111 813313.889 -8707 409636.111 915577.778 -8708 409644.444 768847.222 -8709 409688.889 737130.556 -8710 409700.000 816966.667 -8711 409713.889 821100.000 -8712 409730.556 739619.444 -8713 409730.556 1177347.222 -8714 409736.111 721441.667 -8715 409747.222 848683.333 -8716 409755.556 785252.778 -8717 409761.111 740266.667 -8718 409777.778 803452.778 -8719 409780.556 817822.222 -8720 409791.667 741169.444 -8721 409805.556 736841.667 -8722 409805.556 1118866.667 -8723 409816.667 951038.889 -8724 409819.444 931983.333 -8725 409827.778 841994.444 -8726 409836.111 739802.778 -8727 409852.778 868794.444 -8728 409858.333 747425.000 -8729 409858.333 796133.333 -8730 409866.667 751950.000 -8731 409869.444 818938.889 -8732 409883.333 1022638.889 -8733 409891.667 741411.111 -8734 409900.000 752166.667 -8735 409900.000 887291.667 -8736 409900.000 947405.556 -8737 409911.111 725347.222 -8738 409911.111 740330.556 -8739 409919.444 760569.444 -8740 409938.889 743038.889 -8741 409941.667 921672.222 -8742 409952.778 740125.000 -8743 409955.556 723416.667 -8744 409963.889 741016.667 -8745 409977.778 722930.556 -8746 409977.778 961619.444 -8747 409980.556 739622.222 -8748 409994.444 751816.667 -8749 410005.556 857686.111 -8750 410011.111 986072.222 -8751 410016.667 736661.111 -8752 410016.667 743675.000 -8753 410016.667 793316.667 -8754 410025.000 784636.111 -8755 410027.778 738791.667 -8756 410027.778 955850.000 -8757 410030.556 879080.556 -8758 410036.111 743419.444 -8759 410036.111 885252.778 -8760 410041.667 923736.111 -8761 410050.000 737850.000 -8762 410052.778 742911.111 -8763 410061.111 764102.778 -8764 410063.889 739494.444 -8765 410080.556 911638.889 -8766 410086.111 919625.000 -8767 410094.444 741733.333 -8768 410097.222 952252.778 -8769 410100.000 818625.000 -8770 410105.556 738441.667 -8771 410105.556 739916.667 -8772 410105.556 741183.333 -8773 410113.889 958819.444 -8774 410127.778 723133.333 -8775 410127.778 816052.778 -8776 410138.889 933063.889 -8777 410144.444 738730.556 -8778 410144.444 763813.889 -8779 410161.111 721597.222 -8780 410166.667 742061.111 -8781 410166.667 758975.000 -8782 410166.667 1114975.000 -8783 410172.222 954019.444 -8784 410186.111 864133.333 -8785 410186.111 957988.889 -8786 410188.889 737986.111 -8787 410191.667 840472.222 -8788 410208.333 814361.111 -8789 410219.444 739477.778 -8790 410233.333 740669.444 -8791 410241.667 806150.000 -8792 410241.667 806630.556 -8793 410247.222 894111.111 -8794 410250.000 807611.111 -8795 410252.778 902797.222 -8796 410255.556 817300.000 -8797 410261.111 989122.222 -8798 410263.889 819333.333 -8799 410266.667 928055.556 -8800 410275.000 941977.778 -8801 410286.111 894383.333 -8802 410288.889 840791.667 -8803 410300.000 825158.333 -8804 410308.333 779497.222 -8805 410316.667 741025.000 -8806 410322.222 1119013.889 -8807 410333.333 820122.222 -8808 410338.889 737633.333 -8809 410338.889 937652.778 -8810 410352.778 805366.667 -8811 410352.778 1119377.778 -8812 410358.333 719550.000 -8813 410375.000 740411.111 -8814 410380.556 742944.444 -8815 410383.333 860280.556 -8816 410388.889 738655.556 -8817 410391.667 963680.556 -8818 410413.889 741294.444 -8819 410413.889 795033.333 -8820 410416.667 939491.667 -8821 410419.444 739186.111 -8822 410441.667 836500.000 -8823 410458.333 762825.000 -8824 410463.889 813980.556 -8825 410466.667 740233.333 -8826 410469.444 957422.222 -8827 410477.778 724636.111 -8828 410491.667 880977.778 -8829 410502.778 788225.000 -8830 410513.889 866030.556 -8831 410519.444 762211.111 -8832 410519.444 830150.000 -8833 410525.000 806080.556 -8834 410525.000 890502.778 -8835 410530.556 827263.889 -8836 410533.333 735391.667 -8837 410544.444 762336.111 -8838 410547.222 797269.444 -8839 410550.000 738205.556 -8840 410572.222 741413.889 -8841 410572.222 966444.444 -8842 410580.556 747530.556 -8843 410583.333 740988.889 -8844 410586.111 943611.111 -8845 410588.889 740222.222 -8846 410602.778 1119702.778 -8847 410605.556 757744.444 -8848 410613.889 1020738.889 -8849 410616.667 897730.556 -8850 410619.444 762227.778 -8851 410633.333 905558.333 -8852 410638.889 800566.667 -8853 410647.222 724266.667 -8854 410647.222 828877.778 -8855 410647.222 862158.333 -8856 410680.556 723391.667 -8857 410705.556 850144.444 -8858 410722.222 858916.667 -8859 410722.222 902252.778 -8860 410758.333 775888.889 -8861 410766.667 818963.889 -8862 410775.000 847272.222 -8863 410780.556 764147.222 -8864 410783.333 805994.444 -8865 410786.111 734697.222 -8866 410797.222 878113.889 -8867 410805.556 868919.444 -8868 410811.111 1119191.667 -8869 410813.889 815191.667 -8870 410816.667 745927.778 -8871 410819.444 961341.667 -8872 410830.556 739205.556 -8873 410844.444 768641.667 -8874 410847.222 856280.556 -8875 410855.556 738588.889 -8876 410886.111 740138.889 -8877 410891.667 906380.556 -8878 410894.444 1120638.889 -8879 410905.556 739183.333 -8880 410927.778 1024702.778 -8881 410936.111 898647.222 -8882 410944.444 884250.000 -8883 410958.333 796827.778 -8884 410961.111 912575.000 -8885 410963.889 739733.333 -8886 410969.444 788888.889 -8887 410972.222 1048144.444 -8888 410983.333 839847.222 -8889 410994.444 909425.000 -8890 410997.222 806497.222 -8891 411000.000 813466.667 -8892 411002.778 821233.333 -8893 411002.778 842663.889 -8894 411013.889 814419.444 -8895 411016.667 807647.222 -8896 411019.444 767713.889 -8897 411033.333 723597.222 -8898 411038.889 826119.444 -8899 411069.444 739205.556 -8900 411072.222 737963.889 -8901 411072.222 774847.222 -8902 411075.000 837927.778 -8903 411077.778 787713.889 -8904 411083.333 835169.444 -8905 411108.333 1120252.778 -8906 411111.111 740688.889 -8907 411113.889 893563.889 -8908 411116.667 1149636.111 -8909 411133.333 742458.333 -8910 411141.667 975986.111 -8911 411144.444 831780.556 -8912 411147.222 741500.000 -8913 411147.222 901644.444 -8914 411158.333 980013.889 -8915 411161.111 791869.444 -8916 411169.444 809836.111 -8917 411175.000 734083.333 -8918 411180.556 739558.333 -8919 411183.333 1120833.333 -8920 411191.667 787602.778 -8921 411200.000 878611.111 -8922 411202.778 765302.778 -8923 411208.333 888352.778 -8924 411219.444 753650.000 -8925 411219.444 830158.333 -8926 411222.222 803330.556 -8927 411230.556 914411.111 -8928 411233.333 737794.444 -8929 411238.889 741697.222 -8930 411238.889 1007650.000 -8931 411241.667 1013558.333 -8932 411247.222 774300.000 -8933 411252.778 848533.333 -8934 411263.889 737144.444 -8935 411263.889 774719.444 -8936 411280.556 1017191.667 -8937 411305.556 851288.889 -8938 411325.000 1119294.444 -8939 411333.333 1048166.667 -8940 411338.889 814847.222 -8941 411358.333 929038.889 -8942 411363.889 740827.778 -8943 411363.889 1120302.778 -8944 411366.667 800094.444 -8945 411366.667 958905.556 -8946 411369.444 774472.222 -8947 411380.556 845805.556 -8948 411383.333 818638.889 -8949 411408.333 962394.444 -8950 411413.889 733583.333 -8951 411416.667 878750.000 -8952 411419.444 878611.111 -8953 411427.778 890600.000 -8954 411427.778 1029775.000 -8955 411444.444 814400.000 -8956 411450.000 788047.222 -8957 411455.556 738241.667 -8958 411458.333 774216.667 -8959 411463.889 747527.778 -8960 411472.222 916605.556 -8961 411475.000 739897.222 -8962 411505.556 739458.333 -8963 411530.556 761505.556 -8964 411533.333 745766.667 -8965 411536.111 813580.556 -8966 411538.889 807016.667 -8967 411544.444 741933.333 -8968 411544.444 960419.444 -8969 411550.000 759786.111 -8970 411563.889 805694.444 -8971 411569.444 834169.444 -8972 411569.444 1011258.333 -8973 411572.222 854883.333 -8974 411575.000 812422.222 -8975 411577.778 800888.889 -8976 411586.111 1010022.222 -8977 411588.889 814544.444 -8978 411594.444 814405.556 -8979 411605.556 926311.111 -8980 411611.111 790833.333 -8981 411616.667 1120255.556 -8982 411627.778 738619.444 -8983 411655.556 808577.778 -8984 411666.667 876627.778 -8985 411669.444 732052.778 -8986 411669.444 740436.111 -8987 411675.000 900425.000 -8988 411688.889 822180.556 -8989 411702.778 909966.667 -8990 411725.000 835563.889 -8991 411725.000 923086.111 -8992 411727.778 882766.667 -8993 411727.778 1119758.333 -8994 411733.333 860347.222 -8995 411741.667 804536.111 -8996 411747.222 918194.444 -8997 411750.000 760750.000 -8998 411769.444 1120030.556 -8999 411772.222 744691.667 -9000 411772.222 797080.556 -9001 411772.222 896575.000 -9002 411788.889 903158.333 -9003 411797.222 975472.222 -9004 411813.889 847405.556 -9005 411813.889 911852.778 -9006 411816.667 743825.000 -9007 411819.444 1040686.111 -9008 411822.222 937286.111 -9009 411827.778 807655.556 -9010 411827.778 836783.333 -9011 411847.222 773141.667 -9012 411855.556 883097.222 -9013 411855.556 919927.778 -9014 411883.333 809783.333 -9015 411916.667 903800.000 -9016 411919.444 1119705.556 -9017 411922.222 974250.000 -9018 411966.667 908802.778 -9019 411969.444 759286.111 -9020 411975.000 739650.000 -9021 411991.667 798730.556 -9022 411997.222 907491.667 -9023 412002.778 857055.556 -9024 412022.222 793277.778 -9025 412030.556 905869.444 -9026 412041.667 737275.000 -9027 412044.444 928825.000 -9028 412052.778 760052.778 -9029 412052.778 960422.222 -9030 412055.556 767858.333 -9031 412069.444 830552.778 -9032 412075.000 838991.667 -9033 412083.333 738916.667 -9034 412094.444 739858.333 -9035 412094.444 1067891.667 -9036 412097.222 746080.556 -9037 412102.778 758969.444 -9038 412108.333 849669.444 -9039 412111.111 805380.556 -9040 412113.889 966200.000 -9041 412122.222 804969.444 -9042 412125.000 924352.778 -9043 412147.222 793855.556 -9044 412150.000 867758.333 -9045 412158.333 890666.667 -9046 412188.889 864230.556 -9047 412197.222 1222738.889 -9048 412219.444 932411.111 -9049 412222.222 730569.444 -9050 412222.222 758633.333 -9051 412225.000 742947.222 -9052 412225.000 770372.222 -9053 412230.556 1119730.556 -9054 412269.444 802400.000 -9055 412269.444 882647.222 -9056 412272.222 858219.444 -9057 412277.778 964875.000 -9058 412283.333 851725.000 -9059 412291.667 840341.667 -9060 412305.556 853194.444 -9061 412319.444 769994.444 -9062 412325.000 956127.778 -9063 412330.556 804936.111 -9064 412338.889 805697.222 -9065 412344.444 795375.000 -9066 412350.000 810494.444 -9067 412350.000 951372.222 -9068 412358.333 1036625.000 -9069 412366.667 954177.778 -9070 412369.444 888313.889 -9071 412375.000 808186.111 -9072 412380.556 818419.444 -9073 412380.556 858530.556 -9074 412391.667 813461.111 -9075 412397.222 816383.333 -9076 412400.000 814408.333 -9077 412400.000 836433.333 -9078 412402.778 759450.000 -9079 412411.111 767241.667 -9080 412411.111 770013.889 -9081 412411.111 815527.778 -9082 412413.889 884194.444 -9083 412425.000 826158.333 -9084 412427.778 732011.111 -9085 412450.000 759311.111 -9086 412450.000 963969.444 -9087 412455.556 899247.222 -9088 412458.333 758816.667 -9089 412463.889 832358.333 -9090 412488.889 841330.556 -9091 412491.667 787997.222 -9092 412502.778 794597.222 -9093 412505.556 878313.889 -9094 412527.778 971297.222 -9095 412538.889 836044.444 -9096 412541.667 769208.333 -9097 412541.667 893422.222 -9098 412541.667 947680.556 -9099 412544.444 823997.222 -9100 412555.556 734352.778 -9101 412558.333 1221383.333 -9102 412561.111 830516.667 -9103 412563.889 743602.778 -9104 412586.111 959375.000 -9105 412591.667 804722.222 -9106 412597.222 906077.778 -9107 412608.333 1117691.667 -9108 412611.111 892275.000 -9109 412611.111 961316.667 -9110 412619.444 739386.111 -9111 412619.444 958608.333 -9112 412647.222 815133.333 -9113 412650.000 882122.222 -9114 412683.333 1109625.000 -9115 412694.444 759166.667 -9116 412705.556 729475.000 -9117 412708.333 737780.556 -9118 412725.000 820547.222 -9119 412736.111 828416.667 -9120 412752.778 758505.556 -9121 412755.556 989663.889 -9122 412761.111 728688.889 -9123 412769.444 926794.444 -9124 412780.556 758975.000 -9125 412783.333 730261.111 -9126 412786.111 725280.556 -9127 412788.889 758786.111 -9128 412794.444 725988.889 -9129 412794.444 728155.556 -9130 412797.222 767133.333 -9131 412800.000 759125.000 -9132 412800.000 913605.556 -9133 412813.889 734986.111 -9134 412813.889 1119875.000 -9135 412833.333 701000.000 -9136 412838.889 812241.667 -9137 412841.667 810966.667 -9138 412844.444 843558.333 -9139 412852.778 723994.444 -9140 412852.778 724480.556 -9141 412861.111 804277.778 -9142 412863.889 962341.667 -9143 412872.222 845536.111 -9144 412877.778 882855.556 -9145 412877.778 993813.889 -9146 412886.111 882516.667 -9147 412888.889 726822.222 -9148 412888.889 758058.333 -9149 412888.889 915522.222 -9150 412897.222 945613.889 -9151 412900.000 739208.333 -9152 412905.556 959177.778 -9153 412916.667 723766.667 -9154 412916.667 758750.000 -9155 412916.667 934422.222 -9156 412919.444 999222.222 -9157 412922.222 895061.111 -9158 412930.556 847619.444 -9159 412938.889 822175.000 -9160 412938.889 902919.444 -9161 412941.667 882711.111 -9162 412952.778 890594.444 -9163 412955.556 861163.889 -9164 412958.333 897902.778 -9165 412963.889 926441.667 -9166 412975.000 826055.556 -9167 412980.556 1120852.778 -9168 412991.667 916927.778 -9169 413036.111 901927.778 -9170 413041.667 829752.778 -9171 413052.778 944611.111 -9172 413072.222 1119594.444 -9173 413077.778 881466.667 -9174 413080.556 729286.111 -9175 413083.333 741450.000 -9176 413088.889 820058.333 -9177 413097.222 742294.444 -9178 413100.000 721458.333 -9179 413100.000 1223094.444 -9180 413111.111 886097.222 -9181 413113.889 1055905.556 -9182 413116.667 758377.778 -9183 413125.000 811438.889 -9184 413125.000 814402.778 -9185 413127.778 963458.333 -9186 413136.111 817247.222 -9187 413138.889 816852.778 -9188 413144.444 818358.333 -9189 413163.889 730936.111 -9190 413166.667 870258.333 -9191 413175.000 868913.889 -9192 413186.111 872002.778 -9193 413188.889 905058.333 -9194 413197.222 758463.889 -9195 413197.222 816269.444 -9196 413205.556 730894.444 -9197 413205.556 758194.444 -9198 413208.333 931091.667 -9199 413216.667 802588.889 -9200 413230.556 777486.111 -9201 413241.667 834386.111 -9202 413250.000 757458.333 -9203 413252.778 721936.111 -9204 413252.778 824933.333 -9205 413255.556 856977.778 -9206 413258.333 757897.222 -9207 413261.111 896788.889 -9208 413263.889 777511.111 -9209 413269.444 757736.111 -9210 413275.000 757933.333 -9211 413275.000 891288.889 -9212 413275.000 891997.222 -9213 413275.000 1102922.222 -9214 413277.778 719911.111 -9215 413277.778 831322.222 -9216 413297.222 906702.778 -9217 413302.778 807255.556 -9218 413305.556 741872.222 -9219 413308.333 887080.556 -9220 413308.333 940136.111 -9221 413316.667 741213.889 -9222 413316.667 743572.222 -9223 413319.444 858500.000 -9224 413322.222 877852.778 -9225 413333.333 922044.444 -9226 413336.111 888780.556 -9227 413358.333 719063.889 -9228 413361.111 759636.111 -9229 413366.667 755188.889 -9230 413391.667 801052.778 -9231 413397.222 757366.667 -9232 413405.556 876213.889 -9233 413436.111 863097.222 -9234 413438.889 757388.889 -9235 413447.222 837972.222 -9236 413450.000 720252.778 -9237 413450.000 815286.111 -9238 413455.556 888425.000 -9239 413458.333 813952.778 -9240 413461.111 730794.444 -9241 413469.444 741266.667 -9242 413486.111 800825.000 -9243 413494.444 851355.556 -9244 413500.000 720788.889 -9245 413502.778 831219.444 -9246 413505.556 719825.000 -9247 413533.333 723911.111 -9248 413533.333 757386.111 -9249 413541.667 719669.444 -9250 413547.222 903813.889 -9251 413555.556 721000.000 -9252 413558.333 822538.889 -9253 413572.222 884211.111 -9254 413577.778 891761.111 -9255 413580.556 935572.222 -9256 413583.333 897372.222 -9257 413613.889 818130.556 -9258 413625.000 742716.667 -9259 413633.333 979688.889 -9260 413638.889 919536.111 -9261 413647.222 961575.000 -9262 413650.000 958577.778 -9263 413652.778 895838.889 -9264 413655.556 815613.889 -9265 413658.333 852388.889 -9266 413661.111 818544.444 -9267 413669.444 799294.444 -9268 413669.444 850588.889 -9269 413680.556 894647.222 -9270 413683.333 821077.778 -9271 413691.667 739666.667 -9272 413711.111 734144.444 -9273 413713.889 839419.444 -9274 413722.222 737338.889 -9275 413747.222 836513.889 -9276 413750.000 746930.556 -9277 413750.000 819083.333 -9278 413772.222 718341.667 -9279 413775.000 718277.778 -9280 413825.000 892188.889 -9281 413833.333 760250.000 -9282 413844.444 833205.556 -9283 413855.556 724361.111 -9284 413858.333 932691.667 -9285 413888.889 705138.889 -9286 413897.222 814413.889 -9287 413900.000 817597.222 -9288 413905.556 809736.111 -9289 413908.333 728600.000 -9290 413913.889 739563.889 -9291 413922.222 841252.778 -9292 413930.556 815366.667 -9293 413947.222 734544.444 -9294 413947.222 757069.444 -9295 413952.778 816763.889 -9296 413969.444 966111.111 -9297 413972.222 736175.000 -9298 413972.222 899044.444 -9299 413977.778 822225.000 -9300 413983.333 818047.222 -9301 413988.889 717475.000 -9302 414000.000 747236.111 -9303 414000.000 828086.111 -9304 414013.889 923544.444 -9305 414019.444 743247.222 -9306 414019.444 996388.889 -9307 414030.556 724513.889 -9308 414036.111 950136.111 -9309 414038.889 881116.667 -9310 414047.222 817230.556 -9311 414050.000 1023438.889 -9312 414061.111 736330.556 -9313 414080.556 929161.111 -9314 414088.889 756627.778 -9315 414091.667 741955.556 -9316 414091.667 1120352.778 -9317 414097.222 797119.444 -9318 414108.333 834611.111 -9319 414119.444 838644.444 -9320 414138.889 733038.889 -9321 414152.778 815661.111 -9322 414155.556 819236.111 -9323 414169.444 815275.000 -9324 414169.444 816061.111 -9325 414169.444 873652.778 -9326 414180.556 864858.333 -9327 414188.889 832213.889 -9328 414197.222 756327.778 -9329 414200.000 877416.667 -9330 414202.778 787288.889 -9331 414208.333 900150.000 -9332 414211.111 820963.889 -9333 414213.889 798813.889 -9334 414219.444 823647.222 -9335 414225.000 879858.333 -9336 414225.000 1001930.556 -9337 414227.778 1223850.000 -9338 414233.333 717861.111 -9339 414244.444 739469.444 -9340 414252.778 816883.333 -9341 414269.444 892133.333 -9342 414277.778 741663.889 -9343 414277.778 857525.000 -9344 414286.111 904608.333 -9345 414294.444 882286.111 -9346 414297.222 720825.000 -9347 414297.222 813908.333 -9348 414297.222 848713.889 -9349 414297.222 973680.556 -9350 414305.556 868983.333 -9351 414313.889 813655.556 -9352 414322.222 714569.444 -9353 414333.333 964977.778 -9354 414344.444 721102.778 -9355 414347.222 815258.333 -9356 414350.000 815363.889 -9357 414352.778 816575.000 -9358 414391.667 740455.556 -9359 414391.667 907175.000 -9360 414397.222 817355.556 -9361 414413.889 818644.444 -9362 414413.889 852650.000 -9363 414427.778 860013.889 -9364 414433.333 840088.889 -9365 414441.667 744002.778 -9366 414444.444 876313.889 -9367 414452.778 947644.444 -9368 414458.333 744233.333 -9369 414463.889 861480.556 -9370 414472.222 970591.667 -9371 414477.778 814277.778 -9372 414480.556 901541.667 -9373 414486.111 847480.556 -9374 414486.111 977302.778 -9375 414488.889 827080.556 -9376 414488.889 956152.778 -9377 414500.000 816636.111 -9378 414505.556 834875.000 -9379 414513.889 756122.222 -9380 414516.667 820355.556 -9381 414525.000 963508.333 -9382 414527.778 821825.000 -9383 414530.556 905719.444 -9384 414541.667 705625.000 -9385 414541.667 706041.667 -9386 414541.667 740580.556 -9387 414550.000 1068058.333 -9388 414552.778 819180.556 -9389 414552.778 882616.667 -9390 414558.333 960261.111 -9391 414563.889 907233.333 -9392 414569.444 728236.111 -9393 414569.444 1228936.111 -9394 414594.444 934047.222 -9395 414613.889 736713.889 -9396 414619.444 810738.889 -9397 414619.444 967794.444 -9398 414622.222 814808.333 -9399 414641.667 918380.556 -9400 414644.444 815088.889 -9401 414647.222 837061.111 -9402 414658.333 855875.000 -9403 414666.667 864830.556 -9404 414683.333 756033.333 -9405 414686.111 755625.000 -9406 414688.889 796911.111 -9407 414700.000 876363.889 -9408 414700.000 926511.111 -9409 414705.556 811452.778 -9410 414713.889 756080.556 -9411 414730.556 870611.111 -9412 414730.556 903575.000 -9413 414733.333 745388.889 -9414 414738.889 815372.222 -9415 414747.222 845525.000 -9416 414755.556 818394.444 -9417 414755.556 936786.111 -9418 414758.333 751825.000 -9419 414761.111 832958.333 -9420 414766.667 740241.667 -9421 414766.667 953377.778 -9422 414775.000 952216.667 -9423 414783.333 814638.889 -9424 414802.778 715230.556 -9425 414805.556 866916.667 -9426 414808.333 755950.000 -9427 414808.333 876377.778 -9428 414813.889 743605.556 -9429 414816.667 726816.667 -9430 414819.444 817983.333 -9431 414827.778 873327.778 -9432 414830.556 917058.333 -9433 414838.889 742180.556 -9434 414838.889 903530.556 -9435 414844.444 877033.333 -9436 414847.222 819222.222 -9437 414858.333 730511.111 -9438 414872.222 1205413.889 -9439 414875.000 821016.667 -9440 414880.556 914258.333 -9441 414883.333 875675.000 -9442 414886.111 757088.889 -9443 414891.667 814019.444 -9444 414900.000 713133.333 -9445 414913.889 876744.444 -9446 414919.444 941238.889 -9447 414927.778 757000.000 -9448 414941.667 875216.667 -9449 414947.222 755372.222 -9450 414947.222 903905.556 -9451 414952.778 794561.111 -9452 414958.333 878486.111 -9453 414961.111 853766.667 -9454 414969.444 713677.778 -9455 414969.444 725575.000 -9456 414977.778 815375.000 -9457 414988.889 729011.111 -9458 414994.444 816955.556 -9459 415002.778 858280.556 -9460 415005.556 874613.889 -9461 415005.556 946433.333 -9462 415008.333 837183.333 -9463 415008.333 904441.667 -9464 415008.333 934908.333 -9465 415027.778 724505.556 -9466 415033.333 740108.333 -9467 415033.333 943183.333 -9468 415036.111 844141.667 -9469 415038.889 877130.556 -9470 415047.222 739700.000 -9471 415052.778 820283.333 -9472 415061.111 876355.556 -9473 415061.111 881144.444 -9474 415063.889 875916.667 -9475 415066.667 905150.000 -9476 415075.000 717166.667 -9477 415088.889 907658.333 -9478 415094.444 905786.111 -9479 415102.778 1120147.222 -9480 415119.444 829377.778 -9481 415119.444 879655.556 -9482 415122.222 782352.778 -9483 415122.222 904150.000 -9484 415133.333 876741.667 -9485 415138.889 920761.111 -9486 415161.111 954500.000 -9487 415175.000 814036.111 -9488 415183.333 942261.111 -9489 415188.889 838038.889 -9490 415191.667 814580.556 -9491 415200.000 800486.111 -9492 415200.000 814888.889 -9493 415200.000 815563.889 -9494 415200.000 882016.667 -9495 415213.889 843072.222 -9496 415216.667 739269.444 -9497 415222.222 813380.556 -9498 415222.222 931016.667 -9499 415230.556 815186.111 -9500 415236.111 905775.000 -9501 415241.667 720763.889 -9502 415241.667 764011.111 -9503 415244.444 862733.333 -9504 415244.444 905155.556 -9505 415250.000 880816.667 -9506 415255.556 741533.333 -9507 415258.333 853666.667 -9508 415261.111 878891.667 -9509 415263.889 706736.111 -9510 415263.889 875386.111 -9511 415272.222 850655.556 -9512 415275.000 742372.222 -9513 415283.333 874236.111 -9514 415286.111 1094655.556 -9515 415300.000 886797.222 -9516 415305.556 739780.556 -9517 415308.333 755458.333 -9518 415316.667 940094.444 -9519 415319.444 939538.889 -9520 415322.222 872550.000 -9521 415330.556 815791.667 -9522 415341.667 757363.889 -9523 415341.667 864272.222 -9524 415347.222 740152.778 -9525 415350.000 740705.556 -9526 415350.000 808683.333 -9527 415355.556 738994.444 -9528 415355.556 878475.000 -9529 415369.444 885833.333 -9530 415380.556 728075.000 -9531 415386.111 759469.444 -9532 415391.667 855397.222 -9533 415397.222 740986.111 -9534 415413.889 869005.556 -9535 415425.000 816263.889 -9536 415425.000 876022.222 -9537 415427.778 876847.222 -9538 415438.889 738686.111 -9539 415444.444 732094.444 -9540 415444.444 961247.222 -9541 415472.222 891175.000 -9542 415475.000 865822.222 -9543 415486.111 985308.333 -9544 415486.111 987305.556 -9545 415491.667 841416.667 -9546 415511.111 1121094.444 -9547 415513.889 706152.778 -9548 415519.444 814786.111 -9549 415527.778 815102.778 -9550 415541.667 915347.222 -9551 415547.222 880986.111 -9552 415558.333 904091.667 -9553 415563.889 847688.889 -9554 415563.889 958875.000 -9555 415569.444 836272.222 -9556 415572.222 876655.556 -9557 415575.000 894608.333 -9558 415580.556 730519.444 -9559 415583.333 872744.444 -9560 415600.000 740036.111 -9561 415619.444 736030.556 -9562 415622.222 726511.111 -9563 415644.444 875125.000 -9564 415647.222 875388.889 -9565 415661.111 834247.222 -9566 415680.556 876080.556 -9567 415680.556 877202.778 -9568 415688.889 1118372.222 -9569 415700.000 912636.111 -9570 415716.667 876944.444 -9571 415727.778 726411.111 -9572 415733.333 877844.444 -9573 415736.111 755022.222 -9574 415736.111 840052.778 -9575 415736.111 876463.889 -9576 415750.000 872388.889 -9577 415755.556 723325.000 -9578 415758.333 725030.556 -9579 415758.333 871761.111 -9580 415766.667 744875.000 -9581 415766.667 752591.667 -9582 415769.444 734088.889 -9583 415772.222 937111.111 -9584 415783.333 705591.667 -9585 415783.333 928447.222 -9586 415802.778 754086.111 -9587 415816.667 903433.333 -9588 415833.333 875000.000 -9589 415838.889 738091.667 -9590 415838.889 935197.222 -9591 415847.222 907719.444 -9592 415852.778 878430.556 -9593 415858.333 925272.222 -9594 415861.111 844350.000 -9595 415869.444 712838.889 -9596 415875.000 1092022.222 -9597 415877.778 834933.333 -9598 415886.111 838911.111 -9599 415888.889 910166.667 -9600 415894.444 880577.778 -9601 415894.444 889219.444 -9602 415894.444 941958.333 -9603 415908.333 948752.778 -9604 415916.667 950597.222 -9605 415930.556 815269.444 -9606 415933.333 730858.333 -9607 415933.333 873463.889 -9608 415963.889 739113.889 -9609 415977.778 937080.556 -9610 415983.333 814186.111 -9611 415994.444 932350.000 -9612 415997.222 909105.556 -9613 416005.556 936088.889 -9614 416008.333 876069.444 -9615 416027.778 877438.889 -9616 416030.556 937238.889 -9617 416033.333 803055.556 -9618 416033.333 989258.333 -9619 416055.556 739719.444 -9620 416055.556 741844.444 -9621 416061.111 738733.333 -9622 416063.889 903352.778 -9623 416066.667 719813.889 -9624 416066.667 805725.000 -9625 416077.778 1228391.667 -9626 416097.222 835644.444 -9627 416100.000 876466.667 -9628 416105.556 867225.000 -9629 416105.556 965477.778 -9630 416111.111 876347.222 -9631 416116.667 938850.000 -9632 416125.000 887994.444 -9633 416136.111 901727.778 -9634 416141.667 760469.444 -9635 416141.667 811491.667 -9636 416144.444 940172.222 -9637 416147.222 1121258.333 -9638 416155.556 870741.667 -9639 416155.556 875294.444 -9640 416186.111 813841.667 -9641 416216.667 837116.667 -9642 416227.778 738711.111 -9643 416238.889 813072.222 -9644 416252.778 877175.000 -9645 416258.333 712138.889 -9646 416258.333 871902.778 -9647 416261.111 757808.333 -9648 416266.667 937119.444 -9649 416269.444 796738.889 -9650 416269.444 882038.889 -9651 416283.333 703875.000 -9652 416288.889 813616.667 -9653 416302.778 878538.889 -9654 416302.778 897861.111 -9655 416311.111 780916.667 -9656 416313.889 724602.778 -9657 416316.667 876608.333 -9658 416330.556 754708.333 -9659 416330.556 814688.889 -9660 416336.111 886811.111 -9661 416341.667 1118513.889 -9662 416347.222 849994.444 -9663 416352.778 727691.667 -9664 416361.111 709347.222 -9665 416377.778 859216.667 -9666 416386.111 1119330.556 -9667 416386.111 1120786.111 -9668 416388.889 875566.667 -9669 416388.889 876072.222 -9670 416391.667 874547.222 -9671 416397.222 732088.889 -9672 416397.222 814066.667 -9673 416405.556 993708.333 -9674 416411.111 884472.222 -9675 416413.889 801516.667 -9676 416416.667 854166.667 -9677 416430.556 957886.111 -9678 416436.111 834869.444 -9679 416438.889 877036.111 -9680 416441.667 934644.444 -9681 416458.333 886216.667 -9682 416475.000 880894.444 -9683 416500.000 702416.667 -9684 416513.889 754669.444 -9685 416525.000 797272.222 -9686 416527.778 702833.333 -9687 416530.556 953252.778 -9688 416538.889 814505.556 -9689 416555.556 738752.778 -9690 416555.556 746897.222 -9691 416561.111 804241.667 -9692 416563.889 768536.111 -9693 416563.889 900791.667 -9694 416572.222 876800.000 -9695 416580.556 905844.444 -9696 416583.333 701291.667 -9697 416583.333 708166.667 -9698 416602.778 808608.333 -9699 416611.111 727800.000 -9700 416611.111 877525.000 -9701 416611.111 915300.000 -9702 416611.111 920088.889 -9703 416619.444 861586.111 -9704 416627.778 788113.889 -9705 416627.778 876605.556 -9706 416627.778 885369.444 -9707 416638.889 835552.778 -9708 416641.667 836433.333 -9709 416644.444 701733.333 -9710 416650.000 860758.333 -9711 416652.778 1030986.111 -9712 416658.333 814433.333 -9713 416658.333 1111813.889 -9714 416661.111 813397.222 -9715 416666.667 701852.778 -9716 416666.667 966655.556 -9717 416672.222 878302.778 -9718 416680.556 762622.222 -9719 416680.556 877963.889 -9720 416686.111 933575.000 -9721 416688.889 877386.111 -9722 416713.889 899361.111 -9723 416713.889 913463.889 -9724 416716.667 729497.222 -9725 416730.556 936975.000 -9726 416730.556 1079786.111 -9727 416733.333 843269.444 -9728 416736.111 880016.667 -9729 416747.222 903402.778 -9730 416750.000 712711.111 -9731 416750.000 733522.222 -9732 416763.889 719155.556 -9733 416763.889 915802.778 -9734 416772.222 945030.556 -9735 416777.778 932450.000 -9736 416780.556 730113.889 -9737 416794.444 721708.333 -9738 416794.444 770641.667 -9739 416797.222 874944.444 -9740 416800.000 845530.556 -9741 416802.778 903188.889 -9742 416811.111 699916.667 -9743 416816.667 1118222.222 -9744 416819.444 699602.778 -9745 416819.444 859766.667 -9746 416819.444 869602.778 -9747 416827.778 883513.889 -9748 416833.333 862500.000 -9749 416841.667 877002.778 -9750 416844.444 939608.333 -9751 416861.111 700763.889 -9752 416883.333 937908.333 -9753 416888.889 889811.111 -9754 416888.889 983630.556 -9755 416897.222 877972.222 -9756 416908.333 980033.333 -9757 416916.667 943627.778 -9758 416916.667 974841.667 -9759 416919.444 713791.667 -9760 416925.000 869775.000 -9761 416947.222 740516.667 -9762 416966.667 878169.444 -9763 416972.222 862450.000 -9764 416975.000 905825.000 -9765 416977.778 727241.667 -9766 416983.333 868591.667 -9767 416986.111 880683.333 -9768 416994.444 840702.778 -9769 416997.222 930477.778 -9770 417000.000 703000.000 -9771 417000.000 707633.333 -9772 417002.778 739213.889 -9773 417002.778 865094.444 -9774 417005.556 934619.444 -9775 417013.889 711555.556 -9776 417013.889 877791.667 -9777 417019.444 702500.000 -9778 417038.889 790358.333 -9779 417050.000 813605.556 -9780 417052.778 972377.778 -9781 417061.111 715236.111 -9782 417063.889 1118163.889 -9783 417075.000 868950.000 -9784 417091.667 746288.889 -9785 417102.778 865341.667 -9786 417105.556 722086.111 -9787 417105.556 745747.222 -9788 417116.667 839097.222 -9789 417119.444 1121647.222 -9790 417122.222 726086.111 -9791 417127.778 718813.889 -9792 417141.667 726530.556 -9793 417141.667 893286.111 -9794 417161.111 862525.000 -9795 417169.444 743961.111 -9796 417175.000 899258.333 -9797 417180.556 929072.222 -9798 417180.556 949322.222 -9799 417183.333 738530.556 -9800 417188.889 801477.778 -9801 417188.889 837130.556 -9802 417194.444 842180.556 -9803 417205.556 877016.667 -9804 417208.333 739605.556 -9805 417208.333 877541.667 -9806 417211.111 968825.000 -9807 417213.889 858175.000 -9808 417216.667 1118205.556 -9809 417233.333 917902.778 -9810 417244.444 732366.667 -9811 417244.444 812458.333 -9812 417250.000 970025.000 -9813 417255.556 786386.111 -9814 417255.556 878250.000 -9815 417266.667 971219.444 -9816 417277.778 844188.889 -9817 417283.333 1225266.667 -9818 417297.222 936055.556 -9819 417305.556 883458.333 -9820 417308.333 849327.778 -9821 417316.667 922977.778 -9822 417330.556 776422.222 -9823 417336.111 924452.778 -9824 417344.444 877313.889 -9825 417355.556 1118336.111 -9826 417355.556 1226333.333 -9827 417383.333 957025.000 -9828 417405.556 713091.667 -9829 417408.333 878602.778 -9830 417411.111 705994.444 -9831 417411.111 735769.444 -9832 417411.111 1121608.333 -9833 417416.667 706583.333 -9834 417430.556 927222.222 -9835 417438.889 743719.444 -9836 417444.444 878377.778 -9837 417452.778 706186.111 -9838 417455.556 868508.333 -9839 417472.222 731891.667 -9840 417475.000 740872.222 -9841 417486.111 773008.333 -9842 417488.889 879183.333 -9843 417491.667 915977.778 -9844 417500.000 878041.667 -9845 417500.000 977750.000 -9846 417550.000 1033236.111 -9847 417561.111 1242005.556 -9848 417577.778 803680.556 -9849 417588.889 704944.444 -9850 417600.000 700833.333 -9851 417602.778 811411.111 -9852 417605.556 883200.000 -9853 417611.111 938241.667 -9854 417619.444 727425.000 -9855 417619.444 1089661.111 -9856 417625.000 707222.222 -9857 417627.778 878000.000 -9858 417636.111 726855.556 -9859 417652.778 721986.111 -9860 417658.333 836280.556 -9861 417675.000 764430.556 -9862 417680.556 888769.444 -9863 417688.889 878577.778 -9864 417688.889 886408.333 -9865 417694.444 711291.667 -9866 417694.444 1118038.889 -9867 417697.222 911277.778 -9868 417700.000 705288.889 -9869 417702.778 879022.222 -9870 417711.111 730602.778 -9871 417711.111 810500.000 -9872 417713.889 937127.778 -9873 417716.667 887736.111 -9874 417747.222 742986.111 -9875 417747.222 780208.333 -9876 417750.000 1071125.000 -9877 417755.556 954172.222 -9878 417758.333 725219.444 -9879 417783.333 962208.333 -9880 417794.444 1105377.778 -9881 417797.222 714377.778 -9882 417797.222 896888.889 -9883 417800.000 790933.333 -9884 417808.333 749341.667 -9885 417816.667 991327.778 -9886 417822.222 726125.000 -9887 417827.778 878780.556 -9888 417850.000 736944.444 -9889 417858.333 881472.222 -9890 417880.556 902561.111 -9891 417886.111 896961.111 -9892 417894.444 902191.667 -9893 417897.222 699902.778 -9894 417897.222 707608.333 -9895 417911.111 1072380.556 -9896 417925.000 1105369.444 -9897 417938.889 867438.889 -9898 417955.556 860808.333 -9899 417958.333 879755.556 -9900 417966.667 718977.778 -9901 417975.000 879547.222 -9902 417980.556 856433.333 -9903 417980.556 864991.667 -9904 417980.556 920705.556 -9905 417986.111 866105.556 -9906 417988.889 1118183.333 -9907 417991.667 854191.667 -9908 418005.556 731216.667 -9909 418005.556 803691.667 -9910 418008.333 879369.444 -9911 418011.111 747469.444 -9912 418011.111 880747.222 -9913 418019.444 810491.667 -9914 418025.000 718863.889 -9915 418036.111 800566.667 -9916 418061.111 883272.222 -9917 418069.444 834425.000 -9918 418072.222 770777.778 -9919 418072.222 914938.889 -9920 418083.333 722500.000 -9921 418086.111 877933.333 -9922 418088.889 880111.111 -9923 418094.444 1035033.333 -9924 418097.222 728311.111 -9925 418097.222 879005.556 -9926 418097.222 899650.000 -9927 418108.333 782800.000 -9928 418111.111 784450.000 -9929 418127.778 729205.556 -9930 418133.333 878180.556 -9931 418136.111 713705.556 -9932 418177.778 881733.333 -9933 418213.889 877827.778 -9934 418233.333 905380.556 -9935 418238.889 714133.333 -9936 418238.889 878516.667 -9937 418241.667 906477.778 -9938 418244.444 728941.667 -9939 418258.333 1036600.000 -9940 418261.111 931513.889 -9941 418272.222 863611.111 -9942 418280.556 866925.000 -9943 418283.333 974547.222 -9944 418288.889 740688.889 -9945 418297.222 862541.667 -9946 418316.667 908380.556 -9947 418325.000 838625.000 -9948 418327.778 879288.889 -9949 418347.222 878616.667 -9950 418350.000 878227.778 -9951 418358.333 964666.667 -9952 418383.333 1118319.444 -9953 418386.111 941069.444 -9954 418388.889 894794.444 -9955 418394.444 847480.556 -9956 418411.111 856686.111 -9957 418416.667 893002.778 -9958 418416.667 967083.333 -9959 418427.778 878230.556 -9960 418438.889 791452.778 -9961 418444.444 901886.111 -9962 418455.556 877538.889 -9963 418455.556 916927.778 -9964 418458.333 709500.000 -9965 418472.222 853186.111 -9966 418475.000 1036611.111 -9967 418491.667 735572.222 -9968 418500.000 876500.000 -9969 418500.000 879644.444 -9970 418500.000 883125.000 -9971 418505.556 877936.111 -9972 418505.556 878819.444 -9973 418519.444 945580.556 -9974 418525.000 726441.667 -9975 418544.444 956002.778 -9976 418550.000 843538.889 -9977 418569.444 939216.667 -9978 418575.000 909280.556 -9979 418594.444 809541.667 -9980 418616.667 881608.333 -9981 418627.778 1119900.000 -9982 418638.889 711250.000 -9983 418638.889 878533.333 -9984 418650.000 699916.667 -9985 418650.000 807900.000 -9986 418661.111 881069.444 -9987 418661.111 892211.111 -9988 418666.667 1036666.667 -9989 418672.222 901594.444 -9990 418700.000 1065613.889 -9991 418708.333 786616.667 -9992 418708.333 946772.222 -9993 418711.111 715525.000 -9994 418722.222 851947.222 -9995 418725.000 757275.000 -9996 418727.778 807730.556 -9997 418730.556 728586.111 -9998 418741.667 791525.000 -9999 418741.667 801319.444 -10000 418758.333 728016.667 -10001 418766.667 938230.556 -10002 418775.000 880669.444 -10003 418777.778 879027.778 -10004 418777.778 936783.333 -10005 418786.111 713830.556 -10006 418788.889 927891.667 -10007 418791.667 878430.556 -10008 418800.000 880077.778 -10009 418813.889 878830.556 -10010 418822.222 729775.000 -10011 418847.222 882038.889 -10012 418850.000 877844.444 -10013 418875.000 883052.778 -10014 418888.889 837788.889 -10015 418888.889 879033.333 -10016 418888.889 910563.889 -10017 418897.222 879888.889 -10018 418897.222 952319.444 -10019 418905.556 713927.778 -10020 418908.333 806763.889 -10021 418919.444 933994.444 -10022 418922.222 884722.222 -10023 418930.556 911505.556 -10024 418955.556 1062041.667 -10025 418969.444 922780.556 -10026 418975.000 840372.222 -10027 418977.778 878138.889 -10028 418983.333 935288.889 -10029 418994.444 798455.556 -10030 418994.444 879402.778 -10031 419000.000 710902.778 -10032 419002.778 748286.111 -10033 419005.556 878566.667 -10034 419011.111 837150.000 -10035 419027.778 919213.889 -10036 419038.889 777622.222 -10037 419044.444 912544.444 -10038 419050.000 803438.889 -10039 419052.778 739766.667 -10040 419055.556 878836.111 -10041 419058.333 806905.556 -10042 419066.667 713911.111 -10043 419075.000 885991.667 -10044 419086.111 727605.556 -10045 419086.111 771333.333 -10046 419091.667 950647.222 -10047 419094.444 920841.667 -10048 419102.778 880716.667 -10049 419116.667 860100.000 -10050 419125.000 881347.222 -10051 419150.000 719094.444 -10052 419163.889 833977.778 -10053 419172.222 878955.556 -10054 419172.222 1040386.111 -10055 419183.333 834305.556 -10056 419191.667 775391.667 -10057 419194.444 917808.333 -10058 419200.000 846305.556 -10059 419200.000 886886.111 -10060 419202.778 796405.556 -10061 419202.778 1120491.667 -10062 419211.111 730605.556 -10063 419211.111 878091.667 -10064 419211.111 913852.778 -10065 419219.444 914166.667 -10066 419227.778 1118127.778 -10067 419233.333 855283.333 -10068 419236.111 710527.778 -10069 419238.889 890686.111 -10070 419244.444 740616.667 -10071 419258.333 878358.333 -10072 419266.667 739130.556 -10073 419269.444 739977.778 -10074 419288.889 954936.111 -10075 419291.667 726277.778 -10076 419294.444 887502.778 -10077 419297.222 888608.333 -10078 419300.000 968113.889 -10079 419308.333 889644.444 -10080 419311.111 833269.444 -10081 419316.667 879888.889 -10082 419352.778 878655.556 -10083 419375.000 964769.444 -10084 419386.111 761361.111 -10085 419388.889 719600.000 -10086 419402.778 850005.556 -10087 419402.778 1038080.556 -10088 419413.889 931030.556 -10089 419438.889 856325.000 -10090 419441.667 848838.889 -10091 419444.444 712861.111 -10092 419463.889 863388.889 -10093 419475.000 805544.444 -10094 419502.778 972236.111 -10095 419508.333 882422.222 -10096 419511.111 890644.444 -10097 419536.111 735111.111 -10098 419538.889 727891.667 -10099 419538.889 752808.333 -10100 419538.889 860647.222 -10101 419541.667 723027.778 -10102 419550.000 879400.000 -10103 419555.556 717027.778 -10104 419558.333 786441.667 -10105 419558.333 878708.333 -10106 419561.111 1214763.889 -10107 419572.222 765183.333 -10108 419572.222 836597.222 -10109 419575.000 864855.556 -10110 419575.000 880808.333 -10111 419577.778 783855.556 -10112 419583.333 706677.778 -10113 419583.333 853250.000 -10114 419588.889 900991.667 -10115 419611.111 757436.111 -10116 419633.333 878272.222 -10117 419633.333 879788.889 -10118 419633.333 897744.444 -10119 419633.333 1039258.333 -10120 419636.111 781911.111 -10121 419638.889 908175.000 -10122 419655.556 716750.000 -10123 419666.667 711875.000 -10124 419666.667 925766.667 -10125 419672.222 878075.000 -10126 419675.000 1219169.444 -10127 419708.333 845258.333 -10128 419716.667 757436.111 -10129 419750.000 880072.222 -10130 419758.333 1118555.556 -10131 419761.111 725922.222 -10132 419766.667 714591.667 -10133 419788.889 765158.333 -10134 419797.222 736563.889 -10135 419816.667 726511.111 -10136 419825.000 793388.889 -10137 419833.333 980833.333 -10138 419836.111 909561.111 -10139 419841.667 846619.444 -10140 419841.667 861086.111 -10141 419847.222 880797.222 -10142 419850.000 862997.222 -10143 419852.778 724466.667 -10144 419855.556 718991.667 -10145 419855.556 739886.111 -10146 419861.111 773111.111 -10147 419861.111 895791.667 -10148 419863.889 843472.222 -10149 419866.667 838311.111 -10150 419872.222 725452.778 -10151 419872.222 969138.889 -10152 419888.889 886866.667 -10153 419902.778 709755.556 -10154 419941.667 882922.222 -10155 419944.444 707250.000 -10156 419950.000 881855.556 -10157 419955.556 919675.000 -10158 419955.556 925766.667 -10159 419969.444 918619.444 -10160 419972.222 741052.778 -10161 419975.000 765375.000 -10162 419980.556 911413.889 -10163 419983.333 921972.222 -10164 419994.444 881450.000 -10165 419994.444 975980.556 -10166 420002.778 803183.333 -10167 420022.222 906069.444 -10168 420027.778 715152.778 -10169 420036.111 798111.111 -10170 420038.889 839450.000 -10171 420038.889 879702.778 -10172 420044.444 877300.000 -10173 420061.111 841900.000 -10174 420063.889 854500.000 -10175 420069.444 927752.778 -10176 420075.000 962494.444 -10177 420083.333 916438.889 -10178 420086.111 920908.333 -10179 420111.111 878405.556 -10180 420127.778 965725.000 -10181 420127.778 1214075.000 -10182 420133.333 898905.556 -10183 420144.444 865194.444 -10184 420147.222 893322.222 -10185 420152.778 943772.222 -10186 420161.111 767272.222 -10187 420166.667 740766.667 -10188 420166.667 931633.333 -10189 420177.778 933150.000 -10190 420177.778 953550.000 -10191 420180.556 740152.778 -10192 420188.889 878027.778 -10193 420225.000 945450.000 -10194 420227.778 934522.222 -10195 420230.556 706833.333 -10196 420236.111 719502.778 -10197 420252.778 1215994.444 -10198 420255.556 881783.333 -10199 420258.333 858155.556 -10200 420266.667 960969.444 -10201 420272.222 733297.222 -10202 420316.667 942405.556 -10203 420333.333 712194.444 -10204 420333.333 877333.333 -10205 420333.333 878833.333 -10206 420333.333 880833.333 -10207 420341.667 915975.000 -10208 420347.222 936197.222 -10209 420358.333 916819.444 -10210 420372.222 882811.111 -10211 420386.111 783411.111 -10212 420391.667 940275.000 -10213 420405.556 877825.000 -10214 420411.111 876900.000 -10215 420416.667 706727.778 -10216 420427.778 880797.222 -10217 420427.778 1010422.222 -10218 420430.556 733455.556 -10219 420436.111 739477.778 -10220 420438.889 847575.000 -10221 420455.556 802700.000 -10222 420472.222 978336.111 -10223 420494.444 929077.778 -10224 420500.000 718805.556 -10225 420500.000 725833.333 -10226 420502.778 894311.111 -10227 420502.778 904138.889 -10228 420527.778 1242827.778 -10229 420533.333 1242663.889 -10230 420544.444 791583.333 -10231 420544.444 1049522.222 -10232 420569.444 947286.111 -10233 420583.333 701791.667 -10234 420583.333 739097.222 -10235 420591.667 833908.333 -10236 420591.667 910072.222 -10237 420594.444 914425.000 -10238 420597.222 938800.000 -10239 420600.000 754280.556 -10240 420638.889 832611.111 -10241 420650.000 864950.000 -10242 420650.000 1041811.111 -10243 420658.333 948666.667 -10244 420661.111 917952.778 -10245 420663.889 879372.222 -10246 420666.667 851361.111 -10247 420683.333 955913.889 -10248 420688.889 906655.556 -10249 420694.444 761550.000 -10250 420700.000 843305.556 -10251 420708.333 832466.667 -10252 420711.111 901738.889 -10253 420711.111 916666.667 -10254 420719.444 839716.667 -10255 420722.222 717138.889 -10256 420722.222 877227.778 -10257 420750.000 708805.556 -10258 420750.000 720338.889 -10259 420750.000 794833.333 -10260 420758.333 756408.333 -10261 420775.000 739533.333 -10262 420775.000 784300.000 -10263 420780.556 768455.556 -10264 420825.000 1109544.444 -10265 420833.333 710188.889 -10266 420833.333 713972.222 -10267 420841.667 880130.556 -10268 420852.778 836825.000 -10269 420858.333 877175.000 -10270 420863.889 779225.000 -10271 420866.667 714750.000 -10272 420869.444 864558.333 -10273 420886.111 852347.222 -10274 420897.222 768080.556 -10275 420900.000 784944.444 -10276 420913.889 881216.667 -10277 420916.667 707061.111 -10278 420925.000 888511.111 -10279 420930.556 707930.556 -10280 420933.333 849858.333 -10281 420936.111 926755.556 -10282 420941.667 883025.000 -10283 420944.444 901566.667 -10284 420944.444 918691.667 -10285 420950.000 831897.222 -10286 420950.000 899780.556 -10287 420952.778 879375.000 -10288 420963.889 1118758.333 -10289 420969.444 792355.556 -10290 420972.222 886927.778 -10291 420977.778 885302.778 -10292 420983.333 760497.222 -10293 420986.111 759183.333 -10294 420997.222 877808.333 -10295 421013.889 725902.778 -10296 421022.222 898333.333 -10297 421027.778 772338.889 -10298 421033.333 762625.000 -10299 421041.667 723194.444 -10300 421041.667 793333.333 -10301 421058.333 842483.333 -10302 421069.444 726208.333 -10303 421069.444 936494.444 -10304 421072.222 891791.667 -10305 421080.556 859744.444 -10306 421080.556 877358.333 -10307 421083.333 720791.667 -10308 421083.333 912850.000 -10309 421094.444 792833.333 -10310 421102.778 880341.667 -10311 421111.111 716666.667 -10312 421125.000 929883.333 -10313 421127.778 760213.889 -10314 421141.667 856377.778 -10315 421141.667 967069.444 -10316 421155.556 759591.667 -10317 421161.111 721138.889 -10318 421166.667 864541.667 -10319 421180.556 880961.111 -10320 421186.111 791986.111 -10321 421200.000 855327.778 -10322 421211.111 882577.778 -10323 421216.667 770375.000 -10324 421236.111 711791.667 -10325 421236.111 724319.444 -10326 421250.000 727500.000 -10327 421255.556 894036.111 -10328 421261.111 895791.667 -10329 421269.444 892555.556 -10330 421275.000 878288.889 -10331 421275.000 961491.667 -10332 421286.111 980294.444 -10333 421291.667 800852.778 -10334 421297.222 768211.111 -10335 421305.556 715416.667 -10336 421311.111 864072.222 -10337 421333.333 758966.667 -10338 421350.000 877580.556 -10339 421372.222 769372.222 -10340 421388.889 832416.667 -10341 421391.667 879288.889 -10342 421394.444 831783.333 -10343 421397.222 715166.667 -10344 421402.778 800152.778 -10345 421416.667 712500.000 -10346 421427.778 770550.000 -10347 421458.333 707402.778 -10348 421458.333 848088.889 -10349 421461.111 771119.444 -10350 421483.333 964880.556 -10351 421486.111 726083.333 -10352 421486.111 746486.111 -10353 421502.778 840377.778 -10354 421513.889 879597.222 -10355 421519.444 944741.667 -10356 421538.889 881361.111 -10357 421547.222 897397.222 -10358 421550.000 710091.667 -10359 421563.889 777958.333 -10360 421577.778 787152.778 -10361 421583.333 723291.667 -10362 421591.667 795955.556 -10363 421605.556 842461.111 -10364 421608.333 880813.889 -10365 421611.111 932969.444 -10366 421619.444 770944.444 -10367 421619.444 789755.556 -10368 421625.000 710416.667 -10369 421625.000 834030.556 -10370 421630.556 1236469.444 -10371 421652.778 954366.667 -10372 421655.556 882941.667 -10373 421658.333 957927.778 -10374 421663.889 935016.667 -10375 421666.667 837816.667 -10376 421669.444 768208.333 -10377 421672.222 858469.444 -10378 421675.000 878969.444 -10379 421680.556 884280.556 -10380 421686.111 920233.333 -10381 421694.444 751297.222 -10382 421705.556 880477.778 -10383 421711.111 878444.444 -10384 421716.667 923061.111 -10385 421727.778 789480.556 -10386 421777.778 846430.556 -10387 421783.333 879977.778 -10388 421811.111 723611.111 -10389 421816.667 878002.778 -10390 421816.667 883302.778 -10391 421816.667 949766.667 -10392 421861.111 863083.333 -10393 421866.667 862605.556 -10394 421872.222 935955.556 -10395 421875.000 713069.444 -10396 421877.778 927150.000 -10397 421888.889 1203447.222 -10398 421908.333 917850.000 -10399 421916.667 1122500.000 -10400 421933.333 843911.111 -10401 421933.333 878663.889 -10402 421936.111 924652.778 -10403 421944.444 712000.000 -10404 421944.444 719063.889 -10405 421947.222 1227083.333 -10406 421955.556 741341.667 -10407 421958.333 707263.889 -10408 421958.333 733625.000 -10409 421969.444 880933.333 -10410 421986.111 765527.778 -10411 421991.667 975263.889 -10412 421997.222 878091.667 -10413 422008.333 882144.444 -10414 422011.111 855800.000 -10415 422038.889 915238.889 -10416 422041.667 726166.667 -10417 422047.222 834852.778 -10418 422050.000 845527.778 -10419 422063.889 781377.778 -10420 422066.667 861666.667 -10421 422069.444 1217361.111 -10422 422075.000 880555.556 -10423 422077.778 881405.556 -10424 422094.444 857844.444 -10425 422097.222 764936.111 -10426 422119.444 882380.556 -10427 422122.222 862719.444 -10428 422125.000 721916.667 -10429 422125.000 723458.333 -10430 422125.000 881525.000 -10431 422136.111 742191.667 -10432 422138.889 721027.778 -10433 422138.889 831938.889 -10434 422155.556 798344.444 -10435 422169.444 880494.444 -10436 422172.222 738650.000 -10437 422175.000 782755.556 -10438 422177.778 858911.111 -10439 422188.889 707861.111 -10440 422191.667 860513.889 -10441 422194.444 879794.444 -10442 422208.333 709402.778 -10443 422208.333 863694.444 -10444 422222.222 710000.000 -10445 422222.222 833966.667 -10446 422230.556 780347.222 -10447 422236.111 761836.111 -10448 422241.667 918741.667 -10449 422247.222 928744.444 -10450 422250.000 1217805.556 -10451 422272.222 1114002.778 -10452 422277.778 720472.222 -10453 422280.556 755269.444 -10454 422286.111 715230.556 -10455 422305.556 970175.000 -10456 422327.778 763427.778 -10457 422327.778 962277.778 -10458 422330.556 843272.222 -10459 422338.889 738827.778 -10460 422347.222 889488.889 -10461 422352.778 721416.667 -10462 422358.333 964722.222 -10463 422383.333 853350.000 -10464 422383.333 911869.444 -10465 422408.333 832697.222 -10466 422411.111 836130.556 -10467 422411.111 883161.111 -10468 422416.667 708902.778 -10469 422416.667 711666.667 -10470 422425.000 882019.444 -10471 422430.556 847530.556 -10472 422433.333 1138811.111 -10473 422438.889 719927.778 -10474 422444.444 831458.333 -10475 422455.556 930644.444 -10476 422458.333 712833.333 -10477 422458.333 844013.889 -10478 422458.333 1227875.000 -10479 422463.889 882427.778 -10480 422483.333 736536.111 -10481 422486.111 886083.333 -10482 422500.000 710666.667 -10483 422505.556 831786.111 -10484 422508.333 842130.556 -10485 422525.000 788058.333 -10486 422527.778 710027.778 -10487 422527.778 737913.889 -10488 422538.889 795047.222 -10489 422541.667 733666.667 -10490 422541.667 777908.333 -10491 422563.889 725166.667 -10492 422563.889 902794.444 -10493 422575.000 832111.111 -10494 422577.778 983461.111 -10495 422583.333 845997.222 -10496 422586.111 904227.778 -10497 422588.889 881391.667 -10498 422597.222 722402.778 -10499 422602.778 738100.000 -10500 422613.889 940683.333 -10501 422625.000 718027.778 -10502 422630.556 880038.889 -10503 422638.889 792588.889 -10504 422638.889 888441.667 -10505 422652.778 898258.333 -10506 422661.111 892411.111 -10507 422666.667 720833.333 -10508 422669.444 797108.333 -10509 422675.000 947336.111 -10510 422688.889 715244.444 -10511 422691.667 968647.222 -10512 422694.444 716166.667 -10513 422697.222 1047411.111 -10514 422702.778 776061.111 -10515 422702.778 945483.333 -10516 422711.111 890938.889 -10517 422711.111 950927.778 -10518 422713.889 939269.444 -10519 422722.222 849633.333 -10520 422733.333 831344.444 -10521 422750.000 786730.556 -10522 422755.556 1228169.444 -10523 422761.111 881919.444 -10524 422769.444 724013.889 -10525 422780.556 749163.889 -10526 422786.111 967263.889 -10527 422788.889 878341.667 -10528 422791.667 714166.667 -10529 422805.556 942905.556 -10530 422808.333 915302.778 -10531 422813.889 833863.889 -10532 422825.000 831752.778 -10533 422830.556 879530.556 -10534 422833.333 712333.333 -10535 422833.333 837458.333 -10536 422861.111 737391.667 -10537 422866.667 917805.556 -10538 422875.000 733208.333 -10539 422886.111 772186.111 -10540 422886.111 854180.556 -10541 422900.000 882247.222 -10542 422916.667 855872.222 -10543 422933.333 754797.222 -10544 422941.667 833100.000 -10545 422944.444 791000.000 -10546 422963.889 712930.556 -10547 422966.667 896211.111 -10548 422986.111 910147.222 -10549 422988.889 739988.889 -10550 423019.444 709083.333 -10551 423030.556 855502.778 -10552 423041.667 732486.111 -10553 423055.556 933000.000 -10554 423066.667 780161.111 -10555 423083.333 852191.667 -10556 423122.222 952502.778 -10557 423125.000 722083.333 -10558 423125.000 861130.556 -10559 423136.111 1229658.333 -10560 423138.889 893591.667 -10561 423147.222 753919.444 -10562 423147.222 884486.111 -10563 423150.000 921919.444 -10564 423152.778 934341.667 -10565 423155.556 955983.333 -10566 423177.778 902213.889 -10567 423180.556 840205.556 -10568 423188.889 851425.000 -10569 423188.889 882580.556 -10570 423194.444 716416.667 -10571 423200.000 890580.556 -10572 423208.333 713647.222 -10573 423211.111 851797.222 -10574 423216.667 964891.667 -10575 423216.667 1030725.000 -10576 423222.222 777386.111 -10577 423222.222 795783.333 -10578 423222.222 831763.889 -10579 423222.222 1112969.444 -10580 423236.111 925991.667 -10581 423241.667 834002.778 -10582 423250.000 726416.667 -10583 423252.778 753127.778 -10584 423255.556 833311.111 -10585 423255.556 878411.111 -10586 423266.667 1228744.444 -10587 423277.778 776613.889 -10588 423280.556 855697.222 -10589 423286.111 881988.889 -10590 423288.889 759680.556 -10591 423291.667 757702.778 -10592 423291.667 788683.333 -10593 423313.889 830458.333 -10594 423363.889 853522.222 -10595 423366.667 767888.889 -10596 423369.444 712097.222 -10597 423369.444 773180.556 -10598 423369.444 784583.333 -10599 423369.444 832733.333 -10600 423383.333 838886.111 -10601 423402.778 725055.556 -10602 423427.778 879980.556 -10603 423427.778 890519.444 -10604 423438.889 912483.333 -10605 423441.667 793097.222 -10606 423444.444 880416.667 -10607 423447.222 882738.889 -10608 423450.000 954713.889 -10609 423458.333 715527.778 -10610 423461.111 776616.667 -10611 423472.222 768455.556 -10612 423483.333 878841.667 -10613 423497.222 900066.667 -10614 423497.222 977916.667 -10615 423508.333 738033.333 -10616 423533.333 880933.333 -10617 423563.889 732852.778 -10618 423569.444 880766.667 -10619 423583.333 710602.778 -10620 423600.000 940519.444 -10621 423600.000 975963.889 -10622 423608.333 858794.444 -10623 423608.333 930994.444 -10624 423616.667 927683.333 -10625 423636.111 878447.222 -10626 423641.667 735952.778 -10627 423641.667 790558.333 -10628 423683.333 833527.778 -10629 423683.333 882925.000 -10630 423694.444 719486.111 -10631 423702.778 879019.444 -10632 423708.333 711833.333 -10633 423708.333 725986.111 -10634 423716.667 880900.000 -10635 423736.111 725208.333 -10636 423750.000 709833.333 -10637 423758.333 829375.000 -10638 423758.333 896330.556 -10639 423763.889 712361.111 -10640 423783.333 846986.111 -10641 423786.111 973566.667 -10642 423794.444 898222.222 -10643 423800.000 881041.667 -10644 423805.556 768736.111 -10645 423811.111 881397.222 -10646 423827.778 859569.444 -10647 423861.111 829119.444 -10648 423875.000 711000.000 -10649 423883.333 958663.889 -10650 423886.111 794413.889 -10651 423886.111 895261.111 -10652 423916.667 710333.333 -10653 423916.667 715666.667 -10654 423927.778 830497.222 -10655 423933.333 883402.778 -10656 423944.444 776969.444 -10657 423944.444 917608.333 -10658 423952.778 736983.333 -10659 423952.778 946336.111 -10660 423958.333 711791.667 -10661 423966.667 881836.111 -10662 423972.222 751738.889 -10663 423986.111 880525.000 -10664 423997.222 887402.778 -10665 424030.556 862736.111 -10666 424038.889 963583.333 -10667 424066.667 924552.778 -10668 424072.222 746147.222 -10669 424075.000 1244205.556 -10670 424077.778 772238.889 -10671 424080.556 881316.667 -10672 424083.333 710125.000 -10673 424083.333 710541.667 -10674 424086.111 882063.889 -10675 424091.667 828919.444 -10676 424094.444 774216.667 -10677 424102.778 725313.889 -10678 424105.556 880261.111 -10679 424133.333 736736.111 -10680 424133.333 890091.667 -10681 424152.778 711569.444 -10682 424155.556 964180.556 -10683 424161.111 922147.222 -10684 424166.667 716833.333 -10685 424166.667 904288.889 -10686 424169.444 880738.889 -10687 424183.333 711066.667 -10688 424222.222 886136.111 -10689 424222.222 949894.444 -10690 424227.778 721055.556 -10691 424233.333 781575.000 -10692 424247.222 941500.000 -10693 424250.000 710666.667 -10694 424263.889 709194.444 -10695 424286.111 879238.889 -10696 424286.111 1121236.111 -10697 424291.667 764952.778 -10698 424294.444 970894.444 -10699 424297.222 913308.333 -10700 424311.111 834833.333 -10701 424330.556 829241.667 -10702 424333.333 714500.000 -10703 424361.111 1231708.333 -10704 424363.889 893319.444 -10705 424366.667 828769.444 -10706 424375.000 1228577.778 -10707 424391.667 1233272.222 -10708 424394.444 837438.889 -10709 424400.000 793319.444 -10710 424400.000 856488.889 -10711 424405.556 764969.444 -10712 424408.333 736613.889 -10713 424413.889 849241.667 -10714 424416.667 760325.000 -10715 424427.778 910061.111 -10716 424433.333 850180.556 -10717 424436.111 829069.444 -10718 424444.444 716875.000 -10719 424450.000 909319.444 -10720 424461.111 878327.778 -10721 424472.222 712250.000 -10722 424500.000 732458.333 -10723 424511.111 841805.556 -10724 424513.889 844325.000 -10725 424522.222 711375.000 -10726 424527.778 750641.667 -10727 424566.667 839463.889 -10728 424577.778 986472.222 -10729 424583.333 710666.667 -10730 424583.333 713958.333 -10731 424591.667 929383.333 -10732 424594.444 764869.444 -10733 424605.556 831347.222 -10734 424605.556 836516.667 -10735 424605.556 856963.889 -10736 424613.889 777772.222 -10737 424613.889 951516.667 -10738 424625.000 831041.667 -10739 424630.556 789361.111 -10740 424641.667 926280.556 -10741 424644.444 833763.889 -10742 424647.222 710105.556 -10743 424661.111 781152.778 -10744 424666.667 709500.000 -10745 424666.667 979058.333 -10746 424669.444 922563.889 -10747 424683.333 738166.667 -10748 424683.333 791772.222 -10749 424683.333 829555.556 -10750 424683.333 896438.889 -10751 424686.111 918891.667 -10752 424688.889 922194.444 -10753 424691.667 922808.333 -10754 424694.444 938158.333 -10755 424705.556 939933.333 -10756 424708.333 709180.556 -10757 424711.111 831422.222 -10758 424716.667 884322.222 -10759 424727.778 1228016.667 -10760 424733.333 832219.444 -10761 424733.333 917341.667 -10762 424738.889 964133.333 -10763 424750.000 957852.778 -10764 424755.556 920636.111 -10765 424772.222 726083.333 -10766 424772.222 880955.556 -10767 424775.000 830277.778 -10768 424788.889 878236.111 -10769 424791.667 711527.778 -10770 424794.444 793341.667 -10771 424800.000 711000.000 -10772 424805.556 831669.444 -10773 424805.556 834755.556 -10774 424816.667 912722.222 -10775 424841.667 914552.778 -10776 424844.444 911227.778 -10777 424850.000 830277.778 -10778 424858.333 831052.778 -10779 424888.889 960722.222 -10780 424891.667 784811.111 -10781 424891.667 955447.222 -10782 424894.444 831447.222 -10783 424908.333 762975.000 -10784 424922.222 906427.778 -10785 424927.778 923427.778 -10786 424930.556 890366.667 -10787 424947.222 1078266.667 -10788 424963.889 832227.778 -10789 424963.889 899894.444 -10790 424969.444 828888.889 -10791 424972.222 829372.222 -10792 424975.000 941677.778 -10793 424983.333 883297.222 -10794 424994.444 975416.667 -10795 425000.000 708583.333 -10796 425000.000 952927.778 -10797 425000.000 964000.000 -10798 425005.556 906644.444 -10799 425022.222 775075.000 -10800 425025.000 887288.889 -10801 425030.556 831836.111 -10802 425047.222 711961.111 -10803 425061.111 972033.333 -10804 425063.889 710733.333 -10805 425083.333 890316.667 -10806 425091.667 846558.333 -10807 425144.444 907513.889 -10808 425158.333 736105.556 -10809 425158.333 832733.333 -10810 425183.333 737516.667 -10811 425194.444 708972.222 -10812 425202.778 933758.333 -10813 425222.222 833061.111 -10814 425225.000 932511.111 -10815 425233.333 769769.444 -10816 425247.222 835363.889 -10817 425250.000 717602.778 -10818 425255.556 710958.333 -10819 425272.222 964827.778 -10820 425277.778 709291.667 -10821 425277.778 924452.778 -10822 425291.667 712286.111 -10823 425291.667 858552.778 -10824 425294.444 837802.778 -10825 425297.222 1143052.778 -10826 425300.000 784730.556 -10827 425311.111 755238.889 -10828 425311.111 882480.556 -10829 425311.111 885994.444 -10830 425313.889 989777.778 -10831 425327.778 904344.444 -10832 425333.333 831463.889 -10833 425338.889 784233.333 -10834 425338.889 1143638.889 -10835 425347.222 881436.111 -10836 425358.333 1137919.444 -10837 425363.889 997002.778 -10838 425377.778 834811.111 -10839 425380.556 883508.333 -10840 425383.333 1101136.111 -10841 425388.889 710486.111 -10842 425391.667 829494.444 -10843 425422.222 766663.889 -10844 425436.111 716500.000 -10845 425441.667 791669.444 -10846 425458.333 714750.000 -10847 425463.889 711741.667 -10848 425466.667 832113.889 -10849 425486.111 752455.556 -10850 425488.889 748213.889 -10851 425500.000 998622.222 -10852 425511.111 946836.111 -10853 425536.111 882944.444 -10854 425536.111 1101086.111 -10855 425541.667 930530.556 -10856 425566.667 834738.889 -10857 425577.778 888650.000 -10858 425583.333 708805.556 -10859 425586.111 1137630.556 -10860 425608.333 776963.889 -10861 425611.111 715902.778 -10862 425630.556 1144600.000 -10863 425636.111 848358.333 -10864 425669.444 926219.444 -10865 425677.778 775900.000 -10866 425697.222 903805.556 -10867 425700.000 921602.778 -10868 425702.778 1146069.444 -10869 425733.333 902308.333 -10870 425750.000 709305.556 -10871 425750.000 719986.111 -10872 425761.111 1117297.222 -10873 425775.000 881050.000 -10874 425775.000 927866.667 -10875 425777.778 1218650.000 -10876 425780.556 885408.333 -10877 425794.444 779427.778 -10878 425802.778 830302.778 -10879 425813.889 948458.333 -10880 425819.444 724930.556 -10881 425822.222 762094.444 -10882 425833.333 718027.778 -10883 425836.111 832455.556 -10884 425841.667 886325.000 -10885 425841.667 928841.667 -10886 425847.222 878211.111 -10887 425858.333 995375.000 -10888 425875.000 726000.000 -10889 425877.778 763672.222 -10890 425883.333 959672.222 -10891 425902.778 723102.778 -10892 425905.556 749455.556 -10893 425936.111 835994.444 -10894 425938.889 861016.667 -10895 425944.444 717250.000 -10896 425952.778 789413.889 -10897 425958.333 722272.222 -10898 425961.111 760936.111 -10899 425969.444 980333.333 -10900 425972.222 828780.556 -10901 425986.111 916419.444 -10902 425988.889 976452.778 -10903 425991.667 991422.222 -10904 425991.667 1147586.111 -10905 426011.111 761808.333 -10906 426011.111 896383.333 -10907 426016.667 887075.000 -10908 426025.000 965588.889 -10909 426027.778 850930.556 -10910 426041.667 725569.444 -10911 426041.667 727397.222 -10912 426055.556 904297.222 -10913 426055.556 950025.000 -10914 426072.222 839294.444 -10915 426080.556 833438.889 -10916 426080.556 1137825.000 -10917 426083.333 720763.889 -10918 426102.778 719394.444 -10919 426111.111 715750.000 -10920 426113.889 833286.111 -10921 426122.222 884822.222 -10922 426144.444 941458.333 -10923 426152.778 770925.000 -10924 426152.778 774027.778 -10925 426158.333 706625.000 -10926 426169.444 767252.778 -10927 426183.333 825311.111 -10928 426183.333 893761.111 -10929 426191.667 1136763.889 -10930 426208.333 919000.000 -10931 426213.889 951730.556 -10932 426219.444 738330.556 -10933 426225.000 972641.667 -10934 426236.111 857602.778 -10935 426241.667 731180.556 -10936 426241.667 753319.444 -10937 426241.667 790672.222 -10938 426261.111 830336.111 -10939 426272.222 905919.444 -10940 426275.000 892530.556 -10941 426277.778 962913.889 -10942 426288.889 780547.222 -10943 426288.889 850241.667 -10944 426291.667 847388.889 -10945 426319.444 707833.333 -10946 426330.556 886436.111 -10947 426333.333 713166.667 -10948 426338.889 735541.667 -10949 426341.667 745644.444 -10950 426369.444 761791.667 -10951 426375.000 709500.000 -10952 426383.333 790280.556 -10953 426388.889 832911.111 -10954 426391.667 920469.444 -10955 426405.556 845152.778 -10956 426411.111 952094.444 -10957 426425.000 737433.333 -10958 426433.333 736091.667 -10959 426444.444 914011.111 -10960 426455.556 846488.889 -10961 426461.111 924627.778 -10962 426505.556 1121922.222 -10963 426525.000 737566.667 -10964 426538.889 739291.667 -10965 426544.444 1116038.889 -10966 426550.000 862019.444 -10967 426566.667 935008.333 -10968 426583.333 711375.000 -10969 426605.556 780858.333 -10970 426605.556 840730.556 -10971 426608.333 770541.667 -10972 426611.111 709972.222 -10973 426641.667 939041.667 -10974 426652.778 715736.111 -10975 426658.333 715888.889 -10976 426658.333 743100.000 -10977 426666.667 717055.556 -10978 426669.444 841741.667 -10979 426708.333 892088.889 -10980 426713.889 923372.222 -10981 426727.778 885444.444 -10982 426733.333 919133.333 -10983 426736.111 952902.778 -10984 426738.889 856447.222 -10985 426763.889 768233.333 -10986 426777.778 744858.333 -10987 426780.556 754988.889 -10988 426780.556 882761.111 -10989 426791.667 708416.667 -10990 426805.556 831338.889 -10991 426811.111 827369.444 -10992 426822.222 768688.889 -10993 426827.778 890186.111 -10994 426830.556 901175.000 -10995 426830.556 1034122.222 -10996 426833.333 966833.333 -10997 426836.111 915338.889 -10998 426838.889 1026894.444 -10999 426855.556 787769.444 -11000 426861.111 720444.444 -11001 426880.556 880513.889 -11002 426888.889 842830.556 -11003 426894.444 907119.444 -11004 426902.778 735650.000 -11005 426911.111 738691.667 -11006 426919.444 737250.000 -11007 426950.000 738075.000 -11008 426958.333 724533.333 -11009 426980.556 878944.444 -11010 427005.556 740341.667 -11011 427005.556 749247.222 -11012 427008.333 731091.667 -11013 427011.111 898669.444 -11014 427022.222 834027.778 -11015 427022.222 922252.778 -11016 427047.222 737552.778 -11017 427069.444 711636.111 -11018 427077.778 894369.444 -11019 427102.778 925827.778 -11020 427119.444 732041.667 -11021 427125.000 764219.444 -11022 427127.778 954363.889 -11023 427130.556 854619.444 -11024 427144.444 909905.556 -11025 427155.556 780058.333 -11026 427166.667 708791.667 -11027 427177.778 738338.889 -11028 427183.333 1024636.111 -11029 427194.444 824922.222 -11030 427197.222 962483.333 -11031 427200.000 942000.000 -11032 427202.778 1118850.000 -11033 427208.333 942150.000 -11034 427222.222 844275.000 -11035 427241.667 1145177.778 -11036 427250.000 1109311.111 -11037 427255.556 778744.444 -11038 427258.333 924752.778 -11039 427261.111 877827.778 -11040 427283.333 736922.222 -11041 427288.889 974952.778 -11042 427294.444 944475.000 -11043 427300.000 737016.667 -11044 427316.667 937327.778 -11045 427325.000 845555.556 -11046 427341.667 904783.333 -11047 427355.556 946688.889 -11048 427358.333 834188.889 -11049 427361.111 903341.667 -11050 427363.889 1234222.222 -11051 427369.444 844838.889 -11052 427400.000 781330.556 -11053 427413.889 882241.667 -11054 427419.444 932022.222 -11055 427441.667 736919.444 -11056 427455.556 895947.222 -11057 427458.333 1244961.111 -11058 427469.444 737594.444 -11059 427469.444 844011.111 -11060 427494.444 955513.889 -11061 427519.444 929752.778 -11062 427527.778 927950.000 -11063 427533.333 847463.889 -11064 427538.889 767027.778 -11065 427583.333 758847.222 -11066 427597.222 1053816.667 -11067 427600.000 772266.667 -11068 427622.222 848963.889 -11069 427622.222 849925.000 -11070 427625.000 1044516.667 -11071 427630.556 882141.667 -11072 427647.222 714402.778 -11073 427652.778 714680.556 -11074 427672.222 718127.778 -11075 427675.000 787441.667 -11076 427677.778 786136.111 -11077 427702.778 832641.667 -11078 427733.333 723836.111 -11079 427738.889 918822.222 -11080 427741.667 737005.556 -11081 427755.556 889438.889 -11082 427758.333 1147033.333 -11083 427761.111 710777.778 -11084 427794.444 969288.889 -11085 427797.222 738461.111 -11086 427802.778 892991.667 -11087 427819.444 949483.333 -11088 427844.444 832397.222 -11089 427844.444 877661.111 -11090 427847.222 851383.333 -11091 427847.222 926675.000 -11092 427852.778 884050.000 -11093 427858.333 910994.444 -11094 427861.111 724869.444 -11095 427861.111 1128536.111 -11096 427875.000 861088.889 -11097 427891.667 855166.667 -11098 427913.889 838463.889 -11099 427919.444 836277.778 -11100 427925.000 736816.667 -11101 427941.667 961652.778 -11102 427955.556 747536.111 -11103 427958.333 746175.000 -11104 427958.333 778172.222 -11105 427963.889 1122533.333 -11106 427972.222 788236.111 -11107 427977.778 837050.000 -11108 427980.556 761097.222 -11109 428027.778 830130.556 -11110 428047.222 1022027.778 -11111 428080.556 922580.556 -11112 428091.667 827558.333 -11113 428102.778 898619.444 -11114 428122.222 1148977.778 -11115 428125.000 708777.778 -11116 428125.000 860186.111 -11117 428127.778 945266.667 -11118 428138.889 720236.111 -11119 428141.667 739400.000 -11120 428144.444 837825.000 -11121 428144.444 896350.000 -11122 428147.222 959730.556 -11123 428208.333 824861.111 -11124 428213.889 776688.889 -11125 428227.778 839444.444 -11126 428238.889 721816.667 -11127 428247.222 832647.222 -11128 428255.556 788236.111 -11129 428258.333 958072.222 -11130 428263.889 739647.222 -11131 428263.889 780900.000 -11132 428263.889 842194.444 -11133 428269.444 755450.000 -11134 428288.889 965591.667 -11135 428294.444 1030000.000 -11136 428297.222 786363.889 -11137 428330.556 1087300.000 -11138 428336.111 887322.222 -11139 428352.778 716494.444 -11140 428352.778 890675.000 -11141 428386.111 841783.333 -11142 428397.222 766936.111 -11143 428405.556 1063652.778 -11144 428408.333 856636.111 -11145 428416.667 708611.111 -11146 428419.444 918019.444 -11147 428433.333 717355.556 -11148 428441.667 828844.444 -11149 428461.111 936138.889 -11150 428466.667 948516.667 -11151 428475.000 907105.556 -11152 428475.000 920913.889 -11153 428508.333 725583.333 -11154 428522.222 834430.556 -11155 428533.333 749858.333 -11156 428536.111 893702.778 -11157 428538.889 914052.778 -11158 428541.667 978969.444 -11159 428558.333 726036.111 -11160 428583.333 709305.556 -11161 428597.222 895380.556 -11162 428600.000 1062677.778 -11163 428613.889 1058716.667 -11164 428641.667 782805.556 -11165 428666.667 883333.333 -11166 428666.667 1063125.000 -11167 428666.667 1098602.778 -11168 428686.111 773358.333 -11169 428686.111 912358.333 -11170 428688.889 769780.556 -11171 428691.667 849030.556 -11172 428694.444 856447.222 -11173 428705.556 719522.222 -11174 428708.333 858650.000 -11175 428711.111 973969.444 -11176 428713.889 1124447.222 -11177 428727.778 1005505.556 -11178 428738.889 987011.111 -11179 428744.444 740469.444 -11180 428777.778 885861.111 -11181 428780.556 731972.222 -11182 428786.111 840638.889 -11183 428791.667 752513.889 -11184 428794.444 884741.667 -11185 428805.556 713277.778 -11186 428813.889 882066.667 -11187 428836.111 1240719.444 -11188 428852.778 751936.111 -11189 428852.778 909233.333 -11190 428858.333 878630.556 -11191 428863.889 788786.111 -11192 428902.778 843513.889 -11193 428905.556 785780.556 -11194 428933.333 787941.667 -11195 428933.333 932150.000 -11196 428933.333 951508.333 -11197 428944.444 739283.333 -11198 428950.000 774350.000 -11199 428958.333 928022.222 -11200 428963.889 827688.889 -11201 428986.111 756405.556 -11202 429000.000 735858.333 -11203 429000.000 784922.222 -11204 429000.000 904308.333 -11205 429005.556 786705.556 -11206 429011.111 733519.444 -11207 429022.222 774200.000 -11208 429027.778 736877.778 -11209 429033.333 735630.556 -11210 429038.889 786925.000 -11211 429041.667 722083.333 -11212 429047.222 768630.556 -11213 429047.222 776116.667 -11214 429055.556 745722.222 -11215 429058.333 881388.889 -11216 429061.111 1085827.778 -11217 429072.222 857919.444 -11218 429086.111 765405.556 -11219 429097.222 857630.556 -11220 429105.556 767969.444 -11221 429105.556 878605.556 -11222 429108.333 745744.444 -11223 429113.889 988488.889 -11224 429119.444 777458.333 -11225 429119.444 839847.222 -11226 429125.000 824869.444 -11227 429133.333 857052.778 -11228 429169.444 835063.889 -11229 429169.444 892177.778 -11230 429188.889 767266.667 -11231 429205.556 830450.000 -11232 429208.333 1124652.778 -11233 429261.111 893844.444 -11234 429275.000 836300.000 -11235 429275.000 1232800.000 -11236 429288.889 888369.444 -11237 429294.444 847986.111 -11238 429294.444 852130.556 -11239 429300.000 758530.556 -11240 429302.778 732430.556 -11241 429313.889 746230.556 -11242 429316.667 765663.889 -11243 429336.111 722786.111 -11244 429336.111 853419.444 -11245 429344.444 884052.778 -11246 429347.222 746138.889 -11247 429361.111 1144050.000 -11248 429375.000 708394.444 -11249 429375.000 880486.111 -11250 429377.778 937930.556 -11251 429386.111 737902.778 -11252 429386.111 741886.111 -11253 429386.111 919500.000 -11254 429388.889 1147122.222 -11255 429391.667 754613.889 -11256 429391.667 840294.444 -11257 429405.556 879958.333 -11258 429411.111 856100.000 -11259 429413.889 832891.667 -11260 429441.667 1128375.000 -11261 429461.111 831238.889 -11262 429469.444 764294.444 -11263 429477.778 743708.333 -11264 429511.111 1233630.556 -11265 429522.222 775905.556 -11266 429527.778 925361.111 -11267 429544.444 743769.444 -11268 429550.000 1153000.000 -11269 429552.778 742855.556 -11270 429558.333 772211.111 -11271 429569.444 944408.333 -11272 429572.222 838305.556 -11273 429575.000 770577.778 -11274 429575.000 916305.556 -11275 429583.333 742333.333 -11276 429597.222 878613.889 -11277 429600.000 784058.333 -11278 429602.778 901300.000 -11279 429613.889 880125.000 -11280 429616.667 771402.778 -11281 429627.778 918080.556 -11282 429638.889 787380.556 -11283 429644.444 825230.556 -11284 429647.222 786777.778 -11285 429652.778 921994.444 -11286 429658.333 788702.778 -11287 429697.222 772305.556 -11288 429708.333 824250.000 -11289 429716.667 904330.556 -11290 429730.556 778530.556 -11291 429741.667 954972.222 -11292 429744.444 741513.889 -11293 429747.222 963180.556 -11294 429763.889 881083.333 -11295 429783.333 779844.444 -11296 429791.667 956877.778 -11297 429813.889 709483.333 -11298 429819.444 841177.778 -11299 429819.444 849469.444 -11300 429825.000 774091.667 -11301 429827.778 763408.333 -11302 429836.111 906552.778 -11303 429852.778 931916.667 -11304 429855.556 839283.333 -11305 429872.222 850711.111 -11306 429875.000 960102.778 -11307 429908.333 895330.556 -11308 429933.333 978625.000 -11309 429955.556 714552.778 -11310 429958.333 849425.000 -11311 429958.333 964850.000 -11312 429977.778 841766.667 -11313 429980.556 781877.778 -11314 430008.333 738494.444 -11315 430013.889 857680.556 -11316 430016.667 847397.222 -11317 430019.444 759772.222 -11318 430022.222 899902.778 -11319 430036.111 890163.889 -11320 430036.111 916522.222 -11321 430044.444 883766.667 -11322 430050.000 980594.444 -11323 430055.556 888072.222 -11324 430058.333 843716.667 -11325 430066.667 743680.556 -11326 430069.444 936027.778 -11327 430072.222 960580.556 -11328 430077.778 842847.222 -11329 430086.111 897383.333 -11330 430105.556 786377.778 -11331 430113.889 750044.444 -11332 430116.667 882313.889 -11333 430125.000 829280.556 -11334 430125.000 836875.000 -11335 430125.000 879725.000 -11336 430125.000 892897.222 -11337 430141.667 884725.000 -11338 430150.000 750358.333 -11339 430155.556 898952.778 -11340 430166.667 880069.444 -11341 430183.333 911825.000 -11342 430202.778 788805.556 -11343 430202.778 1232919.444 -11344 430208.333 784955.556 -11345 430213.889 966305.556 -11346 430247.222 830777.778 -11347 430250.000 1083794.444 -11348 430255.556 749863.889 -11349 430255.556 1025558.333 -11350 430258.333 777455.556 -11351 430280.556 733816.667 -11352 430297.222 760047.222 -11353 430333.333 710747.222 -11354 430344.444 764483.333 -11355 430344.444 766241.667 -11356 430347.222 835180.556 -11357 430361.111 711838.889 -11358 430386.111 788644.444 -11359 430386.111 856700.000 -11360 430388.889 750708.333 -11361 430388.889 879063.889 -11362 430391.667 763044.444 -11363 430430.556 880788.889 -11364 430433.333 748600.000 -11365 430444.444 911780.556 -11366 430450.000 758669.444 -11367 430466.667 770955.556 -11368 430466.667 903797.222 -11369 430472.222 762388.889 -11370 430475.000 762208.333 -11371 430480.556 761477.778 -11372 430483.333 753788.889 -11373 430486.111 765630.556 -11374 430494.444 880075.000 -11375 430513.889 833188.889 -11376 430516.667 911411.111 -11377 430516.667 913891.667 -11378 430519.444 890755.556 -11379 430522.222 929483.333 -11380 430527.778 743441.667 -11381 430580.556 762077.778 -11382 430586.111 741969.444 -11383 430591.667 923175.000 -11384 430605.556 881063.889 -11385 430608.333 884036.111 -11386 430619.444 944266.667 -11387 430622.222 893338.889 -11388 430630.556 838511.111 -11389 430630.556 862283.333 -11390 430638.889 772336.111 -11391 430638.889 859347.222 -11392 430641.667 769905.556 -11393 430650.000 1241377.778 -11394 430652.778 760788.889 -11395 430652.778 764733.333 -11396 430655.556 952836.111 -11397 430658.333 782700.000 -11398 430663.889 926722.222 -11399 430691.667 772991.667 -11400 430700.000 942327.778 -11401 430705.556 921500.000 -11402 430716.667 707630.556 -11403 430719.444 959041.667 -11404 430730.556 894011.111 -11405 430733.333 752880.556 -11406 430736.111 755986.111 -11407 430747.222 731544.444 -11408 430752.778 757072.222 -11409 430761.111 760011.111 -11410 430761.111 887741.667 -11411 430761.111 891994.444 -11412 430769.444 861969.444 -11413 430772.222 781872.222 -11414 430775.000 894455.556 -11415 430794.444 755397.222 -11416 430794.444 757511.111 -11417 430797.222 961752.778 -11418 430797.222 982927.778 -11419 430805.556 882611.111 -11420 430805.556 967733.333 -11421 430813.889 889116.667 -11422 430825.000 756338.889 -11423 430830.556 737850.000 -11424 430830.556 971602.778 -11425 430841.667 768697.222 -11426 430844.444 862202.778 -11427 430847.222 915680.556 -11428 430852.778 779425.000 -11429 430852.778 908830.556 -11430 430858.333 706975.000 -11431 430869.444 956269.444 -11432 430880.556 707366.667 -11433 430883.333 939900.000 -11434 430886.111 843869.444 -11435 430891.667 878875.000 -11436 430905.556 734991.667 -11437 430905.556 775152.778 -11438 430922.222 753800.000 -11439 430925.000 756516.667 -11440 430944.444 790569.444 -11441 430966.667 714655.556 -11442 430972.222 895041.667 -11443 430977.778 761455.556 -11444 430977.778 852288.889 -11445 430977.778 884022.222 -11446 430977.778 938016.667 -11447 430986.111 774422.222 -11448 431000.000 735822.222 -11449 431008.333 747733.333 -11450 431008.333 752330.556 -11451 431025.000 936016.667 -11452 431044.444 742652.778 -11453 431044.444 884591.667 -11454 431047.222 846919.444 -11455 431050.000 883419.444 -11456 431052.778 752916.667 -11457 431058.333 880694.444 -11458 431063.889 762180.556 -11459 431080.556 707780.556 -11460 431086.111 774877.778 -11461 431116.667 883922.222 -11462 431116.667 884991.667 -11463 431127.778 752713.889 -11464 431127.778 946827.778 -11465 431133.333 879000.000 -11466 431144.444 896555.556 -11467 431152.778 761461.111 -11468 431166.667 839700.000 -11469 431183.333 893794.444 -11470 431186.111 836950.000 -11471 431191.667 1244072.222 -11472 431194.444 969611.111 -11473 431200.000 855600.000 -11474 431219.444 752919.444 -11475 431225.000 1234113.889 -11476 431263.889 934775.000 -11477 431291.667 948988.889 -11478 431305.556 714536.111 -11479 431319.444 861547.222 -11480 431330.556 1156902.778 -11481 431333.333 724444.444 -11482 431338.889 709269.444 -11483 431338.889 882219.444 -11484 431344.444 907052.778 -11485 431347.222 761302.778 -11486 431372.222 897466.667 -11487 431377.778 725102.778 -11488 431380.556 755711.111 -11489 431413.889 951441.667 -11490 431427.778 930041.667 -11491 431433.333 771894.444 -11492 431461.111 881661.111 -11493 431463.889 917644.444 -11494 431466.667 883066.667 -11495 431497.222 977172.222 -11496 431500.000 786969.444 -11497 431536.111 932008.333 -11498 431547.222 776158.333 -11499 431563.889 985411.111 -11500 431566.667 834105.556 -11501 431572.222 753330.556 -11502 431575.000 879016.667 -11503 431586.111 763330.556 -11504 431600.000 953272.222 -11505 431605.556 1233666.667 -11506 431608.333 857100.000 -11507 431633.333 879644.444 -11508 431636.111 730727.778 -11509 431661.111 835244.444 -11510 431683.333 890666.667 -11511 431688.889 862638.889 -11512 431702.778 970811.111 -11513 431705.556 786905.556 -11514 431722.222 733280.556 -11515 431725.000 790361.111 -11516 431725.000 1017322.222 -11517 431741.667 879241.667 -11518 431752.778 900677.778 -11519 431766.667 838927.778 -11520 431766.667 897947.222 -11521 431769.444 730575.000 -11522 431769.444 848463.889 -11523 431772.222 1241863.889 -11524 431775.000 837341.667 -11525 431775.000 852527.778 -11526 431788.889 881172.222 -11527 431797.222 718227.778 -11528 431800.000 954766.667 -11529 431805.556 879005.556 -11530 431811.111 958558.333 -11531 431816.667 956552.778 -11532 431819.444 903244.444 -11533 431825.000 992916.667 -11534 431836.111 892136.111 -11535 431836.111 918638.889 -11536 431838.889 889883.333 -11537 431847.222 841150.000 -11538 431850.000 904430.556 -11539 431863.889 778041.667 -11540 431866.667 844744.444 -11541 431886.111 961333.333 -11542 431905.556 1123441.667 -11543 431911.111 960055.556 -11544 431919.444 894555.556 -11545 431947.222 887288.889 -11546 431972.222 766547.222 -11547 431975.000 942194.444 -11548 431977.778 708741.667 -11549 431991.667 785763.889 -11550 432011.111 862388.889 -11551 432052.778 962947.222 -11552 432080.556 715380.556 -11553 432097.222 776933.333 -11554 432122.222 774302.778 -11555 432122.222 829897.222 -11556 432122.222 850736.111 -11557 432136.111 779394.444 -11558 432166.667 1233405.556 -11559 432200.000 783872.222 -11560 432200.000 857511.111 -11561 432205.556 768152.778 -11562 432219.444 717144.444 -11563 432233.333 855513.889 -11564 432238.889 771863.889 -11565 432255.556 750616.667 -11566 432255.556 979655.556 -11567 432263.889 780269.444 -11568 432294.444 831966.667 -11569 432311.111 763011.111 -11570 432322.222 994300.000 -11571 432341.667 862483.333 -11572 432344.444 708100.000 -11573 432358.333 1081097.222 -11574 432361.111 708208.333 -11575 432363.889 879844.444 -11576 432369.444 940411.111 -11577 432375.000 879786.111 -11578 432377.778 770616.667 -11579 432377.778 947511.111 -11580 432380.556 761411.111 -11581 432386.111 724250.000 -11582 432386.111 789100.000 -11583 432397.222 975775.000 -11584 432402.778 758841.667 -11585 432416.667 752572.222 -11586 432444.444 738327.778 -11587 432463.889 781938.889 -11588 432466.667 924358.333 -11589 432472.222 767238.889 -11590 432472.222 790502.778 -11591 432477.778 760005.556 -11592 432488.889 705997.222 -11593 432505.556 895013.889 -11594 432508.333 837941.667 -11595 432547.222 861097.222 -11596 432561.111 862675.000 -11597 432586.111 828175.000 -11598 432616.667 708658.333 -11599 432625.000 936369.444 -11600 432658.333 708650.000 -11601 432669.444 735850.000 -11602 432680.556 825308.333 -11603 432694.444 914755.556 -11604 432708.333 897219.444 -11605 432716.667 769894.444 -11606 432755.556 826211.111 -11607 432788.889 900436.111 -11608 432794.444 962325.000 -11609 432813.889 835297.222 -11610 432841.667 928108.333 -11611 432866.667 761463.889 -11612 432866.667 787105.556 -11613 432869.444 897238.889 -11614 432872.222 932019.444 -11615 432880.556 777936.111 -11616 432916.667 846075.000 -11617 432925.000 850813.889 -11618 432927.778 942177.778 -11619 432947.222 945113.889 -11620 432966.667 879875.000 -11621 432983.333 724827.778 -11622 432991.667 736355.556 -11623 433000.000 736844.444 -11624 433005.556 735863.889 -11625 433008.333 965925.000 -11626 433011.111 1038250.000 -11627 433033.333 917855.556 -11628 433036.111 707338.889 -11629 433044.444 709761.111 -11630 433050.000 888447.222 -11631 433058.333 713247.222 -11632 433058.333 1006577.778 -11633 433072.222 964316.667 -11634 433094.444 736444.444 -11635 433097.222 788263.889 -11636 433102.778 885180.556 -11637 433138.889 895263.889 -11638 433175.000 908447.222 -11639 433177.778 883788.889 -11640 433186.111 983463.889 -11641 433197.222 879533.333 -11642 433211.111 765791.667 -11643 433227.778 764175.000 -11644 433238.889 881666.667 -11645 433247.222 951497.222 -11646 433266.667 783891.667 -11647 433269.444 751872.222 -11648 433269.444 830802.778 -11649 433300.000 785550.000 -11650 433316.667 837380.556 -11651 433336.111 882861.111 -11652 433344.444 757483.333 -11653 433347.222 903866.667 -11654 433361.111 858108.333 -11655 433369.444 833525.000 -11656 433377.778 787150.000 -11657 433380.556 890152.778 -11658 433438.889 960019.444 -11659 433525.000 974369.444 -11660 433541.667 968916.667 -11661 433561.111 1242036.111 -11662 433616.667 704772.222 -11663 433622.222 912163.889 -11664 433636.111 1241916.667 -11665 433638.889 925538.889 -11666 433652.778 721738.889 -11667 433680.556 1242158.333 -11668 433713.889 937733.333 -11669 433719.444 835833.333 -11670 433766.667 723472.222 -11671 433766.667 998586.111 -11672 433788.889 846597.222 -11673 433813.889 921138.889 -11674 433813.889 1121225.000 -11675 433816.667 879405.556 -11676 433838.889 705452.778 -11677 433844.444 890450.000 -11678 433858.333 939463.889 -11679 433863.889 951480.556 -11680 433869.444 988441.667 -11681 433872.222 878755.556 -11682 433897.222 710655.556 -11683 433902.778 894027.778 -11684 433902.778 1233113.889 -11685 433952.778 907741.667 -11686 433955.556 854677.778 -11687 433958.333 727011.111 -11688 433961.111 944780.556 -11689 433975.000 971361.111 -11690 433980.556 764777.778 -11691 433988.889 979833.333 -11692 433991.667 957516.667 -11693 433997.222 885325.000 -11694 434016.667 948325.000 -11695 434055.556 887050.000 -11696 434061.111 761261.111 -11697 434066.667 1242230.556 -11698 434077.778 732600.000 -11699 434080.556 844750.000 -11700 434080.556 850386.111 -11701 434097.222 843288.889 -11702 434100.000 863486.111 -11703 434113.889 1062794.444 -11704 434130.556 1062488.889 -11705 434138.889 719855.556 -11706 434141.667 734880.556 -11707 434147.222 842305.556 -11708 434161.111 955344.444 -11709 434166.667 863569.444 -11710 434194.444 839508.333 -11711 434194.444 935330.556 -11712 434197.222 858000.000 -11713 434202.778 828297.222 -11714 434222.222 951019.444 -11715 434222.222 1232972.222 -11716 434230.556 972602.778 -11717 434252.778 881833.333 -11718 434252.778 984069.444 -11719 434261.111 737127.778 -11720 434269.444 826713.889 -11721 434272.222 961755.556 -11722 434308.333 825425.000 -11723 434313.889 966969.444 -11724 434316.667 880463.889 -11725 434316.667 1034738.889 -11726 434361.111 927822.222 -11727 434391.667 707747.222 -11728 434441.667 716477.778 -11729 434441.667 932208.333 -11730 434463.889 968355.556 -11731 434477.778 892397.222 -11732 434505.556 836963.889 -11733 434513.889 886311.111 -11734 434536.111 964338.889 -11735 434552.778 765108.333 -11736 434555.556 953205.556 -11737 434577.778 888372.222 -11738 434586.111 839302.778 -11739 434594.444 762291.667 -11740 434597.222 898683.333 -11741 434636.111 1142597.222 -11742 434666.667 707941.667 -11743 434666.667 1120333.333 -11744 434675.000 859419.444 -11745 434697.222 1119658.333 -11746 434705.556 879505.556 -11747 434711.111 897441.667 -11748 434716.667 729777.778 -11749 434744.444 897702.778 -11750 434763.889 839205.556 -11751 434800.000 1107616.667 -11752 434836.111 753369.444 -11753 434908.333 854438.889 -11754 434911.111 833969.444 -11755 434919.444 1164191.667 -11756 434925.000 704538.889 -11757 434941.667 885447.222 -11758 434958.333 893083.333 -11759 434966.667 737766.667 -11760 434966.667 912894.444 -11761 434997.222 878502.778 -11762 435008.333 704433.333 -11763 435050.000 940877.778 -11764 435052.778 929438.889 -11765 435061.111 906680.556 -11766 435072.222 863475.000 -11767 435097.222 925036.111 -11768 435169.444 732366.667 -11769 435172.222 703780.556 -11770 435172.222 884511.111 -11771 435180.556 960180.556 -11772 435197.222 1143144.444 -11773 435205.556 917694.444 -11774 435208.333 882288.889 -11775 435236.111 835433.333 -11776 435244.444 846947.222 -11777 435250.000 841227.778 -11778 435263.889 1119322.222 -11779 435266.667 827352.778 -11780 435277.778 714708.333 -11781 435280.556 963583.333 -11782 435325.000 900025.000 -11783 435336.111 946313.889 -11784 435336.111 1096297.222 -11785 435363.889 937119.444 -11786 435377.778 893000.000 -11787 435391.667 890066.667 -11788 435391.667 894625.000 -11789 435408.333 1165625.000 -11790 435422.222 891072.222 -11791 435455.556 1168122.222 -11792 435500.000 967000.000 -11793 435502.778 857719.444 -11794 435516.667 975072.222 -11795 435522.222 879616.667 -11796 435552.778 920100.000 -11797 435555.556 734041.667 -11798 435569.444 908886.111 -11799 435591.667 863455.556 -11800 435611.111 916358.333 -11801 435641.667 1190800.000 -11802 435652.778 927191.667 -11803 435655.556 889063.889 -11804 435669.444 761280.556 -11805 435680.556 835141.667 -11806 435680.556 1007450.000 -11807 435688.889 860394.444 -11808 435697.222 878233.333 -11809 435725.000 932811.111 -11810 435758.333 1241738.889 -11811 435780.556 703222.222 -11812 435825.000 964675.000 -11813 435830.556 753455.556 -11814 435838.889 712077.778 -11815 435863.889 1190530.556 -11816 435911.111 717372.222 -11817 435913.889 884436.111 -11818 435930.556 730455.556 -11819 435944.444 838888.889 -11820 435947.222 732661.111 -11821 435963.889 1119630.556 -11822 435977.778 882788.889 -11823 435977.778 972902.778 -11824 435986.111 1232822.222 -11825 436008.333 831747.222 -11826 436011.111 897936.111 -11827 436033.333 840697.222 -11828 436086.111 863638.889 -11829 436105.556 729730.556 -11830 436122.222 1163905.556 -11831 436152.778 838419.444 -11832 436155.556 842472.222 -11833 436177.778 1169327.778 -11834 436191.667 879519.444 -11835 436200.000 955961.111 -11836 436208.333 949883.333 -11837 436222.222 1162372.222 -11838 436227.778 877944.444 -11839 436230.556 969422.222 -11840 436241.667 725188.889 -11841 436252.778 753675.000 -11842 436275.000 897708.333 -11843 436319.444 1117727.778 -11844 436333.333 887294.444 -11845 436347.222 914966.667 -11846 436350.000 959325.000 -11847 436366.667 1132994.444 -11848 436375.000 941019.444 -11849 436405.556 721444.444 -11850 436413.889 702413.889 -11851 436422.222 722522.222 -11852 436433.333 760688.889 -11853 436441.667 760863.889 -11854 436461.111 1082113.889 -11855 436480.556 933680.556 -11856 436488.889 723197.222 -11857 436522.222 903438.889 -11858 436522.222 944608.333 -11859 436522.222 947266.667 -11860 436527.778 902233.333 -11861 436536.111 834661.111 -11862 436536.111 977825.000 -11863 436541.667 962125.000 -11864 436569.444 908541.667 -11865 436575.000 715008.333 -11866 436583.333 880069.444 -11867 436588.889 1233175.000 -11868 436613.889 702558.333 -11869 436619.444 912183.333 -11870 436630.556 1166863.889 -11871 436647.222 968105.556 -11872 436666.667 929744.444 -11873 436669.444 946191.667 -11874 436702.778 920830.556 -11875 436702.778 935758.333 -11876 436713.889 1168152.778 -11877 436725.000 1119141.667 -11878 436727.778 723091.667 -11879 436727.778 843805.556 -11880 436766.667 1169108.333 -11881 436769.444 703716.667 -11882 436775.000 951713.889 -11883 436794.444 704447.222 -11884 436808.333 1143627.778 -11885 436861.111 885463.889 -11886 436869.444 923888.889 -11887 436936.111 883608.333 -11888 436952.778 716311.111 -11889 436958.333 1120097.222 -11890 436972.222 1143508.333 -11891 436980.556 854836.111 -11892 436983.333 863638.889 -11893 436986.111 954683.333 -11894 437022.222 722900.000 -11895 437022.222 910130.556 -11896 437025.000 1240955.556 -11897 437058.333 925719.444 -11898 437066.667 730286.111 -11899 437069.444 1166191.667 -11900 437072.222 889900.000 -11901 437094.444 980294.444 -11902 437097.222 929694.444 -11903 437100.000 749747.222 -11904 437100.000 829316.667 -11905 437155.556 984847.222 -11906 437175.000 965025.000 -11907 437208.333 919766.667 -11908 437208.333 1119891.667 -11909 437233.333 1111105.556 -11910 437241.667 973886.111 -11911 437291.667 878105.556 -11912 437322.222 834511.111 -11913 437347.222 702083.333 -11914 437352.778 887811.111 -11915 437402.778 928691.667 -11916 437408.333 902722.222 -11917 437419.444 907791.667 -11918 437461.111 937286.111 -11919 437466.667 989580.556 -11920 437466.667 1224605.556 -11921 437486.111 879769.444 -11922 437508.333 877144.444 -11923 437566.667 845858.333 -11924 437569.444 716886.111 -11925 437594.444 913463.889 -11926 437613.889 967400.000 -11927 437622.222 947069.444 -11928 437633.333 915683.333 -11929 437638.889 933288.889 -11930 437666.667 1035983.333 -11931 437677.778 941655.556 -11932 437730.556 884469.444 -11933 437816.667 864330.556 -11934 437852.778 1169422.222 -11935 437861.111 969272.222 -11936 437866.667 754922.222 -11937 437913.889 893197.222 -11938 437950.000 953200.000 -11939 437963.889 702594.444 -11940 437972.222 900772.222 -11941 437977.778 1230583.333 -11942 437980.556 730880.556 -11943 438005.556 701872.222 -11944 438013.889 912394.444 -11945 438019.444 830008.333 -11946 438066.667 917913.889 -11947 438077.778 886747.222 -11948 438083.333 917527.778 -11949 438108.333 993302.778 -11950 438113.889 884833.333 -11951 438194.444 831808.333 -11952 438194.444 847686.111 -11953 438261.111 967058.333 -11954 438261.111 1117888.889 -11955 438263.889 882461.111 -11956 438277.778 944369.444 -11957 438300.000 832700.000 -11958 438305.556 906213.889 -11959 438333.333 726344.444 -11960 438333.333 880177.778 -11961 438338.889 878200.000 -11962 438338.889 1015094.444 -11963 438341.667 704388.889 -11964 438350.000 848669.444 -11965 438419.444 938316.667 -11966 438422.222 888358.333 -11967 438441.667 889600.000 -11968 438447.222 826513.889 -11969 438455.556 921888.889 -11970 438486.111 734238.889 -11971 438500.000 963983.333 -11972 438508.333 891216.667 -11973 438522.222 696286.111 -11974 438536.111 839650.000 -11975 438547.222 1042044.444 -11976 438555.556 924883.333 -11977 438569.444 701036.111 -11978 438600.000 760058.333 -11979 438663.889 951166.667 -11980 438666.667 930508.333 -11981 438705.556 956000.000 -11982 438725.000 961283.333 -11983 438727.778 933011.111 -11984 438730.556 1117475.000 -11985 438736.111 1164983.333 -11986 438750.000 855100.000 -11987 438769.444 1169938.889 -11988 438791.667 901652.778 -11989 438822.222 844847.222 -11990 438836.111 894933.333 -11991 438844.444 912350.000 -11992 438866.667 1116769.444 -11993 438880.556 941563.889 -11994 438883.333 1007125.000 -11995 438905.556 928475.000 -11996 438930.556 909902.778 -11997 438933.333 756738.889 -11998 438938.889 934936.111 -11999 438958.333 753927.778 -12000 438991.667 910811.111 -12001 439005.556 852580.556 -12002 439011.111 858516.667 -12003 439097.222 1000583.333 -12004 439105.556 698211.111 -12005 439125.000 880355.556 -12006 439144.444 699658.333 -12007 439147.222 1136125.000 -12008 439147.222 1161969.444 -12009 439150.000 877472.222 -12010 439180.556 1230233.333 -12011 439186.111 1227825.000 -12012 439225.000 902713.889 -12013 439250.000 726663.889 -12014 439275.000 699763.889 -12015 439288.889 939558.333 -12016 439325.000 1035747.222 -12017 439388.889 949294.444 -12018 439394.444 829969.444 -12019 439411.111 832713.889 -12020 439441.667 908127.778 -12021 439461.111 761194.444 -12022 439500.000 880841.667 -12023 439547.222 862800.000 -12024 439552.778 864525.000 -12025 439583.333 947944.444 -12026 439633.333 912561.111 -12027 439680.556 889433.333 -12028 439700.000 1168180.556 -12029 439705.556 898166.667 -12030 439741.667 756155.556 -12031 439747.222 759111.111 -12032 439780.556 756097.222 -12033 439786.111 905038.889 -12034 439791.667 711208.333 -12035 439808.333 844863.889 -12036 439822.222 1172372.222 -12037 439825.000 968141.667 -12038 439827.778 1240986.111 -12039 439830.556 839588.889 -12040 439844.444 918691.667 -12041 439877.778 957555.556 -12042 439883.333 922283.333 -12043 439925.000 721294.444 -12044 439925.000 1022411.111 -12045 439961.111 700611.111 -12046 440005.556 963172.222 -12047 440011.111 759666.667 -12048 440047.222 940655.556 -12049 440055.556 914419.444 -12050 440061.111 971136.111 -12051 440077.778 760447.222 -12052 440077.778 1169155.556 -12053 440108.333 975263.889 -12054 440125.000 757947.222 -12055 440152.778 731677.778 -12056 440163.889 709811.111 -12057 440169.444 1079547.222 -12058 440191.667 847994.444 -12059 440216.667 924697.222 -12060 440247.222 885425.000 -12061 440261.111 900738.889 -12062 440266.667 1169619.444 -12063 440275.000 917697.222 -12064 440280.556 928544.444 -12065 440288.889 881627.778 -12066 440300.000 927505.556 -12067 440327.778 926452.778 -12068 440394.444 887441.667 -12069 440394.444 1016647.222 -12070 440419.444 890983.333 -12071 440422.222 954358.333 -12072 440444.444 929975.000 -12073 440461.111 829941.667 -12074 440463.889 1230208.333 -12075 440483.333 734602.778 -12076 440486.111 836958.333 -12077 440488.889 1233497.222 -12078 440494.444 965950.000 -12079 440500.000 916391.667 -12080 440508.333 944180.556 -12081 440522.222 1230855.556 -12082 440536.111 711288.889 -12083 440536.111 982752.778 -12084 440547.222 707133.333 -12085 440583.333 1213141.667 -12086 440625.000 916955.556 -12087 440661.111 878841.667 -12088 440669.444 761305.556 -12089 440691.667 927555.556 -12090 440716.667 882988.889 -12091 440716.667 1114475.000 -12092 440747.222 892877.778 -12093 440758.333 885250.000 -12094 440777.778 935072.222 -12095 440783.333 1169327.778 -12096 440788.889 691822.222 -12097 440791.667 985691.667 -12098 440805.556 1032305.556 -12099 440816.667 913488.889 -12100 440838.889 932258.333 -12101 440872.222 697994.444 -12102 440880.556 758075.000 -12103 440886.111 876575.000 -12104 440952.778 693761.111 -12105 440977.778 702316.667 -12106 440977.778 918166.667 -12107 440997.222 1046275.000 -12108 441002.778 702152.778 -12109 441025.000 851469.444 -12110 441036.111 691094.444 -12111 441036.111 1231300.000 -12112 441058.333 942186.111 -12113 441102.778 949044.444 -12114 441108.333 887125.000 -12115 441116.667 703922.222 -12116 441125.000 1030677.778 -12117 441161.111 937077.778 -12118 441197.222 701080.556 -12119 441277.778 763333.333 -12120 441302.778 922513.889 -12121 441305.556 909980.556 -12122 441319.444 917186.111 -12123 441333.333 730794.444 -12124 441372.222 1230652.778 -12125 441402.778 881638.889 -12126 441447.222 878213.889 -12127 441511.111 726569.444 -12128 441511.111 1033075.000 -12129 441522.222 720377.778 -12130 441536.111 879566.667 -12131 441536.111 928994.444 -12132 441538.889 875691.667 -12133 441544.444 757091.667 -12134 441572.222 1088708.333 -12135 441597.222 750319.444 -12136 441636.111 939991.667 -12137 441650.000 921713.889 -12138 441650.000 938811.111 -12139 441661.111 925347.222 -12140 441672.222 732544.444 -12141 441733.333 940336.111 -12142 441741.667 932461.111 -12143 441769.444 725061.111 -12144 441772.222 880641.667 -12145 441838.889 734361.111 -12146 441858.333 884625.000 -12147 441936.111 852133.333 -12148 441969.444 725025.000 -12149 441991.667 756072.222 -12150 441994.444 877213.889 -12151 442013.889 926461.111 -12152 442022.222 884463.889 -12153 442044.444 938152.778 -12154 442097.222 690652.778 -12155 442097.222 951283.333 -12156 442133.333 719113.889 -12157 442138.889 705452.778 -12158 442138.889 894922.222 -12159 442152.778 757975.000 -12160 442188.889 935677.778 -12161 442194.444 1232044.444 -12162 442230.556 954691.667 -12163 442236.111 705138.889 -12164 442272.222 934444.444 -12165 442275.000 918350.000 -12166 442300.000 697758.333 -12167 442302.778 697672.222 -12168 442311.111 952638.889 -12169 442333.333 956188.889 -12170 442333.333 958719.444 -12171 442361.111 964808.333 -12172 442388.889 949755.556 -12173 442391.667 876411.111 -12174 442394.444 760861.111 -12175 442444.444 697719.444 -12176 442444.444 862961.111 -12177 442444.444 863241.667 -12178 442511.111 1169683.333 -12179 442519.444 854011.111 -12180 442527.778 915013.889 -12181 442597.222 888647.222 -12182 442600.000 725758.333 -12183 442611.111 962872.222 -12184 442619.444 884152.778 -12185 442633.333 1049497.222 -12186 442658.333 883141.667 -12187 442694.444 835147.222 -12188 442722.222 883388.889 -12189 442722.222 929852.778 -12190 442727.778 1211727.778 -12191 442730.556 925447.222 -12192 442741.667 1231694.444 -12193 442761.111 941872.222 -12194 442763.889 842386.111 -12195 442780.556 724269.444 -12196 442780.556 882719.444 -12197 442783.333 961344.444 -12198 442794.444 739802.778 -12199 442794.444 834902.778 -12200 442797.222 683255.556 -12201 442800.000 883183.333 -12202 442841.667 966852.778 -12203 442858.333 697913.889 -12204 442911.111 1055016.667 -12205 442911.111 1215480.556 -12206 442925.000 939647.222 -12207 442941.667 926688.889 -12208 442944.444 912350.000 -12209 442947.222 908513.889 -12210 442950.000 932686.111 -12211 442972.222 947238.889 -12212 443044.444 927902.778 -12213 443050.000 699775.000 -12214 443061.111 717705.556 -12215 443105.556 697800.000 -12216 443113.889 967980.556 -12217 443125.000 899041.667 -12218 443125.000 944602.778 -12219 443147.222 847647.222 -12220 443200.000 919147.222 -12221 443213.889 889336.111 -12222 443236.111 969261.111 -12223 443244.444 752513.889 -12224 443255.556 938375.000 -12225 443258.333 881627.778 -12226 443294.444 741316.667 -12227 443347.222 886380.556 -12228 443352.778 852150.000 -12229 443358.333 759180.556 -12230 443366.667 754633.333 -12231 443377.778 727566.667 -12232 443477.778 878272.222 -12233 443483.333 1066983.333 -12234 443508.333 898652.778 -12235 443513.889 1172655.556 -12236 443522.222 1037647.222 -12237 443536.111 1003733.333 -12238 443569.444 914202.778 -12239 443580.556 890858.333 -12240 443633.333 982138.889 -12241 443636.111 862050.000 -12242 443636.111 973769.444 -12243 443644.444 971327.778 -12244 443675.000 913163.889 -12245 443683.333 1003505.556 -12246 443730.556 716105.556 -12247 443766.667 1037291.667 -12248 443800.000 1080383.333 -12249 443836.111 898172.222 -12250 443838.889 920327.778 -12251 443841.667 1231086.111 -12252 443875.000 682044.444 -12253 443875.000 975500.000 -12254 443877.778 711736.111 -12255 443894.444 937300.000 -12256 443897.222 1189491.667 -12257 443927.778 887397.222 -12258 443936.111 1229836.111 -12259 443977.778 1227350.000 -12260 444005.556 926236.111 -12261 444019.444 952555.556 -12262 444052.778 729933.333 -12263 444063.889 1043752.778 -12264 444077.778 740875.000 -12265 444097.222 1035086.111 -12266 444108.333 833322.222 -12267 444108.333 853988.889 -12268 444161.111 1189519.444 -12269 444169.444 949252.778 -12270 444177.778 1191125.000 -12271 444202.778 833308.333 -12272 444213.889 841166.667 -12273 444238.889 897802.778 -12274 444258.333 690069.444 -12275 444269.444 1240675.000 -12276 444388.889 935811.111 -12277 444391.667 901244.444 -12278 444411.111 921477.778 -12279 444447.222 885788.889 -12280 444466.667 943950.000 -12281 444469.444 957880.556 -12282 444488.889 880602.778 -12283 444494.444 922666.667 -12284 444508.333 892847.222 -12285 444511.111 908411.111 -12286 444563.889 895438.889 -12287 444583.333 689247.222 -12288 444583.333 875030.556 -12289 444583.333 931613.889 -12290 444611.111 1036380.556 -12291 444633.333 962469.444 -12292 444633.333 1187088.889 -12293 444644.444 889197.222 -12294 444652.778 726850.000 -12295 444669.444 731713.889 -12296 444686.111 711855.556 -12297 444752.778 701886.111 -12298 444758.333 732125.000 -12299 444775.000 884505.556 -12300 444802.778 934283.333 -12301 444813.889 702000.000 -12302 444822.222 899638.889 -12303 444888.889 715697.222 -12304 444891.667 1080555.556 -12305 444905.556 731113.889 -12306 444908.333 1038588.889 -12307 444913.889 731861.111 -12308 444936.111 895586.111 -12309 444983.333 845919.444 -12310 445047.222 723686.111 -12311 445047.222 1142308.333 -12312 445050.000 734805.556 -12313 445069.444 929052.778 -12314 445072.222 964238.889 -12315 445080.556 891305.556 -12316 445150.000 883302.778 -12317 445163.889 1160408.333 -12318 445183.333 989880.556 -12319 445191.667 880197.222 -12320 445194.444 895458.333 -12321 445213.889 994411.111 -12322 445236.111 895744.444 -12323 445258.333 1212119.444 -12324 445263.889 1090558.333 -12325 445283.333 939075.000 -12326 445291.667 947205.556 -12327 445327.778 675988.889 -12328 445336.111 720036.111 -12329 445338.889 704563.889 -12330 445338.889 945261.111 -12331 445366.667 1229058.333 -12332 445386.111 877038.889 -12333 445394.444 951166.667 -12334 445402.778 697225.000 -12335 445402.778 1233663.889 -12336 445430.556 943661.111 -12337 445433.333 684200.000 -12338 445433.333 935758.333 -12339 445469.444 696216.667 -12340 445497.222 913925.000 -12341 445513.889 949841.667 -12342 445519.444 696322.222 -12343 445530.556 942202.778 -12344 445536.111 705513.889 -12345 445600.000 905961.111 -12346 445608.333 705458.333 -12347 445616.667 725988.889 -12348 445625.000 925336.111 -12349 445647.222 1232608.333 -12350 445677.778 916708.333 -12351 445722.222 912272.222 -12352 445736.111 687961.111 -12353 445747.222 969019.444 -12354 445758.333 914700.000 -12355 445855.556 924502.778 -12356 445883.333 695991.667 -12357 445908.333 897672.222 -12358 445927.778 702286.111 -12359 445955.556 751694.444 -12360 445986.111 715116.667 -12361 446002.778 909627.778 -12362 446083.333 940802.778 -12363 446088.889 874325.000 -12364 446088.889 956738.889 -12365 446180.556 754075.000 -12366 446194.444 862263.889 -12367 446205.556 887622.222 -12368 446216.667 1239372.222 -12369 446227.778 937683.333 -12370 446263.889 919655.556 -12371 446269.444 900075.000 -12372 446277.778 893086.111 -12373 446291.667 921922.222 -12374 446336.111 862344.444 -12375 446336.111 1211283.333 -12376 446355.556 726808.333 -12377 446366.667 1231047.222 -12378 446369.444 1240522.222 -12379 446377.778 688455.556 -12380 446377.778 695036.111 -12381 446397.222 731108.333 -12382 446402.778 931433.333 -12383 446497.222 932425.000 -12384 446530.556 1231005.556 -12385 446563.889 832947.222 -12386 446613.889 847147.222 -12387 446622.222 1111033.333 -12388 446688.889 901716.667 -12389 446697.222 749816.667 -12390 446705.556 701516.667 -12391 446713.889 1038516.667 -12392 446722.222 882425.000 -12393 446802.778 911197.222 -12394 446811.111 1230602.778 -12395 446930.556 735625.000 -12396 446941.667 754866.667 -12397 446994.444 734533.333 -12398 447050.000 1228480.556 -12399 447080.556 1000594.444 -12400 447088.889 962761.111 -12401 447130.556 697911.111 -12402 447133.333 934225.000 -12403 447147.222 1034202.778 -12404 447150.000 674619.444 -12405 447197.222 1230091.667 -12406 447213.889 737241.667 -12407 447219.444 1239188.889 -12408 447227.778 970297.222 -12409 447300.000 1164372.222 -12410 447319.444 932175.000 -12411 447319.444 943500.000 -12412 447322.222 924872.222 -12413 447341.667 851758.333 -12414 447369.444 904958.333 -12415 447372.222 946166.667 -12416 447394.444 931255.556 -12417 447402.778 884447.222 -12418 447408.333 890630.556 -12419 447433.333 928522.222 -12420 447438.889 947152.778 -12421 447444.444 688375.000 -12422 447458.333 966805.556 -12423 447480.556 721766.667 -12424 447488.889 928019.444 -12425 447513.889 749947.222 -12426 447538.889 1087566.667 -12427 447541.667 1224769.444 -12428 447577.778 902966.667 -12429 447630.556 856205.556 -12430 447636.111 912769.444 -12431 447636.111 936255.556 -12432 447650.000 697197.222 -12433 447675.000 948952.778 -12434 447677.778 932775.000 -12435 447680.556 939272.222 -12436 447691.667 941513.889 -12437 447716.667 937811.111 -12438 447747.222 1226138.889 -12439 447763.889 949894.444 -12440 447783.333 1178283.333 -12441 447811.111 921458.333 -12442 447822.222 886088.889 -12443 447825.000 693838.889 -12444 447827.778 939133.333 -12445 447869.444 953513.889 -12446 447891.667 952113.889 -12447 447894.444 936019.444 -12448 447905.556 958083.333 -12449 447919.444 950969.444 -12450 447930.556 897030.556 -12451 447963.889 1085058.333 -12452 447966.667 687619.444 -12453 447972.222 1069555.556 -12454 447975.000 698802.778 -12455 447980.556 935266.667 -12456 448008.333 749913.889 -12457 448008.333 1227933.333 -12458 448011.111 687783.333 -12459 448011.111 900791.667 -12460 448047.222 914430.556 -12461 448086.111 1240619.444 -12462 448100.000 955452.778 -12463 448113.889 914983.333 -12464 448116.667 722036.111 -12465 448125.000 920713.889 -12466 448147.222 718808.333 -12467 448272.222 891694.444 -12468 448277.778 929436.111 -12469 448297.222 1227933.333 -12470 448302.778 745138.889 -12471 448341.667 873769.444 -12472 448352.778 692744.444 -12473 448375.000 1083888.889 -12474 448386.111 687058.333 -12475 448408.333 932980.556 -12476 448411.111 1228697.222 -12477 448433.333 1229516.667 -12478 448480.556 930425.000 -12479 448486.111 742952.778 -12480 448486.111 1232327.778 -12481 448508.333 937866.667 -12482 448513.889 1231855.556 -12483 448530.556 887880.556 -12484 448547.222 934705.556 -12485 448586.111 936613.889 -12486 448613.889 926236.111 -12487 448622.222 935305.556 -12488 448644.444 752044.444 -12489 448663.889 930002.778 -12490 448663.889 1234347.222 -12491 448730.556 916908.333 -12492 448738.889 881427.778 -12493 448752.778 1072616.667 -12494 448755.556 919191.667 -12495 448758.333 985183.333 -12496 448777.778 977327.778 -12497 448830.556 686725.000 -12498 448833.333 694480.556 -12499 448833.333 932827.778 -12500 448836.111 931380.556 -12501 448838.889 940413.889 -12502 448872.222 878644.444 -12503 448872.222 896200.000 -12504 448877.778 943694.444 -12505 448897.222 933497.222 -12506 448900.000 883072.222 -12507 448944.444 714963.889 -12508 448955.556 854163.889 -12509 448994.444 971147.222 -12510 449008.333 935888.889 -12511 449022.222 850608.333 -12512 449027.778 927833.333 -12513 449033.333 935661.111 -12514 449033.333 941952.778 -12515 449061.111 669905.556 -12516 449069.444 728069.444 -12517 449086.111 935927.778 -12518 449088.889 1071627.778 -12519 449097.222 896044.444 -12520 449100.000 903155.556 -12521 449111.111 1160977.778 -12522 449133.333 935030.556 -12523 449150.000 935530.556 -12524 449180.556 731247.222 -12525 449194.444 1233158.333 -12526 449250.000 934625.000 -12527 449263.889 913008.333 -12528 449272.222 899633.333 -12529 449280.556 748922.222 -12530 449297.222 935222.222 -12531 449327.778 960541.667 -12532 449338.889 951872.222 -12533 449341.667 686458.333 -12534 449352.778 936319.444 -12535 449361.111 946963.889 -12536 449363.889 722055.556 -12537 449366.667 936658.333 -12538 449369.444 913927.778 -12539 449397.222 935763.889 -12540 449425.000 957233.333 -12541 449430.556 1230338.889 -12542 449461.111 686444.444 -12543 449480.556 911505.556 -12544 449508.333 929763.889 -12545 449511.111 880466.667 -12546 449519.444 910347.222 -12547 449530.556 922911.111 -12548 449530.556 929950.000 -12549 449550.000 953661.111 -12550 449563.889 905975.000 -12551 449563.889 927655.556 -12552 449583.333 1240166.667 -12553 449591.667 896300.000 -12554 449600.000 909369.444 -12555 449611.111 907997.222 -12556 449633.333 735877.778 -12557 449636.111 938469.444 -12558 449638.889 940472.222 -12559 449666.667 923741.667 -12560 449694.444 935138.889 -12561 449713.889 936041.667 -12562 449713.889 1162830.556 -12563 449747.222 927566.667 -12564 449766.667 856505.556 -12565 449788.889 924355.556 -12566 449800.000 932636.111 -12567 449802.778 852111.111 -12568 449808.333 888308.333 -12569 449838.889 925558.333 -12570 449861.111 1229816.667 -12571 449863.889 734469.444 -12572 449866.667 935713.889 -12573 449902.778 1230250.000 -12574 449916.667 931661.111 -12575 449930.556 927566.667 -12576 449938.889 733652.778 -12577 449944.444 724002.778 -12578 449958.333 928791.667 -12579 449969.444 726716.667 -12580 449975.000 917269.444 -12581 449983.333 1202150.000 -12582 449986.111 932055.556 -12583 449991.667 883719.444 -12584 450030.556 903355.556 -12585 450050.000 720994.444 -12586 450052.778 1227819.444 -12587 450061.111 931563.889 -12588 450072.222 936555.556 -12589 450097.222 933488.889 -12590 450097.222 961955.556 -12591 450105.556 934552.778 -12592 450116.667 999552.778 -12593 450158.333 952383.333 -12594 450213.889 927808.333 -12595 450230.556 1020355.556 -12596 450238.889 692902.778 -12597 450269.444 930875.000 -12598 450275.000 846747.222 -12599 450313.889 927927.778 -12600 450322.222 933383.333 -12601 450327.778 933600.000 -12602 450330.556 900738.889 -12603 450350.000 991236.111 -12604 450380.556 933863.889 -12605 450408.333 932627.778 -12606 450419.444 937888.889 -12607 450436.111 920408.333 -12608 450475.000 1016005.556 -12609 450502.778 931563.889 -12610 450533.333 932472.222 -12611 450541.667 929563.889 -12612 450544.444 877491.667 -12613 450563.889 928058.333 -12614 450575.000 930736.111 -12615 450586.111 698827.778 -12616 450586.111 921722.222 -12617 450608.333 940730.556 -12618 450616.667 834327.778 -12619 450650.000 880341.667 -12620 450650.000 939108.333 -12621 450655.556 932016.667 -12622 450680.556 1227988.889 -12623 450697.222 929513.889 -12624 450700.000 852644.444 -12625 450725.000 934555.556 -12626 450758.333 941897.222 -12627 450761.111 933325.000 -12628 450788.889 1234847.222 -12629 450791.667 931469.444 -12630 450816.667 943066.667 -12631 450847.222 930097.222 -12632 450861.111 932630.556 -12633 450883.333 937341.667 -12634 450900.000 929722.222 -12635 450941.667 933561.111 -12636 450952.778 935472.222 -12637 450994.444 1233936.111 -12638 451000.000 876305.556 -12639 451002.778 914886.111 -12640 451027.778 930788.889 -12641 451050.000 932083.333 -12642 451077.778 876141.667 -12643 451077.778 932377.778 -12644 451083.333 1228963.889 -12645 451158.333 1232061.111 -12646 451194.444 934022.222 -12647 451200.000 932875.000 -12648 451219.444 950430.556 -12649 451230.556 925363.889 -12650 451244.444 926733.333 -12651 451272.222 945277.778 -12652 451313.889 856166.667 -12653 451386.111 903400.000 -12654 451388.889 947777.778 -12655 451402.778 891522.222 -12656 451427.778 846602.778 -12657 451438.889 1228541.667 -12658 451475.000 1225758.333 -12659 451486.111 931513.889 -12660 451505.556 946827.778 -12661 451558.333 936661.111 -12662 451569.444 674052.778 -12663 451580.556 851241.667 -12664 451600.000 929930.556 -12665 451602.778 930886.111 -12666 451608.333 932347.222 -12667 451672.222 911491.667 -12668 451688.889 693850.000 -12669 451719.444 938744.444 -12670 451758.333 1138950.000 -12671 451805.556 896833.333 -12672 451825.000 1228066.667 -12673 451833.333 692275.000 -12674 451858.333 1092461.111 -12675 451872.222 871208.333 -12676 451888.889 672791.667 -12677 451888.889 933972.222 -12678 451930.556 953202.778 -12679 451969.444 960194.444 -12680 451977.778 933869.444 -12681 452086.111 1178641.667 -12682 452102.778 1231975.000 -12683 452163.889 1126366.667 -12684 452166.667 850138.889 -12685 452191.667 966352.778 -12686 452208.333 1230750.000 -12687 452291.667 940016.667 -12688 452311.111 1227547.222 -12689 452325.000 880075.000 -12690 452330.556 949397.222 -12691 452333.333 932911.111 -12692 452344.444 1201838.889 -12693 452377.778 936541.667 -12694 452386.111 686641.667 -12695 452436.111 997766.667 -12696 452438.889 935147.222 -12697 452444.444 1231136.111 -12698 452519.444 922711.111 -12699 452536.111 689863.889 -12700 452627.778 941241.667 -12701 452630.556 1226913.889 -12702 452661.111 932341.667 -12703 452783.333 1230097.222 -12704 452788.889 929850.000 -12705 452897.222 1223325.000 -12706 452916.667 964625.000 -12707 452944.444 1231752.778 -12708 452958.333 1089130.556 -12709 453000.000 1227725.000 -12710 453002.778 1229719.444 -12711 453011.111 949438.889 -12712 453038.889 935669.444 -12713 453047.222 964444.444 -12714 453055.556 937938.889 -12715 453069.444 923619.444 -12716 453141.667 916508.333 -12717 453144.444 1073625.000 -12718 453150.000 955997.222 -12719 453152.778 944083.333 -12720 453175.000 902083.333 -12721 453180.556 852583.333 -12722 453194.444 932022.222 -12723 453205.556 927047.222 -12724 453247.222 1180866.667 -12725 453261.111 945458.333 -12726 453319.444 973047.222 -12727 453322.222 975197.222 -12728 453325.000 937458.333 -12729 453363.889 929969.444 -12730 453416.667 1231861.111 -12731 453488.889 1117288.889 -12732 453533.333 1195566.667 -12733 453544.444 1172286.111 -12734 453561.111 926333.333 -12735 453566.667 1228388.889 -12736 453575.000 842238.889 -12737 453575.000 1226055.556 -12738 453622.222 685055.556 -12739 453658.333 1226111.111 -12740 453708.333 879522.222 -12741 453733.333 849552.778 -12742 453736.111 928897.222 -12743 453805.556 947116.667 -12744 453808.333 1225936.111 -12745 453841.667 1227627.778 -12746 453894.444 928477.778 -12747 453933.333 938766.667 -12748 453944.444 921422.222 -12749 453975.000 1222602.778 -12750 453980.556 929872.222 -12751 454013.889 918488.889 -12752 454019.444 926522.222 -12753 454022.222 1227516.667 -12754 454086.111 917438.889 -12755 454086.111 968575.000 -12756 454152.778 876075.000 -12757 454169.444 920327.778 -12758 454208.333 1226694.444 -12759 454213.889 838183.333 -12760 454222.222 1163144.444 -12761 454263.889 1172777.778 -12762 454313.889 1227702.778 -12763 454316.667 849919.444 -12764 454438.889 1054069.444 -12765 454441.667 847866.667 -12766 454444.444 990288.889 -12767 454463.889 1226380.556 -12768 454466.667 1227577.778 -12769 454469.444 1225291.667 -12770 454475.000 980983.333 -12771 454513.889 925538.889 -12772 454522.222 924544.444 -12773 454530.556 996536.111 -12774 454533.333 1211294.444 -12775 454541.667 945180.556 -12776 454555.556 1121961.111 -12777 454558.333 944286.111 -12778 454563.889 1238427.778 -12779 454569.444 912730.556 -12780 454594.444 695911.111 -12781 454602.778 964333.333 -12782 454630.556 911038.889 -12783 454647.222 984861.111 -12784 454686.111 1226083.333 -12785 454711.111 897297.222 -12786 454719.444 943405.556 -12787 454833.333 1188288.889 -12788 454836.111 1227538.889 -12789 454852.778 929616.667 -12790 454852.778 1089697.222 -12791 454872.222 1228025.000 -12792 454902.778 932475.000 -12793 454944.444 1228658.333 -12794 454975.000 957963.889 -12795 454983.333 1224302.778 -12796 454988.889 1227633.333 -12797 455011.111 951241.667 -12798 455041.667 1225363.889 -12799 455050.000 1227972.222 -12800 455061.111 917380.556 -12801 455063.889 1000316.667 -12802 455113.889 929800.000 -12803 455200.000 1230586.111 -12804 455200.000 1231094.444 -12805 455227.778 1238880.556 -12806 455230.556 1229886.111 -12807 455236.111 1226750.000 -12808 455261.111 925083.333 -12809 455322.222 920191.667 -12810 455344.444 1224175.000 -12811 455372.222 1004275.000 -12812 455394.444 1223861.111 -12813 455461.111 902863.889 -12814 455527.778 847838.889 -12815 455572.222 942238.889 -12816 455597.222 1225591.667 -12817 455650.000 1179163.889 -12818 455691.667 964341.667 -12819 455700.000 935813.889 -12820 455702.778 1175272.222 -12821 455716.667 961730.556 -12822 455719.444 889027.778 -12823 455727.778 932241.667 -12824 455761.111 924825.000 -12825 455827.778 1223522.222 -12826 455861.111 959136.111 -12827 455863.889 929744.444 -12828 455872.222 1223983.333 -12829 455919.444 941658.333 -12830 455952.778 968330.556 -12831 455972.222 1229922.222 -12832 456091.667 944513.889 -12833 456136.111 1239419.444 -12834 456144.444 955308.333 -12835 456216.667 942066.667 -12836 456275.000 685750.000 -12837 456300.000 945697.222 -12838 456366.667 894119.444 -12839 456366.667 1092513.889 -12840 456388.889 1226602.778 -12841 456469.444 844744.444 -12842 456502.778 953894.444 -12843 456572.222 687102.778 -12844 456591.667 924669.444 -12845 456625.000 1105602.778 -12846 456627.778 946897.222 -12847 456647.222 939094.444 -12848 456647.222 970494.444 -12849 456666.667 1225597.222 -12850 456691.667 1087708.333 -12851 456700.000 1218894.444 -12852 456716.667 1226616.667 -12853 456722.222 1187875.000 -12854 456747.222 948072.222 -12855 456797.222 1110377.778 -12856 456855.556 929652.778 -12857 456966.667 904002.778 -12858 457055.556 1215202.778 -12859 457150.000 1214633.333 -12860 457169.444 1201997.222 -12861 457227.778 931705.556 -12862 457227.778 989405.556 -12863 457277.778 1214852.778 -12864 457311.111 944697.222 -12865 457325.000 1076113.889 -12866 457375.000 949522.222 -12867 457394.444 919252.778 -12868 457425.000 1191944.444 -12869 457452.778 870644.444 -12870 457544.444 1228763.889 -12871 457558.333 936541.667 -12872 457575.000 929622.222 -12873 457694.444 996191.667 -12874 457713.889 879947.222 -12875 457761.111 1111761.111 -12876 457763.889 926825.000 -12877 457805.556 1192161.111 -12878 457811.111 1225322.222 -12879 457833.333 1085000.000 -12880 457838.889 847277.778 -12881 457858.333 923808.333 -12882 457869.444 879036.111 -12883 457916.667 977505.556 -12884 457950.000 880719.444 -12885 458044.444 964988.889 -12886 458086.111 961430.556 -12887 458119.444 1184894.444 -12888 458138.889 1184236.111 -12889 458144.444 1008100.000 -12890 458152.778 1227413.889 -12891 458202.778 880658.333 -12892 458208.333 1208205.556 -12893 458225.000 918891.667 -12894 458261.111 929683.333 -12895 458294.444 957916.667 -12896 458300.000 942933.333 -12897 458347.222 1000688.889 -12898 458350.000 1099547.222 -12899 458400.000 1196994.444 -12900 458405.556 1192883.333 -12901 458405.556 1228405.556 -12902 458527.778 870216.667 -12903 458566.667 1113316.667 -12904 458588.889 1231916.667 -12905 458661.111 1224050.000 -12906 458669.444 951519.444 -12907 458708.333 1120966.667 -12908 458769.444 932936.111 -12909 458775.000 923672.222 -12910 458841.667 1066230.556 -12911 458852.778 953772.222 -12912 458888.889 1045522.222 -12913 458902.778 1228058.333 -12914 458919.444 1239602.778 -12915 458958.333 1194902.778 -12916 459047.222 1227427.778 -12917 459172.222 892441.667 -12918 459175.000 1193413.889 -12919 459266.667 1161213.889 -12920 459344.444 904413.889 -12921 459408.333 1021588.889 -12922 459577.778 862461.111 -12923 459747.222 948652.778 -12924 459763.889 943622.222 -12925 459816.667 941044.444 -12926 459933.333 1239213.889 -12927 459941.667 959763.889 -12928 459963.889 684466.667 -12929 460013.889 1026363.889 -12930 460027.778 985266.667 -12931 460041.667 956825.000 -12932 460086.111 1228433.333 -12933 460113.889 929441.667 -12934 460130.556 914844.444 -12935 460227.778 1141772.222 -12936 460244.444 1239100.000 -12937 460313.889 993786.111 -12938 460341.667 1125350.000 -12939 460494.444 1183872.222 -12940 460522.222 1184016.667 -12941 460641.667 886313.889 -12942 460647.222 1183419.444 -12943 460697.222 969013.889 -12944 460705.556 936675.000 -12945 460755.556 971513.889 -12946 460811.111 886269.444 -12947 460858.333 948655.556 -12948 460891.667 1229347.222 -12949 460911.111 945033.333 -12950 460922.222 1006286.111 -12951 460927.778 886422.222 -12952 460980.556 883338.889 -12953 460994.444 918247.222 -12954 461013.889 1232055.556 -12955 461077.778 976361.111 -12956 461261.111 678408.333 -12957 461302.778 949483.333 -12958 461311.111 928672.222 -12959 461336.111 1001611.111 -12960 461380.556 934705.556 -12961 461383.333 1229369.444 -12962 461386.111 980900.000 -12963 461450.000 1159769.444 -12964 461469.444 1229072.222 -12965 461530.556 953286.111 -12966 461644.444 1229402.778 -12967 461650.000 950388.889 -12968 461652.778 1239225.000 -12969 461830.556 1033944.444 -12970 461875.000 1229041.667 -12971 461880.556 1238300.000 -12972 462002.778 1239502.778 -12973 462033.333 1233819.444 -12974 462069.444 1197677.778 -12975 462113.889 1191361.111 -12976 462150.000 1199955.556 -12977 462258.333 976622.222 -12978 462272.222 1160283.333 -12979 462286.111 1190994.444 -12980 462350.000 1162397.222 -12981 462366.667 1121200.000 -12982 462413.889 1164661.111 -12983 462469.444 1141594.444 -12984 462511.111 1199005.556 -12985 462591.667 974558.333 -12986 462633.333 1194866.667 -12987 462636.111 965877.778 -12988 462652.778 966055.556 -12989 462663.889 1066772.222 -12990 462666.667 950625.000 -12991 462666.667 971319.444 -12992 462666.667 1002325.000 -12993 462705.556 1181522.222 -12994 462752.778 1229063.889 -12995 462805.556 957133.333 -12996 462811.111 874408.333 -12997 462830.556 960772.222 -12998 462858.333 1192833.333 -12999 463011.111 989541.667 -13000 463044.444 1193602.778 -13001 463191.667 1115200.000 -13002 463216.667 954450.000 -13003 463255.556 906608.333 -13004 463322.222 1132933.333 -13005 463394.444 1170472.222 -13006 463422.222 1201861.111 -13007 463433.333 942863.889 -13008 463525.000 1240530.556 -13009 463533.333 918222.222 -13010 463550.000 855094.444 -13011 463555.556 947919.444 -13012 463572.222 982941.667 -13013 463580.556 942005.556 -13014 463591.667 987152.778 -13015 463669.444 1042841.667 -13016 463725.000 1023266.667 -13017 463761.111 1159372.222 -13018 463775.000 1203075.000 -13019 463958.333 1127291.667 -13020 463983.333 950144.444 -13021 464022.222 1202608.333 -13022 464038.889 1018455.556 -13023 464050.000 1168038.889 -13024 464080.556 943555.556 -13025 464083.333 1058400.000 -13026 464111.111 866477.778 -13027 464163.889 1170441.667 -13028 464166.667 1170166.667 -13029 464280.556 902458.333 -13030 464355.556 1098336.111 -13031 464400.000 1228455.556 -13032 464416.667 976808.333 -13033 464425.000 951358.333 -13034 464452.778 1085411.111 -13035 464477.778 1204191.667 -13036 464497.222 901863.889 -13037 464541.667 927616.667 -13038 464547.222 901708.333 -13039 464736.111 938986.111 -13040 464750.000 1176016.667 -13041 464752.778 899397.222 -13042 464775.000 939775.000 -13043 464794.444 1162541.667 -13044 464813.889 900527.778 -13045 464822.222 939575.000 -13046 464855.556 943602.778 -13047 464886.111 876675.000 -13048 464911.111 1157980.556 -13049 464913.889 1229366.667 -13050 464947.222 873541.667 -13051 464991.667 876116.667 -13052 465083.333 997708.333 -13053 465100.000 1140922.222 -13054 465150.000 916997.222 -13055 465180.556 953758.333 -13056 465205.556 942883.333 -13057 465330.556 937100.000 -13058 465391.667 1028677.778 -13059 465436.111 873952.778 -13060 465483.333 1109013.889 -13061 465508.333 1169244.444 -13062 465538.889 1203819.444 -13063 465566.667 874372.222 -13064 465575.000 1204738.889 -13065 465586.111 1222738.889 -13066 465622.222 921472.222 -13067 465705.556 1232961.111 -13068 465708.333 960827.778 -13069 465747.222 1229069.444 -13070 465788.889 1167050.000 -13071 465838.889 917988.889 -13072 465897.222 1119147.222 -13073 465925.000 908836.111 -13074 465927.778 1120352.778 -13075 465944.444 955722.222 -13076 466022.222 1205047.222 -13077 466030.556 943091.667 -13078 466063.889 1204386.111 -13079 466180.556 1205519.444 -13080 466230.556 976011.111 -13081 466300.000 950886.111 -13082 466486.111 970166.667 -13083 466522.222 964194.444 -13084 466541.667 1205288.889 -13085 466622.222 1229627.778 -13086 466636.111 1188600.000 -13087 466638.889 924247.222 -13088 466733.333 908947.222 -13089 466811.111 680163.889 -13090 466866.667 1237316.667 -13091 467022.222 1207541.667 -13092 467066.667 924280.556 -13093 467163.889 1229530.556 -13094 467180.556 944038.889 -13095 467208.333 921038.889 -13096 467216.667 924591.667 -13097 467280.556 957005.556 -13098 467311.111 939577.778 -13099 467311.111 1206983.333 -13100 467313.889 1171786.111 -13101 467325.000 1169991.667 -13102 467352.778 1229877.778 -13103 467369.444 1167686.111 -13104 467472.222 922252.778 -13105 467538.889 895838.889 -13106 467538.889 950977.778 -13107 467566.667 884527.778 -13108 467588.889 1140800.000 -13109 467722.222 678344.444 -13110 467786.111 884888.889 -13111 467833.333 921063.889 -13112 467900.000 681580.556 -13113 467911.111 1172494.444 -13114 467930.556 1053116.667 -13115 467991.667 1228686.111 -13116 467994.444 1165550.000 -13117 468083.333 1007833.333 -13118 468108.333 908180.556 -13119 468150.000 1018294.444 -13120 468172.222 958450.000 -13121 468261.111 1191741.667 -13122 468266.667 1008891.667 -13123 468405.556 1232311.111 -13124 468450.000 1014108.333 -13125 468547.222 999155.556 -13126 468569.444 1228516.667 -13127 468605.556 680125.000 -13128 468633.333 1140475.000 -13129 468675.000 1222652.778 -13130 468708.333 1139436.111 -13131 468711.111 893138.889 -13132 468722.222 1139930.556 -13133 468738.889 967672.222 -13134 468750.000 969000.000 -13135 468752.778 965786.111 -13136 468766.667 967030.556 -13137 468772.222 967894.444 -13138 468791.667 1027891.667 -13139 468802.778 1173633.333 -13140 468808.333 963163.889 -13141 468838.889 1023152.778 -13142 468852.778 1031991.667 -13143 468863.889 960941.667 -13144 468883.333 1226872.222 -13145 468902.778 1241027.778 -13146 468938.889 992994.444 -13147 469005.556 972108.333 -13148 469005.556 1020450.000 -13149 469011.111 1196294.444 -13150 469086.111 678263.889 -13151 469102.778 1170747.222 -13152 469105.556 987080.556 -13153 469180.556 1040038.889 -13154 469216.667 1168972.222 -13155 469222.222 950583.333 -13156 469233.333 980027.778 -13157 469291.667 929194.444 -13158 469422.222 1226047.222 -13159 469555.556 1237725.000 -13160 469630.556 1241638.889 -13161 469677.778 1190386.111 -13162 469722.222 1186141.667 -13163 469736.111 1236911.111 -13164 469811.111 1238880.556 -13165 469813.889 1236013.889 -13166 469833.333 1204158.333 -13167 469850.000 1041877.778 -13168 469933.333 935983.333 -13169 469966.667 1205466.667 -13170 470036.111 1234075.000 -13171 470075.000 1229080.556 -13172 470080.556 1171400.000 -13173 470227.778 916705.556 -13174 470344.444 1228219.444 -13175 470380.556 1228994.444 -13176 470533.333 1232641.667 -13177 470625.000 1094275.000 -13178 470700.000 886430.556 -13179 470788.889 962586.111 -13180 470969.444 1226300.000 -13181 470980.556 1222030.556 -13182 471013.889 945869.444 -13183 471041.667 1224333.333 -13184 471052.778 1047119.444 -13185 471163.889 1012991.667 -13186 471219.444 885688.889 -13187 471269.444 885808.333 -13188 471275.000 1183788.889 -13189 471302.778 1192769.444 -13190 471536.111 1102175.000 -13191 471555.556 1224327.778 -13192 471572.222 679358.333 -13193 471586.111 1007830.556 -13194 471633.333 1220255.556 -13195 471700.000 1226013.889 -13196 471733.333 884291.667 -13197 471772.222 1221852.778 -13198 471911.111 1222894.444 -13199 471916.667 1148908.333 -13200 471941.667 884072.222 -13201 471955.556 1209380.556 -13202 472033.333 1222391.667 -13203 472044.444 1219902.778 -13204 472155.556 1230961.111 -13205 472233.333 1170711.111 -13206 472236.111 1209919.444 -13207 472283.333 934888.889 -13208 472344.444 1198513.889 -13209 472358.333 1225491.667 -13210 472361.111 1173688.889 -13211 472372.222 935300.000 -13212 472375.000 884430.556 -13213 472394.444 1223558.333 -13214 472397.222 1225147.222 -13215 472466.667 884538.889 -13216 472483.333 1223116.667 -13217 472530.556 1224430.556 -13218 472586.111 685900.000 -13219 472602.778 962586.111 -13220 472633.333 1017775.000 -13221 472647.222 1222488.889 -13222 472711.111 1116997.222 -13223 472791.667 1222508.333 -13224 472863.889 1019222.222 -13225 472888.889 934275.000 -13226 472891.667 1010286.111 -13227 472944.444 912572.222 -13228 472944.444 1016222.222 -13229 472955.556 934186.111 -13230 472994.444 1225069.444 -13231 472997.222 965150.000 -13232 473075.000 1222272.222 -13233 473088.889 1220019.444 -13234 473152.778 959683.333 -13235 473177.778 1195525.000 -13236 473205.556 932983.333 -13237 473211.111 1013811.111 -13238 473294.444 1225788.889 -13239 473330.556 937925.000 -13240 473333.333 1186897.222 -13241 473352.778 1168875.000 -13242 473458.333 1055916.667 -13243 473516.667 968283.333 -13244 473719.444 1027536.111 -13245 473794.444 946038.889 -13246 473802.778 931680.556 -13247 473811.111 1222336.111 -13248 473852.778 1171705.556 -13249 473861.111 1109247.222 -13250 473894.444 1194894.444 -13251 473997.222 930722.222 -13252 474019.444 1223230.556 -13253 474038.889 970616.667 -13254 474158.333 1202919.444 -13255 474236.111 1203091.667 -13256 474363.889 1223394.444 -13257 474444.444 981236.111 -13258 474497.222 991258.333 -13259 474563.889 1011366.667 -13260 474602.778 1148819.444 -13261 474625.000 925397.222 -13262 474702.778 1158008.333 -13263 474705.556 1223455.556 -13264 474736.111 948800.000 -13265 474741.667 1159269.444 -13266 474741.667 1222597.222 -13267 474811.111 1182533.333 -13268 474830.556 1222158.333 -13269 474844.444 1222933.333 -13270 474858.333 1004427.778 -13271 474875.000 1175747.222 -13272 474888.889 924647.222 -13273 474891.667 928836.111 -13274 474936.111 927777.778 -13275 474958.333 1217855.556 -13276 474980.556 973241.667 -13277 474983.333 973700.000 -13278 475000.000 1113000.000 -13279 475061.111 1159983.333 -13280 475141.667 978355.556 -13281 475197.222 921383.333 -13282 475200.000 1008897.222 -13283 475216.667 953980.556 -13284 475225.000 1204686.111 -13285 475233.333 925363.889 -13286 475236.111 1226230.556 -13287 475288.889 1141005.556 -13288 475288.889 1218241.667 -13289 475300.000 922369.444 -13290 475302.778 1220313.889 -13291 475325.000 926233.333 -13292 475330.556 923400.000 -13293 475361.111 962800.000 -13294 475383.333 1161183.333 -13295 475405.556 1226350.000 -13296 475411.111 1221752.778 -13297 475427.778 1161805.556 -13298 475536.111 1226633.333 -13299 475605.556 1115450.000 -13300 475669.444 1221572.222 -13301 475675.000 1226313.889 -13302 475708.333 1222208.333 -13303 475730.556 1176811.111 -13304 475763.889 957511.111 -13305 475830.556 1227072.222 -13306 475850.000 1225975.000 -13307 475963.889 1206602.778 -13308 475972.222 1153433.333 -13309 476000.000 1226916.667 -13310 476063.889 1223308.333 -13311 476091.667 1146677.778 -13312 476091.667 1226538.889 -13313 476105.556 1221994.444 -13314 476113.889 1192911.111 -13315 476147.222 1119794.444 -13316 476211.111 1222263.889 -13317 476225.000 1220669.444 -13318 476247.222 1225200.000 -13319 476319.444 1222166.667 -13320 476369.444 958861.111 -13321 476397.222 974530.556 -13322 476447.222 1175922.222 -13323 476463.889 1222161.111 -13324 476472.222 1200700.000 -13325 476480.556 1219127.778 -13326 476483.333 1170913.889 -13327 476491.667 996288.889 -13328 476522.222 1014152.778 -13329 476541.667 1181488.889 -13330 476569.444 1171952.778 -13331 476569.444 1172822.222 -13332 476575.000 1172388.889 -13333 476588.889 1174250.000 -13334 476675.000 960097.222 -13335 476741.667 1221202.778 -13336 476777.778 1167794.444 -13337 476800.000 991375.000 -13338 476813.889 1172816.667 -13339 476816.667 1222075.000 -13340 476919.444 954308.333 -13341 476936.111 1141622.222 -13342 477033.333 1222058.333 -13343 477086.111 919444.444 -13344 477166.667 1041558.333 -13345 477180.556 1169505.556 -13346 477297.222 1167691.667 -13347 477313.889 1225511.111 -13348 477330.556 945483.333 -13349 477341.667 975663.889 -13350 477361.111 1226452.778 -13351 477425.000 1219844.444 -13352 477505.556 903341.667 -13353 477569.444 1222797.222 -13354 477575.000 1222427.778 -13355 477588.889 1187044.444 -13356 477600.000 1222044.444 -13357 477613.889 1223450.000 -13358 477638.889 981769.444 -13359 477661.111 1167855.556 -13360 477697.222 999350.000 -13361 477736.111 971094.444 -13362 477741.667 966077.778 -13363 477847.222 1222730.556 -13364 477883.333 1223075.000 -13365 477963.889 1223816.667 -13366 478022.222 1032827.778 -13367 478055.556 922744.444 -13368 478108.333 1223761.111 -13369 478125.000 1168955.556 -13370 478138.889 1126791.667 -13371 478200.000 1106722.222 -13372 478211.111 1223138.889 -13373 478222.222 1222808.333 -13374 478391.667 958541.667 -13375 478411.111 1200152.778 -13376 478525.000 926894.444 -13377 478555.556 1219697.222 -13378 478563.889 1040444.444 -13379 478569.444 1216958.333 -13380 478627.778 1218152.778 -13381 478822.222 962738.889 -13382 479033.333 918669.444 -13383 479066.667 976263.889 -13384 479130.556 1220969.444 -13385 479188.889 973647.222 -13386 479252.778 970325.000 -13387 479300.000 970241.667 -13388 479325.000 1190369.444 -13389 479416.667 1190022.222 -13390 479447.222 1223033.333 -13391 479505.556 1243841.667 -13392 479533.333 1021344.444 -13393 479625.000 995297.222 -13394 479655.556 1189750.000 -13395 479663.889 1168675.000 -13396 479772.222 1024963.889 -13397 479791.667 1222008.333 -13398 480083.333 1196700.000 -13399 480402.778 1224050.000 -13400 480427.778 983358.333 -13401 480511.111 1199022.222 -13402 480519.444 1221758.333 -13403 480561.111 1009288.889 -13404 480633.333 1140716.667 -13405 480797.222 1231005.556 -13406 480841.667 1219675.000 -13407 480905.556 1056400.000 -13408 480961.111 1197794.444 -13409 480980.556 1090480.556 -13410 481127.778 988647.222 -13411 481130.556 1051977.778 -13412 481172.222 1227591.667 -13413 481183.333 1234294.444 -13414 481191.667 961808.333 -13415 481333.333 1036333.333 -13416 481444.444 1045163.889 -13417 481702.778 1119452.778 -13418 481786.111 1101113.889 -13419 481808.333 1170358.333 -13420 481958.333 1143119.444 -13421 481966.667 967725.000 -13422 481969.444 1066361.111 -13423 481988.889 1221238.889 -13424 482200.000 1226850.000 -13425 482258.333 1142752.778 -13426 482325.000 1012958.333 -13427 482363.889 1011330.556 -13428 482413.889 1223694.444 -13429 482555.556 1216002.778 -13430 482752.778 1014283.333 -13431 482763.889 1177144.444 -13432 482766.667 1165522.222 -13433 482888.889 994372.222 -13434 482916.667 973711.111 -13435 482933.333 1226419.444 -13436 483077.778 1122488.889 -13437 483172.222 1023900.000 -13438 483327.778 968205.556 -13439 483444.444 1031647.222 -13440 483458.333 1004050.000 -13441 483597.222 1078736.111 -13442 483613.889 1195822.222 -13443 483636.111 1201211.111 -13444 483688.889 999958.333 -13445 483725.000 1141805.556 -13446 483883.333 1155550.000 -13447 483925.000 1224936.111 -13448 483972.222 1029377.778 -13449 483986.111 977408.333 -13450 483988.889 935555.556 -13451 484111.111 1143366.667 -13452 484111.111 1195263.889 -13453 484122.222 974102.778 -13454 484213.889 1223327.778 -13455 484500.000 968722.222 -13456 484633.333 1158886.111 -13457 484758.333 1223241.667 -13458 484866.667 992094.444 -13459 485038.889 1222361.111 -13460 485052.778 1118561.111 -13461 485105.556 1109666.667 -13462 485127.778 1226113.889 -13463 485333.333 1087833.333 -13464 485344.444 1230158.333 -13465 485394.444 1217450.000 -13466 485466.667 1179044.444 -13467 485500.000 1096833.333 -13468 485569.444 1130125.000 -13469 485711.111 971775.000 -13470 485775.000 965202.778 -13471 485866.667 933988.889 -13472 485900.000 1092305.556 -13473 486011.111 934108.333 -13474 486108.333 1180547.222 -13475 486330.556 1123252.778 -13476 486483.333 1187366.667 -13477 486608.333 998411.111 -13478 486747.222 1020822.222 -13479 486913.889 1163152.778 -13480 487005.556 961813.889 -13481 487052.778 1194383.333 -13482 487125.000 945997.222 -13483 487411.111 1174161.111 -13484 487458.333 1224005.556 -13485 487597.222 1224869.444 -13486 487600.000 983677.778 -13487 487633.333 1015127.778 -13488 487744.444 969461.111 -13489 487747.222 1045619.444 -13490 487925.000 1054202.778 -13491 487938.889 976219.444 -13492 488030.556 1022455.556 -13493 488130.556 1000605.556 -13494 488272.222 1004452.778 -13495 488391.667 997444.444 -13496 488461.111 957625.000 -13497 488466.667 1225897.222 -13498 488577.778 996175.000 -13499 488800.000 1150525.000 -13500 489052.778 953141.667 -13501 489094.444 1010202.778 -13502 489141.667 1032944.444 -13503 489202.778 1223413.889 -13504 489233.333 979177.778 -13505 489391.667 1194344.444 -13506 489466.667 1224508.333 -13507 489663.889 972433.333 -13508 489938.889 1227458.333 -13509 490000.000 1222636.111 -EOF \ No newline at end of file diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/city_swap.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/city_swap.cpp deleted file mode 100644 index e47a4e31b..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/city_swap.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include - -#include "city_swap.h" - -bool CitySwap :: operator () (Route & __route) -{ - - std :: swap (__route [rng.random (__route.size ())], - __route [rng.random (__route.size ())]) ; - - __route.invalidate () ; - - return true ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/city_swap.h b/trunk/paradiseo-mo/tutorial/examples/tsp/city_swap.h deleted file mode 100644 index eda897f0f..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/city_swap.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef city_swap_h -#define city_swap_h - -#include - -#include "route.h" - -/** Its swaps two vertices - randomly choosen */ -class CitySwap : public eoMonOp - { - - public : - - bool operator () (Route & __route) ; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/edge_xover.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/edge_xover.cpp deleted file mode 100644 index a8b6a8532..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/edge_xover.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include - -#include - -#include "edge_xover.h" -#include "route_valid.h" - -#define MAXINT 1000000 - -void -EdgeXover :: build_map (const Route & __par1, const Route & __par2) -{ - - unsigned int len = __par1.size () ; - - /* Initialization */ - _map.clear () ; - _map.resize (len) ; - - for (unsigned int i = 0 ; i < len ; i ++) - { - _map [__par1 [i]].insert (__par1 [(i + 1) % len]) ; - _map [__par2 [i]].insert (__par2 [(i + 1) % len]) ; - _map [__par1 [i]].insert (__par1 [(i - 1 + len) % len]) ; - _map [__par2 [i]].insert (__par2 [(i - 1 + len) % len]) ; - } - - visited.clear () ; - visited.resize (len, false) ; -} - -void -EdgeXover :: remove_entry (unsigned int __vertex, std :: vector > & __map) - { - - std :: set & neigh = __map [__vertex] ; - - for (std :: set :: iterator it = neigh.begin () ; it != neigh.end () ; it ++) - { - __map [* it].erase (__vertex) ; - } - - } - -void -EdgeXover :: add_vertex (unsigned int __vertex, Route & __child) -{ - visited [__vertex] = true ; - __child.push_back (__vertex) ; - remove_entry (__vertex, _map) ; /* Removing entries */ -} - -void -EdgeXover :: cross (const Route & __par1, const Route & __par2, Route & __child) -{ - - build_map (__par1, __par2) ; - - unsigned int len = __par1.size () ; - - /* Go ! */ - __child.clear () ; - - unsigned int cur_vertex = rng.random (len) ; - - add_vertex (cur_vertex, __child) ; - - for (unsigned int i = 1 ; i < len ; i ++) - { - - unsigned int len_min_entry = MAXINT ; - - std :: set & neigh = _map [cur_vertex] ; - - for (std :: set :: iterator it = neigh.begin () ; it != neigh.end () ; it ++) - { - unsigned int l = _map [* it].size () ; - if (len_min_entry > l) - { - len_min_entry = l ; - } - } - - std :: vector cand ; /* Candidates */ - - for (std :: set :: iterator it = neigh.begin () ; it != neigh.end () ; it ++) - { - unsigned int l = _map [* it].size () ; - if (len_min_entry == l) - { - cand.push_back (* it) ; - } - } - - if (! cand.size ()) - { - - /* Oh no ! Implicit mutation */ - for (unsigned int j = 0 ; j < len ; j ++) - { - if (! visited [j]) - { - cand.push_back (j) ; - } - } - } - - cur_vertex = cand [rng.random (cand.size ())] ; - - add_vertex (cur_vertex, __child) ; - } -} - -bool -EdgeXover :: operator () (Route & __route1, Route & __route2) -{ - - // Init. copy - Route par [2] ; - par [0] = __route1 ; - par [1] = __route2 ; - - cross (par [0], par [1], __route1) ; - cross (par [1], par [0], __route2) ; - - assert (valid (__route1)) ; - assert (valid (__route2)) ; - - __route1.invalidate () ; - __route2.invalidate () ; - - return true ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/edge_xover.h b/trunk/paradiseo-mo/tutorial/examples/tsp/edge_xover.h deleted file mode 100644 index 3e97d6d48..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/edge_xover.h +++ /dev/null @@ -1,72 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef edge_xover_h -#define edge_xover_h - -#include -#include - -#include - -#include "route.h" - -/** Edge Crossover */ -class EdgeXover : public eoQuadOp - { - - public : - - bool operator () (Route & __route1, Route & __route2) ; - - private : - - void cross (const Route & __par1, const Route & __par2, Route & __child) ; /* Binary */ - - void remove_entry (unsigned int __vertex, std :: vector > & __map) ; - /* Updating the map of entries */ - - void build_map (const Route & __par1, const Route & __par2) ; - - void add_vertex (unsigned int __vertex, Route & __child) ; - - std :: vector > _map ; /* The handled map */ - - std :: vector visited ; /* Vertices that are already visited */ - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/graph.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/graph.cpp deleted file mode 100644 index 412b9263a..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/graph.cpp +++ /dev/null @@ -1,207 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "graph.h" - -using std::cout; -using std::endl; - -namespace Graph - { - - static std :: vector > vectCoord ; // Coordinates - - static std :: vector > dist ; // Distances Mat. - - unsigned size () - { - return dist.size () ; - } - - void computeDistances () - { - - // Dim. - unsigned int numCities = vectCoord.size () ; - dist.resize (numCities) ; - for (unsigned int i = 0 ; i < dist.size () ; i ++) - { - dist [i].resize (numCities) ; - } - - // Computations. - for (unsigned int i = 0 ; i < dist.size () ; i ++) - { - for (unsigned int j = i + 1 ; j < dist.size () ; j ++) - { - double distX = (double)(vectCoord [i].first - vectCoord [j].first) ; - double distY = (double)(vectCoord [i].second - vectCoord [j].second) ; - dist [i] [j] = dist [j] [i] = (unsigned int) (sqrt ((float) (distX * distX + distY * distY)) + 0.5) ; - } - } - } - - void load (const char * _fileName) - { - unsigned int i, dimension; - - std::string string_read, buffer; - - std :: ifstream file (_fileName) ; - - cout << endl << "\tLoading [" << _fileName << "]" << endl << endl; - - if( file.is_open() ) - { - // Read NAME: - file >> string_read; - if (string_read.compare("NAME:")!=0) - { - cout << "ERROR: \'NAME:\' espected, \'" << string_read << "\' found" << endl; - exit(EXIT_FAILURE); - } - // Read instance name - file >> string_read; - cout << "\t\tInstance Name = " << string_read << endl; - // Read TYPE: - file >> string_read; - if (string_read.compare("TYPE:")!=0) - { - cout << "ERROR: \'TYPE:\' espected, \'" << string_read << "\' found" << endl; - exit(EXIT_FAILURE); - } - // Read instance type; - file >> string_read; - cout << "\t\tInstance type = " << string_read << endl; - if (string_read.compare("TSP")!=0) - { - cout << "ERROR: only TSP type instance can be loaded" << endl; - exit(EXIT_FAILURE); - } - // Read COMMENT: - file >> string_read; - if (string_read.compare("COMMENT:")!=0) - { - cout << "ERROR: \'COMMENT:\' espected, \'" << string_read << "\' found" << endl; - exit(EXIT_FAILURE); - } - // Read comments - cout << "\t\tInstance comments = "; - file >> string_read; - buffer = string_read+"_first"; - while((string_read.compare("DIMENSION:")!=0) && (string_read.compare(buffer)!=0)) - { - if(string_read.compare("COMMENT:")!=0) - { - cout << string_read << " "; - } - else - { - cout << endl << "\t "; - } - buffer = string_read; - file >> string_read; - } - - cout << endl; - - // Read dimension; - file >> dimension ; - cout << "\t\tInstance dimension = " << dimension << endl; - vectCoord.resize (dimension) ; - - // Read EDGE_WEIGHT_TYPE - file >> string_read; - if (string_read.compare("EDGE_WEIGHT_TYPE:")!=0) - { - cout << "ERROR: \'EDGE_WEIGHT_TYPE:\' espected, \'" << string_read << "\' found" << endl; - exit(EXIT_FAILURE); - } - - // Read edge weight type - file >> string_read; - cout << "\t\tInstance edge weight type = " << string_read << endl; - if (string_read.compare("EUC_2D")!=0) - { - cout << "ERROR: only EUC_2D edge weight type instance can be loaded" << endl; - exit(EXIT_FAILURE); - } - - // Read NODE_COORD_SECTION - file >> string_read; - if (string_read.compare("NODE_COORD_SECTION")!=0) - { - cout << "ERROR: \'NODE_COORD_SECTION\' espected, \'" << string_read << "\' found" << endl; - exit(EXIT_FAILURE); - } - - // Read coordonates. - for(i=0;i> string_read; - //Read Coordinate - file >> vectCoord [i].first >> vectCoord [i].second ; - } - - // Read EOF - file >> string_read; - if(string_read.compare("EOF")!=0) - { - cout << "ERROR: \'EOF\' espected, \'" << string_read << "\' found" << endl; - exit(EXIT_FAILURE); - } - - cout << endl; - - file.close () ; - - computeDistances () ; - } - else - { - cout << _fileName << " does not exist !!!" << endl ; - exit(EXIT_FAILURE) ; - } - } - - float distance (unsigned int _from, unsigned int _to) - { - return (float)(dist [_from] [_to]) ; - } -} - - diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/graph.h b/trunk/paradiseo-mo/tutorial/examples/tsp/graph.h deleted file mode 100644 index 94b66d7f6..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/graph.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef graph_h -#define graph_h - -#include -#include -#include -#include -#include -#include -#include - - -namespace Graph -{ - void load (const char * _file_name) ; - /* Loading cities - (expressed by their coordinates) - from the given file name */ - - float distance (unsigned int _from, unsigned int _to) ; - - unsigned int size () ; // How many cities ? -} - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/mix.h b/trunk/paradiseo-mo/tutorial/examples/tsp/mix.h deleted file mode 100644 index fc570a939..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/mix.h +++ /dev/null @@ -1,50 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef mix_h -#define mix_h - -#include - -template void mix (std :: vector & __vect) -{ - for (unsigned int i = 0 ; i < __vect.size () ; i ++) - { - std :: swap (__vect [i], __vect [rng.random (__vect.size ())]) ; - } -} - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/order_xover.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/order_xover.cpp deleted file mode 100644 index 9e2c1f408..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/order_xover.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include -#include - -#include - -#include "order_xover.h" -#include "route_valid.h" - -void OrderXover :: cross (const Route & __par1, const Route & __par2, Route & __child) -{ - - unsigned int cut = rng.random (__par1.size ()) ; - - /* To store vertices that have - already been crossed */ - std::vector v; - v.resize(__par1.size()); - - for (unsigned int i = 0 ; i < __par1.size () ; i ++) - { - v [i] = false ; - } - - /* Copy of the left partial - route of the first parent */ - for (unsigned int i = 0 ; i < cut ; i ++) - { - __child [i] = __par1 [i] ; - v [__par1 [i]] = true ; - } - - /* Searching the vertex of the second path, that ended - the previous first one */ - unsigned int from = 0 ; - for (unsigned int i = 0 ; i < __par2.size () ; i ++) - { - if (__par2 [i] == __child [cut - 1]) - { - from = i ; - break ; - } - } - - /* Selecting a direction - Left or Right */ - char direct = rng.flip () ? 1 : -1 ; - - /* Copy of the left vertices from - the second parent path */ - unsigned int l = cut ; - - for (unsigned int i = 0 ; i < __par2.size () ; i ++) - { - unsigned int bidule /* :-) */ = (direct * i + from + __par2.size ()) % __par2.size () ; - if (! v [__par2 [bidule]]) - { - __child [l ++] = __par2 [bidule] ; - v [__par2 [bidule]] = true ; - } - } - - v.clear(); -} - -bool OrderXover :: operator () (Route & __route1, Route & __route2) -{ - - // Init. copy - Route par [2] ; - par [0] = __route1 ; - par [1] = __route2 ; - - cross (par [0], par [1], __route1) ; - cross (par [1], par [0], __route2) ; - - assert (valid (__route1)) ; - assert (valid (__route2)) ; - - __route1.invalidate () ; - __route2.invalidate () ; - - return true ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/order_xover.h b/trunk/paradiseo-mo/tutorial/examples/tsp/order_xover.h deleted file mode 100644 index 924eb4dfd..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/order_xover.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef order_xover_h -#define order_xover_h - -#include - -#include "route.h" - -/** Order Crossover */ -class OrderXover : public eoQuadOp - { - - public : - - bool operator () (Route & __route1, Route & __route2) ; - - private : - - void cross (const Route & __par1, const Route & __par2, Route & __child) ; - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/part_route_eval.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/part_route_eval.cpp deleted file mode 100644 index 1639e002a..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/part_route_eval.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "part_route_eval.h" -#include "graph.h" - -PartRouteEval :: PartRouteEval (float __from, float __to) : from (__from), to (__to) -{} - -void PartRouteEval :: operator () (Route & __route) -{ - float len = 0 ; - - for (unsigned int i = (unsigned int) (__route.size () * from) ; i < (unsigned int ) (__route.size () * to) ; i ++) - { - len += Graph :: distance (__route [i], __route [(i + 1) % Graph :: size ()]) ; - } - - __route.fitness (len) ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/part_route_eval.h b/trunk/paradiseo-mo/tutorial/examples/tsp/part_route_eval.h deleted file mode 100644 index a92fad2ce..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/part_route_eval.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef part_route_eval_h -#define part_route_eval_h - -#include - -#include "route.h" - -/** Route Evaluator */ -class PartRouteEval : public eoEvalFunc - { - - public : - - /** Constructor */ - PartRouteEval (float __from, float __to) ; - - void operator () (Route & __route) ; - - private : - - float from, to ; - - } ; - - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_init.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_init.cpp deleted file mode 100644 index 357b7ecbe..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_init.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include - -#include "part_two_opt_init.h" - -void PartTwoOptInit :: operator () (TwoOpt & __move, const Route & __route) -{ - __move.first = rng.random (__route.size () - 6) ; - __move.second = __move.first + 2 ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_init.h b/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_init.h deleted file mode 100644 index 490fe61bf..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_init.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef part_two_opt_init_h -#define part_two_opt_init_h - -#include - -#include "two_opt.h" - -/** It sets the first couple of edges */ -class PartTwoOptInit : public moMoveInit - { - - public : - - void operator () (TwoOpt & __move, const Route & __route) ; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_next.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_next.cpp deleted file mode 100644 index 7abc14012..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_next.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "part_two_opt_next.h" -#include "graph.h" - -bool PartTwoOptNext :: operator () (TwoOpt & __move, const Route & __route) -{ - if (__move.first == Graph :: size () - 4 && __move.second == __move.first + 2) - { - return false ; - } - else - { - __move.second ++ ; - if (__move.second == Graph :: size () - 1) - { - __move.first ++ ; - __move.second = __move.first + 2 ; - } - - return true ; - } -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_next.h b/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_next.h deleted file mode 100644 index e2a0c05cc..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/part_two_opt_next.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef part_two_opt_next_h -#define part_two_opt_next_h - -#include -#include "two_opt.h" - -/** It updates a couple of edges */ -class PartTwoOptNext : public moNextMove - { - - public : - - bool operator () (TwoOpt & __move, const Route & __route) ; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/partial_mapped_xover.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/partial_mapped_xover.cpp deleted file mode 100644 index ab92d2a3b..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/partial_mapped_xover.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include - -#include - -#include - -#include "partial_mapped_xover.h" -#include "route_valid.h" -#include "mix.h" - -void PartialMappedXover :: repair (Route & __route, unsigned __cut1, unsigned __cut2) -{ - - std::vector v; // Number of times a cities are visited ... - - v.resize(__route.size ()); - - for (unsigned int i = 0 ; i < __route.size () ; i ++) - { - v [i] = 0 ; - } - - for (unsigned int i = 0 ; i < __route.size () ; i ++) - { - v [__route [i]] ++ ; - } - - std :: vector vert ; - - for (unsigned int i = 0 ; i < __route.size () ; i ++) - { - if (! v [i]) - { - vert.push_back (i) ; - } - } - - mix (vert) ; - - for (unsigned int i = 0 ; i < __route.size () ; i ++) - { - if (i < __cut1 || i >= __cut2) - { - if (v [__route [i]] > 1) - { - __route [i] = vert.back () ; - vert.pop_back () ; - } - } - } - - v.clear(); -} - -bool PartialMappedXover :: operator () (Route & __route1, Route & __route2) -{ - unsigned int cut1 = rng.random (__route1.size ()), cut2 = rng.random (__route2.size ()) ; - - if (cut2 < cut1) - { - std :: swap (cut1, cut2) ; - } - - // Between the cuts - for (unsigned int i = cut1 ; i < cut2 ; i ++) - { - std :: swap (__route1 [i], __route2 [i]) ; - } - - // Outside the cuts - repair (__route1, cut1, cut2) ; - repair (__route2, cut1, cut2) ; - - // Debug - assert (valid (__route1)) ; - assert (valid (__route2)) ; - - __route1.invalidate () ; - __route2.invalidate () ; - - return true ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/partial_mapped_xover.h b/trunk/paradiseo-mo/tutorial/examples/tsp/partial_mapped_xover.h deleted file mode 100644 index 65c6474de..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/partial_mapped_xover.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef partial_mapped_xover_h -#define partial_mapped_xover_h - -#include - -#include "route.h" - -/** Partial Mapped Crossover */ -class PartialMappedXover : public eoQuadOp - { - - public : - - bool operator () (Route & __route1, Route & __route2) ; - - private : - - void repair (Route & __route, unsigned __cut1, unsigned __cut2) ; - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/route.h b/trunk/paradiseo-mo/tutorial/examples/tsp/route.h deleted file mode 100644 index ac9629cbb..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/route.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef route_h -#define route_h - -#include -#include - -// A float that has to be minimized. -typedef eoScalarFitness< float, std::greater > tspFitness ; - -typedef eoVector Route ; // [Fitness (length), Gene (city)] - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/route_eval.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/route_eval.cpp deleted file mode 100644 index abde85b99..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/route_eval.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "route_eval.h" -#include "graph.h" - -void RouteEval :: operator () (Route & __route) -{ - - float len = 0.0 ; - - for (unsigned int i = 0 ; i < Graph :: size () ; i ++) - { - len += Graph :: distance (__route [i], __route [(i + 1) % Graph :: size ()]) ; - } - - __route.fitness (len) ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/route_eval.h b/trunk/paradiseo-mo/tutorial/examples/tsp/route_eval.h deleted file mode 100644 index 474075cf0..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/route_eval.h +++ /dev/null @@ -1,55 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef route_eval_h -#define route_eval_h - -#include - -#include "route.h" - -/** Route Evaluator */ -class RouteEval : public eoEvalFunc - { - - public : - - void operator () (Route & __route) ; - - } ; - - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/route_init.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/route_init.cpp deleted file mode 100644 index 09a2c40cb..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/route_init.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include - -#include "route_init.h" -#include "graph.h" - -void RouteInit :: operator () (Route & __route) -{ - - // Init. - __route.clear () ; - for (unsigned int i = 0 ; i < Graph :: size () ; i ++) - { - __route.push_back (i) ; - } - - // Swap. cities - - for (unsigned int i = 0 ; i < Graph :: size () ; i ++) - { - //unsigned int j = rng.random (Graph :: size ()) ; - - unsigned int j = (unsigned int) (Graph :: size () * (rand () / (RAND_MAX + 1.0))) ; - unsigned int city = __route [i] ; - __route [i] = __route [j] ; - __route [j] = city ; - } -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/route_init.h b/trunk/paradiseo-mo/tutorial/examples/tsp/route_init.h deleted file mode 100644 index 466345c1b..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/route_init.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef route_init_h -#define route_init_h - -#include - -#include "route.h" - -class RouteInit : public eoInit - { - - public : - - void operator () (Route & __route) ; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/route_valid.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/route_valid.cpp deleted file mode 100644 index 844cebf82..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/route_valid.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "route_valid.h" - -#include - -bool valid (Route & __route) -{ - - std::vector t; - t.resize(__route.size()); - - for (unsigned int i = 0 ; i < __route.size () ; i ++) - { - t [i] = 0 ; - } - - for (unsigned int i = 0 ; i < __route.size () ; i ++) - { - t [__route [i]] ++ ; - } - - for (unsigned int i = 0 ; i < __route.size () ; i ++) - { - if (t [i] != 1) - { - t.clear(); - return false ; - } - } - - t.clear(); - return true ; // OK. -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/route_valid.h b/trunk/paradiseo-mo/tutorial/examples/tsp/route_valid.h deleted file mode 100644 index 607728e8b..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/route_valid.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef route_valid_h -#define route_valid_h - -#include "route.h" - -bool valid (Route & __route) ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/tsp b/trunk/paradiseo-mo/tutorial/examples/tsp/tsp deleted file mode 100644 index adf8189ca..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/tsp +++ /dev/null @@ -1,41 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ -#ifndef __tsp -#define __tsp - -#include "tsp.h" - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/tsp.h b/trunk/paradiseo-mo/tutorial/examples/tsp/tsp.h deleted file mode 100644 index ba249a794..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/tsp.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson (Jean-Charles.Boisson@lifl.fr) -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef __tsp_h -#define __tsp_h - -#include "city_swap.h" -#include "edge_xover.h" -#include "graph.h" -#include "mix.h" -#include "order_xover.h" -#include "partial_mapped_xover.h" -#include "part_route_eval.h" -#include "part_two_opt_init.h" -#include "part_two_opt_next.h" -#include "route_eval.h" -#include "route.h" -#include "route_init.h" -#include "route_valid.h" -#include "two_opt.h" -#include "two_opt_incr_eval.h" -#include "two_opt_init.h" -#include "two_opt_next.h" -#include "two_opt_rand.h" -#include "two_opt_tabu_list.h" - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt.cpp deleted file mode 100644 index 146c6c6c2..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt.cpp +++ /dev/null @@ -1,72 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "two_opt.h" - -TwoOpt TwoOpt :: operator ! () const - { - TwoOpt move = * this ; - std :: swap (move.first, move.second) ; - - return move ; - } - -void TwoOpt :: operator () (Route & __route) -{ - - std :: vector seq_cities ; - - for (unsigned int i = second ; i > first ; i --) - { - seq_cities.push_back (__route [i]) ; - } - - unsigned int j = 0 ; - for (unsigned int i = first + 1 ; i < second + 1 ; i ++) - { - __route [i] = seq_cities [j ++] ; - } -} - -void TwoOpt :: readFrom (std :: istream & __is) -{ - __is >> first >> second ; -} - -void TwoOpt :: printOn (std :: ostream & __os) const - { - __os << first << ' ' << second ; - } diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt.h b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt.h deleted file mode 100644 index 6b9cf435f..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef two_opt_h -#define two_opt_h - -#include - -#include -#include - -#include "route.h" - -class TwoOpt : public moMove , public std :: pair , public eoPersistent - { - - public : - - TwoOpt operator ! () const ; - - void operator () (Route & __route) ; - - void readFrom (std :: istream & __is) ; - - void printOn (std :: ostream & __os) const ; - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_incr_eval.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_incr_eval.cpp deleted file mode 100644 index 2d4657b73..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_incr_eval.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "two_opt_incr_eval.h" -#include "graph.h" - -tspFitness TwoOptIncrEval :: operator () (const TwoOpt & __move, const Route & __route) -{ - // From - unsigned int v1 = __route [__move.first], v1_next = __route [__move.first + 1] ; - - // To - unsigned int v2 = __route [__move.second], v2_next = __route [__move.second + 1] ; - - return __route.fitness () - + Graph :: distance (v1, v2) - + Graph :: distance (v1_next, v2_next) - - Graph :: distance (v1, v1_next) - - Graph :: distance (v2, v2_next) ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_incr_eval.h b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_incr_eval.h deleted file mode 100644 index 91ffca098..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_incr_eval.h +++ /dev/null @@ -1,51 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef two_optincr_eval_h -#define two_optincr_eval_h - -#include -#include "two_opt.h" - -class TwoOptIncrEval : public moMoveIncrEval - { - public : - - tspFitness operator () (const TwoOpt & __move, const Route & __route) ; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_init.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_init.cpp deleted file mode 100644 index 2e593db0a..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_init.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "two_opt_init.h" - -void TwoOptInit :: operator () (TwoOpt & _move, const Route & _route) -{ - Route route=_route; - - _move.first = 0 ; - _move.second = 2 ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_init.h b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_init.h deleted file mode 100644 index 1b2a5e376..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_init.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef two_opt_init_h -#define two_opt_init_h - -#include - -#include "two_opt.h" - -/** It sets the first couple of edges */ -class TwoOptInit : public moMoveInit - { - - public : - - void operator () (TwoOpt & _move, const Route & _route) ; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_next.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_next.cpp deleted file mode 100644 index 2438390fd..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_next.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "two_opt_next.h" -#include "graph.h" - -bool TwoOptNext :: operator () (TwoOpt & _move, const Route & _route) -{ - Route route=_route; - - if (_move.first == Graph :: size () - 4 && _move.second == _move.first + 2) - { - return false ; - } - else - { - _move.second ++ ; - if (_move.second == Graph :: size () - 1) - { - _move.first ++ ; - _move.second = _move.first + 2 ; - } - - return true ; - } -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_next.h b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_next.h deleted file mode 100644 index f57595cd6..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_next.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef two_opt_next_h -#define two_opt_next_h - -#include -#include "two_opt.h" - -/** It updates a couple of edges */ -class TwoOptNext : public moNextMove - { - - public : - - bool operator () (TwoOpt & _move, const Route & _route) ; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_rand.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_rand.cpp deleted file mode 100644 index 956bddfb0..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_rand.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "two_opt_rand.h" -#include "graph.h" -#include - -void TwoOptRand :: operator () (TwoOpt & __move) -{ - __move.first = rng.random (Graph :: size () - 3) ; - __move.second = __move.first + 2 + rng.random (Graph :: size () - __move.first - 3) ; -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_rand.h b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_rand.h deleted file mode 100644 index e6e0bdff2..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_rand.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef two_opt_rand_h -#define two_opt_rand_h - -#include - -#include "two_opt.h" - -class TwoOptRand : public moRandMove - { - - public : - - void operator () (TwoOpt & __move) ; - - } ; - -#endif diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_tabu_list.cpp b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_tabu_list.cpp deleted file mode 100644 index 290eef7f7..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_tabu_list.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#include "two_opt_tabu_list.h" -#include "graph.h" - -#define TABU_LENGTH 10 - -void -TwoOptTabuList :: init () -{ - // Size (eventually) - tabu_span.resize (Graph :: size ()) ; - for (unsigned int i = 0 ; i < tabu_span.size () ; i ++) - { - tabu_span [i].resize (Graph :: size ()) ; - } - - // Clear - for (unsigned int i = 0 ; i < tabu_span.size () ; i ++) - { - for (unsigned int j = 0 ; j < tabu_span [i].size () ; j ++) - { - tabu_span [i] [j] = 0 ; - } - } -} - -bool -TwoOptTabuList :: operator () (const TwoOpt & _move, const Route & _route) -{ - Route route=_route; - - return tabu_span [_move.first] [_move.second] > 0 ; -} - -void -TwoOptTabuList :: add (const TwoOpt & _move, const Route & _route) - { - Route route=_route; - - tabu_span [_move.first] [_move.second] = tabu_span [_move.second] [_move.first] = TABU_LENGTH ; - } - -void -TwoOptTabuList :: update () -{ - unsigned int i,j; - - for (i = 0 ; i < tabu_span.size () ; i ++) - { - for (j = 0 ; j < tabu_span [i].size () ; j ++) - { - if ( tabu_span [i] [j] > 0 ) - { - tabu_span [i] [j] -- ; - } - } - } -} diff --git a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_tabu_list.h b/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_tabu_list.h deleted file mode 100644 index 236919f69..000000000 --- a/trunk/paradiseo-mo/tutorial/examples/tsp/two_opt_tabu_list.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -* -* Copyright (C) DOLPHIN Project-Team, INRIA Futurs, 2006-2007 -* (C) OPAC Team, LIFL, 2002-2007 -* -* Sébastien Cahon, Jean-Charles Boisson -* -* This software is governed by the CeCILL license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL -* license as circulated by CEA, CNRS and INRIA at the following URL -* "http://www.cecill.info". -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited liability. -* -* In this respect, the user's attention is drawn to the risks associated -* with loading, using, modifying and/or developing or reproducing the -* software by the user in light of its specific status of free software, -* that may mean that it is complicated to manipulate, and that also -* therefore means that it is reserved for developers and experienced -* professionals having in-depth computer knowledge. Users are therefore -* encouraged to load and test the software's suitability as regards their -* requirements in conditions enabling the security of their systems and/or -* data to be ensured and, more generally, to use and operate it in the -* same conditions as regards security. -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL license and that you accept its terms. -* -* ParadisEO WebSite : http://paradiseo.gforge.inria.fr -* Contact: paradiseo-help@lists.gforge.inria.fr -* -*/ - -#ifndef two_opt_tabu_list_h -#define two_opt_tabu_list_h - -#include -#include "two_opt.h" -#include "route.h" - -/** The table of tabu movements, i.e. forbidden edges */ -class TwoOptTabuList : public moTabuList - { - public : - - bool operator () (const TwoOpt & _move, const Route & _route) ; - - void add (const TwoOpt & _move, const Route & _route) ; - - void update () ; - - void init () ; - - private : - - std :: vector > tabu_span ; - - } ; - -#endif