25 Commits
v1.0.1 ... main

Author SHA1 Message Date
eae8e60163 Merge pull request 'Create version 1.1.2' (#2) from 112 into main
Reviewed-on: #2
2025-07-19 17:51:24 +00:00
a07a215780 Update changelog 2025-07-19 19:44:35 +02:00
0e95aa28fc Update version to 1.1.2 2025-07-19 19:37:45 +02:00
8b2547aa02 Complete configuration 2025-07-16 22:30:05 +02:00
6b6a3fa49f Update cmake and make build and conan 2025-07-16 18:48:49 +02:00
5324227030 Remove CMakeUserPresets 2025-07-16 16:07:58 +02:00
61c44b43a6 Add libtorch 2.7.1 dependency 2025-07-16 16:03:47 +02:00
a43901095c Fix conan package version 2025-06-28 19:54:03 +02:00
293135c9af Add conan integration 2025-06-28 19:47:29 +02:00
8807cd513c Continue conan integration 2025-06-28 11:06:16 +02:00
91df2f5e02 Begin conan integration 2025-06-28 10:52:13 +02:00
72053e195a Removed submodules 2025-06-28 00:44:57 +02:00
1973ab6fb6 Update gitea ports on readme 2025-04-27 12:00:23 +02:00
9652853d69 Merge pull request 'Add quiet parameter to Stratified KFold' (#1) from quiet into main
Reviewed-on: #1
This parameters enables/disables the output in std::err the Warning messages that produces trying to create a fold that lacks any values of the class
2024-12-13 17:29:28 +00:00
0406322c62 Add tests for the quiet parameter and fix initialization mistake 2024-12-13 14:32:27 +01:00
d1335f9f8a Update mdlp version 2024-12-13 13:15:33 +01:00
deba2a9011 Add parameter quiet to Stratified KFold
Remove cmake config as it is not used
2024-12-13 12:58:17 +01:00
2ac43e32ac Update program title in README 2024-05-12 10:42:10 +02:00
d89949f965 Add logo to README 2024-05-12 10:40:22 +02:00
84d1c834d5 Change the place for testing libs mdlp, catch2 and File
Add copyright headers to source files
2024-05-12 10:26:24 +02:00
030ed6bc1c Remove submodules to change its location 2024-05-11 17:42:36 +02:00
38bc00bb05 Refactor stratified build optimizing loops 2024-05-11 14:10:00 +02:00
3fac7b95f8 Refactor stratified build removing uneeded structures 2024-05-11 13:44:57 +02:00
c7bcc10dfb Refactor folding change order public and private methods 2024-05-11 13:34:50 +02:00
306a9e1fc8 Fix stratified when class samples were less than folds
Add more tests to make them more robust
2024-05-11 13:25:07 +02:00
184 changed files with 133478 additions and 1410 deletions

26
.gitignore vendored
View File

@@ -38,3 +38,29 @@ cmake-build*/**
.idea
puml/**
.vscode/settings.json
# CMake generated files
CMakeFiles/
CMakeCache.txt
cmake_install.cmake
compile_commands.json
Makefile
CTestTestfile.cmake
DartConfiguration.tcl
Testing/
CMakePresets.json
# Conan generated files
conan_toolchain.cmake
conan*.sh
deactivate_*.sh
cmakedeps*.cmake
conandeps*.cmake
*-Target-*.cmake
*-debug-*.cmake
*Config*.cmake
*Targets.cmake
Find*.cmake
module-*.cmake
CMakeUserPresets.json
.claude

6
.gitmodules vendored
View File

@@ -1,6 +0,0 @@
[submodule "lib/catch2"]
path = lib/catch2
url = https://github.com/catchorg/Catch2.git
[submodule "lib/mdlp"]
path = lib/mdlp
url = https://github.com/rmontanana/mdlp

View File

@@ -10,8 +10,16 @@
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"cStandard": "c17",
"cppStandard": "c++17",
"compileCommands": "${workspaceFolder}/cmake-build-release/compile_commands.json"
"cppStandard": "c++17"
},
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"cStandard": "c17",
"cppStandard": "c++17"
}
],
"version": 4

123
.vscode/launch.json vendored
View File

@@ -1,130 +1,13 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "sample",
"program": "${workspaceFolder}/build_debug/sample/BayesNetSample",
"args": [
"-d",
"iris",
"-m",
"TANLd",
"-s",
"271",
"-p",
"/Users/rmontanana/Code/discretizbench/datasets/",
],
//"cwd": "${workspaceFolder}/build/sample/",
},
{
"type": "lldb",
"request": "launch",
"name": "experimentPy",
"program": "${workspaceFolder}/build_debug/src/Platform/b_main",
"args": [
"-m",
"STree",
"--stratified",
"-d",
"iris",
//"--discretize"
// "--hyperparameters",
// "{\"repeatSparent\": true, \"maxModels\": 12}"
],
"cwd": "${workspaceFolder}/../discretizbench",
},
{
"type": "lldb",
"request": "launch",
"name": "gridsearch",
"program": "${workspaceFolder}/build_debug/src/Platform/b_grid",
"args": [
"-m",
"KDB",
"--discretize",
"--continue",
"glass",
"--only",
"--compute"
],
"cwd": "${workspaceFolder}/../discretizbench",
},
{
"type": "lldb",
"request": "launch",
"name": "experimentBayes",
"program": "${workspaceFolder}/build_debug/src/Platform/b_main",
"args": [
"-m",
"TAN",
"--stratified",
"--discretize",
"-d",
"iris",
"--hyperparameters",
"{\"repeatSparent\": true, \"maxModels\": 12}"
],
"cwd": "/home/rmontanana/Code/discretizbench",
},
{
"type": "lldb",
"request": "launch",
"name": "best",
"program": "${workspaceFolder}/build_debug/src/Platform/b_best",
"args": [
"-m",
"BoostAODE",
"-s",
"accuracy",
"--build",
],
"cwd": "${workspaceFolder}/../discretizbench",
},
{
"type": "lldb",
"request": "launch",
"name": "manage",
"program": "${workspaceFolder}/build_debug/src/Platform/b_manage",
"args": [
"-n",
"20"
],
"cwd": "${workspaceFolder}/../discretizbench",
},
{
"type": "lldb",
"request": "launch",
"name": "list",
"program": "${workspaceFolder}/build_debug/src/Platform/b_list",
"args": [],
//"cwd": "/Users/rmontanana/Code/discretizbench",
"cwd": "${workspaceFolder}/../discretizbench",
},
{
"type": "lldb",
"request": "launch",
"name": "test",
"program": "${workspaceFolder}/build_debug/tests/unit_tests",
"args": [
"-c=\"Metrics Test\"",
// "-s",
],
"cwd": "${workspaceFolder}/build/tests",
},
{
"name": "Build & debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build_debug/bayesnet",
"program": "${workspaceFolder}/build_Debug/tests/unit_tests_folding",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "CMake: build"
}
"cwd": "${workspaceFolder}/build_Debug/tests",
},
]
}

View File

@@ -5,6 +5,33 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.1.2] 2025-07-19
### Changed
- Update cmake and make build and conan integration
- Remove CMakeUserPresets
- Add libtorch 2.7.1 dependency
- Fix conan package version
- Add conan integration for dependency management
- Remove git submodules
## [1.1.1] 2024-12-13
- Added a new parameter `quiet` to enable/disable the warning messages in the Stratified K-Fold partitioning. Default value `true`.
## [1.1.0] 2024-05-11
### Fixed
- Fixed the issue in stratified K-fold when the number of samples of a class is less than the number of folds. Now the algorithm will split the samples evenly among the folds.
### Added
- Refactor stratified build method to remove uneeded structures and optimize loops.
- Refactor the code to improve the readability and maintainability of the code,changing the order of the private, public and protected methods.
- More tests to enhance the robustness of the code.
## [1.0.1] 2024-04-03
### Added

View File

@@ -1,16 +1,12 @@
cmake_minimum_required(VERSION 3.20)
project(Folding
VERSION 1.0.1
VERSION 1.1.2
DESCRIPTION "Folding utility for BayesNet library"
HOMEPAGE_URL "https://github.com/rmontanana/folding"
LANGUAGES CXX
)
if (CODE_COVERAGE AND NOT ENABLE_TESTING)
MESSAGE(FATAL_ERROR "Code coverage requires testing enabled")
endif (CODE_COVERAGE AND NOT ENABLE_TESTING)
find_package(Torch REQUIRED)
if (POLICY CMP0135)
@@ -25,29 +21,78 @@ set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
# Options
# -------
option(ENABLE_TESTING "Unit testing build" OFF)
# CMakes modules
# --------------
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
include(AddGitSubmodule)
# Subdirectories
# --------------
add_subdirectory(config)
# Testing
# -------
if (ENABLE_TESTING)
MESSAGE("Testing enabled")
add_git_submodule("lib/catch2")
add_git_submodule("lib/Files")
add_git_submodule("lib/mdlp")
find_package(Catch2 REQUIRED)
find_package(arff-files REQUIRED)
find_package(fimdlp REQUIRED)
include(CTest)
add_subdirectory(tests)
endif (ENABLE_TESTING)
# Library
# --------
add_library(folding INTERFACE folding.hpp)
target_include_directories(folding INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/configured_files/include>
$<INSTALL_INTERFACE:include>
)
# Install
# -------
install(TARGETS folding EXPORT FoldingTargets
INCLUDES DESTINATION include
)
install(EXPORT FoldingTargets
FILE FoldingTargets.cmake
NAMESPACE Folding::
DESTINATION lib/cmake/Folding
)
# Install the main header file
install(FILES folding.hpp
DESTINATION include
)
# Install the generated configuration header
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/configured_files/include/folding_config.h"
DESTINATION include
)
# Install documentation files
install(FILES LICENSE README.md
DESTINATION share/doc/Folding
)
# Create and install package configuration files
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/FoldingConfigVersion.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/FoldingConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/FoldingConfig.cmake"
INSTALL_DESTINATION lib/cmake/Folding
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/FoldingConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/FoldingConfigVersion.cmake"
DESTINATION lib/cmake/Folding
)

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2024 rmontanana
Copyright (c) 2024 Ricardo Montañana Gómez
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View File

@@ -2,7 +2,7 @@ SHELL := /bin/bash
.DEFAULT_GOAL := help
.PHONY: help build test clean
f_debug = build_debug
f_debug = build_Debug
test_targets = unit_tests_folding
n_procs = -j 16
@@ -26,16 +26,25 @@ clean: ## Clean the tests info
build: ## Build a debug version of the project
@echo ">>> Building Debug Folding...";
@if [ -d ./$(f_debug) ]; then rm -rf ./$(f_debug); fi
@if [ -d $(f_debug) ]; then rm -rf $(f_debug); fi
@mkdir $(f_debug);
@cmake -S . -B $(f_debug) -D CMAKE_BUILD_TYPE=Debug -D ENABLE_TESTING=ON -D CODE_COVERAGE=ON
conan install . -of $(f_debug) -s build_type=Debug -b missing
cmake -B $(f_debug) -S . -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=$(f_debug)/conan_toolchain.cmake -DENABLE_TESTING=ON
cmake --build $(f_debug) -t $(test_targets) $(n_procs)
@echo ">>> Done";
conan-create: ## Create the conan package
@echo ">>> Creating the conan package..."
conan create . --build=missing -tf "" -s:a build_type=Release
conan create . --build=missing -tf "" -s:a build_type=Debug
@echo ">>> Done"
opt = ""
test: ## Run tests (opt="-s") to verbose output the tests
@echo ">>> Running Folding tests...";
@$(MAKE) clean
@cmake --build $(f_debug) -t $(test_targets) $(n_procs)
@cp -r tests/data $(f_debug)/tests/data
@for t in $(test_targets); do \
if [ -f $(f_debug)/tests/$$t ]; then \
cd $(f_debug)/tests ; \

View File

@@ -1,11 +1,12 @@
# Folding
# <img src="logo.png" alt="logo" width="50"/> Folding
![C++](https://img.shields.io/badge/c++-%2300599C.svg?style=flat&logo=c%2B%2B&logoColor=white)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](<https://opensource.org/licenses/MIT>)
![Gitea Release](https://img.shields.io/gitea/v/release/rmontanana/folding?gitea_url=https://gitea.rmontanana.es:3000)
![Gitea Last Commit](https://img.shields.io/gitea/last-commit/rmontanana/folding?gitea_url=https://gitea.rmontanana.es:3000&logo=gitea)
![Gitea Release](https://img.shields.io/gitea/v/release/rmontanana/folding?gitea_url=https://gitea.rmontanana.es)
![Gitea Last Commit](https://img.shields.io/gitea/last-commit/rmontanana/folding?gitea_url=https://gitea.rmontanana.es&logo=gitea)
Folding header-only library for BayesNet classifiers & platform
K-Fold and stratified K-Fold header-only library for BayesNet classifiers & platform
### Tests

View File

@@ -0,0 +1,5 @@
@PACKAGE_INIT@
include("${CMAKE_CURRENT_LIST_DIR}/FoldingTargets.cmake")
check_required_components(Folding)

View File

@@ -1,12 +0,0 @@
function(add_git_submodule dir)
find_package(Git REQUIRED)
if(NOT EXISTS ${dir}/CMakeLists.txt)
message(STATUS "🚨 Adding git submodule => ${dir}")
execute_process(COMMAND ${GIT_EXECUTABLE}
submodule update --init --recursive -- ${dir}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
endif()
add_subdirectory(${dir})
endfunction(add_git_submodule)

View File

@@ -1,742 +0,0 @@
# Copyright (c) 2012 - 2017, Lars Bilke
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors
# may be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# CHANGES:
#
# 2012-01-31, Lars Bilke
# - Enable Code Coverage
#
# 2013-09-17, Joakim Söderberg
# - Added support for Clang.
# - Some additional usage instructions.
#
# 2016-02-03, Lars Bilke
# - Refactored functions to use named parameters
#
# 2017-06-02, Lars Bilke
# - Merged with modified version from github.com/ufz/ogs
#
# 2019-05-06, Anatolii Kurotych
# - Remove unnecessary --coverage flag
#
# 2019-12-13, FeRD (Frank Dana)
# - Deprecate COVERAGE_LCOVR_EXCLUDES and COVERAGE_GCOVR_EXCLUDES lists in favor
# of tool-agnostic COVERAGE_EXCLUDES variable, or EXCLUDE setup arguments.
# - CMake 3.4+: All excludes can be specified relative to BASE_DIRECTORY
# - All setup functions: accept BASE_DIRECTORY, EXCLUDE list
# - Set lcov basedir with -b argument
# - Add automatic --demangle-cpp in lcovr, if 'c++filt' is available (can be
# overridden with NO_DEMANGLE option in setup_target_for_coverage_lcovr().)
# - Delete output dir, .info file on 'make clean'
# - Remove Python detection, since version mismatches will break gcovr
# - Minor cleanup (lowercase function names, update examples...)
#
# 2019-12-19, FeRD (Frank Dana)
# - Rename Lcov outputs, make filtered file canonical, fix cleanup for targets
#
# 2020-01-19, Bob Apthorpe
# - Added gfortran support
#
# 2020-02-17, FeRD (Frank Dana)
# - Make all add_custom_target()s VERBATIM to auto-escape wildcard characters
# in EXCLUDEs, and remove manual escaping from gcovr targets
#
# 2021-01-19, Robin Mueller
# - Add CODE_COVERAGE_VERBOSE option which will allow to print out commands which are run
# - Added the option for users to set the GCOVR_ADDITIONAL_ARGS variable to supply additional
# flags to the gcovr command
#
# 2020-05-04, Mihchael Davis
# - Add -fprofile-abs-path to make gcno files contain absolute paths
# - Fix BASE_DIRECTORY not working when defined
# - Change BYPRODUCT from folder to index.html to stop ninja from complaining about double defines
#
# 2021-05-10, Martin Stump
# - Check if the generator is multi-config before warning about non-Debug builds
#
# 2022-02-22, Marko Wehle
# - Change gcovr output from -o <filename> for --xml <filename> and --html <filename> output respectively.
# This will allow for Multiple Output Formats at the same time by making use of GCOVR_ADDITIONAL_ARGS, e.g. GCOVR_ADDITIONAL_ARGS "--txt".
#
# 2022-09-28, Sebastian Mueller
# - fix append_coverage_compiler_flags_to_target to correctly add flags
# - replace "-fprofile-arcs -ftest-coverage" with "--coverage" (equivalent)
#
# USAGE:
#
# 1. Copy this file into your cmake modules path.
#
# 2. Add the following line to your CMakeLists.txt (best inside an if-condition
# using a CMake option() to enable it just optionally):
# include(CodeCoverage)
#
# 3. Append necessary compiler flags for all supported source files:
# append_coverage_compiler_flags()
# Or for specific target:
# append_coverage_compiler_flags_to_target(YOUR_TARGET_NAME)
#
# 3.a (OPTIONAL) Set appropriate optimization flags, e.g. -O0, -O1 or -Og
#
# 4. If you need to exclude additional directories from the report, specify them
# using full paths in the COVERAGE_EXCLUDES variable before calling
# setup_target_for_coverage_*().
# Example:
# set(COVERAGE_EXCLUDES
# '${PROJECT_SOURCE_DIR}/src/dir1/*'
# '/path/to/my/src/dir2/*')
# Or, use the EXCLUDE argument to setup_target_for_coverage_*().
# Example:
# setup_target_for_coverage_lcov(
# NAME coverage
# EXECUTABLE testrunner
# EXCLUDE "${PROJECT_SOURCE_DIR}/src/dir1/*" "/path/to/my/src/dir2/*")
#
# 4.a NOTE: With CMake 3.4+, COVERAGE_EXCLUDES or EXCLUDE can also be set
# relative to the BASE_DIRECTORY (default: PROJECT_SOURCE_DIR)
# Example:
# set(COVERAGE_EXCLUDES "dir1/*")
# setup_target_for_coverage_gcovr_html(
# NAME coverage
# EXECUTABLE testrunner
# BASE_DIRECTORY "${PROJECT_SOURCE_DIR}/src"
# EXCLUDE "dir2/*")
#
# 5. Use the functions described below to create a custom make target which
# runs your test executable and produces a code coverage report.
#
# 6. Build a Debug build:
# cmake -DCMAKE_BUILD_TYPE=Debug ..
# make
# make my_coverage_target
#
include(CMakeParseArguments)
option(CODE_COVERAGE_VERBOSE "Verbose information" FALSE)
# Check prereqs
find_program( GCOV_PATH gcov )
find_program( LCOV_PATH NAMES lcov lcov.bat lcov.exe lcov.perl)
find_program( FASTCOV_PATH NAMES fastcov fastcov.py )
find_program( GENHTML_PATH NAMES genhtml genhtml.perl genhtml.bat )
find_program( GCOVR_PATH gcovr PATHS ${CMAKE_SOURCE_DIR}/scripts/test)
find_program( CPPFILT_PATH NAMES c++filt )
if(NOT GCOV_PATH)
message(FATAL_ERROR "gcov not found! Aborting...")
endif() # NOT GCOV_PATH
# Check supported compiler (Clang, GNU and Flang)
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
foreach(LANG ${LANGUAGES})
if("${CMAKE_${LANG}_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang")
if("${CMAKE_${LANG}_COMPILER_VERSION}" VERSION_LESS 3)
message(FATAL_ERROR "Clang version must be 3.0.0 or greater! Aborting...")
endif()
elseif(NOT "${CMAKE_${LANG}_COMPILER_ID}" MATCHES "GNU"
AND NOT "${CMAKE_${LANG}_COMPILER_ID}" MATCHES "(LLVM)?[Ff]lang")
message(FATAL_ERROR "Compiler is not GNU or Flang! Aborting...")
endif()
endforeach()
set(COVERAGE_COMPILER_FLAGS "-g --coverage"
CACHE INTERNAL "")
if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(-fprofile-abs-path HAVE_fprofile_abs_path)
if(HAVE_fprofile_abs_path)
set(COVERAGE_COMPILER_FLAGS "${COVERAGE_COMPILER_FLAGS} -fprofile-abs-path")
endif()
endif()
set(CMAKE_Fortran_FLAGS_COVERAGE
${COVERAGE_COMPILER_FLAGS}
CACHE STRING "Flags used by the Fortran compiler during coverage builds."
FORCE )
set(CMAKE_CXX_FLAGS_COVERAGE
${COVERAGE_COMPILER_FLAGS}
CACHE STRING "Flags used by the C++ compiler during coverage builds."
FORCE )
set(CMAKE_C_FLAGS_COVERAGE
${COVERAGE_COMPILER_FLAGS}
CACHE STRING "Flags used by the C compiler during coverage builds."
FORCE )
set(CMAKE_EXE_LINKER_FLAGS_COVERAGE
""
CACHE STRING "Flags used for linking binaries during coverage builds."
FORCE )
set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE
""
CACHE STRING "Flags used by the shared libraries linker during coverage builds."
FORCE )
mark_as_advanced(
CMAKE_Fortran_FLAGS_COVERAGE
CMAKE_CXX_FLAGS_COVERAGE
CMAKE_C_FLAGS_COVERAGE
CMAKE_EXE_LINKER_FLAGS_COVERAGE
CMAKE_SHARED_LINKER_FLAGS_COVERAGE )
get_property(GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR GENERATOR_IS_MULTI_CONFIG))
message(WARNING "Code coverage results with an optimised (non-Debug) build may be misleading")
endif() # NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR GENERATOR_IS_MULTI_CONFIG)
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
link_libraries(gcov)
endif()
# Defines a target for running and collection code coverage information
# Builds dependencies, runs the given executable and outputs reports.
# NOTE! The executable should always have a ZERO as exit code otherwise
# the coverage generation will not complete.
#
# setup_target_for_coverage_lcov(
# NAME testrunner_coverage # New target name
# EXECUTABLE testrunner -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
# DEPENDENCIES testrunner # Dependencies to build first
# BASE_DIRECTORY "../" # Base directory for report
# # (defaults to PROJECT_SOURCE_DIR)
# EXCLUDE "src/dir1/*" "src/dir2/*" # Patterns to exclude (can be relative
# # to BASE_DIRECTORY, with CMake 3.4+)
# NO_DEMANGLE # Don't demangle C++ symbols
# # even if c++filt is found
# )
function(setup_target_for_coverage_lcov)
set(options NO_DEMANGLE SONARQUBE)
set(oneValueArgs BASE_DIRECTORY NAME)
set(multiValueArgs EXCLUDE EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES LCOV_ARGS GENHTML_ARGS)
cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT LCOV_PATH)
message(FATAL_ERROR "lcov not found! Aborting...")
endif() # NOT LCOV_PATH
if(NOT GENHTML_PATH)
message(FATAL_ERROR "genhtml not found! Aborting...")
endif() # NOT GENHTML_PATH
# Set base directory (as absolute path), or default to PROJECT_SOURCE_DIR
if(DEFINED Coverage_BASE_DIRECTORY)
get_filename_component(BASEDIR ${Coverage_BASE_DIRECTORY} ABSOLUTE)
else()
set(BASEDIR ${PROJECT_SOURCE_DIR})
endif()
# Collect excludes (CMake 3.4+: Also compute absolute paths)
set(LCOV_EXCLUDES "")
foreach(EXCLUDE ${Coverage_EXCLUDE} ${COVERAGE_EXCLUDES} ${COVERAGE_LCOV_EXCLUDES})
if(CMAKE_VERSION VERSION_GREATER 3.4)
get_filename_component(EXCLUDE ${EXCLUDE} ABSOLUTE BASE_DIR ${BASEDIR})
endif()
list(APPEND LCOV_EXCLUDES "${EXCLUDE}")
endforeach()
list(REMOVE_DUPLICATES LCOV_EXCLUDES)
# Conditional arguments
if(CPPFILT_PATH AND NOT ${Coverage_NO_DEMANGLE})
set(GENHTML_EXTRA_ARGS "--demangle-cpp")
endif()
# Setting up commands which will be run to generate coverage data.
# Cleanup lcov
set(LCOV_CLEAN_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -directory .
-b ${BASEDIR} --zerocounters
)
# Create baseline to make sure untouched files show up in the report
set(LCOV_BASELINE_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -c -i -d . -b
${BASEDIR} -o ${Coverage_NAME}.base
)
# Run tests
set(LCOV_EXEC_TESTS_CMD
${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
)
# Capturing lcov counters and generating report
set(LCOV_CAPTURE_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} --directory . -b
${BASEDIR} --capture --output-file ${Coverage_NAME}.capture
)
# add baseline counters
set(LCOV_BASELINE_COUNT_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} -a ${Coverage_NAME}.base
-a ${Coverage_NAME}.capture --output-file ${Coverage_NAME}.total
)
# filter collected data to final coverage report
set(LCOV_FILTER_CMD
${LCOV_PATH} ${Coverage_LCOV_ARGS} --gcov-tool ${GCOV_PATH} --remove
${Coverage_NAME}.total ${LCOV_EXCLUDES} --output-file ${Coverage_NAME}.info
)
# Generate HTML output
set(LCOV_GEN_HTML_CMD
${GENHTML_PATH} ${GENHTML_EXTRA_ARGS} ${Coverage_GENHTML_ARGS} -o
${Coverage_NAME} ${Coverage_NAME}.info
)
if(${Coverage_SONARQUBE})
# Generate SonarQube output
set(GCOVR_XML_CMD
${GCOVR_PATH} --sonarqube ${Coverage_NAME}_sonarqube.xml -r ${BASEDIR} ${GCOVR_ADDITIONAL_ARGS}
${GCOVR_EXCLUDE_ARGS} --object-directory=${PROJECT_BINARY_DIR}
)
set(GCOVR_XML_CMD_COMMAND
COMMAND ${GCOVR_XML_CMD}
)
set(GCOVR_XML_CMD_BYPRODUCTS ${Coverage_NAME}_sonarqube.xml)
set(GCOVR_XML_CMD_COMMENT COMMENT "SonarQube code coverage info report saved in ${Coverage_NAME}_sonarqube.xml.")
endif()
if(CODE_COVERAGE_VERBOSE)
message(STATUS "Executed command report")
message(STATUS "Command to clean up lcov: ")
string(REPLACE ";" " " LCOV_CLEAN_CMD_SPACED "${LCOV_CLEAN_CMD}")
message(STATUS "${LCOV_CLEAN_CMD_SPACED}")
message(STATUS "Command to create baseline: ")
string(REPLACE ";" " " LCOV_BASELINE_CMD_SPACED "${LCOV_BASELINE_CMD}")
message(STATUS "${LCOV_BASELINE_CMD_SPACED}")
message(STATUS "Command to run the tests: ")
string(REPLACE ";" " " LCOV_EXEC_TESTS_CMD_SPACED "${LCOV_EXEC_TESTS_CMD}")
message(STATUS "${LCOV_EXEC_TESTS_CMD_SPACED}")
message(STATUS "Command to capture counters and generate report: ")
string(REPLACE ";" " " LCOV_CAPTURE_CMD_SPACED "${LCOV_CAPTURE_CMD}")
message(STATUS "${LCOV_CAPTURE_CMD_SPACED}")
message(STATUS "Command to add baseline counters: ")
string(REPLACE ";" " " LCOV_BASELINE_COUNT_CMD_SPACED "${LCOV_BASELINE_COUNT_CMD}")
message(STATUS "${LCOV_BASELINE_COUNT_CMD_SPACED}")
message(STATUS "Command to filter collected data: ")
string(REPLACE ";" " " LCOV_FILTER_CMD_SPACED "${LCOV_FILTER_CMD}")
message(STATUS "${LCOV_FILTER_CMD_SPACED}")
message(STATUS "Command to generate lcov HTML output: ")
string(REPLACE ";" " " LCOV_GEN_HTML_CMD_SPACED "${LCOV_GEN_HTML_CMD}")
message(STATUS "${LCOV_GEN_HTML_CMD_SPACED}")
if(${Coverage_SONARQUBE})
message(STATUS "Command to generate SonarQube XML output: ")
string(REPLACE ";" " " GCOVR_XML_CMD_SPACED "${GCOVR_XML_CMD}")
message(STATUS "${GCOVR_XML_CMD_SPACED}")
endif()
endif()
# Setup target
add_custom_target(${Coverage_NAME}
COMMAND ${LCOV_CLEAN_CMD}
COMMAND ${LCOV_BASELINE_CMD}
COMMAND ${LCOV_EXEC_TESTS_CMD}
COMMAND ${LCOV_CAPTURE_CMD}
COMMAND ${LCOV_BASELINE_COUNT_CMD}
COMMAND ${LCOV_FILTER_CMD}
COMMAND ${LCOV_GEN_HTML_CMD}
${GCOVR_XML_CMD_COMMAND}
# Set output files as GENERATED (will be removed on 'make clean')
BYPRODUCTS
${Coverage_NAME}.base
${Coverage_NAME}.capture
${Coverage_NAME}.total
${Coverage_NAME}.info
${GCOVR_XML_CMD_BYPRODUCTS}
${Coverage_NAME}/index.html
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}
VERBATIM # Protect arguments to commands
COMMENT "Resetting code coverage counters to zero.\nProcessing code coverage counters and generating report."
)
# Show where to find the lcov info report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ;
COMMENT "Lcov code coverage info report saved in ${Coverage_NAME}.info."
${GCOVR_XML_CMD_COMMENT}
)
# Show info where to find the report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ;
COMMENT "Open ./${Coverage_NAME}/index.html in your browser to view the coverage report."
)
endfunction() # setup_target_for_coverage_lcov
# Defines a target for running and collection code coverage information
# Builds dependencies, runs the given executable and outputs reports.
# NOTE! The executable should always have a ZERO as exit code otherwise
# the coverage generation will not complete.
#
# setup_target_for_coverage_gcovr_xml(
# NAME ctest_coverage # New target name
# EXECUTABLE ctest -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
# DEPENDENCIES executable_target # Dependencies to build first
# BASE_DIRECTORY "../" # Base directory for report
# # (defaults to PROJECT_SOURCE_DIR)
# EXCLUDE "src/dir1/*" "src/dir2/*" # Patterns to exclude (can be relative
# # to BASE_DIRECTORY, with CMake 3.4+)
# )
# The user can set the variable GCOVR_ADDITIONAL_ARGS to supply additional flags to the
# GCVOR command.
function(setup_target_for_coverage_gcovr_xml)
set(options NONE)
set(oneValueArgs BASE_DIRECTORY NAME)
set(multiValueArgs EXCLUDE EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES)
cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT GCOVR_PATH)
message(FATAL_ERROR "gcovr not found! Aborting...")
endif() # NOT GCOVR_PATH
# Set base directory (as absolute path), or default to PROJECT_SOURCE_DIR
if(DEFINED Coverage_BASE_DIRECTORY)
get_filename_component(BASEDIR ${Coverage_BASE_DIRECTORY} ABSOLUTE)
else()
set(BASEDIR ${PROJECT_SOURCE_DIR})
endif()
# Collect excludes (CMake 3.4+: Also compute absolute paths)
set(GCOVR_EXCLUDES "")
foreach(EXCLUDE ${Coverage_EXCLUDE} ${COVERAGE_EXCLUDES} ${COVERAGE_GCOVR_EXCLUDES})
if(CMAKE_VERSION VERSION_GREATER 3.4)
get_filename_component(EXCLUDE ${EXCLUDE} ABSOLUTE BASE_DIR ${BASEDIR})
endif()
list(APPEND GCOVR_EXCLUDES "${EXCLUDE}")
endforeach()
list(REMOVE_DUPLICATES GCOVR_EXCLUDES)
# Combine excludes to several -e arguments
set(GCOVR_EXCLUDE_ARGS "")
foreach(EXCLUDE ${GCOVR_EXCLUDES})
list(APPEND GCOVR_EXCLUDE_ARGS "-e")
list(APPEND GCOVR_EXCLUDE_ARGS "${EXCLUDE}")
endforeach()
# Set up commands which will be run to generate coverage data
# Run tests
set(GCOVR_XML_EXEC_TESTS_CMD
${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
)
# Running gcovr
set(GCOVR_XML_CMD
${GCOVR_PATH} --xml ${Coverage_NAME}.xml -r ${BASEDIR} ${GCOVR_ADDITIONAL_ARGS}
${GCOVR_EXCLUDE_ARGS} --object-directory=${PROJECT_BINARY_DIR}
)
if(CODE_COVERAGE_VERBOSE)
message(STATUS "Executed command report")
message(STATUS "Command to run tests: ")
string(REPLACE ";" " " GCOVR_XML_EXEC_TESTS_CMD_SPACED "${GCOVR_XML_EXEC_TESTS_CMD}")
message(STATUS "${GCOVR_XML_EXEC_TESTS_CMD_SPACED}")
message(STATUS "Command to generate gcovr XML coverage data: ")
string(REPLACE ";" " " GCOVR_XML_CMD_SPACED "${GCOVR_XML_CMD}")
message(STATUS "${GCOVR_XML_CMD_SPACED}")
endif()
add_custom_target(${Coverage_NAME}
COMMAND ${GCOVR_XML_EXEC_TESTS_CMD}
COMMAND ${GCOVR_XML_CMD}
BYPRODUCTS ${Coverage_NAME}.xml
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}
VERBATIM # Protect arguments to commands
COMMENT "Running gcovr to produce Cobertura code coverage report."
)
# Show info where to find the report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ;
COMMENT "Cobertura code coverage report saved in ${Coverage_NAME}.xml."
)
endfunction() # setup_target_for_coverage_gcovr_xml
# Defines a target for running and collection code coverage information
# Builds dependencies, runs the given executable and outputs reports.
# NOTE! The executable should always have a ZERO as exit code otherwise
# the coverage generation will not complete.
#
# setup_target_for_coverage_gcovr_html(
# NAME ctest_coverage # New target name
# EXECUTABLE ctest -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
# DEPENDENCIES executable_target # Dependencies to build first
# BASE_DIRECTORY "../" # Base directory for report
# # (defaults to PROJECT_SOURCE_DIR)
# EXCLUDE "src/dir1/*" "src/dir2/*" # Patterns to exclude (can be relative
# # to BASE_DIRECTORY, with CMake 3.4+)
# )
# The user can set the variable GCOVR_ADDITIONAL_ARGS to supply additional flags to the
# GCVOR command.
function(setup_target_for_coverage_gcovr_html)
set(options NONE)
set(oneValueArgs BASE_DIRECTORY NAME)
set(multiValueArgs EXCLUDE EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES)
cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT GCOVR_PATH)
message(FATAL_ERROR "gcovr not found! Aborting...")
endif() # NOT GCOVR_PATH
# Set base directory (as absolute path), or default to PROJECT_SOURCE_DIR
if(DEFINED Coverage_BASE_DIRECTORY)
get_filename_component(BASEDIR ${Coverage_BASE_DIRECTORY} ABSOLUTE)
else()
set(BASEDIR ${PROJECT_SOURCE_DIR})
endif()
# Collect excludes (CMake 3.4+: Also compute absolute paths)
set(GCOVR_EXCLUDES "")
foreach(EXCLUDE ${Coverage_EXCLUDE} ${COVERAGE_EXCLUDES} ${COVERAGE_GCOVR_EXCLUDES})
if(CMAKE_VERSION VERSION_GREATER 3.4)
get_filename_component(EXCLUDE ${EXCLUDE} ABSOLUTE BASE_DIR ${BASEDIR})
endif()
list(APPEND GCOVR_EXCLUDES "${EXCLUDE}")
endforeach()
list(REMOVE_DUPLICATES GCOVR_EXCLUDES)
# Combine excludes to several -e arguments
set(GCOVR_EXCLUDE_ARGS "")
foreach(EXCLUDE ${GCOVR_EXCLUDES})
list(APPEND GCOVR_EXCLUDE_ARGS "-e")
list(APPEND GCOVR_EXCLUDE_ARGS "${EXCLUDE}")
endforeach()
# Set up commands which will be run to generate coverage data
# Run tests
set(GCOVR_HTML_EXEC_TESTS_CMD
${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS}
)
# Create folder
set(GCOVR_HTML_FOLDER_CMD
${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/${Coverage_NAME}
)
# Running gcovr
set(GCOVR_HTML_CMD
${GCOVR_PATH} --html ${Coverage_NAME}/index.html --html-details -r ${BASEDIR} ${GCOVR_ADDITIONAL_ARGS}
${GCOVR_EXCLUDE_ARGS} --object-directory=${PROJECT_BINARY_DIR}
)
if(CODE_COVERAGE_VERBOSE)
message(STATUS "Executed command report")
message(STATUS "Command to run tests: ")
string(REPLACE ";" " " GCOVR_HTML_EXEC_TESTS_CMD_SPACED "${GCOVR_HTML_EXEC_TESTS_CMD}")
message(STATUS "${GCOVR_HTML_EXEC_TESTS_CMD_SPACED}")
message(STATUS "Command to create a folder: ")
string(REPLACE ";" " " GCOVR_HTML_FOLDER_CMD_SPACED "${GCOVR_HTML_FOLDER_CMD}")
message(STATUS "${GCOVR_HTML_FOLDER_CMD_SPACED}")
message(STATUS "Command to generate gcovr HTML coverage data: ")
string(REPLACE ";" " " GCOVR_HTML_CMD_SPACED "${GCOVR_HTML_CMD}")
message(STATUS "${GCOVR_HTML_CMD_SPACED}")
endif()
add_custom_target(${Coverage_NAME}
COMMAND ${GCOVR_HTML_EXEC_TESTS_CMD}
COMMAND ${GCOVR_HTML_FOLDER_CMD}
COMMAND ${GCOVR_HTML_CMD}
BYPRODUCTS ${PROJECT_BINARY_DIR}/${Coverage_NAME}/index.html # report directory
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}
VERBATIM # Protect arguments to commands
COMMENT "Running gcovr to produce HTML code coverage report."
)
# Show info where to find the report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ;
COMMENT "Open ./${Coverage_NAME}/index.html in your browser to view the coverage report."
)
endfunction() # setup_target_for_coverage_gcovr_html
# Defines a target for running and collection code coverage information
# Builds dependencies, runs the given executable and outputs reports.
# NOTE! The executable should always have a ZERO as exit code otherwise
# the coverage generation will not complete.
#
# setup_target_for_coverage_fastcov(
# NAME testrunner_coverage # New target name
# EXECUTABLE testrunner -j ${PROCESSOR_COUNT} # Executable in PROJECT_BINARY_DIR
# DEPENDENCIES testrunner # Dependencies to build first
# BASE_DIRECTORY "../" # Base directory for report
# # (defaults to PROJECT_SOURCE_DIR)
# EXCLUDE "src/dir1/" "src/dir2/" # Patterns to exclude.
# NO_DEMANGLE # Don't demangle C++ symbols
# # even if c++filt is found
# SKIP_HTML # Don't create html report
# POST_CMD perl -i -pe s!${PROJECT_SOURCE_DIR}/!!g ctest_coverage.json # E.g. for stripping source dir from file paths
# )
function(setup_target_for_coverage_fastcov)
set(options NO_DEMANGLE SKIP_HTML)
set(oneValueArgs BASE_DIRECTORY NAME)
set(multiValueArgs EXCLUDE EXECUTABLE EXECUTABLE_ARGS DEPENDENCIES FASTCOV_ARGS GENHTML_ARGS POST_CMD)
cmake_parse_arguments(Coverage "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
if(NOT FASTCOV_PATH)
message(FATAL_ERROR "fastcov not found! Aborting...")
endif()
if(NOT Coverage_SKIP_HTML AND NOT GENHTML_PATH)
message(FATAL_ERROR "genhtml not found! Aborting...")
endif()
# Set base directory (as absolute path), or default to PROJECT_SOURCE_DIR
if(Coverage_BASE_DIRECTORY)
get_filename_component(BASEDIR ${Coverage_BASE_DIRECTORY} ABSOLUTE)
else()
set(BASEDIR ${PROJECT_SOURCE_DIR})
endif()
# Collect excludes (Patterns, not paths, for fastcov)
set(FASTCOV_EXCLUDES "")
foreach(EXCLUDE ${Coverage_EXCLUDE} ${COVERAGE_EXCLUDES} ${COVERAGE_FASTCOV_EXCLUDES})
list(APPEND FASTCOV_EXCLUDES "${EXCLUDE}")
endforeach()
list(REMOVE_DUPLICATES FASTCOV_EXCLUDES)
# Conditional arguments
if(CPPFILT_PATH AND NOT ${Coverage_NO_DEMANGLE})
set(GENHTML_EXTRA_ARGS "--demangle-cpp")
endif()
# Set up commands which will be run to generate coverage data
set(FASTCOV_EXEC_TESTS_CMD ${Coverage_EXECUTABLE} ${Coverage_EXECUTABLE_ARGS})
set(FASTCOV_CAPTURE_CMD ${FASTCOV_PATH} ${Coverage_FASTCOV_ARGS} --gcov ${GCOV_PATH}
--search-directory ${BASEDIR}
--process-gcno
--output ${Coverage_NAME}.json
--exclude ${FASTCOV_EXCLUDES}
)
set(FASTCOV_CONVERT_CMD ${FASTCOV_PATH}
-C ${Coverage_NAME}.json --lcov --output ${Coverage_NAME}.info
)
if(Coverage_SKIP_HTML)
set(FASTCOV_HTML_CMD ";")
else()
set(FASTCOV_HTML_CMD ${GENHTML_PATH} ${GENHTML_EXTRA_ARGS} ${Coverage_GENHTML_ARGS}
-o ${Coverage_NAME} ${Coverage_NAME}.info
)
endif()
set(FASTCOV_POST_CMD ";")
if(Coverage_POST_CMD)
set(FASTCOV_POST_CMD ${Coverage_POST_CMD})
endif()
if(CODE_COVERAGE_VERBOSE)
message(STATUS "Code coverage commands for target ${Coverage_NAME} (fastcov):")
message(" Running tests:")
string(REPLACE ";" " " FASTCOV_EXEC_TESTS_CMD_SPACED "${FASTCOV_EXEC_TESTS_CMD}")
message(" ${FASTCOV_EXEC_TESTS_CMD_SPACED}")
message(" Capturing fastcov counters and generating report:")
string(REPLACE ";" " " FASTCOV_CAPTURE_CMD_SPACED "${FASTCOV_CAPTURE_CMD}")
message(" ${FASTCOV_CAPTURE_CMD_SPACED}")
message(" Converting fastcov .json to lcov .info:")
string(REPLACE ";" " " FASTCOV_CONVERT_CMD_SPACED "${FASTCOV_CONVERT_CMD}")
message(" ${FASTCOV_CONVERT_CMD_SPACED}")
if(NOT Coverage_SKIP_HTML)
message(" Generating HTML report: ")
string(REPLACE ";" " " FASTCOV_HTML_CMD_SPACED "${FASTCOV_HTML_CMD}")
message(" ${FASTCOV_HTML_CMD_SPACED}")
endif()
if(Coverage_POST_CMD)
message(" Running post command: ")
string(REPLACE ";" " " FASTCOV_POST_CMD_SPACED "${FASTCOV_POST_CMD}")
message(" ${FASTCOV_POST_CMD_SPACED}")
endif()
endif()
# Setup target
add_custom_target(${Coverage_NAME}
# Cleanup fastcov
COMMAND ${FASTCOV_PATH} ${Coverage_FASTCOV_ARGS} --gcov ${GCOV_PATH}
--search-directory ${BASEDIR}
--zerocounters
COMMAND ${FASTCOV_EXEC_TESTS_CMD}
COMMAND ${FASTCOV_CAPTURE_CMD}
COMMAND ${FASTCOV_CONVERT_CMD}
COMMAND ${FASTCOV_HTML_CMD}
COMMAND ${FASTCOV_POST_CMD}
# Set output files as GENERATED (will be removed on 'make clean')
BYPRODUCTS
${Coverage_NAME}.info
${Coverage_NAME}.json
${Coverage_NAME}/index.html # report directory
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
DEPENDS ${Coverage_DEPENDENCIES}
VERBATIM # Protect arguments to commands
COMMENT "Resetting code coverage counters to zero. Processing code coverage counters and generating report."
)
set(INFO_MSG "fastcov code coverage info report saved in ${Coverage_NAME}.info and ${Coverage_NAME}.json.")
if(NOT Coverage_SKIP_HTML)
string(APPEND INFO_MSG " Open ${PROJECT_BINARY_DIR}/${Coverage_NAME}/index.html in your browser to view the coverage report.")
endif()
# Show where to find the fastcov info report
add_custom_command(TARGET ${Coverage_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo ${INFO_MSG}
)
endfunction() # setup_target_for_coverage_fastcov
function(append_coverage_compiler_flags)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COVERAGE_COMPILER_FLAGS}" PARENT_SCOPE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_COMPILER_FLAGS}" PARENT_SCOPE)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${COVERAGE_COMPILER_FLAGS}" PARENT_SCOPE)
message(STATUS "Appending code coverage compiler flags: ${COVERAGE_COMPILER_FLAGS}")
endfunction() # append_coverage_compiler_flags
# Setup coverage for specific library
function(append_coverage_compiler_flags_to_target name)
separate_arguments(_flag_list NATIVE_COMMAND "${COVERAGE_COMPILER_FLAGS}")
target_compile_options(${name} PRIVATE ${_flag_list})
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
target_link_libraries(${name} PRIVATE gcov)
endif()
endfunction()

View File

@@ -1,22 +0,0 @@
if(ENABLE_CLANG_TIDY)
find_program(CLANG_TIDY_COMMAND NAMES clang-tidy)
if(NOT CLANG_TIDY_COMMAND)
message(WARNING "🔴 CMake_RUN_CLANG_TIDY is ON but clang-tidy is not found!")
set(CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE)
else()
message(STATUS "🟢 CMake_RUN_CLANG_TIDY is ON")
set(CLANGTIDY_EXTRA_ARGS
"-extra-arg=-Wno-unknown-warning-option"
)
set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND};-p=${CMAKE_BINARY_DIR};${CLANGTIDY_EXTRA_ARGS}" CACHE STRING "" FORCE)
add_custom_target(clang-tidy
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target ${CMAKE_PROJECT_NAME}
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target clang-tidy
COMMENT "Running clang-tidy..."
)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
endif()
endif(ENABLE_CLANG_TIDY)

120
conanfile.py Normal file
View File

@@ -0,0 +1,120 @@
import re
from conan import ConanFile
from conan.tools.files import copy
from conan.tools.cmake import CMakeToolchain, CMakeDeps
class FoldingConan(ConanFile):
name = "folding"
version = "X.X.X"
description = "K-Fold and stratified K-Fold header-only library"
url = "https://github.com/rmontanana/folding"
license = "MIT"
homepage = "https://github.com/rmontanana/folding"
topics = ("kfold", "stratified folding", "mdlp")
no_copy_source = True
exports_sources = (
"folding.hpp",
"LICENSE",
"README.md",
"CMakeLists.txt",
"config/*",
"cmake/*",
)
package_type = "header-library"
settings = "build_type", "compiler", "arch", "os"
def init(self):
# Read the CMakeLists.txt file to get the version
with open("CMakeLists.txt", "r") as f:
lines = f.readlines()
for line in lines:
if "VERSION" in line:
# Extract the version number using regex
match = re.search(r"VERSION\s+(\d+\.\d+\.\d+)", line)
if match:
self.version = match.group(1)
def requirements(self):
self.requires("libtorch/2.7.1")
def build_requirements(self):
self.tool_requires("cmake/[>=3.15]")
# Test dependencies
self.test_requires("catch2/3.8.1")
self.test_requires("arff-files/1.2.1")
self.test_requires("fimdlp/2.1.1")
def layout(self):
# Only use cmake_layout for conan packaging, not for development builds
# This can be detected by checking if we're in a conan cache folder
if (
hasattr(self, "folders")
and hasattr(self.folders, "base_build")
and self.folders.base_build
and ".conan2" in self.folders.base_build
):
from conan.tools.cmake import cmake_layout
cmake_layout(self)
def generate(self):
# Generate CMake toolchain file
tc = CMakeToolchain(self)
tc.generate()
# Generate CMake dependencies file (needed for test requirements like catch2)
deps = CMakeDeps(self)
deps.generate()
def build(self):
# Use CMake to generate the config file through existing config system
from conan.tools.cmake import CMake
cmake = CMake(self)
# Configure with minimal options - just enough to generate the config file
cmake.configure(
build_script_folder=None,
cli_args=["-DENABLE_TESTING=OFF"],
)
# No need to build anything, just configure to generate the config file
def package(self):
# Copy header file
copy(
self,
"folding.hpp",
src=self.source_folder,
dst=self.package_folder,
keep_path=False,
)
# Copy the generated config file from CMake build folder
copy(
self,
"folding_config.h",
src=f"{self.build_folder}/configured_files/include",
dst=self.package_folder,
keep_path=False,
)
# Copy license and readme for package documentation
copy(
self,
"LICENSE",
src=self.source_folder,
dst=self.package_folder,
keep_path=False,
)
copy(
self,
"README.md",
src=self.source_folder,
dst=self.package_folder,
keep_path=False,
)
def package_info(self):
# Header-only library configuration
self.cpp_info.bindirs = []
self.cpp_info.libdirs = []
# Set include directory (header will be in package root)
self.cpp_info.includedirs = ["."]

View File

@@ -1,14 +1,12 @@
#pragma once
#include <string>
#include <string_view>
#define FOLDING_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
#define FOLDING_VERSION_MINOR @PROJECT_VERSION_MINOR@
#define FOLDING_VERSION_PATCH @PROJECT_VERSION_PATCH@
#define PROJECT_VERSION_MAJOR @PROJECT_VERSION_MAJOR @
#define PROJECT_VERSION_MINOR @PROJECT_VERSION_MINOR @
#define PROJECT_VERSION_PATCH @PROJECT_VERSION_PATCH @
#define FOLDING_VERSION "@PROJECT_VERSION@"
static constexpr std::string_view folding_project_name = "@PROJECT_NAME@";
static constexpr std::string_view folding_project_version = "@PROJECT_VERSION@";
static constexpr std::string_view folding_project_description = "@PROJECT_DESCRIPTION@";
static constexpr std::string_view folding_data_path = "@Folding_SOURCE_DIR@/tests/data/";
static constexpr std::string_view folding_csv_path = "@Folding_SOURCE_DIR@/tests/csv/";

View File

@@ -1,17 +1,18 @@
// ***************************************************************
// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
// SPDX-FileType: SOURCE
// SPDX-License-Identifier: MIT
// ***************************************************************
#pragma once
#include <torch/torch.h>
#include <algorithm>
#include <map>
#include <random>
#include <vector>
#include <folding_config.h>
namespace folding {
const std::string FOLDING_VERSION = "1.0.1";
class Fold {
protected:
int k;
int n;
int seed;
std::mt19937 random_seed;
public:
inline Fold(int k, int n, int seed = -1) : k(k), n(n), seed(seed)
{
@@ -23,10 +24,13 @@ namespace folding {
virtual ~Fold() = default;
std::string version() { return FOLDING_VERSION; }
int getNumberOfFolds() { return k; }
protected:
int k;
int n;
int seed;
std::mt19937 random_seed;
};
class KFold : public Fold {
private:
std::vector<int> indices;
public:
inline KFold(int k, int n, int seed = -1) : Fold(k, n, seed), indices(std::vector<int>(n))
{
@@ -50,68 +54,23 @@ namespace folding {
}
return { train, test };
}
private:
std::vector<int> indices;
};
class StratifiedKFold : public Fold {
private:
std::vector<int> y;
std::vector<std::vector<int>> stratified_indices;
void build()
{
stratified_indices = std::vector<std::vector<int>>(k);
int fold_size = n / k;
// Compute class counts and indices
auto class_indices = std::map<int, std::vector<int>>();
std::vector<int> class_counts(*max_element(y.begin(), y.end()) + 1, 0);
for (auto i = 0; i < n; ++i) {
class_counts[y[i]]++;
class_indices[y[i]].push_back(i);
}
// Shuffle class indices
for (auto& [cls, indices] : class_indices) {
shuffle(indices.begin(), indices.end(), random_seed);
}
// Assign indices to folds
for (auto label = 0; label < class_counts.size(); ++label) {
auto num_samples_to_take = class_counts.at(label) / k;
if (num_samples_to_take == 0) {
std::cerr << "Warning! The number of samples in class " << label << " (" << class_counts.at(label)
<< ") is less than the number of folds (" << k << ")." << std::endl;
faulty = true;
continue;
}
auto remainder_samples_to_take = class_counts[label] % k;
for (auto fold = 0; fold < k; ++fold) {
auto it = next(class_indices[label].begin(), num_samples_to_take);
move(class_indices[label].begin(), it, back_inserter(stratified_indices[fold])); // ##
class_indices[label].erase(class_indices[label].begin(), it);
}
auto chosen = std::vector<bool>(k, false);
while (remainder_samples_to_take > 0) {
int fold = (rand() % static_cast<int>(k));
if (chosen.at(fold)) {
continue;
}
chosen[fold] = true;
auto it = next(class_indices[label].begin(), 1);
stratified_indices[fold].push_back(*class_indices[label].begin());
class_indices[label].erase(class_indices[label].begin(), it);
remainder_samples_to_take--;
}
}
}
bool faulty = false; // Only true if the number of samples of any class is less than the number of folds.
public:
inline StratifiedKFold(int k, const std::vector<int>& y, int seed = -1) : Fold(k, y.size(), seed)
inline StratifiedKFold(int k, const std::vector<int>& y, int seed = -1, bool quiet = true) : Fold(k, y.size(), seed)
{
this->y = y;
n = y.size();
this->quiet = quiet;
build();
}
inline StratifiedKFold(int k, torch::Tensor& y, int seed = -1) : Fold(k, y.numel(), seed)
inline StratifiedKFold(int k, torch::Tensor& y, int seed = -1, bool quiet = true) : Fold(k, y.numel(), seed)
{
n = y.numel();
this->y = std::vector<int>(y.data_ptr<int>(), y.data_ptr<int>() + n);
this->quiet = quiet;
build();
}
@@ -129,5 +88,49 @@ namespace folding {
return { train_indices, test_indices };
}
inline bool isFaulty() { return faulty; }
private:
std::vector<int> y;
std::vector<std::vector<int>> stratified_indices;
bool faulty = false; // Only true if the number of samples of any class is less than the number of folds.
bool quiet = true; // Enable or disable warning messages
void build()
{
stratified_indices = std::vector<std::vector<int>>(k);
// Compute class counts and indices
auto class_indices = std::map<int, std::vector<int>>();
for (auto i = 0; i < n; ++i) {
class_indices[y[i]].push_back(i);
}
// Assign indices to folds
for (auto& [label, indices] : class_indices) {
shuffle(indices.begin(), indices.end(), random_seed);
int num_samples = indices.size();
int num_samples_to_take = num_samples / k;
int remainder_samples_to_take = num_samples % k;
if (num_samples_to_take == 0) {
if (!quiet)
std::cerr << "Warning! The number of samples in class " << label << " (" << num_samples
<< ") is less than the number of folds (" << k << ")." << std::endl;
faulty = true;
}
int start = 0;
if (num_samples_to_take > 0) {
for (auto fold = 0; fold < k; ++fold) {
auto it = next(class_indices[label].begin() + start, num_samples_to_take);
move(indices.begin() + start, it, back_inserter(stratified_indices[fold]));
start += num_samples_to_take;
}
}
if (remainder_samples_to_take > 0) {
auto chosen = std::vector<int>(k);
std::iota(chosen.begin(), chosen.end(), 0);
std::shuffle(chosen.begin(), chosen.end(), random_seed);
chosen.resize(remainder_samples_to_take);
for (auto fold : chosen) {
stratified_indices[fold].push_back(indices.at(start++));
}
}
}
}
};
}

View File

@@ -1,4 +0,0 @@
filter = src/
exclude-directories = build_debug/lib/
print-summary = yes
sort-percentage = yes

View File

@@ -1,168 +0,0 @@
#include "ArffFiles.h"
#include <fstream>
#include <sstream>
#include <map>
#include <iostream>
ArffFiles::ArffFiles() = default;
std::vector<std::string> ArffFiles::getLines() const
{
return lines;
}
unsigned long int ArffFiles::getSize() const
{
return lines.size();
}
std::vector<std::pair<std::string, std::string>> ArffFiles::getAttributes() const
{
return attributes;
}
std::string ArffFiles::getClassName() const
{
return className;
}
std::string ArffFiles::getClassType() const
{
return classType;
}
std::vector<std::vector<float>>& ArffFiles::getX()
{
return X;
}
std::vector<int>& ArffFiles::getY()
{
return y;
}
void ArffFiles::loadCommon(std::string fileName)
{
std::ifstream file(fileName);
if (!file.is_open()) {
throw std::invalid_argument("Unable to open file");
}
std::string line;
std::string keyword;
std::string attribute;
std::string type;
std::string type_w;
while (getline(file, line)) {
if (line.empty() || line[0] == '%' || line == "\r" || line == " ") {
continue;
}
if (line.find("@attribute") != std::string::npos || line.find("@ATTRIBUTE") != std::string::npos) {
std::stringstream ss(line);
ss >> keyword >> attribute;
type = "";
while (ss >> type_w)
type += type_w + " ";
attributes.emplace_back(trim(attribute), trim(type));
continue;
}
if (line[0] == '@') {
continue;
}
lines.push_back(line);
}
file.close();
if (attributes.empty())
throw std::invalid_argument("No attributes found");
}
void ArffFiles::load(const std::string& fileName, bool classLast)
{
int labelIndex;
loadCommon(fileName);
if (classLast) {
className = std::get<0>(attributes.back());
classType = std::get<1>(attributes.back());
attributes.pop_back();
labelIndex = static_cast<int>(attributes.size());
} else {
className = std::get<0>(attributes.front());
classType = std::get<1>(attributes.front());
attributes.erase(attributes.begin());
labelIndex = 0;
}
generateDataset(labelIndex);
}
void ArffFiles::load(const std::string& fileName, const std::string& name)
{
int labelIndex;
loadCommon(fileName);
bool found = false;
for (int i = 0; i < attributes.size(); ++i) {
if (attributes[i].first == name) {
className = std::get<0>(attributes[i]);
classType = std::get<1>(attributes[i]);
attributes.erase(attributes.begin() + i);
labelIndex = i;
found = true;
break;
}
}
if (!found) {
throw std::invalid_argument("Class name not found");
}
generateDataset(labelIndex);
}
void ArffFiles::generateDataset(int labelIndex)
{
X = std::vector<std::vector<float>>(attributes.size(), std::vector<float>(lines.size()));
auto yy = std::vector<std::string>(lines.size(), "");
auto removeLines = std::vector<int>(); // Lines with missing values
for (size_t i = 0; i < lines.size(); i++) {
std::stringstream ss(lines[i]);
std::string value;
int pos = 0;
int xIndex = 0;
while (getline(ss, value, ',')) {
if (pos++ == labelIndex) {
yy[i] = value;
} else {
if (value == "?") {
X[xIndex++][i] = -1;
removeLines.push_back(i);
} else
X[xIndex++][i] = stof(value);
}
}
}
for (auto i : removeLines) {
yy.erase(yy.begin() + i);
for (auto& x : X) {
x.erase(x.begin() + i);
}
}
y = factorize(yy);
}
std::string ArffFiles::trim(const std::string& source)
{
std::string s(source);
s.erase(0, s.find_first_not_of(" '\n\r\t"));
s.erase(s.find_last_not_of(" '\n\r\t") + 1);
return s;
}
std::vector<int> ArffFiles::factorize(const std::vector<std::string>& labels_t)
{
std::vector<int> yy;
yy.reserve(labels_t.size());
std::map<std::string, int> labelMap;
int i = 0;
for (const std::string& label : labels_t) {
if (labelMap.find(label) == labelMap.end()) {
labelMap[label] = i++;
}
yy.push_back(labelMap[label]);
}
return yy;
}

View File

@@ -1,32 +0,0 @@
#ifndef ARFFFILES_H
#define ARFFFILES_H
#include <string>
#include <vector>
class ArffFiles {
private:
std::vector<std::string> lines;
std::vector<std::pair<std::string, std::string>> attributes;
std::string className;
std::string classType;
std::vector<std::vector<float>> X;
std::vector<int> y;
void generateDataset(int);
void loadCommon(std::string);
public:
ArffFiles();
void load(const std::string&, bool = true);
void load(const std::string&, const std::string&);
std::vector<std::string> getLines() const;
unsigned long int getSize() const;
std::string getClassName() const;
std::string getClassType() const;
static std::string trim(const std::string&);
std::vector<std::vector<float>>& getX();
std::vector<int>& getY();
std::vector<std::pair<std::string, std::string>> getAttributes() const;
static std::vector<int> factorize(const std::vector<std::string>& labels_t);
};
#endif

View File

@@ -1 +0,0 @@
add_library(ArffFiles ArffFiles.cc)

Submodule lib/catch2 deleted from 863c662c0e

Submodule lib/mdlp deleted from 5708dc3de9

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 KiB

View File

@@ -1,12 +1,17 @@
if(ENABLE_TESTING)
include_directories(
${Folding_SOURCE_DIR}
${Folding_SOURCE_DIR}/lib/Files
${Folding_SOURCE_DIR}/lib/mdlp
set(TEST_FOLDING "unit_tests_folding")
add_executable(${TEST_FOLDING} TestFolding.cc TestUtils.cc)
target_include_directories(${TEST_FOLDING} PRIVATE
${CMAKE_BINARY_DIR}/configured_files/include
)
set(TEST_FOLDING "unit_tests_folding")
add_executable(${TEST_FOLDING} TestFolding.cc TestUtils.cc)
target_link_libraries(${TEST_FOLDING} PUBLIC "${TORCH_LIBRARIES}" ArffFiles mdlp Catch2::Catch2WithMain)
add_test(NAME ${TEST_FOLDING} COMMAND ${TEST_FOLDING})
endif(ENABLE_TESTING)
${Folding_SOURCE_DIR}
${catch2_INCLUDE_DIRS_RELEASE}
${libtorch_INCLUDE_DIRS_RELEASE}
${arff-files_INCLUDE_DIRS_RELEASE}
${fimdlp_INCLUDE_DIRS_RELEASE}
)
target_link_libraries(${TEST_FOLDING} PUBLIC
${Torch_LIBRARIES}
arff-files::arff-files
fimdlp::fimdlp
Catch2::Catch2WithMain
)
add_test(NAME ${TEST_FOLDING} COMMAND ${TEST_FOLDING})

View File

@@ -1,12 +1,19 @@
// ***************************************************************
// SPDX-FileCopyrightText: Copyright 2024 Ricardo Montañana Gómez
// SPDX-FileType: SOURCE
// SPDX-License-Identifier: MIT
// ***************************************************************
#include <catch2/catch_test_macros.hpp>
#include <catch2/catch_approx.hpp>
#include <catch2/generators/catch_generators.hpp>
#include "TestUtils.h"
#include "folding.hpp"
#include <folding_config.h>
TEST_CASE("Version Test", "[Folding]")
{
std::string actual_version = { folding_project_version.begin(), folding_project_version.end() };
std::string actual_version = FOLDING_VERSION;
auto data = std::vector<int>(100);
folding::StratifiedKFold stratified_kfold(5, data, 17);
REQUIRE(stratified_kfold.version() == actual_version);
@@ -16,10 +23,12 @@ TEST_CASE("Version Test", "[Folding]")
TEST_CASE("KFold Test", "[Folding]")
{
// Initialize a KFold object with k=5 and a seed of 19.
std::string file_name = GENERATE("iris", "diabetes", "glass");
// Initialize a KFold object with k=3,5,7,10 and a seed of 19.
std::string file_name = GENERATE("iris", "diabetes", "glass", "mfeat-fourier");
auto raw = RawDatasets(file_name, true);
int nFolds = 5;
INFO("File Name: " << file_name);
int nFolds = GENERATE(3, 5, 7, 10);
INFO("Number of Folds: " << nFolds);
folding::KFold kfold(nFolds, raw.nSamples, 19);
int number = raw.nSamples * (kfold.getNumberOfFolds() - 1) / kfold.getNumberOfFolds();
@@ -27,38 +36,52 @@ TEST_CASE("KFold Test", "[Folding]")
{
REQUIRE(kfold.getNumberOfFolds() == nFolds);
}
SECTION("Fold Test")
SECTION("Fold Test counts")
{
// Test each fold's size and contents.
for (int i = 0; i < nFolds; ++i) {
auto [train_indices, test_indices] = kfold.getFold(i);
for (int fold = 0; fold < nFolds; ++fold) {
auto [train_indices, test_indices] = kfold.getFold(fold);
// Store the indices
auto fname = "kfold_" + file_name + "_" + std::to_string(i) + ".csv";
auto fname = "kfold_" + file_name + "_" + std::to_string(nFolds) + "_" + std::to_string(fold) + ".csv";
auto indices = train_indices;
indices.insert(indices.end(), test_indices.begin(), test_indices.end());
// CSVFiles::write_csv(fname, indices);
auto expected_indices = CSVFiles::read_csv(fname);
// CHECK(indices == expected_indices);
CHECK(indices == expected_indices);
bool result = train_indices.size() == number || train_indices.size() == number + 1;
REQUIRE(result);
REQUIRE(train_indices.size() + test_indices.size() == raw.nSamples);
}
}
}
map<int, int> counts(std::vector<int> y, std::vector<int> indices)
{
map<int, int> result;
for (auto i = 0; i < indices.size(); ++i) {
result[y[indices[i]]]++;
SECTION("Duplicates & overlappings")
{
// Check that there are not duplicate samples in the training and test sets.
for (int fold = 0; fold < nFolds; ++fold) {
auto [train, test] = kfold.getFold(fold);
auto train_ = train;
auto test_ = test;
sort(train.begin(), train.end());
train.erase(unique(train.begin(), train.end()), train.end());
sort(test.begin(), test.end());
test.erase(unique(test.begin(), test.end()), test.end());
REQUIRE(train.size() == train_.size());
REQUIRE(test.size() == test_.size());
for (int i = 0; i < train.size(); i++) {
for (int j = 0; j < test.size(); j++) {
REQUIRE(train[i] != test[j]);
}
}
}
}
return result;
}
TEST_CASE("StratifiedKFold Test", "[Folding]")
{
// Initialize a StratifiedKFold object with k=3, using the y std::vector, and a seed of 17.
std::string file_name = GENERATE("iris", "diabetes", "glass");
int nFolds = GENERATE(3, 5, 10);
std::string file_name = GENERATE("iris", "diabetes", "glass", "mfeat-fourier");
INFO("File Name: " << file_name);
int nFolds = GENERATE(3, 5, 7, 10);
INFO("Number of Folds: " << nFolds);
auto raw = RawDatasets(file_name, true);
folding::StratifiedKFold stratified_kfoldt(nFolds, raw.yt, 17);
folding::StratifiedKFold stratified_kfoldv(nFolds, raw.yv, 17);
@@ -68,15 +91,9 @@ TEST_CASE("StratifiedKFold Test", "[Folding]")
{
REQUIRE(stratified_kfoldt.getNumberOfFolds() == nFolds);
}
SECTION("Stratified Fold Test")
SECTION("Stratified Fold samples counting")
{
// Test each fold's size and contents.
auto counts = map<int, std::vector<int>>();
// Initialize the counts per Fold
for (int i = 0; i < nFolds; ++i) {
counts[i] = std::vector<int>(raw.classNumStates, 0);
}
// Check fold and compute counts of each fold
for (int fold = 0; fold < nFolds; ++fold) {
auto [train_indicest, test_indicest] = stratified_kfoldt.getFold(fold);
auto [train_indicesv, test_indicesv] = stratified_kfoldv.getFold(fold);
@@ -99,20 +116,109 @@ TEST_CASE("StratifiedKFold Test", "[Folding]")
} else {
REQUIRE(train_indicest.size() + test_indicest.size() <= raw.nSamples);
}
}
}
SECTION("Stratified Fold label counting")
{
auto counts = std::vector<int>(raw.classNumStates, 0);
for (auto i = 0; i < raw.nSamples; ++i) {
counts[raw.yt[i].item<int>()]++;
}
auto counts_train = map<int, std::vector<int>>();
auto counts_test = map<int, std::vector<int>>();
// Initialize the counts per Fold
for (int i = 0; i < nFolds; ++i) {
counts_train[i] = std::vector<int>(raw.classNumStates, 0);
counts_test[i] = std::vector<int>(raw.classNumStates, 0);
}
// Check fold and compute counts of each fold
for (int fold = 0; fold < nFolds; ++fold) {
auto [train_indicest, test_indicest] = stratified_kfoldt.getFold(fold);
auto [train_indicesv, test_indicesv] = stratified_kfoldv.getFold(fold);
auto train_t = torch::tensor(train_indicest);
auto ytrain = raw.yt.index({ train_t });
// Check that the class labels have been equally assign to each fold
for (const auto& idx : train_indicest) {
counts[fold][raw.yt[idx].item<int>()]++;
counts_train[fold][raw.yt[idx].item<int>()]++;
}
for (const auto& idx : test_indicest) {
counts_test[fold][raw.yt[idx].item<int>()]++;
}
}
// Test the fold counting of every class
for (int fold = 0; fold < nFolds; ++fold) {
for (int j = 1; j < nFolds - 1; ++j) {
// Check that the different folds have the same number of samples of each class in train
for (int fold = 0; fold < nFolds - 1; ++fold) {
for (int j = fold + 1; j < nFolds; ++j) {
for (int k = 0; k < raw.classNumStates; ++k) {
REQUIRE(abs(counts.at(fold).at(k) - counts.at(j).at(k)) <= 1);
REQUIRE(std::abs(counts_train.at(fold).at(k) - counts_train.at(j).at(k)) <= 1);
}
}
}
// Check that the different folds have the same number of samples of each class in tests
for (int fold = 0; fold < nFolds - 1; ++fold) {
for (int j = fold + 1; j < nFolds; ++j) {
for (int k = 0; k < raw.classNumStates; ++k) {
REQUIRE(std::abs(counts_test.at(fold).at(k) - counts_test.at(j).at(k)) <= 1);
}
}
}
// Check that the sum of the counts of each class in the training and test sets is equal to the total count of that class.
for (int fold = 0; fold < nFolds; ++fold) {
for (int k = 0; k < raw.classNumStates; ++k) {
REQUIRE(counts.at(k) == (counts_train.at(fold).at(k) + counts_test.at(fold).at(k)));
}
}
}
SECTION("Duplicates & overlappings")
{
// Check that there are not duplicate samples in the training and test sets.
for (int fold = 0; fold < nFolds; ++fold) {
auto [train, test] = stratified_kfoldt.getFold(fold);
auto train_ = train;
auto test_ = test;
sort(train.begin(), train.end());
train.erase(unique(train.begin(), train.end()), train.end());
sort(test.begin(), test.end());
test.erase(unique(test.begin(), test.end()), test.end());
REQUIRE(train.size() == train_.size());
REQUIRE(test.size() == test_.size());
for (int i = 0; i < train.size(); i++) {
for (int j = 0; j < test.size(); j++) {
REQUIRE(train[i] != test[j]);
}
}
}
}
}
TEST_CASE("Stratified KFold quiet parameter", "[Folding]")
{
auto raw = RawDatasets("glass", true);
std::string expected = "Warning! The number of samples in class 2 (9) is less than the number of folds (10).\n";
SECTION("With vectors")
{
// Redirect cerr to a stringstream
std::streambuf* originalCerrBuffer = std::cerr.rdbuf();
std::stringstream capturedOutput;
std::cerr.rdbuf(capturedOutput.rdbuf());
// StratifiedKFold with quiet parameter set to false
folding::StratifiedKFold stratified_kfold(10, raw.yv, 17, false);
// Restore the original cerr buffer
std::cerr.rdbuf(originalCerrBuffer);
// Check the captured output
REQUIRE(capturedOutput.str() == expected);
REQUIRE(stratified_kfold.isFaulty());
}
SECTION("With tensors")
{
// Redirect cerr to a stringstream
std::streambuf* originalCerrBuffer = std::cerr.rdbuf();
std::stringstream capturedOutput;
std::cerr.rdbuf(capturedOutput.rdbuf());
// StratifiedKFold with quiet parameter set to false
folding::StratifiedKFold stratified_kfold(10, raw.yt, 17, false);
// Restore the original cerr buffer
std::cerr.rdbuf(originalCerrBuffer);
// Check the captured output
REQUIRE(capturedOutput.str() == expected);
REQUIRE(stratified_kfold.isFaulty());
}
}

View File

@@ -6,8 +6,8 @@
#include <vector>
#include <map>
#include <tuple>
#include "ArffFiles.h"
#include "CPPFImdlp.h"
#include "ArffFiles.hpp"
#include "fimdlp/CPPFImdlp.h"
#include "folding_config.h"
bool file_exists(const std::string& name);
@@ -45,11 +45,12 @@ class Paths {
public:
static std::string datasets()
{
return { folding_data_path.begin(), folding_data_path.end() };
std::string result = { folding_data_path.begin(), folding_data_path.end() };
return result + "/";
}
static std::string csv()
{
return { folding_csv_path.begin(), folding_csv_path.end() };
return datasets() + "../csv/";
}
};
class CSVFiles {

View File

@@ -0,0 +1,768 @@
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
1 203
2 724
3 671
4 48
5 599
6 108
7 748
8 664
9 363
10 335
11 344
12 752
13 544
14 463
15 393
16 0
17 323
18 454
19 764
20 76
21 409
22 395
23 447
24 293
25 209
26 155
27 658
28 191
29 721
30 25
31 407
32 149
33 322
34 60
35 384
36 156
37 59
38 654
39 624
40 112
41 95
42 646
43 91
44 602
45 423
46 711
47 235
48 581
49 14
50 61
51 501
52 616
53 356
54 645
55 127
56 542
57 379
58 18
59 10
60 508
61 408
62 7
63 573
64 137
65 233
66 561
67 458
68 179
69 391
70 119
71 734
72 584
73 489
74 435
75 432
76 221
77 389
78 491
79 693
80 496
81 668
82 499
83 520
84 68
85 148
86 399
87 32
88 451
89 321
90 190
91 381
92 514
93 411
94 692
95 579
96 274
97 552
98 305
99 524
100 518
101 41
102 684
103 610
104 551
105 495
106 580
107 647
108 672
109 56
110 195
111 162
112 295
113 726
114 511
115 275
116 303
117 208
118 642
119 699
120 560
121 231
122 564
123 633
124 212
125 57
126 261
127 683
128 216
129 9
130 754
131 35
132 240
133 649
134 419
135 20
136 224
137 545
138 433
139 279
140 370
141 763
142 430
143 326
144 461
145 120
146 453
147 590
148 257
149 373
150 387
151 158
152 653
153 471
154 318
155 324
156 635
157 397
158 634
159 314
160 620
161 669
162 612
163 220
164 177
165 134
166 717
167 39
168 12
169 347
170 712
171 747
172 402
173 101
174 66
175 78
176 130
177 361
178 150
179 169
180 36
181 327
182 54
183 351
184 591
185 539
186 689
187 24
188 519
189 11
190 383
191 606
192 766
193 736
194 603
195 80
196 362
197 477
198 273
199 571
200 83
201 436
202 439
203 681
204 412
205 434
206 172
207 157
208 196
209 713
210 74
211 651
212 135
213 459
214 422
215 706
216 403
217 355
218 122
219 589
220 341
221 296
222 312
223 585
224 382
225 662
226 69
227 405
228 332
229 675
230 628
231 167
232 264
233 189
234 735
235 517
236 556
237 197
238 657
239 100
240 297
241 284
242 330
243 206
244 739
245 490
246 756
247 325
248 219
249 457
250 262
251 180
252 143
253 392
254 400
255 592
256 661
257 283
258 280
259 593
260 306
261 704
262 546
263 660
264 147
265 608
266 93
267 33
268 702
269 576
270 23
271 90
272 639
273 386
274 568
275 338
276 749
277 19
278 141
279 251
280 666
281 265
282 37
283 290
284 170
285 507
286 605
287 474
288 600
289 82
290 759
291 523
292 426
293 110
294 62
295 349
296 63
297 38
298 215
299 198
300 673
301 129
302 342
303 256
304 582
305 456
306 427
307 343
308 428
309 547
310 648
311 276
312 17
313 238
314 415
315 328
316 478
317 263
318 641
319 670
320 268
321 358
322 467
323 34
324 679
325 755
326 269
327 468
328 420
329 40
330 258
331 487
332 698
333 476
334 466
335 416
336 340
337 494
338 98
339 480
340 118
341 553
342 406
343 543
344 320
345 294
346 663
347 282
348 765
349 152
350 204
351 285
352 640
353 55
354 563
355 727
356 232
357 146
358 333
359 42
360 2
361 8
362 89
363 758
364 255
365 445
366 346
367 627
368 5
369 6
370 730
371 334
372 237
373 245
374 465
375 497
376 557
377 210
378 733
379 4
380 138
381 319
382 378
383 549
384 369
385 139
386 577
387 185
388 493
389 530
390 374
391 181
392 165
393 611
394 376
395 516
396 207
397 638
398 364
399 317
400 625
401 710
402 509
403 29
404 541
405 184
406 230
407 299
408 444
409 259
410 77
411 652
412 217
413 526
414 388
415 289
416 136
417 186
418 81
419 301
420 554
421 535
422 595
423 241
424 558
425 482
426 316
427 687
428 105
429 562
430 67
431 339
432 166
433 182
434 310
435 745
436 705
437 751
438 464
439 287
440 16
441 680
442 244
443 168
444 51
445 154
446 229
447 128
448 529
449 298
450 286
451 71
452 470
453 512
454 609
455 505
456 84
457 331
458 421
459 58
460 659
461 538
462 278
463 414
464 277
465 292
466 366
467 390
468 194
469 133
470 116
471 506
472 350
473 199
474 643
475 188
476 757
477 281
478 527
479 174
480 109
481 656
482 729
483 601
484 500
485 267
486 86
487 65
488 676
489 522
490 377
491 762
492 743
493 113
494 302
495 70
496 728
497 371
498 214
499 583
500 291
501 192
502 630
503 401
504 161
505 629
506 187
507 685
508 528
509 703
510 193
511 357
512 515
513 617
514 504
515 111
516 94
517 404
518 586
519 253
520 440
521 473
522 30
523 753
524 300
525 688
526 567
527 479
528 107
529 492
530 21
531 126
532 716
533 452
534 555
535 626
536 682
537 565
538 484
539 337
540 532
541 254
542 425
543 396
544 446
545 619
546 102
547 462
548 460
549 131
550 250
551 97
552 448
553 50
554 248
555 266
556 236
557 709
558 732
559 488
560 223
561 708
562 367
563 690
564 744
565 178
566 537
567 115
568 741
569 604
570 125
571 117
572 159
573 613
574 481
575 243
576 247
577 288
578 360
579 569
580 578
581 175
582 201
583 121
584 368
585 45
586 534
587 329
588 607
589 450
590 677
591 596
592 227
593 307
594 160
595 260
596 380
597 575
598 31
599 737
600 242
601 686
602 486
603 225
604 13
605 176
606 44
607 485
608 173
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 525
694 311
695 718
696 26
697 27
698 587
699 513
700 246
701 271
702 64
703 498
704 521
705 164
706 746
707 413
708 615
709 437
710 359
711 336
712 99
713 760
714 53
715 43
716 372
717 140
718 46
719 79
720 731
721 171
722 715
723 270
724 226
725 618
726 570
727 429
728 696
729 85
730 701
731 632
732 103
733 572
734 475
735 28
736 345
737 502
738 644
739 142
740 153
741 674
742 213
743 308
744 123
745 455
746 540
747 697
748 441
749 767
750 707
751 87
752 720
753 22
754 438
755 655
756 375
757 725
758 623
759 691
760 536
761 49
762 598
763 114
764 315
765 740
766 151
767 449
768 738

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 389
78 491
79 693
80 496
81 668
82 499
83 520
84 68
85 148
86 399
87 32
88 451
89 321
90 190
91 381
92 514
93 411
94 692
95 579
96 274
97 552
98 305
99 524
100 518
101 41
102 684
103 610
104 551
105 495
106 580
107 647
108 672
109 56
110 195
111 162
112 295
113 726
114 511
115 275
116 303
117 208
118 642
119 699
120 560
121 231
122 564
123 633
124 212
125 57
126 261
127 683
128 216
129 9
130 754
131 35
132 240
133 649
134 419
135 20
136 224
137 545
138 433
139 279
140 370
141 763
142 430
143 326
144 461
145 120
146 453
147 590
148 257
149 373
150 387
151 158
152 653
153 471
154 318
155 324
156 635
157 397
158 634
159 314
160 620
161 669
162 612
163 220
164 177
165 134
166 717
167 39
168 12
169 347
170 712
171 747
172 402
173 101
174 66
175 78
176 130
177 361
178 150
179 169
180 36
181 327
182 54
183 351
184 591
185 539
186 689
187 24
188 519
189 11
190 383
191 606
192 766
193 736
194 603
195 80
196 362
197 477
198 273
199 571
200 83
201 436
202 439
203 681
204 412
205 434
206 172
207 157
208 196
209 713
210 74
211 651
212 135
213 459
214 422
215 706
216 403
217 355
218 122
219 589
220 341
221 296
222 312
223 585
224 382
225 662
226 69
227 405
228 332
229 675
230 628
231 167
232 264
233 189
234 735
235 517
236 556
237 197
238 657
239 100
240 297
241 284
242 330
243 206
244 739
245 490
246 756
247 325
248 219
249 457
250 262
251 180
252 143
253 392
254 400
255 592
256 661
257 283
258 280
259 593
260 306
261 704
262 546
263 660
264 147
265 608
266 93
267 33
268 702
269 576
270 23
271 90
272 639
273 386
274 568
275 338
276 749
277 19
278 141
279 251
280 666
281 265
282 37
283 290
284 170
285 507
286 605
287 474
288 600
289 82
290 759
291 523
292 426
293 110
294 62
295 349
296 63
297 38
298 215
299 198
300 673
301 129
302 342
303 256
304 582
305 456
306 427
307 343
308 428
309 547
310 648
311 276
312 17
313 238
314 415
315 328
316 478
317 263
318 641
319 670
320 268
321 358
322 467
323 34
324 679
325 755
326 269
327 468
328 420
329 40
330 258
331 487
332 698
333 476
334 466
335 416
336 340
337 494
338 98
339 480
340 118
341 553
342 406
343 543
344 320
345 294
346 663
347 282
348 765
349 152
350 204
351 285
352 640
353 55
354 563
355 727
356 232
357 146
358 333
359 42
360 2
361 8
362 89
363 758
364 255
365 445
366 346
367 627
368 5
369 6
370 730
371 334
372 237
373 245
374 465
375 497
376 557
377 210
378 733
379 4
380 138
381 319
382 378
383 549
384 369
385 139
386 577
387 185
388 493
389 530
390 374
391 181
392 165
393 611
394 376
395 516
396 207
397 638
398 364
399 317
400 625
401 710
402 509
403 29
404 541
405 184
406 230
407 299
408 444
409 259
410 77
411 652
412 217
413 526
414 388
415 289
416 136
417 186
418 81
419 301
420 554
421 535
422 595
423 241
424 558
425 482
426 316
427 687
428 105
429 562
430 67
431 339
432 166
433 182
434 310
435 745
436 705
437 751
438 464
439 287
440 16
441 680
442 244
443 168
444 51
445 154
446 229
447 128
448 529
449 298
450 286
451 71
452 470
453 512
454 609
455 505
456 84
457 331
458 421
459 58
460 659
461 538
462 278
463 414
464 277
465 292
466 366
467 390
468 194
469 133
470 116
471 506
472 350
473 199
474 643
475 188
476 757
477 281
478 527
479 174
480 109
481 656
482 729
483 601
484 500
485 267
486 86
487 65
488 676
489 522
490 377
491 762
492 743
493 113
494 302
495 70
496 728
497 371
498 214
499 583
500 291
501 192
502 630
503 401
504 161
505 629
506 187
507 685
508 528
509 703
510 193
511 357
512 515
513 617
514 504
515 111
516 94
517 404
518 586
519 253
520 440
521 473
522 30
523 753
524 300
525 688
526 567
527 479
528 107
529 492
530 21
531 126
532 716
533 452
534 555
535 626
536 682
537 565
538 484
539 337
540 532
541 254
542 425
543 396
544 446
545 619
546 102
547 462
548 460
549 131
550 250
551 97
552 448
553 50
554 248
555 266
556 236
557 709
558 732
559 488
560 223
561 708
562 367
563 690
564 744
565 178
566 537
567 115
568 741
569 604
570 125
571 117
572 159
573 613
574 481
575 243
576 247
577 288
578 360
579 569
580 578
581 175
582 201
583 121
584 368
585 45
586 534
587 329
588 607
589 450
590 677
591 596
592 227
593 307
594 160
595 260
596 380
597 575
598 31
599 737
600 242
601 686
602 486
603 225
604 13
605 176
606 44
607 485
608 173
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 203
694 724
695 671
696 48
697 599
698 108
699 748
700 664
701 363
702 335
703 344
704 752
705 544
706 463
707 393
708 0
709 323
710 454
711 764
712 76
713 409
714 395
715 447
716 293
717 209
718 155
719 658
720 191
721 721
722 25
723 407
724 149
725 322
726 60
727 384
728 156
729 59
730 654
731 624
732 112
733 95
734 646
735 91
736 602
737 423
738 711
739 235
740 581
741 14
742 61
743 501
744 616
745 356
746 645
747 127
748 542
749 379
750 18
751 10
752 508
753 408
754 7
755 573
756 137
757 233
758 561
759 458
760 179
761 391
762 119
763 734
764 584
765 489
766 435
767 432
768 221

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 471
154 318
155 324
156 635
157 397
158 634
159 314
160 620
161 669
162 612
163 220
164 177
165 134
166 717
167 39
168 12
169 347
170 712
171 747
172 402
173 101
174 66
175 78
176 130
177 361
178 150
179 169
180 36
181 327
182 54
183 351
184 591
185 539
186 689
187 24
188 519
189 11
190 383
191 606
192 766
193 736
194 603
195 80
196 362
197 477
198 273
199 571
200 83
201 436
202 439
203 681
204 412
205 434
206 172
207 157
208 196
209 713
210 74
211 651
212 135
213 459
214 422
215 706
216 403
217 355
218 122
219 589
220 341
221 296
222 312
223 585
224 382
225 662
226 69
227 405
228 332
229 675
230 628
231 167
232 264
233 189
234 735
235 517
236 556
237 197
238 657
239 100
240 297
241 284
242 330
243 206
244 739
245 490
246 756
247 325
248 219
249 457
250 262
251 180
252 143
253 392
254 400
255 592
256 661
257 283
258 280
259 593
260 306
261 704
262 546
263 660
264 147
265 608
266 93
267 33
268 702
269 576
270 23
271 90
272 639
273 386
274 568
275 338
276 749
277 19
278 141
279 251
280 666
281 265
282 37
283 290
284 170
285 507
286 605
287 474
288 600
289 82
290 759
291 523
292 426
293 110
294 62
295 349
296 63
297 38
298 215
299 198
300 673
301 129
302 342
303 256
304 582
305 456
306 427
307 343
308 428
309 547
310 648
311 276
312 17
313 238
314 415
315 328
316 478
317 263
318 641
319 670
320 268
321 358
322 467
323 34
324 679
325 755
326 269
327 468
328 420
329 40
330 258
331 487
332 698
333 476
334 466
335 416
336 340
337 494
338 98
339 480
340 118
341 553
342 406
343 543
344 320
345 294
346 663
347 282
348 765
349 152
350 204
351 285
352 640
353 55
354 563
355 727
356 232
357 146
358 333
359 42
360 2
361 8
362 89
363 758
364 255
365 445
366 346
367 627
368 5
369 6
370 730
371 334
372 237
373 245
374 465
375 497
376 557
377 210
378 733
379 4
380 138
381 319
382 378
383 549
384 369
385 139
386 577
387 185
388 493
389 530
390 374
391 181
392 165
393 611
394 376
395 516
396 207
397 638
398 364
399 317
400 625
401 710
402 509
403 29
404 541
405 184
406 230
407 299
408 444
409 259
410 77
411 652
412 217
413 526
414 388
415 289
416 136
417 186
418 81
419 301
420 554
421 535
422 595
423 241
424 558
425 482
426 316
427 687
428 105
429 562
430 67
431 339
432 166
433 182
434 310
435 745
436 705
437 751
438 464
439 287
440 16
441 680
442 244
443 168
444 51
445 154
446 229
447 128
448 529
449 298
450 286
451 71
452 470
453 512
454 609
455 505
456 84
457 331
458 421
459 58
460 659
461 538
462 278
463 414
464 277
465 292
466 366
467 390
468 194
469 133
470 116
471 506
472 350
473 199
474 643
475 188
476 757
477 281
478 527
479 174
480 109
481 656
482 729
483 601
484 500
485 267
486 86
487 65
488 676
489 522
490 377
491 762
492 743
493 113
494 302
495 70
496 728
497 371
498 214
499 583
500 291
501 192
502 630
503 401
504 161
505 629
506 187
507 685
508 528
509 703
510 193
511 357
512 515
513 617
514 504
515 111
516 94
517 404
518 586
519 253
520 440
521 473
522 30
523 753
524 300
525 688
526 567
527 479
528 107
529 492
530 21
531 126
532 716
533 452
534 555
535 626
536 682
537 565
538 484
539 337
540 532
541 254
542 425
543 396
544 446
545 619
546 102
547 462
548 460
549 131
550 250
551 97
552 448
553 50
554 248
555 266
556 236
557 709
558 732
559 488
560 223
561 708
562 367
563 690
564 744
565 178
566 537
567 115
568 741
569 604
570 125
571 117
572 159
573 613
574 481
575 243
576 247
577 288
578 360
579 569
580 578
581 175
582 201
583 121
584 368
585 45
586 534
587 329
588 607
589 450
590 677
591 596
592 227
593 307
594 160
595 260
596 380
597 575
598 31
599 737
600 242
601 686
602 486
603 225
604 13
605 176
606 44
607 485
608 173
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 389
694 491
695 693
696 496
697 668
698 499
699 520
700 68
701 148
702 399
703 32
704 451
705 321
706 190
707 381
708 514
709 411
710 692
711 579
712 274
713 552
714 305
715 524
716 518
717 41
718 684
719 610
720 551
721 495
722 580
723 647
724 672
725 56
726 195
727 162
728 295
729 726
730 511
731 275
732 303
733 208
734 642
735 699
736 560
737 231
738 564
739 633
740 212
741 57
742 261
743 683
744 216
745 9
746 754
747 35
748 240
749 649
750 419
751 20
752 224
753 545
754 433
755 279
756 370
757 763
758 430
759 326
760 461
761 120
762 453
763 590
764 257
765 373
766 387
767 158
768 653

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 675
230 628
231 167
232 264
233 189
234 735
235 517
236 556
237 197
238 657
239 100
240 297
241 284
242 330
243 206
244 739
245 490
246 756
247 325
248 219
249 457
250 262
251 180
252 143
253 392
254 400
255 592
256 661
257 283
258 280
259 593
260 306
261 704
262 546
263 660
264 147
265 608
266 93
267 33
268 702
269 576
270 23
271 90
272 639
273 386
274 568
275 338
276 749
277 19
278 141
279 251
280 666
281 265
282 37
283 290
284 170
285 507
286 605
287 474
288 600
289 82
290 759
291 523
292 426
293 110
294 62
295 349
296 63
297 38
298 215
299 198
300 673
301 129
302 342
303 256
304 582
305 456
306 427
307 343
308 428
309 547
310 648
311 276
312 17
313 238
314 415
315 328
316 478
317 263
318 641
319 670
320 268
321 358
322 467
323 34
324 679
325 755
326 269
327 468
328 420
329 40
330 258
331 487
332 698
333 476
334 466
335 416
336 340
337 494
338 98
339 480
340 118
341 553
342 406
343 543
344 320
345 294
346 663
347 282
348 765
349 152
350 204
351 285
352 640
353 55
354 563
355 727
356 232
357 146
358 333
359 42
360 2
361 8
362 89
363 758
364 255
365 445
366 346
367 627
368 5
369 6
370 730
371 334
372 237
373 245
374 465
375 497
376 557
377 210
378 733
379 4
380 138
381 319
382 378
383 549
384 369
385 139
386 577
387 185
388 493
389 530
390 374
391 181
392 165
393 611
394 376
395 516
396 207
397 638
398 364
399 317
400 625
401 710
402 509
403 29
404 541
405 184
406 230
407 299
408 444
409 259
410 77
411 652
412 217
413 526
414 388
415 289
416 136
417 186
418 81
419 301
420 554
421 535
422 595
423 241
424 558
425 482
426 316
427 687
428 105
429 562
430 67
431 339
432 166
433 182
434 310
435 745
436 705
437 751
438 464
439 287
440 16
441 680
442 244
443 168
444 51
445 154
446 229
447 128
448 529
449 298
450 286
451 71
452 470
453 512
454 609
455 505
456 84
457 331
458 421
459 58
460 659
461 538
462 278
463 414
464 277
465 292
466 366
467 390
468 194
469 133
470 116
471 506
472 350
473 199
474 643
475 188
476 757
477 281
478 527
479 174
480 109
481 656
482 729
483 601
484 500
485 267
486 86
487 65
488 676
489 522
490 377
491 762
492 743
493 113
494 302
495 70
496 728
497 371
498 214
499 583
500 291
501 192
502 630
503 401
504 161
505 629
506 187
507 685
508 528
509 703
510 193
511 357
512 515
513 617
514 504
515 111
516 94
517 404
518 586
519 253
520 440
521 473
522 30
523 753
524 300
525 688
526 567
527 479
528 107
529 492
530 21
531 126
532 716
533 452
534 555
535 626
536 682
537 565
538 484
539 337
540 532
541 254
542 425
543 396
544 446
545 619
546 102
547 462
548 460
549 131
550 250
551 97
552 448
553 50
554 248
555 266
556 236
557 709
558 732
559 488
560 223
561 708
562 367
563 690
564 744
565 178
566 537
567 115
568 741
569 604
570 125
571 117
572 159
573 613
574 481
575 243
576 247
577 288
578 360
579 569
580 578
581 175
582 201
583 121
584 368
585 45
586 534
587 329
588 607
589 450
590 677
591 596
592 227
593 307
594 160
595 260
596 380
597 575
598 31
599 737
600 242
601 686
602 486
603 225
604 13
605 176
606 44
607 485
608 173
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 471
694 318
695 324
696 635
697 397
698 634
699 314
700 620
701 669
702 612
703 220
704 177
705 134
706 717
707 39
708 12
709 347
710 712
711 747
712 402
713 101
714 66
715 78
716 130
717 361
718 150
719 169
720 36
721 327
722 54
723 351
724 591
725 539
726 689
727 24
728 519
729 11
730 383
731 606
732 766
733 736
734 603
735 80
736 362
737 477
738 273
739 571
740 83
741 436
742 439
743 681
744 412
745 434
746 172
747 157
748 196
749 713
750 74
751 651
752 135
753 459
754 422
755 706
756 403
757 355
758 122
759 589
760 341
761 296
762 312
763 585
764 382
765 662
766 69
767 405
768 332

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 456
306 427
307 343
308 428
309 547
310 648
311 276
312 17
313 238
314 415
315 328
316 478
317 263
318 641
319 670
320 268
321 358
322 467
323 34
324 679
325 755
326 269
327 468
328 420
329 40
330 258
331 487
332 698
333 476
334 466
335 416
336 340
337 494
338 98
339 480
340 118
341 553
342 406
343 543
344 320
345 294
346 663
347 282
348 765
349 152
350 204
351 285
352 640
353 55
354 563
355 727
356 232
357 146
358 333
359 42
360 2
361 8
362 89
363 758
364 255
365 445
366 346
367 627
368 5
369 6
370 730
371 334
372 237
373 245
374 465
375 497
376 557
377 210
378 733
379 4
380 138
381 319
382 378
383 549
384 369
385 139
386 577
387 185
388 493
389 530
390 374
391 181
392 165
393 611
394 376
395 516
396 207
397 638
398 364
399 317
400 625
401 710
402 509
403 29
404 541
405 184
406 230
407 299
408 444
409 259
410 77
411 652
412 217
413 526
414 388
415 289
416 136
417 186
418 81
419 301
420 554
421 535
422 595
423 241
424 558
425 482
426 316
427 687
428 105
429 562
430 67
431 339
432 166
433 182
434 310
435 745
436 705
437 751
438 464
439 287
440 16
441 680
442 244
443 168
444 51
445 154
446 229
447 128
448 529
449 298
450 286
451 71
452 470
453 512
454 609
455 505
456 84
457 331
458 421
459 58
460 659
461 538
462 278
463 414
464 277
465 292
466 366
467 390
468 194
469 133
470 116
471 506
472 350
473 199
474 643
475 188
476 757
477 281
478 527
479 174
480 109
481 656
482 729
483 601
484 500
485 267
486 86
487 65
488 676
489 522
490 377
491 762
492 743
493 113
494 302
495 70
496 728
497 371
498 214
499 583
500 291
501 192
502 630
503 401
504 161
505 629
506 187
507 685
508 528
509 703
510 193
511 357
512 515
513 617
514 504
515 111
516 94
517 404
518 586
519 253
520 440
521 473
522 30
523 753
524 300
525 688
526 567
527 479
528 107
529 492
530 21
531 126
532 716
533 452
534 555
535 626
536 682
537 565
538 484
539 337
540 532
541 254
542 425
543 396
544 446
545 619
546 102
547 462
548 460
549 131
550 250
551 97
552 448
553 50
554 248
555 266
556 236
557 709
558 732
559 488
560 223
561 708
562 367
563 690
564 744
565 178
566 537
567 115
568 741
569 604
570 125
571 117
572 159
573 613
574 481
575 243
576 247
577 288
578 360
579 569
580 578
581 175
582 201
583 121
584 368
585 45
586 534
587 329
588 607
589 450
590 677
591 596
592 227
593 307
594 160
595 260
596 380
597 575
598 31
599 737
600 242
601 686
602 486
603 225
604 13
605 176
606 44
607 485
608 173
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 675
694 628
695 167
696 264
697 189
698 735
699 517
700 556
701 197
702 657
703 100
704 297
705 284
706 330
707 206
708 739
709 490
710 756
711 325
712 219
713 457
714 262
715 180
716 143
717 392
718 400
719 592
720 661
721 283
722 280
723 593
724 306
725 704
726 546
727 660
728 147
729 608
730 93
731 33
732 702
733 576
734 23
735 90
736 639
737 386
738 568
739 338
740 749
741 19
742 141
743 251
744 666
745 265
746 37
747 290
748 170
749 507
750 605
751 474
752 600
753 82
754 759
755 523
756 426
757 110
758 62
759 349
760 63
761 38
762 215
763 198
764 673
765 129
766 342
767 256
768 582

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 319
382 378
383 549
384 369
385 139
386 577
387 185
388 493
389 530
390 374
391 181
392 165
393 611
394 376
395 516
396 207
397 638
398 364
399 317
400 625
401 710
402 509
403 29
404 541
405 184
406 230
407 299
408 444
409 259
410 77
411 652
412 217
413 526
414 388
415 289
416 136
417 186
418 81
419 301
420 554
421 535
422 595
423 241
424 558
425 482
426 316
427 687
428 105
429 562
430 67
431 339
432 166
433 182
434 310
435 745
436 705
437 751
438 464
439 287
440 16
441 680
442 244
443 168
444 51
445 154
446 229
447 128
448 529
449 298
450 286
451 71
452 470
453 512
454 609
455 505
456 84
457 331
458 421
459 58
460 659
461 538
462 278
463 414
464 277
465 292
466 366
467 390
468 194
469 133
470 116
471 506
472 350
473 199
474 643
475 188
476 757
477 281
478 527
479 174
480 109
481 656
482 729
483 601
484 500
485 267
486 86
487 65
488 676
489 522
490 377
491 762
492 743
493 113
494 302
495 70
496 728
497 371
498 214
499 583
500 291
501 192
502 630
503 401
504 161
505 629
506 187
507 685
508 528
509 703
510 193
511 357
512 515
513 617
514 504
515 111
516 94
517 404
518 586
519 253
520 440
521 473
522 30
523 753
524 300
525 688
526 567
527 479
528 107
529 492
530 21
531 126
532 716
533 452
534 555
535 626
536 682
537 565
538 484
539 337
540 532
541 254
542 425
543 396
544 446
545 619
546 102
547 462
548 460
549 131
550 250
551 97
552 448
553 50
554 248
555 266
556 236
557 709
558 732
559 488
560 223
561 708
562 367
563 690
564 744
565 178
566 537
567 115
568 741
569 604
570 125
571 117
572 159
573 613
574 481
575 243
576 247
577 288
578 360
579 569
580 578
581 175
582 201
583 121
584 368
585 45
586 534
587 329
588 607
589 450
590 677
591 596
592 227
593 307
594 160
595 260
596 380
597 575
598 31
599 737
600 242
601 686
602 486
603 225
604 13
605 176
606 44
607 485
608 173
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 456
694 427
695 343
696 428
697 547
698 648
699 276
700 17
701 238
702 415
703 328
704 478
705 263
706 641
707 670
708 268
709 358
710 467
711 34
712 679
713 755
714 269
715 468
716 420
717 40
718 258
719 487
720 698
721 476
722 466
723 416
724 340
725 494
726 98
727 480
728 118
729 553
730 406
731 543
732 320
733 294
734 663
735 282
736 765
737 152
738 204
739 285
740 640
741 55
742 563
743 727
744 232
745 146
746 333
747 42
748 2
749 8
750 89
751 758
752 255
753 445
754 346
755 627
756 5
757 6
758 730
759 334
760 237
761 245
762 465
763 497
764 557
765 210
766 733
767 4
768 138

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 456
382 427
383 343
384 428
385 547
386 648
387 276
388 17
389 238
390 415
391 328
392 478
393 263
394 641
395 670
396 268
397 358
398 467
399 34
400 679
401 755
402 269
403 468
404 420
405 40
406 258
407 487
408 698
409 476
410 466
411 416
412 340
413 494
414 98
415 480
416 118
417 553
418 406
419 543
420 320
421 294
422 663
423 282
424 765
425 152
426 204
427 285
428 640
429 55
430 563
431 727
432 232
433 146
434 333
435 42
436 2
437 8
438 89
439 758
440 255
441 445
442 346
443 627
444 5
445 6
446 730
447 334
448 237
449 245
450 465
451 497
452 557
453 210
454 733
455 4
456 138
457 331
458 421
459 58
460 659
461 538
462 278
463 414
464 277
465 292
466 366
467 390
468 194
469 133
470 116
471 506
472 350
473 199
474 643
475 188
476 757
477 281
478 527
479 174
480 109
481 656
482 729
483 601
484 500
485 267
486 86
487 65
488 676
489 522
490 377
491 762
492 743
493 113
494 302
495 70
496 728
497 371
498 214
499 583
500 291
501 192
502 630
503 401
504 161
505 629
506 187
507 685
508 528
509 703
510 193
511 357
512 515
513 617
514 504
515 111
516 94
517 404
518 586
519 253
520 440
521 473
522 30
523 753
524 300
525 688
526 567
527 479
528 107
529 492
530 21
531 126
532 716
533 452
534 555
535 626
536 682
537 565
538 484
539 337
540 532
541 254
542 425
543 396
544 446
545 619
546 102
547 462
548 460
549 131
550 250
551 97
552 448
553 50
554 248
555 266
556 236
557 709
558 732
559 488
560 223
561 708
562 367
563 690
564 744
565 178
566 537
567 115
568 741
569 604
570 125
571 117
572 159
573 613
574 481
575 243
576 247
577 288
578 360
579 569
580 578
581 175
582 201
583 121
584 368
585 45
586 534
587 329
588 607
589 450
590 677
591 596
592 227
593 307
594 160
595 260
596 380
597 575
598 31
599 737
600 242
601 686
602 486
603 225
604 13
605 176
606 44
607 485
608 173
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 319
694 378
695 549
696 369
697 139
698 577
699 185
700 493
701 530
702 374
703 181
704 165
705 611
706 376
707 516
708 207
709 638
710 364
711 317
712 625
713 710
714 509
715 29
716 541
717 184
718 230
719 299
720 444
721 259
722 77
723 652
724 217
725 526
726 388
727 289
728 136
729 186
730 81
731 301
732 554
733 535
734 595
735 241
736 558
737 482
738 316
739 687
740 105
741 562
742 67
743 339
744 166
745 182
746 310
747 745
748 705
749 751
750 464
751 287
752 16
753 680
754 244
755 168
756 51
757 154
758 229
759 128
760 529
761 298
762 286
763 71
764 470
765 512
766 609
767 505
768 84

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 456
382 427
383 343
384 428
385 547
386 648
387 276
388 17
389 238
390 415
391 328
392 478
393 263
394 641
395 670
396 268
397 358
398 467
399 34
400 679
401 755
402 269
403 468
404 420
405 40
406 258
407 487
408 698
409 476
410 466
411 416
412 340
413 494
414 98
415 480
416 118
417 553
418 406
419 543
420 320
421 294
422 663
423 282
424 765
425 152
426 204
427 285
428 640
429 55
430 563
431 727
432 232
433 146
434 333
435 42
436 2
437 8
438 89
439 758
440 255
441 445
442 346
443 627
444 5
445 6
446 730
447 334
448 237
449 245
450 465
451 497
452 557
453 210
454 733
455 4
456 138
457 319
458 378
459 549
460 369
461 139
462 577
463 185
464 493
465 530
466 374
467 181
468 165
469 611
470 376
471 516
472 207
473 638
474 364
475 317
476 625
477 710
478 509
479 29
480 541
481 184
482 230
483 299
484 444
485 259
486 77
487 652
488 217
489 526
490 388
491 289
492 136
493 186
494 81
495 301
496 554
497 535
498 595
499 241
500 558
501 482
502 316
503 687
504 105
505 562
506 67
507 339
508 166
509 182
510 310
511 745
512 705
513 751
514 464
515 287
516 16
517 680
518 244
519 168
520 51
521 154
522 229
523 128
524 529
525 298
526 286
527 71
528 470
529 512
530 609
531 505
532 84
533 452
534 555
535 626
536 682
537 565
538 484
539 337
540 532
541 254
542 425
543 396
544 446
545 619
546 102
547 462
548 460
549 131
550 250
551 97
552 448
553 50
554 248
555 266
556 236
557 709
558 732
559 488
560 223
561 708
562 367
563 690
564 744
565 178
566 537
567 115
568 741
569 604
570 125
571 117
572 159
573 613
574 481
575 243
576 247
577 288
578 360
579 569
580 578
581 175
582 201
583 121
584 368
585 45
586 534
587 329
588 607
589 450
590 677
591 596
592 227
593 307
594 160
595 260
596 380
597 575
598 31
599 737
600 242
601 686
602 486
603 225
604 13
605 176
606 44
607 485
608 173
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 331
694 421
695 58
696 659
697 538
698 278
699 414
700 277
701 292
702 366
703 390
704 194
705 133
706 116
707 506
708 350
709 199
710 643
711 188
712 757
713 281
714 527
715 174
716 109
717 656
718 729
719 601
720 500
721 267
722 86
723 65
724 676
725 522
726 377
727 762
728 743
729 113
730 302
731 70
732 728
733 371
734 214
735 583
736 291
737 192
738 630
739 401
740 161
741 629
742 187
743 685
744 528
745 703
746 193
747 357
748 515
749 617
750 504
751 111
752 94
753 404
754 586
755 253
756 440
757 473
758 30
759 753
760 300
761 688
762 567
763 479
764 107
765 492
766 21
767 126
768 716

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 456
382 427
383 343
384 428
385 547
386 648
387 276
388 17
389 238
390 415
391 328
392 478
393 263
394 641
395 670
396 268
397 358
398 467
399 34
400 679
401 755
402 269
403 468
404 420
405 40
406 258
407 487
408 698
409 476
410 466
411 416
412 340
413 494
414 98
415 480
416 118
417 553
418 406
419 543
420 320
421 294
422 663
423 282
424 765
425 152
426 204
427 285
428 640
429 55
430 563
431 727
432 232
433 146
434 333
435 42
436 2
437 8
438 89
439 758
440 255
441 445
442 346
443 627
444 5
445 6
446 730
447 334
448 237
449 245
450 465
451 497
452 557
453 210
454 733
455 4
456 138
457 319
458 378
459 549
460 369
461 139
462 577
463 185
464 493
465 530
466 374
467 181
468 165
469 611
470 376
471 516
472 207
473 638
474 364
475 317
476 625
477 710
478 509
479 29
480 541
481 184
482 230
483 299
484 444
485 259
486 77
487 652
488 217
489 526
490 388
491 289
492 136
493 186
494 81
495 301
496 554
497 535
498 595
499 241
500 558
501 482
502 316
503 687
504 105
505 562
506 67
507 339
508 166
509 182
510 310
511 745
512 705
513 751
514 464
515 287
516 16
517 680
518 244
519 168
520 51
521 154
522 229
523 128
524 529
525 298
526 286
527 71
528 470
529 512
530 609
531 505
532 84
533 331
534 421
535 58
536 659
537 538
538 278
539 414
540 277
541 292
542 366
543 390
544 194
545 133
546 116
547 506
548 350
549 199
550 643
551 188
552 757
553 281
554 527
555 174
556 109
557 656
558 729
559 601
560 500
561 267
562 86
563 65
564 676
565 522
566 377
567 762
568 743
569 113
570 302
571 70
572 728
573 371
574 214
575 583
576 291
577 192
578 630
579 401
580 161
581 629
582 187
583 685
584 528
585 703
586 193
587 357
588 515
589 617
590 504
591 111
592 94
593 404
594 586
595 253
596 440
597 473
598 30
599 753
600 300
601 688
602 567
603 479
604 107
605 492
606 21
607 126
608 716
609 442
610 3
611 398
612 272
613 145
614 352
615 239
616 761
617 222
618 483
619 92
620 594
621 106
622 510
623 410
624 88
625 394
626 665
627 52
628 47
629 472
630 695
631 218
632 614
633 750
634 417
635 443
636 348
637 73
638 424
639 163
640 574
641 252
642 719
643 202
644 354
645 96
646 431
647 304
648 636
649 597
650 234
651 353
652 365
653 104
654 550
655 72
656 723
657 15
658 566
659 205
660 588
661 385
662 714
663 650
664 144
665 1
666 211
667 313
668 621
669 533
670 742
671 637
672 631
673 548
674 75
675 200
676 469
677 249
678 418
679 309
680 531
681 559
682 124
683 678
684 700
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 452
694 555
695 626
696 682
697 565
698 484
699 337
700 532
701 254
702 425
703 396
704 446
705 619
706 102
707 462
708 460
709 131
710 250
711 97
712 448
713 50
714 248
715 266
716 236
717 709
718 732
719 488
720 223
721 708
722 367
723 690
724 744
725 178
726 537
727 115
728 741
729 604
730 125
731 117
732 159
733 613
734 481
735 243
736 247
737 288
738 360
739 569
740 578
741 175
742 201
743 121
744 368
745 45
746 534
747 329
748 607
749 450
750 677
751 596
752 227
753 307
754 160
755 260
756 380
757 575
758 31
759 737
760 242
761 686
762 486
763 225
764 13
765 176
766 44
767 485
768 173

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
503
667
132
622
183
228
722
694
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 456
382 427
383 343
384 428
385 547
386 648
387 276
388 17
389 238
390 415
391 328
392 478
393 263
394 641
395 670
396 268
397 358
398 467
399 34
400 679
401 755
402 269
403 468
404 420
405 40
406 258
407 487
408 698
409 476
410 466
411 416
412 340
413 494
414 98
415 480
416 118
417 553
418 406
419 543
420 320
421 294
422 663
423 282
424 765
425 152
426 204
427 285
428 640
429 55
430 563
431 727
432 232
433 146
434 333
435 42
436 2
437 8
438 89
439 758
440 255
441 445
442 346
443 627
444 5
445 6
446 730
447 334
448 237
449 245
450 465
451 497
452 557
453 210
454 733
455 4
456 138
457 319
458 378
459 549
460 369
461 139
462 577
463 185
464 493
465 530
466 374
467 181
468 165
469 611
470 376
471 516
472 207
473 638
474 364
475 317
476 625
477 710
478 509
479 29
480 541
481 184
482 230
483 299
484 444
485 259
486 77
487 652
488 217
489 526
490 388
491 289
492 136
493 186
494 81
495 301
496 554
497 535
498 595
499 241
500 558
501 482
502 316
503 687
504 105
505 562
506 67
507 339
508 166
509 182
510 310
511 745
512 705
513 751
514 464
515 287
516 16
517 680
518 244
519 168
520 51
521 154
522 229
523 128
524 529
525 298
526 286
527 71
528 470
529 512
530 609
531 505
532 84
533 331
534 421
535 58
536 659
537 538
538 278
539 414
540 277
541 292
542 366
543 390
544 194
545 133
546 116
547 506
548 350
549 199
550 643
551 188
552 757
553 281
554 527
555 174
556 109
557 656
558 729
559 601
560 500
561 267
562 86
563 65
564 676
565 522
566 377
567 762
568 743
569 113
570 302
571 70
572 728
573 371
574 214
575 583
576 291
577 192
578 630
579 401
580 161
581 629
582 187
583 685
584 528
585 703
586 193
587 357
588 515
589 617
590 504
591 111
592 94
593 404
594 586
595 253
596 440
597 473
598 30
599 753
600 300
601 688
602 567
603 479
604 107
605 492
606 21
607 126
608 716
609 452
610 555
611 626
612 682
613 565
614 484
615 337
616 532
617 254
618 425
619 396
620 446
621 619
622 102
623 462
624 460
625 131
626 250
627 97
628 448
629 50
630 248
631 266
632 236
633 709
634 732
635 488
636 223
637 708
638 367
639 690
640 744
641 178
642 537
643 115
644 741
645 604
646 125
647 117
648 159
649 613
650 481
651 243
652 247
653 288
654 360
655 569
656 578
657 175
658 201
659 121
660 368
661 45
662 534
663 329
664 607
665 450
666 677
667 596
668 227
669 307
670 160
671 260
672 380
673 575
674 31
675 737
676 242
677 686
678 486
679 225
680 13
681 176
682 44
683 485
684 173
685 503
686 667
687 132
688 622
689 183
690 228
691 722
692 694
693 442
694 3
695 398
696 272
697 145
698 352
699 239
700 761
701 222
702 483
703 92
704 594
705 106
706 510
707 410
708 88
709 394
710 665
711 52
712 47
713 472
714 695
715 218
716 614
717 750
718 417
719 443
720 348
721 73
722 424
723 163
724 574
725 252
726 719
727 202
728 354
729 96
730 431
731 304
732 636
733 597
734 234
735 353
736 365
737 104
738 550
739 72
740 723
741 15
742 566
743 205
744 588
745 385
746 714
747 650
748 144
749 1
750 211
751 313
752 621
753 533
754 742
755 637
756 631
757 548
758 75
759 200
760 469
761 249
762 418
763 309
764 531
765 559
766 124
767 678
768 700

View File

@@ -0,0 +1,768 @@
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
1 327
2 54
3 351
4 591
5 539
6 689
7 24
8 519
9 11
10 383
11 606
12 766
13 736
14 603
15 80
16 362
17 477
18 273
19 571
20 83
21 436
22 439
23 681
24 412
25 434
26 172
27 157
28 196
29 713
30 74
31 651
32 135
33 459
34 422
35 706
36 403
37 355
38 122
39 589
40 341
41 296
42 312
43 585
44 382
45 662
46 69
47 405
48 332
49 675
50 628
51 167
52 264
53 189
54 735
55 517
56 556
57 197
58 657
59 100
60 297
61 284
62 330
63 206
64 739
65 490
66 756
67 325
68 219
69 457
70 262
71 180
72 143
73 392
74 400
75 592
76 661
77 283
78 280
79 593
80 306
81 704
82 546
83 660
84 147
85 608
86 93
87 33
88 702
89 576
90 23
91 90
92 639
93 386
94 568
95 338
96 749
97 19
98 141
99 251
100 666
101 265
102 37
103 290
104 170
105 507
106 605
107 474
108 600
109 82
110 759
111 523
112 426
113 110
114 62
115 349
116 63
117 38
118 215
119 198
120 673
121 129
122 342
123 256
124 582
125 456
126 427
127 343
128 428
129 547
130 648
131 276
132 17
133 238
134 415
135 328
136 478
137 263
138 641
139 670
140 268
141 358
142 467
143 34
144 679
145 755
146 269
147 468
148 420
149 40
150 258
151 487
152 698
153 476
154 466
155 416
156 340
157 494
158 98
159 480
160 118
161 553
162 406
163 543
164 320
165 294
166 663
167 282
168 765
169 152
170 204
171 285
172 640
173 55
174 563
175 727
176 232
177 146
178 333
179 42
180 2
181 8
182 89
183 758
184 255
185 445
186 346
187 627
188 5
189 6
190 730
191 334
192 237
193 245
194 465
195 497
196 557
197 210
198 733
199 4
200 138
201 319
202 378
203 549
204 369
205 139
206 577
207 185
208 493
209 530
210 374
211 181
212 165
213 611
214 376
215 516
216 207
217 638
218 364
219 317
220 625
221 710
222 509
223 29
224 541
225 184
226 230
227 299
228 444
229 259
230 77
231 652
232 217
233 526
234 388
235 289
236 136
237 186
238 81
239 301
240 554
241 535
242 595
243 241
244 558
245 482
246 316
247 687
248 105
249 562
250 67
251 339
252 166
253 182
254 310
255 745
256 705
257 751
258 464
259 287
260 16
261 680
262 244
263 168
264 51
265 154
266 229
267 128
268 529
269 298
270 286
271 71
272 470
273 512
274 609
275 505
276 84
277 331
278 421
279 58
280 659
281 538
282 278
283 414
284 277
285 292
286 366
287 390
288 194
289 133
290 116
291 506
292 350
293 199
294 643
295 188
296 757
297 281
298 527
299 174
300 109
301 656
302 729
303 601
304 500
305 267
306 86
307 65
308 676
309 522
310 377
311 762
312 743
313 113
314 302
315 70
316 728
317 371
318 214
319 583
320 291
321 192
322 630
323 401
324 161
325 629
326 187
327 685
328 528
329 703
330 193
331 357
332 515
333 617
334 504
335 111
336 94
337 404
338 586
339 253
340 440
341 473
342 30
343 753
344 300
345 688
346 567
347 479
348 107
349 492
350 21
351 126
352 716
353 452
354 555
355 626
356 682
357 565
358 484
359 337
360 532
361 254
362 425
363 396
364 446
365 619
366 102
367 462
368 460
369 131
370 250
371 97
372 448
373 50
374 248
375 266
376 236
377 709
378 732
379 488
380 223
381 708
382 367
383 690
384 744
385 178
386 537
387 115
388 741
389 604
390 125
391 117
392 159
393 613
394 481
395 243
396 247
397 288
398 360
399 569
400 578
401 175
402 201
403 121
404 368
405 45
406 534
407 329
408 607
409 450
410 677
411 596
412 227
413 307
414 160
415 260
416 380
417 575
418 31
419 737
420 242
421 686
422 486
423 225
424 13
425 176
426 44
427 485
428 173
429 442
430 3
431 398
432 272
433 145
434 352
435 239
436 761
437 222
438 483
439 92
440 594
441 106
442 510
443 410
444 88
445 394
446 665
447 52
448 47
449 472
450 695
451 218
452 614
453 750
454 417
455 443
456 348
457 73
458 424
459 163
460 574
461 252
462 719
463 202
464 354
465 96
466 431
467 304
468 636
469 597
470 234
471 353
472 365
473 104
474 550
475 72
476 723
477 15
478 566
479 205
480 588
481 385
482 714
483 650
484 144
485 1
486 211
487 313
488 621
489 533
490 742
491 637
492 631
493 548
494 75
495 200
496 469
497 249
498 418
499 309
500 531
501 559
502 124
503 678
504 700
505 503
506 667
507 132
508 622
509 183
510 228
511 722
512 694
513 525
514 311
515 718
516 26
517 27
518 587
519 513
520 246
521 271
522 64
523 498
524 521
525 164
526 746
527 413
528 615
529 437
530 359
531 336
532 99
533 760
534 53
535 43
536 372
537 140
538 46
539 79
540 731
541 171
542 715
543 270
544 226
545 618
546 570
547 429
548 696
549 85
550 701
551 632
552 103
553 572
554 475
555 28
556 345
557 502
558 644
559 142
560 153
561 674
562 213
563 308
564 123
565 455
566 540
567 697
568 441
569 767
570 707
571 87
572 720
573 22
574 438
575 655
576 375
577 725
578 623
579 691
580 536
581 49
582 598
583 114
584 315
585 740
586 151
587 449
588 738
589 203
590 724
591 671
592 48
593 599
594 108
595 748
596 664
597 363
598 335
599 344
600 752
601 544
602 463
603 393
604 0
605 323
606 454
607 764
608 76
609 409
610 395
611 447
612 293
613 209
614 155
615 658
616 191
617 721
618 25
619 407
620 149
621 322
622 60
623 384
624 156
625 59
626 654
627 624
628 112
629 95
630 646
631 91
632 602
633 423
634 711
635 235
636 581
637 14
638 61
639 501
640 616
641 356
642 645
643 127
644 542
645 379
646 18
647 10
648 508
649 408
650 7
651 573
652 137
653 233
654 561
655 458
656 179
657 391
658 119
659 734
660 584
661 489
662 435
663 432
664 221
665 389
666 491
667 693
668 496
669 668
670 499
671 520
672 68
673 148
674 399
675 32
676 451
677 321
678 190
679 381
680 514
681 411
682 692
683 579
684 274
685 552
686 305
687 524
688 518
689 41
690 684
691 610
692 551
693 495
694 580
695 647
696 672
697 56
698 195
699 162
700 295
701 726
702 511
703 275
704 303
705 208
706 642
707 699
708 560
709 231
710 564
711 633
712 212
713 57
714 261
715 683
716 216
717 9
718 754
719 35
720 240
721 649
722 419
723 20
724 224
725 545
726 433
727 279
728 370
729 763
730 430
731 326
732 461
733 120
734 453
735 590
736 257
737 373
738 387
739 158
740 653
741 471
742 318
743 324
744 635
745 397
746 634
747 314
748 620
749 669
750 612
751 220
752 177
753 134
754 717
755 39
756 12
757 347
758 712
759 747
760 402
761 101
762 66
763 78
764 130
765 361
766 150
767 169
768 36

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 751
258 464
259 287
260 16
261 680
262 244
263 168
264 51
265 154
266 229
267 128
268 529
269 298
270 286
271 71
272 470
273 512
274 609
275 505
276 84
277 331
278 421
279 58
280 659
281 538
282 278
283 414
284 277
285 292
286 366
287 390
288 194
289 133
290 116
291 506
292 350
293 199
294 643
295 188
296 757
297 281
298 527
299 174
300 109
301 656
302 729
303 601
304 500
305 267
306 86
307 65
308 676
309 522
310 377
311 762
312 743
313 113
314 302
315 70
316 728
317 371
318 214
319 583
320 291
321 192
322 630
323 401
324 161
325 629
326 187
327 685
328 528
329 703
330 193
331 357
332 515
333 617
334 504
335 111
336 94
337 404
338 586
339 253
340 440
341 473
342 30
343 753
344 300
345 688
346 567
347 479
348 107
349 492
350 21
351 126
352 716
353 452
354 555
355 626
356 682
357 565
358 484
359 337
360 532
361 254
362 425
363 396
364 446
365 619
366 102
367 462
368 460
369 131
370 250
371 97
372 448
373 50
374 248
375 266
376 236
377 709
378 732
379 488
380 223
381 708
382 367
383 690
384 744
385 178
386 537
387 115
388 741
389 604
390 125
391 117
392 159
393 613
394 481
395 243
396 247
397 288
398 360
399 569
400 578
401 175
402 201
403 121
404 368
405 45
406 534
407 329
408 607
409 450
410 677
411 596
412 227
413 307
414 160
415 260
416 380
417 575
418 31
419 737
420 242
421 686
422 486
423 225
424 13
425 176
426 44
427 485
428 173
429 442
430 3
431 398
432 272
433 145
434 352
435 239
436 761
437 222
438 483
439 92
440 594
441 106
442 510
443 410
444 88
445 394
446 665
447 52
448 47
449 472
450 695
451 218
452 614
453 750
454 417
455 443
456 348
457 73
458 424
459 163
460 574
461 252
462 719
463 202
464 354
465 96
466 431
467 304
468 636
469 597
470 234
471 353
472 365
473 104
474 550
475 72
476 723
477 15
478 566
479 205
480 588
481 385
482 714
483 650
484 144
485 1
486 211
487 313
488 621
489 533
490 742
491 637
492 631
493 548
494 75
495 200
496 469
497 249
498 418
499 309
500 531
501 559
502 124
503 678
504 700
505 503
506 667
507 132
508 622
509 183
510 228
511 722
512 694
513 327
514 54
515 351
516 591
517 539
518 689
519 24
520 519
521 11
522 383
523 606
524 766
525 736
526 603
527 80
528 362
529 477
530 273
531 571
532 83
533 436
534 439
535 681
536 412
537 434
538 172
539 157
540 196
541 713
542 74
543 651
544 135
545 459
546 422
547 706
548 403
549 355
550 122
551 589
552 341
553 296
554 312
555 585
556 382
557 662
558 69
559 405
560 332
561 675
562 628
563 167
564 264
565 189
566 735
567 517
568 556
569 197
570 657
571 100
572 297
573 284
574 330
575 206
576 739
577 490
578 756
579 325
580 219
581 457
582 262
583 180
584 143
585 392
586 400
587 592
588 661
589 283
590 280
591 593
592 306
593 704
594 546
595 660
596 147
597 608
598 93
599 33
600 702
601 576
602 23
603 90
604 639
605 386
606 568
607 338
608 749
609 19
610 141
611 251
612 666
613 265
614 37
615 290
616 170
617 507
618 605
619 474
620 600
621 82
622 759
623 523
624 426
625 110
626 62
627 349
628 63
629 38
630 215
631 198
632 673
633 129
634 342
635 256
636 582
637 456
638 427
639 343
640 428
641 547
642 648
643 276
644 17
645 238
646 415
647 328
648 478
649 263
650 641
651 670
652 268
653 358
654 467
655 34
656 679
657 755
658 269
659 468
660 420
661 40
662 258
663 487
664 698
665 476
666 466
667 416
668 340
669 494
670 98
671 480
672 118
673 553
674 406
675 543
676 320
677 294
678 663
679 282
680 765
681 152
682 204
683 285
684 640
685 55
686 563
687 727
688 232
689 146
690 333
691 42
692 2
693 8
694 89
695 758
696 255
697 445
698 346
699 627
700 5
701 6
702 730
703 334
704 237
705 245
706 465
707 497
708 557
709 210
710 733
711 4
712 138
713 319
714 378
715 549
716 369
717 139
718 577
719 185
720 493
721 530
722 374
723 181
724 165
725 611
726 376
727 516
728 207
729 638
730 364
731 317
732 625
733 710
734 509
735 29
736 541
737 184
738 230
739 299
740 444
741 259
742 77
743 652
744 217
745 526
746 388
747 289
748 136
749 186
750 81
751 301
752 554
753 535
754 595
755 241
756 558
757 482
758 316
759 687
760 105
761 562
762 67
763 339
764 166
765 182
766 310
767 745
768 705

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 456
382 427
383 343
384 428
385 547
386 648
387 276
388 17
389 238
390 415
391 328
392 478
393 263
394 641
395 670
396 268
397 358
398 467
399 34
400 679
401 755
402 269
403 468
404 420
405 40
406 258
407 487
408 698
409 476
410 466
411 416
412 340
413 494
414 98
415 480
416 118
417 553
418 406
419 543
420 320
421 294
422 663
423 282
424 765
425 152
426 204
427 285
428 640
429 55
430 563
431 727
432 232
433 146
434 333
435 42
436 2
437 8
438 89
439 758
440 255
441 445
442 346
443 627
444 5
445 6
446 730
447 334
448 237
449 245
450 465
451 497
452 557
453 210
454 733
455 4
456 138
457 319
458 378
459 549
460 369
461 139
462 577
463 185
464 493
465 530
466 374
467 181
468 165
469 611
470 376
471 516
472 207
473 638
474 364
475 317
476 625
477 710
478 509
479 29
480 541
481 184
482 230
483 299
484 444
485 259
486 77
487 652
488 217
489 526
490 388
491 289
492 136
493 186
494 81
495 301
496 554
497 535
498 595
499 241
500 558
501 482
502 316
503 687
504 105
505 562
506 67
507 339
508 166
509 182
510 310
511 745
512 705
513 751
514 464
515 287
516 16
517 680
518 244
519 168
520 51
521 154
522 229
523 128
524 529
525 298
526 286
527 71
528 470
529 512
530 609
531 505
532 84
533 331
534 421
535 58
536 659
537 538
538 278
539 414
540 277
541 292
542 366
543 390
544 194
545 133
546 116
547 506
548 350
549 199
550 643
551 188
552 757
553 281
554 527
555 174
556 109
557 656
558 729
559 601
560 500
561 267
562 86
563 65
564 676
565 522
566 377
567 762
568 743
569 113
570 302
571 70
572 728
573 371
574 214
575 583
576 291
577 192
578 630
579 401
580 161
581 629
582 187
583 685
584 528
585 703
586 193
587 357
588 515
589 617
590 504
591 111
592 94
593 404
594 586
595 253
596 440
597 473
598 30
599 753
600 300
601 688
602 567
603 479
604 107
605 492
606 21
607 126
608 716
609 452
610 555
611 626
612 682
613 565
614 484
615 337
616 532
617 254
618 425
619 396
620 446
621 619
622 102
623 462
624 460
625 131
626 250
627 97
628 448
629 50
630 248
631 266
632 236
633 709
634 732
635 488
636 223
637 708
638 367
639 690
640 744
641 178
642 537
643 115
644 741
645 604
646 125
647 117
648 159
649 613
650 481
651 243
652 247
653 288
654 360
655 569
656 578
657 175
658 201
659 121
660 368
661 45
662 534
663 329
664 607
665 450
666 677
667 596
668 227
669 307
670 160
671 260
672 380
673 575
674 31
675 737
676 242
677 686
678 486
679 225
680 13
681 176
682 44
683 485
684 173
685 442
686 3
687 398
688 272
689 145
690 352
691 239
692 761
693 222
694 483
695 92
696 594
697 106
698 510
699 410
700 88
701 394
702 665
703 52
704 47
705 472
706 695
707 218
708 614
709 750
710 417
711 443
712 348
713 73
714 424
715 163
716 574
717 252
718 719
719 202
720 354
721 96
722 431
723 304
724 636
725 597
726 234
727 353
728 365
729 104
730 550
731 72
732 723
733 15
734 566
735 205
736 588
737 385
738 714
739 650
740 144
741 1
742 211
743 313
744 621
745 533
746 742
747 637
748 631
749 548
750 75
751 200
752 469
753 249
754 418
755 309
756 531
757 559
758 124
759 678
760 700
761 503
762 667
763 132
764 622
765 183
766 228
767 722
768 694

View File

@@ -0,0 +1,768 @@
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
1 60
2 384
3 156
4 59
5 654
6 624
7 112
8 95
9 646
10 91
11 602
12 423
13 711
14 235
15 581
16 14
17 61
18 501
19 616
20 356
21 645
22 127
23 542
24 379
25 18
26 10
27 508
28 408
29 7
30 573
31 137
32 233
33 561
34 458
35 179
36 391
37 119
38 734
39 584
40 489
41 435
42 432
43 221
44 389
45 491
46 693
47 496
48 668
49 499
50 520
51 68
52 148
53 399
54 32
55 451
56 321
57 190
58 381
59 514
60 411
61 692
62 579
63 274
64 552
65 305
66 524
67 518
68 41
69 684
70 610
71 551
72 495
73 580
74 647
75 672
76 56
77 195
78 162
79 295
80 726
81 511
82 275
83 303
84 208
85 642
86 699
87 560
88 231
89 564
90 633
91 212
92 57
93 261
94 683
95 216
96 9
97 754
98 35
99 240
100 649
101 419
102 20
103 224
104 545
105 433
106 279
107 370
108 763
109 430
110 326
111 461
112 120
113 453
114 590
115 257
116 373
117 387
118 158
119 653
120 471
121 318
122 324
123 635
124 397
125 634
126 314
127 620
128 669
129 612
130 220
131 177
132 134
133 717
134 39
135 12
136 347
137 712
138 747
139 402
140 101
141 66
142 78
143 130
144 361
145 150
146 169
147 36
148 327
149 54
150 351
151 591
152 539
153 689
154 24
155 519
156 11
157 383
158 606
159 766
160 736
161 603
162 80
163 362
164 477
165 273
166 571
167 83
168 436
169 439
170 681
171 412
172 434
173 172
174 157
175 196
176 713
177 74
178 651
179 135
180 459
181 422
182 706
183 403
184 355
185 122
186 589
187 341
188 296
189 312
190 585
191 382
192 662
193 69
194 405
195 332
196 675
197 628
198 167
199 264
200 189
201 735
202 517
203 556
204 197
205 657
206 100
207 297
208 284
209 330
210 206
211 739
212 490
213 756
214 325
215 219
216 457
217 262
218 180
219 143
220 392
221 400
222 592
223 661
224 283
225 280
226 593
227 306
228 704
229 546
230 660
231 147
232 608
233 93
234 33
235 702
236 576
237 23
238 90
239 639
240 386
241 568
242 338
243 749
244 19
245 141
246 251
247 666
248 265
249 37
250 290
251 170
252 507
253 605
254 474
255 600
256 82
257 759
258 523
259 426
260 110
261 62
262 349
263 63
264 38
265 215
266 198
267 673
268 129
269 342
270 256
271 582
272 456
273 427
274 343
275 428
276 547
277 648
278 276
279 17
280 238
281 415
282 328
283 478
284 263
285 641
286 670
287 268
288 358
289 467
290 34
291 679
292 755
293 269
294 468
295 420
296 40
297 258
298 487
299 698
300 476
301 466
302 416
303 340
304 494
305 98
306 480
307 118
308 553
309 406
310 543
311 320
312 294
313 663
314 282
315 765
316 152
317 204
318 285
319 640
320 55
321 563
322 727
323 232
324 146
325 333
326 42
327 2
328 8
329 89
330 758
331 255
332 445
333 346
334 627
335 5
336 6
337 730
338 334
339 237
340 245
341 465
342 497
343 557
344 210
345 733
346 4
347 138
348 319
349 378
350 549
351 369
352 139
353 577
354 185
355 493
356 530
357 374
358 181
359 165
360 611
361 376
362 516
363 207
364 638
365 364
366 317
367 625
368 710
369 509
370 29
371 541
372 184
373 230
374 299
375 444
376 259
377 77
378 652
379 217
380 526
381 388
382 289
383 136
384 186
385 81
386 301
387 554
388 535
389 595
390 241
391 558
392 482
393 316
394 687
395 105
396 562
397 67
398 339
399 166
400 182
401 310
402 745
403 705
404 751
405 464
406 287
407 16
408 680
409 244
410 168
411 51
412 154
413 229
414 128
415 529
416 298
417 286
418 71
419 470
420 512
421 609
422 505
423 84
424 331
425 421
426 58
427 659
428 538
429 278
430 414
431 277
432 292
433 366
434 390
435 194
436 133
437 116
438 506
439 350
440 199
441 643
442 188
443 757
444 281
445 527
446 174
447 109
448 656
449 729
450 601
451 500
452 267
453 86
454 65
455 676
456 522
457 377
458 762
459 743
460 113
461 302
462 70
463 728
464 371
465 214
466 583
467 291
468 192
469 630
470 401
471 161
472 629
473 187
474 685
475 528
476 703
477 193
478 357
479 515
480 617
481 504
482 111
483 94
484 404
485 586
486 253
487 440
488 473
489 30
490 753
491 300
492 688
493 567
494 479
495 107
496 492
497 21
498 126
499 716
500 452
501 555
502 626
503 682
504 565
505 484
506 337
507 532
508 254
509 425
510 396
511 446
512 619
513 102
514 462
515 460
516 131
517 250
518 97
519 448
520 50
521 248
522 266
523 236
524 709
525 732
526 488
527 223
528 708
529 367
530 690
531 744
532 178
533 537
534 115
535 741
536 604
537 125
538 117
539 159
540 613
541 481
542 243
543 247
544 288
545 360
546 569
547 578
548 175
549 201
550 121
551 368
552 45
553 534
554 329
555 607
556 450
557 677
558 596
559 227
560 307
561 160
562 260
563 380
564 575
565 31
566 737
567 242
568 686
569 486
570 225
571 13
572 176
573 44
574 485
575 173
576 442
577 3
578 398
579 272
580 145
581 352
582 239
583 761
584 222
585 483
586 92
587 594
588 106
589 510
590 410
591 88
592 394
593 665
594 52
595 47
596 472
597 695
598 218
599 614
600 750
601 417
602 443
603 348
604 73
605 424
606 163
607 574
608 252
609 719
610 202
611 354
612 96
613 431
614 304
615 636
616 597
617 234
618 353
619 365
620 104
621 550
622 72
623 723
624 15
625 566
626 205
627 588
628 385
629 714
630 650
631 144
632 1
633 211
634 313
635 621
636 533
637 742
638 637
639 631
640 548
641 75
642 200
643 469
644 249
645 418
646 309
647 531
648 559
649 124
650 678
651 700
652 503
653 667
654 132
655 622
656 183
657 228
658 722
659 694
660 525
661 311
662 718
663 26
664 27
665 587
666 513
667 246
668 271
669 64
670 498
671 521
672 164
673 746
674 413
675 615
676 437
677 359
678 336
679 99
680 760
681 53
682 43
683 372
684 140
685 46
686 79
687 731
688 171
689 715
690 270
691 226
692 618
693 570
694 429
695 696
696 85
697 701
698 632
699 103
700 572
701 475
702 28
703 345
704 502
705 644
706 142
707 153
708 674
709 213
710 308
711 123
712 455
713 540
714 697
715 441
716 767
717 707
718 87
719 720
720 22
721 438
722 655
723 375
724 725
725 623
726 691
727 536
728 49
729 598
730 114
731 315
732 740
733 151
734 449
735 738
736 203
737 724
738 671
739 48
740 599
741 108
742 748
743 664
744 363
745 335
746 344
747 752
748 544
749 463
750 393
751 0
752 323
753 454
754 764
755 76
756 409
757 395
758 447
759 293
760 209
761 155
762 658
763 191
764 721
765 25
766 407
767 149
768 322

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 326
111 461
112 120
113 453
114 590
115 257
116 373
117 387
118 158
119 653
120 471
121 318
122 324
123 635
124 397
125 634
126 314
127 620
128 669
129 612
130 220
131 177
132 134
133 717
134 39
135 12
136 347
137 712
138 747
139 402
140 101
141 66
142 78
143 130
144 361
145 150
146 169
147 36
148 327
149 54
150 351
151 591
152 539
153 689
154 24
155 519
156 11
157 383
158 606
159 766
160 736
161 603
162 80
163 362
164 477
165 273
166 571
167 83
168 436
169 439
170 681
171 412
172 434
173 172
174 157
175 196
176 713
177 74
178 651
179 135
180 459
181 422
182 706
183 403
184 355
185 122
186 589
187 341
188 296
189 312
190 585
191 382
192 662
193 69
194 405
195 332
196 675
197 628
198 167
199 264
200 189
201 735
202 517
203 556
204 197
205 657
206 100
207 297
208 284
209 330
210 206
211 739
212 490
213 756
214 325
215 219
216 457
217 262
218 180
219 143
220 392
221 400
222 592
223 661
224 283
225 280
226 593
227 306
228 704
229 546
230 660
231 147
232 608
233 93
234 33
235 702
236 576
237 23
238 90
239 639
240 386
241 568
242 338
243 749
244 19
245 141
246 251
247 666
248 265
249 37
250 290
251 170
252 507
253 605
254 474
255 600
256 82
257 759
258 523
259 426
260 110
261 62
262 349
263 63
264 38
265 215
266 198
267 673
268 129
269 342
270 256
271 582
272 456
273 427
274 343
275 428
276 547
277 648
278 276
279 17
280 238
281 415
282 328
283 478
284 263
285 641
286 670
287 268
288 358
289 467
290 34
291 679
292 755
293 269
294 468
295 420
296 40
297 258
298 487
299 698
300 476
301 466
302 416
303 340
304 494
305 98
306 480
307 118
308 553
309 406
310 543
311 320
312 294
313 663
314 282
315 765
316 152
317 204
318 285
319 640
320 55
321 563
322 727
323 232
324 146
325 333
326 42
327 2
328 8
329 89
330 758
331 255
332 445
333 346
334 627
335 5
336 6
337 730
338 334
339 237
340 245
341 465
342 497
343 557
344 210
345 733
346 4
347 138
348 319
349 378
350 549
351 369
352 139
353 577
354 185
355 493
356 530
357 374
358 181
359 165
360 611
361 376
362 516
363 207
364 638
365 364
366 317
367 625
368 710
369 509
370 29
371 541
372 184
373 230
374 299
375 444
376 259
377 77
378 652
379 217
380 526
381 388
382 289
383 136
384 186
385 81
386 301
387 554
388 535
389 595
390 241
391 558
392 482
393 316
394 687
395 105
396 562
397 67
398 339
399 166
400 182
401 310
402 745
403 705
404 751
405 464
406 287
407 16
408 680
409 244
410 168
411 51
412 154
413 229
414 128
415 529
416 298
417 286
418 71
419 470
420 512
421 609
422 505
423 84
424 331
425 421
426 58
427 659
428 538
429 278
430 414
431 277
432 292
433 366
434 390
435 194
436 133
437 116
438 506
439 350
440 199
441 643
442 188
443 757
444 281
445 527
446 174
447 109
448 656
449 729
450 601
451 500
452 267
453 86
454 65
455 676
456 522
457 377
458 762
459 743
460 113
461 302
462 70
463 728
464 371
465 214
466 583
467 291
468 192
469 630
470 401
471 161
472 629
473 187
474 685
475 528
476 703
477 193
478 357
479 515
480 617
481 504
482 111
483 94
484 404
485 586
486 253
487 440
488 473
489 30
490 753
491 300
492 688
493 567
494 479
495 107
496 492
497 21
498 126
499 716
500 452
501 555
502 626
503 682
504 565
505 484
506 337
507 532
508 254
509 425
510 396
511 446
512 619
513 102
514 462
515 460
516 131
517 250
518 97
519 448
520 50
521 248
522 266
523 236
524 709
525 732
526 488
527 223
528 708
529 367
530 690
531 744
532 178
533 537
534 115
535 741
536 604
537 125
538 117
539 159
540 613
541 481
542 243
543 247
544 288
545 360
546 569
547 578
548 175
549 201
550 121
551 368
552 45
553 534
554 329
555 607
556 450
557 677
558 596
559 227
560 307
561 160
562 260
563 380
564 575
565 31
566 737
567 242
568 686
569 486
570 225
571 13
572 176
573 44
574 485
575 173
576 442
577 3
578 398
579 272
580 145
581 352
582 239
583 761
584 222
585 483
586 92
587 594
588 106
589 510
590 410
591 88
592 394
593 665
594 52
595 47
596 472
597 695
598 218
599 614
600 750
601 417
602 443
603 348
604 73
605 424
606 163
607 574
608 252
609 719
610 202
611 354
612 96
613 431
614 304
615 636
616 597
617 234
618 353
619 365
620 104
621 550
622 72
623 723
624 15
625 566
626 205
627 588
628 385
629 714
630 650
631 144
632 1
633 211
634 313
635 621
636 533
637 742
638 637
639 631
640 548
641 75
642 200
643 469
644 249
645 418
646 309
647 531
648 559
649 124
650 678
651 700
652 503
653 667
654 132
655 622
656 183
657 228
658 722
659 694
660 60
661 384
662 156
663 59
664 654
665 624
666 112
667 95
668 646
669 91
670 602
671 423
672 711
673 235
674 581
675 14
676 61
677 501
678 616
679 356
680 645
681 127
682 542
683 379
684 18
685 10
686 508
687 408
688 7
689 573
690 137
691 233
692 561
693 458
694 179
695 391
696 119
697 734
698 584
699 489
700 435
701 432
702 221
703 389
704 491
705 693
706 496
707 668
708 499
709 520
710 68
711 148
712 399
713 32
714 451
715 321
716 190
717 381
718 514
719 411
720 692
721 579
722 274
723 552
724 305
725 524
726 518
727 41
728 684
729 610
730 551
731 495
732 580
733 647
734 672
735 56
736 195
737 162
738 295
739 726
740 511
741 275
742 303
743 208
744 642
745 699
746 560
747 231
748 564
749 633
750 212
751 57
752 261
753 683
754 216
755 9
756 754
757 35
758 240
759 649
760 419
761 20
762 224
763 545
764 433
765 279
766 370
767 763
768 430

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 143
220 392
221 400
222 592
223 661
224 283
225 280
226 593
227 306
228 704
229 546
230 660
231 147
232 608
233 93
234 33
235 702
236 576
237 23
238 90
239 639
240 386
241 568
242 338
243 749
244 19
245 141
246 251
247 666
248 265
249 37
250 290
251 170
252 507
253 605
254 474
255 600
256 82
257 759
258 523
259 426
260 110
261 62
262 349
263 63
264 38
265 215
266 198
267 673
268 129
269 342
270 256
271 582
272 456
273 427
274 343
275 428
276 547
277 648
278 276
279 17
280 238
281 415
282 328
283 478
284 263
285 641
286 670
287 268
288 358
289 467
290 34
291 679
292 755
293 269
294 468
295 420
296 40
297 258
298 487
299 698
300 476
301 466
302 416
303 340
304 494
305 98
306 480
307 118
308 553
309 406
310 543
311 320
312 294
313 663
314 282
315 765
316 152
317 204
318 285
319 640
320 55
321 563
322 727
323 232
324 146
325 333
326 42
327 2
328 8
329 89
330 758
331 255
332 445
333 346
334 627
335 5
336 6
337 730
338 334
339 237
340 245
341 465
342 497
343 557
344 210
345 733
346 4
347 138
348 319
349 378
350 549
351 369
352 139
353 577
354 185
355 493
356 530
357 374
358 181
359 165
360 611
361 376
362 516
363 207
364 638
365 364
366 317
367 625
368 710
369 509
370 29
371 541
372 184
373 230
374 299
375 444
376 259
377 77
378 652
379 217
380 526
381 388
382 289
383 136
384 186
385 81
386 301
387 554
388 535
389 595
390 241
391 558
392 482
393 316
394 687
395 105
396 562
397 67
398 339
399 166
400 182
401 310
402 745
403 705
404 751
405 464
406 287
407 16
408 680
409 244
410 168
411 51
412 154
413 229
414 128
415 529
416 298
417 286
418 71
419 470
420 512
421 609
422 505
423 84
424 331
425 421
426 58
427 659
428 538
429 278
430 414
431 277
432 292
433 366
434 390
435 194
436 133
437 116
438 506
439 350
440 199
441 643
442 188
443 757
444 281
445 527
446 174
447 109
448 656
449 729
450 601
451 500
452 267
453 86
454 65
455 676
456 522
457 377
458 762
459 743
460 113
461 302
462 70
463 728
464 371
465 214
466 583
467 291
468 192
469 630
470 401
471 161
472 629
473 187
474 685
475 528
476 703
477 193
478 357
479 515
480 617
481 504
482 111
483 94
484 404
485 586
486 253
487 440
488 473
489 30
490 753
491 300
492 688
493 567
494 479
495 107
496 492
497 21
498 126
499 716
500 452
501 555
502 626
503 682
504 565
505 484
506 337
507 532
508 254
509 425
510 396
511 446
512 619
513 102
514 462
515 460
516 131
517 250
518 97
519 448
520 50
521 248
522 266
523 236
524 709
525 732
526 488
527 223
528 708
529 367
530 690
531 744
532 178
533 537
534 115
535 741
536 604
537 125
538 117
539 159
540 613
541 481
542 243
543 247
544 288
545 360
546 569
547 578
548 175
549 201
550 121
551 368
552 45
553 534
554 329
555 607
556 450
557 677
558 596
559 227
560 307
561 160
562 260
563 380
564 575
565 31
566 737
567 242
568 686
569 486
570 225
571 13
572 176
573 44
574 485
575 173
576 442
577 3
578 398
579 272
580 145
581 352
582 239
583 761
584 222
585 483
586 92
587 594
588 106
589 510
590 410
591 88
592 394
593 665
594 52
595 47
596 472
597 695
598 218
599 614
600 750
601 417
602 443
603 348
604 73
605 424
606 163
607 574
608 252
609 719
610 202
611 354
612 96
613 431
614 304
615 636
616 597
617 234
618 353
619 365
620 104
621 550
622 72
623 723
624 15
625 566
626 205
627 588
628 385
629 714
630 650
631 144
632 1
633 211
634 313
635 621
636 533
637 742
638 637
639 631
640 548
641 75
642 200
643 469
644 249
645 418
646 309
647 531
648 559
649 124
650 678
651 700
652 503
653 667
654 132
655 622
656 183
657 228
658 722
659 694
660 326
661 461
662 120
663 453
664 590
665 257
666 373
667 387
668 158
669 653
670 471
671 318
672 324
673 635
674 397
675 634
676 314
677 620
678 669
679 612
680 220
681 177
682 134
683 717
684 39
685 12
686 347
687 712
688 747
689 402
690 101
691 66
692 78
693 130
694 361
695 150
696 169
697 36
698 327
699 54
700 351
701 591
702 539
703 689
704 24
705 519
706 11
707 383
708 606
709 766
710 736
711 603
712 80
713 362
714 477
715 273
716 571
717 83
718 436
719 439
720 681
721 412
722 434
723 172
724 157
725 196
726 713
727 74
728 651
729 135
730 459
731 422
732 706
733 403
734 355
735 122
736 589
737 341
738 296
739 312
740 585
741 382
742 662
743 69
744 405
745 332
746 675
747 628
748 167
749 264
750 189
751 735
752 517
753 556
754 197
755 657
756 100
757 297
758 284
759 330
760 206
761 739
762 490
763 756
764 325
765 219
766 457
767 262
768 180

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 8
329 89
330 758
331 255
332 445
333 346
334 627
335 5
336 6
337 730
338 334
339 237
340 245
341 465
342 497
343 557
344 210
345 733
346 4
347 138
348 319
349 378
350 549
351 369
352 139
353 577
354 185
355 493
356 530
357 374
358 181
359 165
360 611
361 376
362 516
363 207
364 638
365 364
366 317
367 625
368 710
369 509
370 29
371 541
372 184
373 230
374 299
375 444
376 259
377 77
378 652
379 217
380 526
381 388
382 289
383 136
384 186
385 81
386 301
387 554
388 535
389 595
390 241
391 558
392 482
393 316
394 687
395 105
396 562
397 67
398 339
399 166
400 182
401 310
402 745
403 705
404 751
405 464
406 287
407 16
408 680
409 244
410 168
411 51
412 154
413 229
414 128
415 529
416 298
417 286
418 71
419 470
420 512
421 609
422 505
423 84
424 331
425 421
426 58
427 659
428 538
429 278
430 414
431 277
432 292
433 366
434 390
435 194
436 133
437 116
438 506
439 350
440 199
441 643
442 188
443 757
444 281
445 527
446 174
447 109
448 656
449 729
450 601
451 500
452 267
453 86
454 65
455 676
456 522
457 377
458 762
459 743
460 113
461 302
462 70
463 728
464 371
465 214
466 583
467 291
468 192
469 630
470 401
471 161
472 629
473 187
474 685
475 528
476 703
477 193
478 357
479 515
480 617
481 504
482 111
483 94
484 404
485 586
486 253
487 440
488 473
489 30
490 753
491 300
492 688
493 567
494 479
495 107
496 492
497 21
498 126
499 716
500 452
501 555
502 626
503 682
504 565
505 484
506 337
507 532
508 254
509 425
510 396
511 446
512 619
513 102
514 462
515 460
516 131
517 250
518 97
519 448
520 50
521 248
522 266
523 236
524 709
525 732
526 488
527 223
528 708
529 367
530 690
531 744
532 178
533 537
534 115
535 741
536 604
537 125
538 117
539 159
540 613
541 481
542 243
543 247
544 288
545 360
546 569
547 578
548 175
549 201
550 121
551 368
552 45
553 534
554 329
555 607
556 450
557 677
558 596
559 227
560 307
561 160
562 260
563 380
564 575
565 31
566 737
567 242
568 686
569 486
570 225
571 13
572 176
573 44
574 485
575 173
576 442
577 3
578 398
579 272
580 145
581 352
582 239
583 761
584 222
585 483
586 92
587 594
588 106
589 510
590 410
591 88
592 394
593 665
594 52
595 47
596 472
597 695
598 218
599 614
600 750
601 417
602 443
603 348
604 73
605 424
606 163
607 574
608 252
609 719
610 202
611 354
612 96
613 431
614 304
615 636
616 597
617 234
618 353
619 365
620 104
621 550
622 72
623 723
624 15
625 566
626 205
627 588
628 385
629 714
630 650
631 144
632 1
633 211
634 313
635 621
636 533
637 742
638 637
639 631
640 548
641 75
642 200
643 469
644 249
645 418
646 309
647 531
648 559
649 124
650 678
651 700
652 503
653 667
654 132
655 622
656 183
657 228
658 722
659 694
660 143
661 392
662 400
663 592
664 661
665 283
666 280
667 593
668 306
669 704
670 546
671 660
672 147
673 608
674 93
675 33
676 702
677 576
678 23
679 90
680 639
681 386
682 568
683 338
684 749
685 19
686 141
687 251
688 666
689 265
690 37
691 290
692 170
693 507
694 605
695 474
696 600
697 82
698 759
699 523
700 426
701 110
702 62
703 349
704 63
705 38
706 215
707 198
708 673
709 129
710 342
711 256
712 582
713 456
714 427
715 343
716 428
717 547
718 648
719 276
720 17
721 238
722 415
723 328
724 478
725 263
726 641
727 670
728 268
729 358
730 467
731 34
732 679
733 755
734 269
735 468
736 420
737 40
738 258
739 487
740 698
741 476
742 466
743 416
744 340
745 494
746 98
747 480
748 118
749 553
750 406
751 543
752 320
753 294
754 663
755 282
756 765
757 152
758 204
759 285
760 640
761 55
762 563
763 727
764 232
765 146
766 333
767 42
768 2

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 456
382 427
383 343
384 428
385 547
386 648
387 276
388 17
389 238
390 415
391 328
392 478
393 263
394 641
395 670
396 268
397 358
398 467
399 34
400 679
401 755
402 269
403 468
404 420
405 40
406 258
407 487
408 698
409 476
410 466
411 416
412 340
413 494
414 98
415 480
416 118
417 553
418 406
419 543
420 320
421 294
422 663
423 282
424 765
425 152
426 204
427 285
428 640
429 55
430 563
431 727
432 232
433 146
434 333
435 42
436 2
437 116
438 506
439 350
440 199
441 643
442 188
443 757
444 281
445 527
446 174
447 109
448 656
449 729
450 601
451 500
452 267
453 86
454 65
455 676
456 522
457 377
458 762
459 743
460 113
461 302
462 70
463 728
464 371
465 214
466 583
467 291
468 192
469 630
470 401
471 161
472 629
473 187
474 685
475 528
476 703
477 193
478 357
479 515
480 617
481 504
482 111
483 94
484 404
485 586
486 253
487 440
488 473
489 30
490 753
491 300
492 688
493 567
494 479
495 107
496 492
497 21
498 126
499 716
500 452
501 555
502 626
503 682
504 565
505 484
506 337
507 532
508 254
509 425
510 396
511 446
512 619
513 102
514 462
515 460
516 131
517 250
518 97
519 448
520 50
521 248
522 266
523 236
524 709
525 732
526 488
527 223
528 708
529 367
530 690
531 744
532 178
533 537
534 115
535 741
536 604
537 125
538 117
539 159
540 613
541 481
542 243
543 247
544 288
545 360
546 569
547 578
548 175
549 201
550 121
551 368
552 45
553 534
554 329
555 607
556 450
557 677
558 596
559 227
560 307
561 160
562 260
563 380
564 575
565 31
566 737
567 242
568 686
569 486
570 225
571 13
572 176
573 44
574 485
575 173
576 442
577 3
578 398
579 272
580 145
581 352
582 239
583 761
584 222
585 483
586 92
587 594
588 106
589 510
590 410
591 88
592 394
593 665
594 52
595 47
596 472
597 695
598 218
599 614
600 750
601 417
602 443
603 348
604 73
605 424
606 163
607 574
608 252
609 719
610 202
611 354
612 96
613 431
614 304
615 636
616 597
617 234
618 353
619 365
620 104
621 550
622 72
623 723
624 15
625 566
626 205
627 588
628 385
629 714
630 650
631 144
632 1
633 211
634 313
635 621
636 533
637 742
638 637
639 631
640 548
641 75
642 200
643 469
644 249
645 418
646 309
647 531
648 559
649 124
650 678
651 700
652 503
653 667
654 132
655 622
656 183
657 228
658 722
659 694
660 8
661 89
662 758
663 255
664 445
665 346
666 627
667 5
668 6
669 730
670 334
671 237
672 245
673 465
674 497
675 557
676 210
677 733
678 4
679 138
680 319
681 378
682 549
683 369
684 139
685 577
686 185
687 493
688 530
689 374
690 181
691 165
692 611
693 376
694 516
695 207
696 638
697 364
698 317
699 625
700 710
701 509
702 29
703 541
704 184
705 230
706 299
707 444
708 259
709 77
710 652
711 217
712 526
713 388
714 289
715 136
716 186
717 81
718 301
719 554
720 535
721 595
722 241
723 558
724 482
725 316
726 687
727 105
728 562
729 67
730 339
731 166
732 182
733 310
734 745
735 705
736 751
737 464
738 287
739 16
740 680
741 244
742 168
743 51
744 154
745 229
746 128
747 529
748 298
749 286
750 71
751 470
752 512
753 609
754 505
755 84
756 331
757 421
758 58
759 659
760 538
761 278
762 414
763 277
764 292
765 366
766 390
767 194
768 133

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
622
183
228
722
694
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 456
382 427
383 343
384 428
385 547
386 648
387 276
388 17
389 238
390 415
391 328
392 478
393 263
394 641
395 670
396 268
397 358
398 467
399 34
400 679
401 755
402 269
403 468
404 420
405 40
406 258
407 487
408 698
409 476
410 466
411 416
412 340
413 494
414 98
415 480
416 118
417 553
418 406
419 543
420 320
421 294
422 663
423 282
424 765
425 152
426 204
427 285
428 640
429 55
430 563
431 727
432 232
433 146
434 333
435 42
436 2
437 8
438 89
439 758
440 255
441 445
442 346
443 627
444 5
445 6
446 730
447 334
448 237
449 245
450 465
451 497
452 557
453 210
454 733
455 4
456 138
457 319
458 378
459 549
460 369
461 139
462 577
463 185
464 493
465 530
466 374
467 181
468 165
469 611
470 376
471 516
472 207
473 638
474 364
475 317
476 625
477 710
478 509
479 29
480 541
481 184
482 230
483 299
484 444
485 259
486 77
487 652
488 217
489 526
490 388
491 289
492 136
493 186
494 81
495 301
496 554
497 535
498 595
499 241
500 558
501 482
502 316
503 687
504 105
505 562
506 67
507 339
508 166
509 182
510 310
511 745
512 705
513 751
514 464
515 287
516 16
517 680
518 244
519 168
520 51
521 154
522 229
523 128
524 529
525 298
526 286
527 71
528 470
529 512
530 609
531 505
532 84
533 331
534 421
535 58
536 659
537 538
538 278
539 414
540 277
541 292
542 366
543 390
544 194
545 133
546 569
547 578
548 175
549 201
550 121
551 368
552 45
553 534
554 329
555 607
556 450
557 677
558 596
559 227
560 307
561 160
562 260
563 380
564 575
565 31
566 737
567 242
568 686
569 486
570 225
571 13
572 176
573 44
574 485
575 173
576 442
577 3
578 398
579 272
580 145
581 352
582 239
583 761
584 222
585 483
586 92
587 594
588 106
589 510
590 410
591 88
592 394
593 665
594 52
595 47
596 472
597 695
598 218
599 614
600 750
601 417
602 443
603 348
604 73
605 424
606 163
607 574
608 252
609 719
610 202
611 354
612 96
613 431
614 304
615 636
616 597
617 234
618 353
619 365
620 104
621 550
622 72
623 723
624 15
625 566
626 205
627 588
628 385
629 714
630 650
631 144
632 1
633 211
634 313
635 621
636 533
637 742
638 637
639 631
640 548
641 75
642 200
643 469
644 249
645 418
646 309
647 531
648 559
649 124
650 678
651 700
652 503
653 667
654 132
655 622
656 183
657 228
658 722
659 694
660 116
661 506
662 350
663 199
664 643
665 188
666 757
667 281
668 527
669 174
670 109
671 656
672 729
673 601
674 500
675 267
676 86
677 65
678 676
679 522
680 377
681 762
682 743
683 113
684 302
685 70
686 728
687 371
688 214
689 583
690 291
691 192
692 630
693 401
694 161
695 629
696 187
697 685
698 528
699 703
700 193
701 357
702 515
703 617
704 504
705 111
706 94
707 404
708 586
709 253
710 440
711 473
712 30
713 753
714 300
715 688
716 567
717 479
718 107
719 492
720 21
721 126
722 716
723 452
724 555
725 626
726 682
727 565
728 484
729 337
730 532
731 254
732 425
733 396
734 446
735 619
736 102
737 462
738 460
739 131
740 250
741 97
742 448
743 50
744 248
745 266
746 236
747 709
748 732
749 488
750 223
751 708
752 367
753 690
754 744
755 178
756 537
757 115
758 741
759 604
760 125
761 117
762 159
763 613
764 481
765 243
766 247
767 288
768 360

View File

@@ -0,0 +1,768 @@
525
311
718
26
27
587
513
246
271
64
498
521
164
746
413
615
437
359
336
99
760
53
43
372
140
46
79
731
171
715
270
226
618
570
429
696
85
701
632
103
572
475
28
345
502
644
142
153
674
213
308
123
455
540
697
441
767
707
87
720
22
438
655
375
725
623
691
536
49
598
114
315
740
151
449
738
203
724
671
48
599
108
748
664
363
335
344
752
544
463
393
0
323
454
764
76
409
395
447
293
209
155
658
191
721
25
407
149
322
60
384
156
59
654
624
112
95
646
91
602
423
711
235
581
14
61
501
616
356
645
127
542
379
18
10
508
408
7
573
137
233
561
458
179
391
119
734
584
489
435
432
221
389
491
693
496
668
499
520
68
148
399
32
451
321
190
381
514
411
692
579
274
552
305
524
518
41
684
610
551
495
580
647
672
56
195
162
295
726
511
275
303
208
642
699
560
231
564
633
212
57
261
683
216
9
754
35
240
649
419
20
224
545
433
279
370
763
430
326
461
120
453
590
257
373
387
158
653
471
318
324
635
397
634
314
620
669
612
220
177
134
717
39
12
347
712
747
402
101
66
78
130
361
150
169
36
327
54
351
591
539
689
24
519
11
383
606
766
736
603
80
362
477
273
571
83
436
439
681
412
434
172
157
196
713
74
651
135
459
422
706
403
355
122
589
341
296
312
585
382
662
69
405
332
675
628
167
264
189
735
517
556
197
657
100
297
284
330
206
739
490
756
325
219
457
262
180
143
392
400
592
661
283
280
593
306
704
546
660
147
608
93
33
702
576
23
90
639
386
568
338
749
19
141
251
666
265
37
290
170
507
605
474
600
82
759
523
426
110
62
349
63
38
215
198
673
129
342
256
582
456
427
343
428
547
648
276
17
238
415
328
478
263
641
670
268
358
467
34
679
755
269
468
420
40
258
487
698
476
466
416
340
494
98
480
118
553
406
543
320
294
663
282
765
152
204
285
640
55
563
727
232
146
333
42
2
8
89
758
255
445
346
627
5
6
730
334
237
245
465
497
557
210
733
4
138
319
378
549
369
139
577
185
493
530
374
181
165
611
376
516
207
638
364
317
625
710
509
29
541
184
230
299
444
259
77
652
217
526
388
289
136
186
81
301
554
535
595
241
558
482
316
687
105
562
67
339
166
182
310
745
705
751
464
287
16
680
244
168
51
154
229
128
529
298
286
71
470
512
609
505
84
331
421
58
659
538
278
414
277
292
366
390
194
133
116
506
350
199
643
188
757
281
527
174
109
656
729
601
500
267
86
65
676
522
377
762
743
113
302
70
728
371
214
583
291
192
630
401
161
629
187
685
528
703
193
357
515
617
504
111
94
404
586
253
440
473
30
753
300
688
567
479
107
492
21
126
716
452
555
626
682
565
484
337
532
254
425
396
446
619
102
462
460
131
250
97
448
50
248
266
236
709
732
488
223
708
367
690
744
178
537
115
741
604
125
117
159
613
481
243
247
288
360
622
183
228
722
694
569
578
175
201
121
368
45
534
329
607
450
677
596
227
307
160
260
380
575
31
737
242
686
486
225
13
176
44
485
173
442
3
398
272
145
352
239
761
222
483
92
594
106
510
410
88
394
665
52
47
472
695
218
614
750
417
443
348
73
424
163
574
252
719
202
354
96
431
304
636
597
234
353
365
104
550
72
723
15
566
205
588
385
714
650
144
1
211
313
621
533
742
637
631
548
75
200
469
249
418
309
531
559
124
678
700
503
667
132
1 525
2 311
3 718
4 26
5 27
6 587
7 513
8 246
9 271
10 64
11 498
12 521
13 164
14 746
15 413
16 615
17 437
18 359
19 336
20 99
21 760
22 53
23 43
24 372
25 140
26 46
27 79
28 731
29 171
30 715
31 270
32 226
33 618
34 570
35 429
36 696
37 85
38 701
39 632
40 103
41 572
42 475
43 28
44 345
45 502
46 644
47 142
48 153
49 674
50 213
51 308
52 123
53 455
54 540
55 697
56 441
57 767
58 707
59 87
60 720
61 22
62 438
63 655
64 375
65 725
66 623
67 691
68 536
69 49
70 598
71 114
72 315
73 740
74 151
75 449
76 738
77 203
78 724
79 671
80 48
81 599
82 108
83 748
84 664
85 363
86 335
87 344
88 752
89 544
90 463
91 393
92 0
93 323
94 454
95 764
96 76
97 409
98 395
99 447
100 293
101 209
102 155
103 658
104 191
105 721
106 25
107 407
108 149
109 322
110 60
111 384
112 156
113 59
114 654
115 624
116 112
117 95
118 646
119 91
120 602
121 423
122 711
123 235
124 581
125 14
126 61
127 501
128 616
129 356
130 645
131 127
132 542
133 379
134 18
135 10
136 508
137 408
138 7
139 573
140 137
141 233
142 561
143 458
144 179
145 391
146 119
147 734
148 584
149 489
150 435
151 432
152 221
153 389
154 491
155 693
156 496
157 668
158 499
159 520
160 68
161 148
162 399
163 32
164 451
165 321
166 190
167 381
168 514
169 411
170 692
171 579
172 274
173 552
174 305
175 524
176 518
177 41
178 684
179 610
180 551
181 495
182 580
183 647
184 672
185 56
186 195
187 162
188 295
189 726
190 511
191 275
192 303
193 208
194 642
195 699
196 560
197 231
198 564
199 633
200 212
201 57
202 261
203 683
204 216
205 9
206 754
207 35
208 240
209 649
210 419
211 20
212 224
213 545
214 433
215 279
216 370
217 763
218 430
219 326
220 461
221 120
222 453
223 590
224 257
225 373
226 387
227 158
228 653
229 471
230 318
231 324
232 635
233 397
234 634
235 314
236 620
237 669
238 612
239 220
240 177
241 134
242 717
243 39
244 12
245 347
246 712
247 747
248 402
249 101
250 66
251 78
252 130
253 361
254 150
255 169
256 36
257 327
258 54
259 351
260 591
261 539
262 689
263 24
264 519
265 11
266 383
267 606
268 766
269 736
270 603
271 80
272 362
273 477
274 273
275 571
276 83
277 436
278 439
279 681
280 412
281 434
282 172
283 157
284 196
285 713
286 74
287 651
288 135
289 459
290 422
291 706
292 403
293 355
294 122
295 589
296 341
297 296
298 312
299 585
300 382
301 662
302 69
303 405
304 332
305 675
306 628
307 167
308 264
309 189
310 735
311 517
312 556
313 197
314 657
315 100
316 297
317 284
318 330
319 206
320 739
321 490
322 756
323 325
324 219
325 457
326 262
327 180
328 143
329 392
330 400
331 592
332 661
333 283
334 280
335 593
336 306
337 704
338 546
339 660
340 147
341 608
342 93
343 33
344 702
345 576
346 23
347 90
348 639
349 386
350 568
351 338
352 749
353 19
354 141
355 251
356 666
357 265
358 37
359 290
360 170
361 507
362 605
363 474
364 600
365 82
366 759
367 523
368 426
369 110
370 62
371 349
372 63
373 38
374 215
375 198
376 673
377 129
378 342
379 256
380 582
381 456
382 427
383 343
384 428
385 547
386 648
387 276
388 17
389 238
390 415
391 328
392 478
393 263
394 641
395 670
396 268
397 358
398 467
399 34
400 679
401 755
402 269
403 468
404 420
405 40
406 258
407 487
408 698
409 476
410 466
411 416
412 340
413 494
414 98
415 480
416 118
417 553
418 406
419 543
420 320
421 294
422 663
423 282
424 765
425 152
426 204
427 285
428 640
429 55
430 563
431 727
432 232
433 146
434 333
435 42
436 2
437 8
438 89
439 758
440 255
441 445
442 346
443 627
444 5
445 6
446 730
447 334
448 237
449 245
450 465
451 497
452 557
453 210
454 733
455 4
456 138
457 319
458 378
459 549
460 369
461 139
462 577
463 185
464 493
465 530
466 374
467 181
468 165
469 611
470 376
471 516
472 207
473 638
474 364
475 317
476 625
477 710
478 509
479 29
480 541
481 184
482 230
483 299
484 444
485 259
486 77
487 652
488 217
489 526
490 388
491 289
492 136
493 186
494 81
495 301
496 554
497 535
498 595
499 241
500 558
501 482
502 316
503 687
504 105
505 562
506 67
507 339
508 166
509 182
510 310
511 745
512 705
513 751
514 464
515 287
516 16
517 680
518 244
519 168
520 51
521 154
522 229
523 128
524 529
525 298
526 286
527 71
528 470
529 512
530 609
531 505
532 84
533 331
534 421
535 58
536 659
537 538
538 278
539 414
540 277
541 292
542 366
543 390
544 194
545 133
546 116
547 506
548 350
549 199
550 643
551 188
552 757
553 281
554 527
555 174
556 109
557 656
558 729
559 601
560 500
561 267
562 86
563 65
564 676
565 522
566 377
567 762
568 743
569 113
570 302
571 70
572 728
573 371
574 214
575 583
576 291
577 192
578 630
579 401
580 161
581 629
582 187
583 685
584 528
585 703
586 193
587 357
588 515
589 617
590 504
591 111
592 94
593 404
594 586
595 253
596 440
597 473
598 30
599 753
600 300
601 688
602 567
603 479
604 107
605 492
606 21
607 126
608 716
609 452
610 555
611 626
612 682
613 565
614 484
615 337
616 532
617 254
618 425
619 396
620 446
621 619
622 102
623 462
624 460
625 131
626 250
627 97
628 448
629 50
630 248
631 266
632 236
633 709
634 732
635 488
636 223
637 708
638 367
639 690
640 744
641 178
642 537
643 115
644 741
645 604
646 125
647 117
648 159
649 613
650 481
651 243
652 247
653 288
654 360
655 622
656 183
657 228
658 722
659 694
660 569
661 578
662 175
663 201
664 121
665 368
666 45
667 534
668 329
669 607
670 450
671 677
672 596
673 227
674 307
675 160
676 260
677 380
678 575
679 31
680 737
681 242
682 686
683 486
684 225
685 13
686 176
687 44
688 485
689 173
690 442
691 3
692 398
693 272
694 145
695 352
696 239
697 761
698 222
699 483
700 92
701 594
702 106
703 510
704 410
705 88
706 394
707 665
708 52
709 47
710 472
711 695
712 218
713 614
714 750
715 417
716 443
717 348
718 73
719 424
720 163
721 574
722 252
723 719
724 202
725 354
726 96
727 431
728 304
729 636
730 597
731 234
732 353
733 365
734 104
735 550
736 72
737 723
738 15
739 566
740 205
741 588
742 385
743 714
744 650
745 144
746 1
747 211
748 313
749 621
750 533
751 742
752 637
753 631
754 548
755 75
756 200
757 469
758 249
759 418
760 309
761 531
762 559
763 124
764 678
765 700
766 503
767 667
768 132

View File

@@ -0,0 +1,214 @@
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
1 53
2 43
3 38
4 140
5 46
6 79
7 200
8 171
9 129
10 80
11 158
12 180
13 70
14 34
15 106
16 85
17 62
18 36
19 103
20 63
21 78
22 28
23 23
24 21
25 186
26 142
27 153
28 163
29 213
30 189
31 123
32 138
33 82
34 201
35 90
36 92
37 147
38 87
39 96
40 22
41 17
42 107
43 31
44 100
45 139
46 166
47 184
48 49
49 194
50 114
51 197
52 1
53 151
54 198
55 12
56 203
57 30
58 144
59 48
60 84
61 108
62 199
63 72
64 145
65 167
66 192
67 66
68 133
69 81
70 44
71 0
72 126
73 4
74 183
75 76
76 181
77 94
78 33
79 122
80 209
81 155
82 121
83 191
84 165
85 25
86 176
87 149
88 24
89 60
90 45
91 156
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 207
101 8
102 37
103 187
104 14
105 61
106 152
107 169
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 182
116 5
117 7
118 69
119 137
120 71
121 86
122 211
123 179
124 29
125 119
126 205
127 47
128 120
129 2
130 146
131 132
132 118
133 136
134 6
135 110
136 11
137 102
138 154
139 68
140 148
141 13
142 32
143 188
144 52
145 190
146 178
147 135
148 210
149 111
150 161
151 104
152 172
153 50
154 193
155 168
156 41
157 73
158 97
159 124
160 174
161 101
162 159
163 65
164 56
165 195
166 162
167 93
168 141
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 77
195 175
196 202
197 26
198 27
199 16
200 67
201 160
202 40
203 64
204 130
205 206
206 164
207 74
208 98
209 58
210 89
211 170
212 177
213 99
214 105

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 28
23 23
24 21
25 186
26 142
27 153
28 163
29 213
30 189
31 123
32 138
33 82
34 201
35 90
36 92
37 147
38 87
39 96
40 22
41 17
42 107
43 31
44 100
45 139
46 166
47 184
48 49
49 194
50 114
51 197
52 1
53 151
54 198
55 12
56 203
57 30
58 144
59 48
60 84
61 108
62 199
63 72
64 145
65 167
66 192
67 66
68 133
69 81
70 44
71 0
72 126
73 4
74 183
75 76
76 181
77 94
78 33
79 122
80 209
81 155
82 121
83 191
84 165
85 25
86 176
87 149
88 24
89 60
90 45
91 156
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 207
101 8
102 37
103 187
104 14
105 61
106 152
107 169
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 182
116 5
117 7
118 69
119 137
120 71
121 86
122 211
123 179
124 29
125 119
126 205
127 47
128 120
129 2
130 146
131 132
132 118
133 136
134 6
135 110
136 11
137 102
138 154
139 68
140 148
141 13
142 32
143 188
144 52
145 190
146 178
147 135
148 210
149 111
150 161
151 104
152 172
153 50
154 193
155 168
156 41
157 73
158 97
159 124
160 174
161 101
162 159
163 65
164 56
165 195
166 162
167 93
168 141
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 53
195 43
196 38
197 140
198 46
199 79
200 200
201 171
202 129
203 80
204 158
205 180
206 70
207 34
208 106
209 85
210 62
211 36
212 103
213 63
214 78

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 31
44 100
45 139
46 166
47 184
48 49
49 194
50 114
51 197
52 1
53 151
54 198
55 12
56 203
57 30
58 144
59 48
60 84
61 108
62 199
63 72
64 145
65 167
66 192
67 66
68 133
69 81
70 44
71 0
72 126
73 4
74 183
75 76
76 181
77 94
78 33
79 122
80 209
81 155
82 121
83 191
84 165
85 25
86 176
87 149
88 24
89 60
90 45
91 156
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 207
101 8
102 37
103 187
104 14
105 61
106 152
107 169
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 182
116 5
117 7
118 69
119 137
120 71
121 86
122 211
123 179
124 29
125 119
126 205
127 47
128 120
129 2
130 146
131 132
132 118
133 136
134 6
135 110
136 11
137 102
138 154
139 68
140 148
141 13
142 32
143 188
144 52
145 190
146 178
147 135
148 210
149 111
150 161
151 104
152 172
153 50
154 193
155 168
156 41
157 73
158 97
159 124
160 174
161 101
162 159
163 65
164 56
165 195
166 162
167 93
168 141
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 28
195 23
196 21
197 186
198 142
199 153
200 163
201 213
202 189
203 123
204 138
205 82
206 201
207 90
208 92
209 147
210 87
211 96
212 22
213 17
214 107

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 145
65 167
66 192
67 66
68 133
69 81
70 44
71 0
72 126
73 4
74 183
75 76
76 181
77 94
78 33
79 122
80 209
81 155
82 121
83 191
84 165
85 25
86 176
87 149
88 24
89 60
90 45
91 156
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 207
101 8
102 37
103 187
104 14
105 61
106 152
107 169
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 182
116 5
117 7
118 69
119 137
120 71
121 86
122 211
123 179
124 29
125 119
126 205
127 47
128 120
129 2
130 146
131 132
132 118
133 136
134 6
135 110
136 11
137 102
138 154
139 68
140 148
141 13
142 32
143 188
144 52
145 190
146 178
147 135
148 210
149 111
150 161
151 104
152 172
153 50
154 193
155 168
156 41
157 73
158 97
159 124
160 174
161 101
162 159
163 65
164 56
165 195
166 162
167 93
168 141
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 31
195 100
196 139
197 166
198 184
199 49
200 194
201 114
202 197
203 1
204 151
205 198
206 12
207 203
208 30
209 144
210 48
211 84
212 108
213 199
214 72

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 25
86 176
87 149
88 24
89 60
90 45
91 156
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 207
101 8
102 37
103 187
104 14
105 61
106 152
107 169
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 182
116 5
117 7
118 69
119 137
120 71
121 86
122 211
123 179
124 29
125 119
126 205
127 47
128 120
129 2
130 146
131 132
132 118
133 136
134 6
135 110
136 11
137 102
138 154
139 68
140 148
141 13
142 32
143 188
144 52
145 190
146 178
147 135
148 210
149 111
150 161
151 104
152 172
153 50
154 193
155 168
156 41
157 73
158 97
159 124
160 174
161 101
162 159
163 65
164 56
165 195
166 162
167 93
168 141
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 145
195 167
196 192
197 66
198 133
199 81
200 44
201 0
202 126
203 4
204 183
205 76
206 181
207 94
208 33
209 122
210 209
211 155
212 121
213 191
214 165

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 152
107 169
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 182
116 5
117 7
118 69
119 137
120 71
121 86
122 211
123 179
124 29
125 119
126 205
127 47
128 120
129 2
130 146
131 132
132 118
133 136
134 6
135 110
136 11
137 102
138 154
139 68
140 148
141 13
142 32
143 188
144 52
145 190
146 178
147 135
148 210
149 111
150 161
151 104
152 172
153 50
154 193
155 168
156 41
157 73
158 97
159 124
160 174
161 101
162 159
163 65
164 56
165 195
166 162
167 93
168 141
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 25
195 176
196 149
197 24
198 60
199 45
200 156
201 59
202 75
203 131
204 112
205 95
206 117
207 91
208 109
209 207
210 8
211 37
212 187
213 14
214 61

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 25
107 176
108 149
109 24
110 60
111 45
112 156
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 207
122 8
123 37
124 187
125 14
126 61
127 47
128 120
129 2
130 146
131 132
132 118
133 136
134 6
135 110
136 11
137 102
138 154
139 68
140 148
141 13
142 32
143 188
144 52
145 190
146 178
147 135
148 210
149 111
150 161
151 104
152 172
153 50
154 193
155 168
156 41
157 73
158 97
159 124
160 174
161 101
162 159
163 65
164 56
165 195
166 162
167 93
168 141
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 152
195 169
196 55
197 125
198 127
199 51
200 3
201 18
202 10
203 182
204 5
205 7
206 69
207 137
208 71
209 86
210 211
211 179
212 29
213 119
214 205

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 25
107 176
108 149
109 24
110 60
111 45
112 156
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 207
122 8
123 37
124 187
125 14
126 61
127 152
128 169
129 55
130 125
131 127
132 51
133 3
134 18
135 10
136 182
137 5
138 7
139 69
140 137
141 71
142 86
143 211
144 179
145 29
146 119
147 205
148 210
149 111
150 161
151 104
152 172
153 50
154 193
155 168
156 41
157 73
158 97
159 124
160 174
161 101
162 159
163 65
164 56
165 195
166 162
167 93
168 141
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 47
195 120
196 2
197 146
198 132
199 118
200 136
201 6
202 110
203 11
204 102
205 154
206 68
207 148
208 13
209 32
210 188
211 52
212 190
213 178
214 135

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 25
107 176
108 149
109 24
110 60
111 45
112 156
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 207
122 8
123 37
124 187
125 14
126 61
127 152
128 169
129 55
130 125
131 127
132 51
133 3
134 18
135 10
136 182
137 5
138 7
139 69
140 137
141 71
142 86
143 211
144 179
145 29
146 119
147 205
148 47
149 120
150 2
151 146
152 132
153 118
154 136
155 6
156 110
157 11
158 102
159 154
160 68
161 148
162 13
163 32
164 188
165 52
166 190
167 178
168 135
169 150
170 83
171 196
172 208
173 115
174 88
175 39
176 54
177 128
178 15
179 212
180 57
181 19
182 173
183 185
184 9
185 204
186 35
187 134
188 143
189 157
190 20
191 113
192 116
193 42
194 210
195 111
196 161
197 104
198 172
199 50
200 193
201 168
202 41
203 73
204 97
205 124
206 174
207 101
208 159
209 65
210 56
211 195
212 162
213 93
214 141

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
20
113
116
42
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 25
107 176
108 149
109 24
110 60
111 45
112 156
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 207
122 8
123 37
124 187
125 14
126 61
127 152
128 169
129 55
130 125
131 127
132 51
133 3
134 18
135 10
136 182
137 5
138 7
139 69
140 137
141 71
142 86
143 211
144 179
145 29
146 119
147 205
148 47
149 120
150 2
151 146
152 132
153 118
154 136
155 6
156 110
157 11
158 102
159 154
160 68
161 148
162 13
163 32
164 188
165 52
166 190
167 178
168 135
169 210
170 111
171 161
172 104
173 172
174 50
175 193
176 168
177 41
178 73
179 97
180 124
181 174
182 101
183 159
184 65
185 56
186 195
187 162
188 93
189 141
190 20
191 113
192 116
193 42
194 150
195 83
196 196
197 208
198 115
199 88
200 39
201 54
202 128
203 15
204 212
205 57
206 19
207 173
208 185
209 9
210 204
211 35
212 134
213 143
214 157

View File

@@ -0,0 +1,214 @@
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
1 197
2 1
3 151
4 198
5 12
6 203
7 30
8 144
9 48
10 84
11 108
12 199
13 72
14 145
15 167
16 192
17 66
18 133
19 81
20 44
21 0
22 126
23 4
24 183
25 76
26 181
27 94
28 33
29 122
30 209
31 155
32 121
33 191
34 165
35 25
36 176
37 149
38 24
39 60
40 45
41 156
42 59
43 75
44 131
45 112
46 95
47 117
48 91
49 109
50 207
51 8
52 37
53 187
54 14
55 61
56 152
57 169
58 55
59 125
60 127
61 51
62 3
63 18
64 10
65 182
66 5
67 7
68 69
69 137
70 71
71 86
72 211
73 179
74 29
75 119
76 205
77 47
78 120
79 2
80 146
81 132
82 118
83 136
84 6
85 110
86 11
87 102
88 154
89 68
90 148
91 13
92 32
93 188
94 52
95 190
96 178
97 135
98 210
99 111
100 161
101 104
102 172
103 50
104 193
105 168
106 41
107 73
108 97
109 124
110 174
111 101
112 159
113 65
114 56
115 195
116 162
117 93
118 141
119 150
120 83
121 196
122 208
123 115
124 88
125 39
126 54
127 128
128 15
129 212
130 57
131 19
132 173
133 185
134 9
135 204
136 35
137 134
138 143
139 157
140 20
141 113
142 116
143 42
144 77
145 175
146 202
147 26
148 27
149 16
150 67
151 160
152 40
153 64
154 130
155 206
156 164
157 74
158 98
159 58
160 89
161 170
162 177
163 99
164 105
165 53
166 43
167 38
168 140
169 46
170 79
171 200
172 171
173 129
174 80
175 158
176 180
177 70
178 34
179 106
180 85
181 62
182 36
183 103
184 63
185 78
186 28
187 23
188 21
189 186
190 142
191 153
192 163
193 213
194 189
195 123
196 138
197 82
198 201
199 90
200 92
201 147
202 87
203 96
204 22
205 17
206 107
207 31
208 100
209 139
210 166
211 184
212 49
213 194
214 114

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 211
73 179
74 29
75 119
76 205
77 47
78 120
79 2
80 146
81 132
82 118
83 136
84 6
85 110
86 11
87 102
88 154
89 68
90 148
91 13
92 32
93 188
94 52
95 190
96 178
97 135
98 210
99 111
100 161
101 104
102 172
103 50
104 193
105 168
106 41
107 73
108 97
109 124
110 174
111 101
112 159
113 65
114 56
115 195
116 162
117 93
118 141
119 150
120 83
121 196
122 208
123 115
124 88
125 39
126 54
127 128
128 15
129 212
130 57
131 19
132 173
133 185
134 9
135 204
136 35
137 134
138 143
139 157
140 20
141 113
142 116
143 42
144 197
145 1
146 151
147 198
148 12
149 203
150 30
151 144
152 48
153 84
154 108
155 199
156 72
157 145
158 167
159 192
160 66
161 133
162 81
163 44
164 0
165 126
166 4
167 183
168 76
169 181
170 94
171 33
172 122
173 209
174 155
175 121
176 191
177 165
178 25
179 176
180 149
181 24
182 60
183 45
184 156
185 59
186 75
187 131
188 112
189 95
190 117
191 91
192 109
193 207
194 8
195 37
196 187
197 14
198 61
199 152
200 169
201 55
202 125
203 127
204 51
205 3
206 18
207 10
208 182
209 5
210 7
211 69
212 137
213 71
214 86

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
42
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 25
107 176
108 149
109 24
110 60
111 45
112 156
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 207
122 8
123 37
124 187
125 14
126 61
127 152
128 169
129 55
130 125
131 127
132 51
133 3
134 18
135 10
136 182
137 5
138 7
139 69
140 137
141 71
142 86
143 42
144 211
145 179
146 29
147 119
148 205
149 47
150 120
151 2
152 146
153 132
154 118
155 136
156 6
157 110
158 11
159 102
160 154
161 68
162 148
163 13
164 32
165 188
166 52
167 190
168 178
169 135
170 210
171 111
172 161
173 104
174 172
175 50
176 193
177 168
178 41
179 73
180 97
181 124
182 174
183 101
184 159
185 65
186 56
187 195
188 162
189 93
190 141
191 150
192 83
193 196
194 208
195 115
196 88
197 39
198 54
199 128
200 15
201 212
202 57
203 19
204 173
205 185
206 9
207 204
208 35
209 134
210 143
211 157
212 20
213 113
214 116

View File

@@ -0,0 +1,214 @@
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
1 80
2 158
3 180
4 70
5 34
6 106
7 85
8 62
9 36
10 103
11 63
12 78
13 28
14 23
15 21
16 186
17 142
18 153
19 163
20 213
21 189
22 123
23 138
24 82
25 201
26 90
27 92
28 147
29 87
30 96
31 22
32 17
33 107
34 31
35 100
36 139
37 166
38 184
39 49
40 194
41 114
42 197
43 1
44 151
45 198
46 12
47 203
48 30
49 144
50 48
51 84
52 108
53 199
54 72
55 145
56 167
57 192
58 66
59 133
60 81
61 44
62 0
63 126
64 4
65 183
66 76
67 181
68 94
69 33
70 122
71 209
72 155
73 121
74 191
75 165
76 25
77 176
78 149
79 24
80 60
81 45
82 156
83 59
84 75
85 131
86 112
87 95
88 117
89 91
90 109
91 207
92 8
93 37
94 187
95 14
96 61
97 152
98 169
99 55
100 125
101 127
102 51
103 3
104 18
105 10
106 182
107 5
108 7
109 69
110 137
111 71
112 86
113 211
114 179
115 29
116 119
117 205
118 47
119 120
120 2
121 146
122 132
123 118
124 136
125 6
126 110
127 11
128 102
129 154
130 68
131 148
132 13
133 32
134 188
135 52
136 190
137 178
138 135
139 210
140 111
141 161
142 104
143 172
144 50
145 193
146 168
147 41
148 73
149 97
150 124
151 174
152 101
153 159
154 65
155 56
156 195
157 162
158 93
159 141
160 150
161 83
162 196
163 208
164 115
165 88
166 39
167 54
168 128
169 15
170 212
171 57
172 19
173 173
174 185
175 9
176 204
177 35
178 134
179 143
180 157
181 20
182 113
183 116
184 42
185 77
186 175
187 202
188 26
189 27
190 16
191 67
192 160
193 40
194 64
195 130
196 206
197 164
198 74
199 98
200 58
201 89
202 170
203 177
204 99
205 105
206 53
207 43
208 38
209 140
210 46
211 79
212 200
213 171
214 129

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 22
32 17
33 107
34 31
35 100
36 139
37 166
38 184
39 49
40 194
41 114
42 197
43 1
44 151
45 198
46 12
47 203
48 30
49 144
50 48
51 84
52 108
53 199
54 72
55 145
56 167
57 192
58 66
59 133
60 81
61 44
62 0
63 126
64 4
65 183
66 76
67 181
68 94
69 33
70 122
71 209
72 155
73 121
74 191
75 165
76 25
77 176
78 149
79 24
80 60
81 45
82 156
83 59
84 75
85 131
86 112
87 95
88 117
89 91
90 109
91 207
92 8
93 37
94 187
95 14
96 61
97 152
98 169
99 55
100 125
101 127
102 51
103 3
104 18
105 10
106 182
107 5
108 7
109 69
110 137
111 71
112 86
113 211
114 179
115 29
116 119
117 205
118 47
119 120
120 2
121 146
122 132
123 118
124 136
125 6
126 110
127 11
128 102
129 154
130 68
131 148
132 13
133 32
134 188
135 52
136 190
137 178
138 135
139 210
140 111
141 161
142 104
143 172
144 50
145 193
146 168
147 41
148 73
149 97
150 124
151 174
152 101
153 159
154 65
155 56
156 195
157 162
158 93
159 141
160 150
161 83
162 196
163 208
164 115
165 88
166 39
167 54
168 128
169 15
170 212
171 57
172 19
173 173
174 185
175 9
176 204
177 35
178 134
179 143
180 157
181 20
182 113
183 116
184 42
185 80
186 158
187 180
188 70
189 34
190 106
191 85
192 62
193 36
194 103
195 63
196 78
197 28
198 23
199 21
200 186
201 142
202 153
203 163
204 213
205 189
206 123
207 138
208 82
209 201
210 90
211 92
212 147
213 87
214 96

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 44
62 0
63 126
64 4
65 183
66 76
67 181
68 94
69 33
70 122
71 209
72 155
73 121
74 191
75 165
76 25
77 176
78 149
79 24
80 60
81 45
82 156
83 59
84 75
85 131
86 112
87 95
88 117
89 91
90 109
91 207
92 8
93 37
94 187
95 14
96 61
97 152
98 169
99 55
100 125
101 127
102 51
103 3
104 18
105 10
106 182
107 5
108 7
109 69
110 137
111 71
112 86
113 211
114 179
115 29
116 119
117 205
118 47
119 120
120 2
121 146
122 132
123 118
124 136
125 6
126 110
127 11
128 102
129 154
130 68
131 148
132 13
133 32
134 188
135 52
136 190
137 178
138 135
139 210
140 111
141 161
142 104
143 172
144 50
145 193
146 168
147 41
148 73
149 97
150 124
151 174
152 101
153 159
154 65
155 56
156 195
157 162
158 93
159 141
160 150
161 83
162 196
163 208
164 115
165 88
166 39
167 54
168 128
169 15
170 212
171 57
172 19
173 173
174 185
175 9
176 204
177 35
178 134
179 143
180 157
181 20
182 113
183 116
184 42
185 22
186 17
187 107
188 31
189 100
190 139
191 166
192 184
193 49
194 194
195 114
196 197
197 1
198 151
199 198
200 12
201 203
202 30
203 144
204 48
205 84
206 108
207 199
208 72
209 145
210 167
211 192
212 66
213 133
214 81

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 207
92 8
93 37
94 187
95 14
96 61
97 152
98 169
99 55
100 125
101 127
102 51
103 3
104 18
105 10
106 182
107 5
108 7
109 69
110 137
111 71
112 86
113 211
114 179
115 29
116 119
117 205
118 47
119 120
120 2
121 146
122 132
123 118
124 136
125 6
126 110
127 11
128 102
129 154
130 68
131 148
132 13
133 32
134 188
135 52
136 190
137 178
138 135
139 210
140 111
141 161
142 104
143 172
144 50
145 193
146 168
147 41
148 73
149 97
150 124
151 174
152 101
153 159
154 65
155 56
156 195
157 162
158 93
159 141
160 150
161 83
162 196
163 208
164 115
165 88
166 39
167 54
168 128
169 15
170 212
171 57
172 19
173 173
174 185
175 9
176 204
177 35
178 134
179 143
180 157
181 20
182 113
183 116
184 42
185 44
186 0
187 126
188 4
189 183
190 76
191 181
192 94
193 33
194 122
195 209
196 155
197 121
198 191
199 165
200 25
201 176
202 149
203 24
204 60
205 45
206 156
207 59
208 75
209 131
210 112
211 95
212 117
213 91
214 109

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 25
107 176
108 149
109 24
110 60
111 45
112 156
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 146
122 132
123 118
124 136
125 6
126 110
127 11
128 102
129 154
130 68
131 148
132 13
133 32
134 188
135 52
136 190
137 178
138 135
139 210
140 111
141 161
142 104
143 172
144 50
145 193
146 168
147 41
148 73
149 97
150 124
151 174
152 101
153 159
154 65
155 56
156 195
157 162
158 93
159 141
160 150
161 83
162 196
163 208
164 115
165 88
166 39
167 54
168 128
169 15
170 212
171 57
172 19
173 173
174 185
175 9
176 204
177 35
178 134
179 143
180 157
181 20
182 113
183 116
184 42
185 207
186 8
187 37
188 187
189 14
190 61
191 152
192 169
193 55
194 125
195 127
196 51
197 3
198 18
199 10
200 182
201 5
202 7
203 69
204 137
205 71
206 86
207 211
208 179
209 29
210 119
211 205
212 47
213 120
214 2

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
20
113
116
42
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 25
107 176
108 149
109 24
110 60
111 45
112 156
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 207
122 8
123 37
124 187
125 14
126 61
127 152
128 169
129 55
130 125
131 127
132 51
133 3
134 18
135 10
136 182
137 5
138 7
139 69
140 137
141 71
142 86
143 211
144 179
145 29
146 119
147 205
148 47
149 120
150 2
151 174
152 101
153 159
154 65
155 56
156 195
157 162
158 93
159 141
160 150
161 83
162 196
163 208
164 115
165 88
166 39
167 54
168 128
169 15
170 212
171 57
172 19
173 173
174 185
175 9
176 204
177 35
178 134
179 143
180 157
181 20
182 113
183 116
184 42
185 146
186 132
187 118
188 136
189 6
190 110
191 11
192 102
193 154
194 68
195 148
196 13
197 32
198 188
199 52
200 190
201 178
202 135
203 210
204 111
205 161
206 104
207 172
208 50
209 193
210 168
211 41
212 73
213 97
214 124

View File

@@ -0,0 +1,214 @@
77
175
202
26
27
16
67
160
40
64
130
206
164
74
98
58
89
170
177
99
105
53
43
38
140
46
79
200
171
129
80
158
180
70
34
106
85
62
36
103
63
78
28
23
21
186
142
153
163
213
189
123
138
82
201
90
92
147
87
96
22
17
107
31
100
139
166
184
49
194
114
197
1
151
198
12
203
30
144
48
84
108
199
72
145
167
192
66
133
81
44
0
126
4
183
76
181
94
33
122
209
155
121
191
165
25
176
149
24
60
45
156
59
75
131
112
95
117
91
109
207
8
37
187
14
61
152
169
55
125
127
51
3
18
10
182
5
7
69
137
71
86
211
179
29
119
205
47
120
2
146
132
118
136
6
110
11
102
154
68
148
13
32
188
52
190
178
135
210
111
161
104
172
50
193
168
41
73
97
124
20
113
116
42
174
101
159
65
56
195
162
93
141
150
83
196
208
115
88
39
54
128
15
212
57
19
173
185
9
204
35
134
143
157
1 77
2 175
3 202
4 26
5 27
6 16
7 67
8 160
9 40
10 64
11 130
12 206
13 164
14 74
15 98
16 58
17 89
18 170
19 177
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 200
29 171
30 129
31 80
32 158
33 180
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 186
47 142
48 153
49 163
50 213
51 189
52 123
53 138
54 82
55 201
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 166
68 184
69 49
70 194
71 114
72 197
73 1
74 151
75 198
76 12
77 203
78 30
79 144
80 48
81 84
82 108
83 199
84 72
85 145
86 167
87 192
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 183
96 76
97 181
98 94
99 33
100 122
101 209
102 155
103 121
104 191
105 165
106 25
107 176
108 149
109 24
110 60
111 45
112 156
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 207
122 8
123 37
124 187
125 14
126 61
127 152
128 169
129 55
130 125
131 127
132 51
133 3
134 18
135 10
136 182
137 5
138 7
139 69
140 137
141 71
142 86
143 211
144 179
145 29
146 119
147 205
148 47
149 120
150 2
151 146
152 132
153 118
154 136
155 6
156 110
157 11
158 102
159 154
160 68
161 148
162 13
163 32
164 188
165 52
166 190
167 178
168 135
169 210
170 111
171 161
172 104
173 172
174 50
175 193
176 168
177 41
178 73
179 97
180 124
181 20
182 113
183 116
184 42
185 174
186 101
187 159
188 65
189 56
190 195
191 162
192 93
193 141
194 150
195 83
196 196
197 208
198 115
199 88
200 39
201 54
202 128
203 15
204 212
205 57
206 19
207 173
208 185
209 9
210 204
211 35
212 134
213 143
214 157

View File

@@ -0,0 +1,150 @@
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
1 58
2 89
3 13
4 73
5 99
6 105
7 53
8 43
9 38
10 140
11 46
12 79
13 57
14 104
15 129
16 80
17 6
18 115
19 70
20 34
21 106
22 85
23 62
24 36
25 103
26 63
27 78
28 28
29 23
30 21
31 32
32 142
33 136
34 141
35 42
36 146
37 123
38 138
39 82
40 19
41 90
42 92
43 147
44 87
45 96
46 22
47 17
48 107
49 31
50 100
51 139
52 97
53 56
54 49
55 88
56 114
57 128
58 1
59 132
60 15
61 12
62 39
63 30
64 144
65 48
66 84
67 108
68 116
69 72
70 145
71 135
72 143
73 66
74 133
75 81
76 44
77 0
78 126
79 4
80 65
81 76
82 101
83 94
84 33
85 122
86 102
87 110
88 121
89 54
90 83
91 25
92 41
93 149
94 24
95 60
96 45
97 11
98 59
99 75
100 131
101 112
102 95
103 117
104 91
105 109
106 134
107 8
108 37
109 93
110 14
111 61
112 118
113 111
114 55
115 125
116 127
117 51
118 3
119 18
120 10
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 77
137 20
138 50
139 26
140 27
141 16
142 67
143 148
144 40
145 64
146 130
147 35
148 52
149 74
150 98

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 80
17 6
18 115
19 70
20 34
21 106
22 85
23 62
24 36
25 103
26 63
27 78
28 28
29 23
30 21
31 32
32 142
33 136
34 141
35 42
36 146
37 123
38 138
39 82
40 19
41 90
42 92
43 147
44 87
45 96
46 22
47 17
48 107
49 31
50 100
51 139
52 97
53 56
54 49
55 88
56 114
57 128
58 1
59 132
60 15
61 12
62 39
63 30
64 144
65 48
66 84
67 108
68 116
69 72
70 145
71 135
72 143
73 66
74 133
75 81
76 44
77 0
78 126
79 4
80 65
81 76
82 101
83 94
84 33
85 122
86 102
87 110
88 121
89 54
90 83
91 25
92 41
93 149
94 24
95 60
96 45
97 11
98 59
99 75
100 131
101 112
102 95
103 117
104 91
105 109
106 134
107 8
108 37
109 93
110 14
111 61
112 118
113 111
114 55
115 125
116 127
117 51
118 3
119 18
120 10
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 58
137 89
138 13
139 73
140 99
141 105
142 53
143 43
144 38
145 140
146 46
147 79
148 57
149 104
150 129

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 32
32 142
33 136
34 141
35 42
36 146
37 123
38 138
39 82
40 19
41 90
42 92
43 147
44 87
45 96
46 22
47 17
48 107
49 31
50 100
51 139
52 97
53 56
54 49
55 88
56 114
57 128
58 1
59 132
60 15
61 12
62 39
63 30
64 144
65 48
66 84
67 108
68 116
69 72
70 145
71 135
72 143
73 66
74 133
75 81
76 44
77 0
78 126
79 4
80 65
81 76
82 101
83 94
84 33
85 122
86 102
87 110
88 121
89 54
90 83
91 25
92 41
93 149
94 24
95 60
96 45
97 11
98 59
99 75
100 131
101 112
102 95
103 117
104 91
105 109
106 134
107 8
108 37
109 93
110 14
111 61
112 118
113 111
114 55
115 125
116 127
117 51
118 3
119 18
120 10
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 80
137 6
138 115
139 70
140 34
141 106
142 85
143 62
144 36
145 103
146 63
147 78
148 28
149 23
150 21

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 22
47 17
48 107
49 31
50 100
51 139
52 97
53 56
54 49
55 88
56 114
57 128
58 1
59 132
60 15
61 12
62 39
63 30
64 144
65 48
66 84
67 108
68 116
69 72
70 145
71 135
72 143
73 66
74 133
75 81
76 44
77 0
78 126
79 4
80 65
81 76
82 101
83 94
84 33
85 122
86 102
87 110
88 121
89 54
90 83
91 25
92 41
93 149
94 24
95 60
96 45
97 11
98 59
99 75
100 131
101 112
102 95
103 117
104 91
105 109
106 134
107 8
108 37
109 93
110 14
111 61
112 118
113 111
114 55
115 125
116 127
117 51
118 3
119 18
120 10
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 32
137 142
138 136
139 141
140 42
141 146
142 123
143 138
144 82
145 19
146 90
147 92
148 147
149 87
150 96

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 12
62 39
63 30
64 144
65 48
66 84
67 108
68 116
69 72
70 145
71 135
72 143
73 66
74 133
75 81
76 44
77 0
78 126
79 4
80 65
81 76
82 101
83 94
84 33
85 122
86 102
87 110
88 121
89 54
90 83
91 25
92 41
93 149
94 24
95 60
96 45
97 11
98 59
99 75
100 131
101 112
102 95
103 117
104 91
105 109
106 134
107 8
108 37
109 93
110 14
111 61
112 118
113 111
114 55
115 125
116 127
117 51
118 3
119 18
120 10
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 22
137 17
138 107
139 31
140 100
141 139
142 97
143 56
144 49
145 88
146 114
147 128
148 1
149 132
150 15

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 97
68 56
69 49
70 88
71 114
72 128
73 1
74 132
75 15
76 44
77 0
78 126
79 4
80 65
81 76
82 101
83 94
84 33
85 122
86 102
87 110
88 121
89 54
90 83
91 25
92 41
93 149
94 24
95 60
96 45
97 11
98 59
99 75
100 131
101 112
102 95
103 117
104 91
105 109
106 134
107 8
108 37
109 93
110 14
111 61
112 118
113 111
114 55
115 125
116 127
117 51
118 3
119 18
120 10
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 12
137 39
138 30
139 144
140 48
141 84
142 108
143 116
144 72
145 145
146 135
147 143
148 66
149 133
150 81

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 97
68 56
69 49
70 88
71 114
72 128
73 1
74 132
75 15
76 12
77 39
78 30
79 144
80 48
81 84
82 108
83 116
84 72
85 145
86 135
87 143
88 66
89 133
90 81
91 25
92 41
93 149
94 24
95 60
96 45
97 11
98 59
99 75
100 131
101 112
102 95
103 117
104 91
105 109
106 134
107 8
108 37
109 93
110 14
111 61
112 118
113 111
114 55
115 125
116 127
117 51
118 3
119 18
120 10
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 44
137 0
138 126
139 4
140 65
141 76
142 101
143 94
144 33
145 122
146 102
147 110
148 121
149 54
150 83

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 97
68 56
69 49
70 88
71 114
72 128
73 1
74 132
75 15
76 12
77 39
78 30
79 144
80 48
81 84
82 108
83 116
84 72
85 145
86 135
87 143
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 65
96 76
97 101
98 94
99 33
100 122
101 102
102 110
103 121
104 54
105 83
106 134
107 8
108 37
109 93
110 14
111 61
112 118
113 111
114 55
115 125
116 127
117 51
118 3
119 18
120 10
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 25
137 41
138 149
139 24
140 60
141 45
142 11
143 59
144 75
145 131
146 112
147 95
148 117
149 91
150 109

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 97
68 56
69 49
70 88
71 114
72 128
73 1
74 132
75 15
76 12
77 39
78 30
79 144
80 48
81 84
82 108
83 116
84 72
85 145
86 135
87 143
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 65
96 76
97 101
98 94
99 33
100 122
101 102
102 110
103 121
104 54
105 83
106 25
107 41
108 149
109 24
110 60
111 45
112 11
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 68
122 5
123 7
124 69
125 137
126 71
127 86
128 113
129 124
130 29
131 119
132 9
133 47
134 120
135 2
136 134
137 8
138 37
139 93
140 14
141 61
142 118
143 111
144 55
145 125
146 127
147 51
148 3
149 18
150 10

View File

@@ -0,0 +1,150 @@
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
1 146
2 123
3 138
4 82
5 19
6 90
7 92
8 147
9 87
10 96
11 22
12 17
13 107
14 31
15 100
16 139
17 97
18 56
19 49
20 88
21 114
22 128
23 1
24 132
25 15
26 12
27 39
28 30
29 144
30 48
31 84
32 108
33 116
34 72
35 145
36 135
37 143
38 66
39 133
40 81
41 44
42 0
43 126
44 4
45 65
46 76
47 101
48 94
49 33
50 122
51 102
52 110
53 121
54 54
55 83
56 25
57 41
58 149
59 24
60 60
61 45
62 11
63 59
64 75
65 131
66 112
67 95
68 117
69 91
70 109
71 134
72 8
73 37
74 93
75 14
76 61
77 118
78 111
79 55
80 125
81 127
82 51
83 3
84 18
85 10
86 68
87 5
88 7
89 69
90 137
91 71
92 86
93 113
94 124
95 29
96 119
97 9
98 47
99 120
100 2
101 77
102 20
103 50
104 26
105 27
106 16
107 67
108 148
109 40
110 64
111 130
112 35
113 52
114 74
115 98
116 58
117 89
118 13
119 73
120 99
121 105
122 53
123 43
124 38
125 140
126 46
127 79
128 57
129 104
130 129
131 80
132 6
133 115
134 70
135 34
136 106
137 85
138 62
139 36
140 103
141 63
142 78
143 28
144 23
145 21
146 32
147 142
148 136
149 141
150 42

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 102
52 110
53 121
54 54
55 83
56 25
57 41
58 149
59 24
60 60
61 45
62 11
63 59
64 75
65 131
66 112
67 95
68 117
69 91
70 109
71 134
72 8
73 37
74 93
75 14
76 61
77 118
78 111
79 55
80 125
81 127
82 51
83 3
84 18
85 10
86 68
87 5
88 7
89 69
90 137
91 71
92 86
93 113
94 124
95 29
96 119
97 9
98 47
99 120
100 2
101 146
102 123
103 138
104 82
105 19
106 90
107 92
108 147
109 87
110 96
111 22
112 17
113 107
114 31
115 100
116 139
117 97
118 56
119 49
120 88
121 114
122 128
123 1
124 132
125 15
126 12
127 39
128 30
129 144
130 48
131 84
132 108
133 116
134 72
135 145
136 135
137 143
138 66
139 133
140 81
141 44
142 0
143 126
144 4
145 65
146 76
147 101
148 94
149 33
150 122

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 97
68 56
69 49
70 88
71 114
72 128
73 1
74 132
75 15
76 12
77 39
78 30
79 144
80 48
81 84
82 108
83 116
84 72
85 145
86 135
87 143
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 65
96 76
97 101
98 94
99 33
100 122
101 102
102 110
103 121
104 54
105 83
106 25
107 41
108 149
109 24
110 60
111 45
112 11
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 134
122 8
123 37
124 93
125 14
126 61
127 118
128 111
129 55
130 125
131 127
132 51
133 3
134 18
135 10
136 68
137 5
138 7
139 69
140 137
141 71
142 86
143 113
144 124
145 29
146 119
147 9
148 47
149 120
150 2

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 97
68 56
69 49
70 88
71 114
72 128
73 1
74 132
75 15
76 12
77 39
78 30
79 144
80 48
81 84
82 108
83 116
84 72
85 145
86 135
87 143
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 65
96 76
97 101
98 94
99 33
100 122
101 102
102 110
103 121
104 54
105 83
106 25
107 41
108 149
109 24
110 60
111 45
112 11
113 59
114 75
115 131
116 112
117 95
118 117
119 91
120 109
121 134
122 8
123 37
124 93
125 14
126 61
127 118
128 111
129 55
130 125
131 127
132 51
133 3
134 18
135 10
136 68
137 5
138 7
139 69
140 137
141 71
142 86
143 113
144 124
145 29
146 119
147 9
148 47
149 120
150 2

View File

@@ -0,0 +1,150 @@
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
1 53
2 43
3 38
4 140
5 46
6 79
7 57
8 104
9 129
10 80
11 6
12 115
13 70
14 34
15 106
16 85
17 62
18 36
19 103
20 63
21 78
22 28
23 23
24 21
25 32
26 142
27 136
28 141
29 42
30 146
31 123
32 138
33 82
34 19
35 90
36 92
37 147
38 87
39 96
40 22
41 17
42 107
43 31
44 100
45 139
46 97
47 56
48 49
49 88
50 114
51 128
52 1
53 132
54 15
55 12
56 39
57 30
58 144
59 48
60 84
61 108
62 116
63 72
64 145
65 135
66 143
67 66
68 133
69 81
70 44
71 0
72 126
73 4
74 65
75 76
76 101
77 94
78 33
79 122
80 102
81 110
82 121
83 54
84 83
85 25
86 41
87 149
88 24
89 60
90 45
91 11
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 134
101 8
102 37
103 93
104 14
105 61
106 118
107 111
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 68
116 5
117 7
118 69
119 137
120 71
121 86
122 113
123 124
124 29
125 119
126 9
127 47
128 120
129 2
130 77
131 20
132 50
133 26
134 27
135 16
136 67
137 148
138 40
139 64
140 130
141 35
142 52
143 74
144 98
145 58
146 89
147 13
148 73
149 99
150 105

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 28
23 23
24 21
25 32
26 142
27 136
28 141
29 42
30 146
31 123
32 138
33 82
34 19
35 90
36 92
37 147
38 87
39 96
40 22
41 17
42 107
43 31
44 100
45 139
46 97
47 56
48 49
49 88
50 114
51 128
52 1
53 132
54 15
55 12
56 39
57 30
58 144
59 48
60 84
61 108
62 116
63 72
64 145
65 135
66 143
67 66
68 133
69 81
70 44
71 0
72 126
73 4
74 65
75 76
76 101
77 94
78 33
79 122
80 102
81 110
82 121
83 54
84 83
85 25
86 41
87 149
88 24
89 60
90 45
91 11
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 134
101 8
102 37
103 93
104 14
105 61
106 118
107 111
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 68
116 5
117 7
118 69
119 137
120 71
121 86
122 113
123 124
124 29
125 119
126 9
127 47
128 120
129 2
130 53
131 43
132 38
133 140
134 46
135 79
136 57
137 104
138 129
139 80
140 6
141 115
142 70
143 34
144 106
145 85
146 62
147 36
148 103
149 63
150 78

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 31
44 100
45 139
46 97
47 56
48 49
49 88
50 114
51 128
52 1
53 132
54 15
55 12
56 39
57 30
58 144
59 48
60 84
61 108
62 116
63 72
64 145
65 135
66 143
67 66
68 133
69 81
70 44
71 0
72 126
73 4
74 65
75 76
76 101
77 94
78 33
79 122
80 102
81 110
82 121
83 54
84 83
85 25
86 41
87 149
88 24
89 60
90 45
91 11
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 134
101 8
102 37
103 93
104 14
105 61
106 118
107 111
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 68
116 5
117 7
118 69
119 137
120 71
121 86
122 113
123 124
124 29
125 119
126 9
127 47
128 120
129 2
130 28
131 23
132 21
133 32
134 142
135 136
136 141
137 42
138 146
139 123
140 138
141 82
142 19
143 90
144 92
145 147
146 87
147 96
148 22
149 17
150 107

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 145
65 135
66 143
67 66
68 133
69 81
70 44
71 0
72 126
73 4
74 65
75 76
76 101
77 94
78 33
79 122
80 102
81 110
82 121
83 54
84 83
85 25
86 41
87 149
88 24
89 60
90 45
91 11
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 134
101 8
102 37
103 93
104 14
105 61
106 118
107 111
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 68
116 5
117 7
118 69
119 137
120 71
121 86
122 113
123 124
124 29
125 119
126 9
127 47
128 120
129 2
130 31
131 100
132 139
133 97
134 56
135 49
136 88
137 114
138 128
139 1
140 132
141 15
142 12
143 39
144 30
145 144
146 48
147 84
148 108
149 116
150 72

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 97
68 56
69 49
70 88
71 114
72 128
73 1
74 132
75 15
76 12
77 39
78 30
79 144
80 48
81 84
82 108
83 116
84 72
85 25
86 41
87 149
88 24
89 60
90 45
91 11
92 59
93 75
94 131
95 112
96 95
97 117
98 91
99 109
100 134
101 8
102 37
103 93
104 14
105 61
106 118
107 111
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 68
116 5
117 7
118 69
119 137
120 71
121 86
122 113
123 124
124 29
125 119
126 9
127 47
128 120
129 2
130 145
131 135
132 143
133 66
134 133
135 81
136 44
137 0
138 126
139 4
140 65
141 76
142 101
143 94
144 33
145 122
146 102
147 110
148 121
149 54
150 83

View File

@@ -0,0 +1,150 @@
77
20
50
26
27
16
67
148
40
64
130
35
52
74
98
58
89
13
73
99
105
53
43
38
140
46
79
57
104
129
80
6
115
70
34
106
85
62
36
103
63
78
28
23
21
32
142
136
141
42
146
123
138
82
19
90
92
147
87
96
22
17
107
31
100
139
97
56
49
88
114
128
1
132
15
12
39
30
144
48
84
108
116
72
145
135
143
66
133
81
44
0
126
4
65
76
101
94
33
122
102
110
121
54
83
118
111
55
125
127
51
3
18
10
68
5
7
69
137
71
86
113
124
29
119
9
47
120
2
25
41
149
24
60
45
11
59
75
131
112
95
117
91
109
134
8
37
93
14
61
1 77
2 20
3 50
4 26
5 27
6 16
7 67
8 148
9 40
10 64
11 130
12 35
13 52
14 74
15 98
16 58
17 89
18 13
19 73
20 99
21 105
22 53
23 43
24 38
25 140
26 46
27 79
28 57
29 104
30 129
31 80
32 6
33 115
34 70
35 34
36 106
37 85
38 62
39 36
40 103
41 63
42 78
43 28
44 23
45 21
46 32
47 142
48 136
49 141
50 42
51 146
52 123
53 138
54 82
55 19
56 90
57 92
58 147
59 87
60 96
61 22
62 17
63 107
64 31
65 100
66 139
67 97
68 56
69 49
70 88
71 114
72 128
73 1
74 132
75 15
76 12
77 39
78 30
79 144
80 48
81 84
82 108
83 116
84 72
85 145
86 135
87 143
88 66
89 133
90 81
91 44
92 0
93 126
94 4
95 65
96 76
97 101
98 94
99 33
100 122
101 102
102 110
103 121
104 54
105 83
106 118
107 111
108 55
109 125
110 127
111 51
112 3
113 18
114 10
115 68
116 5
117 7
118 69
119 137
120 71
121 86
122 113
123 124
124 29
125 119
126 9
127 47
128 120
129 2
130 25
131 41
132 149
133 24
134 60
135 45
136 11
137 59
138 75
139 131
140 112
141 95
142 117
143 91
144 109
145 134
146 8
147 37
148 93
149 14
150 61

Some files were not shown because too many files have changed in this diff Show More