From 0ffcd477949db65e3a1504015f19964bfe6e3cf7 Mon Sep 17 00:00:00 2001 From: YangZhou <56786796+SmileGoat@users.noreply.github.com> Date: Mon, 21 Nov 2022 17:38:15 +0800 Subject: [PATCH] add sox, kaldi feature to paddleaudio && make it work on mac, windows (#2663) * add paddleaudio sox && kaldifeature * rrm redundant file which compile audio * mv audio test into paddleaudio * fix test bug * add paddleaudio test * rm redundant comment * unsupport sox in windows * rm io in __init__ * fix windows cblas compile error --- .gitignore | 4 + CMakeLists.txt => audio/CMakeLists.txt | 19 +- {cmake => audio/cmake}/FindGFortranLibs.cmake | 0 audio/cmake/external/openblas.cmake | 119 + {cmake => audio/cmake}/external/pybind.cmake | 0 {cmake => audio/cmake}/summary.cmake | 0 audio/paddleaudio/CMakeLists.txt | 3 + audio/paddleaudio/__init__.py | 2 +- audio/paddleaudio/_extension.py | 163 ++ audio/paddleaudio/_internal/module_utils.py | 5 +- audio/paddleaudio/functional/window.py | 222 +- audio/paddleaudio/io/__init__.py | 13 - .../paddleaudio/kaldi}/__init__.py | 2 + audio/paddleaudio/kaldi/kaldi.py | 132 + audio/paddleaudio/sox_effects/__init__.py | 38 +- audio/paddleaudio/sox_effects/sox_effects.py | 238 ++ audio/paddleaudio/src/CMakeLists.txt | 205 ++ audio/paddleaudio/src/optional/COPYING | 121 + audio/paddleaudio/src/optional/optional.hpp | 2182 +++++++++++++++++ .../src/pybind/kaldi/feature_common.h | 49 + .../src/pybind/kaldi/feature_common_inl.h | 93 + .../src/pybind/kaldi/kaldi_feature.cc | 75 + .../src/pybind/kaldi/kaldi_feature.h | 64 + .../src/pybind/kaldi/kaldi_feature_wrapper.cc | 51 + .../src/pybind/kaldi/kaldi_feature_wrapper.h | 40 + audio/paddleaudio/src/pybind/pybind.cpp | 148 ++ audio/paddleaudio/src/pybind/sox/effects.cpp | 259 ++ audio/paddleaudio/src/pybind/sox/effects.h | 37 + .../src/pybind/sox/effects_chain.cpp | 597 +++++ .../src/pybind/sox/effects_chain.h | 78 + audio/paddleaudio/src/pybind/sox/io.cpp | 279 +++ audio/paddleaudio/src/pybind/sox/io.h | 61 + audio/paddleaudio/src/pybind/sox/types.cpp | 143 ++ audio/paddleaudio/src/pybind/sox/types.h | 58 + audio/paddleaudio/src/pybind/sox/utils.cpp | 550 +++++ audio/paddleaudio/src/pybind/sox/utils.h | 114 + audio/paddleaudio/src/utils.cpp | 35 + audio/paddleaudio/third_party/.gitignore | 2 + audio/paddleaudio/third_party/CMakeLists.txt | 15 + .../third_party/kaldi/CMakeLists.txt | 118 + .../third_party/patches/config.guess | 1754 +++++++++++++ .../third_party/patches/config.sub | 1890 ++++++++++++++ .../third_party/patches/libmad.patch | 86 + .../paddleaudio/third_party/patches/sox.patch | 16 + .../third_party/sox/CMakeLists.txt | 254 ++ audio/paddleaudio/utils/sox_utils.py | 101 + audio/setup.py | 300 ++- audio/tests/backends/__init__.py | 13 - audio/tests/backends/base.py | 34 + audio/tests/backends/soundfile/__init__.py | 13 - audio/tests/backends/soundfile/common.py | 32 + audio/tests/backends/soundfile/common_utils | 1 + audio/tests/backends/soundfile/info_test.py | 12 +- audio/tests/backends/soundfile/load_test.py | 10 +- audio/tests/backends/soundfile/save_test.py | 8 +- audio/tests/backends/sox_io/common.py | 89 + audio/tests/backends/sox_io/common_utils | 1 + audio/tests/backends/sox_io/info_test.py | 288 +++ audio/tests/backends/sox_io/load_test.py | 47 + audio/tests/backends/sox_io/save_test.py | 175 ++ audio/tests/backends/sox_io/smoke_test.py | 183 ++ .../tests/backends/sox_io/sox_effect_test.py | 347 +++ .../sox_io/sox_effect_test_args.jsonl | 77 + audio/tests/common_utils/__init__.py | 25 +- audio/tests/common_utils/data_utils.py | 136 + audio/tests/common_utils/sox_utils.py | 116 + .../tests}/features/test_istft.py | 0 audio/tests/features/test_kaldi_feat.py | 56 + .../features/test_log_melspectrogram.py | 0 .../tests}/features/test_spectrogram.py | 0 .../tests}/features/test_stft.py | 0 audio/tests/features/testdata/fbank_feat.ark | Bin 0 -> 86596 bytes .../features/testdata/fbank_feat_txt.ark | 0 audio/tests/features/testdata/pitch_feat.ark | Bin 0 -> 7552 bytes .../features/testdata/pitch_feat_txt.ark | 0 .../tests}/features/testdata/test.wav | Bin .../tools}/setup_helpers/__init__.py | 0 .../tools}/setup_helpers/extension.py | 14 +- cmake/external/openblas.cmake | 66 - speechx/speechx/kaldi/matrix/kaldi-blas.h | 6 + tests/unit/audio/features/base.py | 48 - tests/unit/audio/features/testdata/wav.ark | 1 - 82 files changed, 12170 insertions(+), 363 deletions(-) rename CMakeLists.txt => audio/CMakeLists.txt (86%) rename {cmake => audio/cmake}/FindGFortranLibs.cmake (100%) create mode 100644 audio/cmake/external/openblas.cmake rename {cmake => audio/cmake}/external/pybind.cmake (100%) rename {cmake => audio/cmake}/summary.cmake (100%) create mode 100644 audio/paddleaudio/CMakeLists.txt create mode 100644 audio/paddleaudio/_extension.py delete mode 100644 audio/paddleaudio/io/__init__.py rename {tests/unit/audio/features => audio/paddleaudio/kaldi}/__init__.py (92%) create mode 100644 audio/paddleaudio/kaldi/kaldi.py create mode 100644 audio/paddleaudio/sox_effects/sox_effects.py create mode 100644 audio/paddleaudio/src/CMakeLists.txt create mode 100644 audio/paddleaudio/src/optional/COPYING create mode 100644 audio/paddleaudio/src/optional/optional.hpp create mode 100644 audio/paddleaudio/src/pybind/kaldi/feature_common.h create mode 100644 audio/paddleaudio/src/pybind/kaldi/feature_common_inl.h create mode 100644 audio/paddleaudio/src/pybind/kaldi/kaldi_feature.cc create mode 100644 audio/paddleaudio/src/pybind/kaldi/kaldi_feature.h create mode 100644 audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.cc create mode 100644 audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.h create mode 100644 audio/paddleaudio/src/pybind/pybind.cpp create mode 100644 audio/paddleaudio/src/pybind/sox/effects.cpp create mode 100644 audio/paddleaudio/src/pybind/sox/effects.h create mode 100644 audio/paddleaudio/src/pybind/sox/effects_chain.cpp create mode 100644 audio/paddleaudio/src/pybind/sox/effects_chain.h create mode 100644 audio/paddleaudio/src/pybind/sox/io.cpp create mode 100644 audio/paddleaudio/src/pybind/sox/io.h create mode 100644 audio/paddleaudio/src/pybind/sox/types.cpp create mode 100644 audio/paddleaudio/src/pybind/sox/types.h create mode 100644 audio/paddleaudio/src/pybind/sox/utils.cpp create mode 100644 audio/paddleaudio/src/pybind/sox/utils.h create mode 100644 audio/paddleaudio/src/utils.cpp create mode 100644 audio/paddleaudio/third_party/.gitignore create mode 100644 audio/paddleaudio/third_party/CMakeLists.txt create mode 100644 audio/paddleaudio/third_party/kaldi/CMakeLists.txt create mode 100644 audio/paddleaudio/third_party/patches/config.guess create mode 100644 audio/paddleaudio/third_party/patches/config.sub create mode 100644 audio/paddleaudio/third_party/patches/libmad.patch create mode 100644 audio/paddleaudio/third_party/patches/sox.patch create mode 100644 audio/paddleaudio/third_party/sox/CMakeLists.txt create mode 100644 audio/paddleaudio/utils/sox_utils.py delete mode 100644 audio/tests/backends/__init__.py create mode 100644 audio/tests/backends/base.py delete mode 100644 audio/tests/backends/soundfile/__init__.py create mode 120000 audio/tests/backends/soundfile/common_utils create mode 100644 audio/tests/backends/sox_io/common.py create mode 120000 audio/tests/backends/sox_io/common_utils create mode 100644 audio/tests/backends/sox_io/info_test.py create mode 100644 audio/tests/backends/sox_io/load_test.py create mode 100644 audio/tests/backends/sox_io/save_test.py create mode 100644 audio/tests/backends/sox_io/smoke_test.py create mode 100644 audio/tests/backends/sox_io/sox_effect_test.py create mode 100644 audio/tests/backends/sox_io/sox_effect_test_args.jsonl create mode 100644 audio/tests/common_utils/data_utils.py create mode 100644 audio/tests/common_utils/sox_utils.py rename {tests/unit/audio => audio/tests}/features/test_istft.py (100%) create mode 100644 audio/tests/features/test_kaldi_feat.py rename {tests/unit/audio => audio/tests}/features/test_log_melspectrogram.py (100%) rename {tests/unit/audio => audio/tests}/features/test_spectrogram.py (100%) rename {tests/unit/audio => audio/tests}/features/test_stft.py (100%) create mode 100644 audio/tests/features/testdata/fbank_feat.ark rename tests/unit/audio/features/testdata/fbank_feat.ark => audio/tests/features/testdata/fbank_feat_txt.ark (100%) create mode 100644 audio/tests/features/testdata/pitch_feat.ark rename tests/unit/audio/features/testdata/pitch_feat.ark => audio/tests/features/testdata/pitch_feat_txt.ark (100%) rename {tests/unit/audio => audio/tests}/features/testdata/test.wav (100%) rename {tools => audio/tools}/setup_helpers/__init__.py (100%) rename {tools => audio/tools}/setup_helpers/extension.py (88%) delete mode 100644 cmake/external/openblas.cmake delete mode 100644 tests/unit/audio/features/base.py delete mode 100644 tests/unit/audio/features/testdata/wav.ark diff --git a/.gitignore b/.gitignore index 07d5499b3..49efb1cad 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,10 @@ paddlespeech/audio/_paddleaudio.so paddlespeech/audio/lib/libpaddleaudio.so paddlespeech/version.py +audio/dist/ +audio/fc_patch/ +audio/paddleaudio/version.py + docs/build/ docs/topic/ctc/warp-ctc/ diff --git a/CMakeLists.txt b/audio/CMakeLists.txt similarity index 86% rename from CMakeLists.txt rename to audio/CMakeLists.txt index 6c3e7d76f..005fb6162 100644 --- a/CMakeLists.txt +++ b/audio/CMakeLists.txt @@ -13,16 +13,14 @@ if(NOT CMAKE_VERSION VERSION_LESS 3.15.0) cmake_policy(SET CMP0092 NEW) endif() - -project(paddlespeech) - +project(paddleaudio) # check and set CMAKE_CXX_STANDARD string(FIND "${CMAKE_CXX_FLAGS}" "-std=c++" env_cxx_standard) if(env_cxx_standard GREATER -1) message( WARNING "C++ standard version definition detected in environment variable." - "paddlespeech requires -std=c++14. Please remove -std=c++ settings in your environment.") + "paddleaudio requires -std=c++14. Please remove -std=c++ settings in your environment.") endif() @@ -33,8 +31,6 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_VERBOSE_MAKEFILE ON) - - # Options option(BUILD_SOX "Build libsox statically" ON) option(BUILD_MAD "Enable libmad" ON) @@ -50,18 +46,21 @@ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake;${PROJEC set(FETCHCONTENT_QUIET off) get_filename_component(fc_patch "fc_patch" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") set(FETCHCONTENT_BASE_DIR ${fc_patch}) - +set(THIRD_PARTY_PATH ${fc_patch}) include(openblas) + +if (NOT PY_VERSION) + set(PY_VERSION 3.7) +endif() +set(PYBIND11_PYTHON_VERSION ${PY_VERSION}) include(pybind) # packages find_package(Python3 COMPONENTS Interpreter Development) -#find_package(pybind11 CONFIG REQUIRED) - # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -O0 -Wall -g") -add_subdirectory(paddlespeech/audio) +add_subdirectory(paddleaudio) # Summary include(cmake/summary.cmake) diff --git a/cmake/FindGFortranLibs.cmake b/audio/cmake/FindGFortranLibs.cmake similarity index 100% rename from cmake/FindGFortranLibs.cmake rename to audio/cmake/FindGFortranLibs.cmake diff --git a/audio/cmake/external/openblas.cmake b/audio/cmake/external/openblas.cmake new file mode 100644 index 000000000..f98239e8f --- /dev/null +++ b/audio/cmake/external/openblas.cmake @@ -0,0 +1,119 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +include(ExternalProject) + +set(CBLAS_PREFIX_DIR ${THIRD_PARTY_PATH}/openblas) +set(CBLAS_INSTALL_DIR ${THIRD_PARTY_PATH}/install/openblas) +set(CBLAS_REPOSITORY https://github.com/xianyi/OpenBLAS.git) +set(CBLAS_TAG v0.3.10) + +if(NOT WIN32) + set(CBLAS_LIBRARIES + "${CBLAS_INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}openblas${CMAKE_STATIC_LIBRARY_SUFFIX}" + CACHE FILEPATH "openblas library." FORCE) + set(CBLAS_INC_DIR + "${CBLAS_INSTALL_DIR}/include" + CACHE PATH "openblas include directory." FORCE) + set(OPENBLAS_CC + "${CMAKE_C_COMPILER} -Wno-unused-but-set-variable -Wno-unused-variable") + + if(APPLE) + set(OPENBLAS_CC "${CMAKE_C_COMPILER} -isysroot ${CMAKE_OSX_SYSROOT}") + endif() + set(OPTIONAL_ARGS "") + set(COMMON_ARGS "") + + if(APPLE) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "^x86(_64)?$") + set(OPTIONAL_ARGS DYNAMIC_ARCH=1 NUM_THREADS=64) + endif() + set(COMMON_ARGS CC=${OPENBLAS_CC} NO_SHARED=1) + endif() + + ExternalProject_Add( + OPENBLAS + GIT_REPOSITORY ${CBLAS_REPOSITORY} + GIT_TAG ${CBLAS_TAG} + GIT_SHALLOW YES + PREFIX ${CBLAS_PREFIX_DIR} + INSTALL_DIR ${CBLAS_INSTALL_DIR} + BUILD_IN_SOURCE 1 + BUILD_COMMAND make -j${NPROC} ${COMMON_ARGS} ${OPTIONAL_ARGS} + INSTALL_COMMAND make install PREFIX= + UPDATE_COMMAND "" + CONFIGURE_COMMAND "" + BUILD_BYPRODUCTS ${CBLAS_LIBRARIES}) + + ExternalProject_Get_Property(OPENBLAS INSTALL_DIR) + set(OpenBLAS_INSTALL_PREFIX ${INSTALL_DIR}) + add_library(openblas STATIC IMPORTED) + add_dependencies(openblas OPENBLAS) + set_target_properties(openblas PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES Fortran) + set_target_properties(openblas PROPERTIES IMPORTED_LOCATION ${OpenBLAS_INSTALL_PREFIX}/lib/libopenblas.a) + + link_directories(${OpenBLAS_INSTALL_PREFIX}/lib) + include_directories(${OpenBLAS_INSTALL_PREFIX}/include) + + set(OPENBLAS_LIBRARIES + ${OpenBLAS_INSTALL_PREFIX}/lib/libopenblas.a + ) + + add_library(libopenblas INTERFACE) + add_dependencies(libopenblas openblas) + target_include_directories(libopenblas INTERFACE ${OpenBLAS_INSTALL_PREFIX}/include/openblas) + target_link_libraries(libopenblas INTERFACE ${OPENBLAS_LIBRARIES}) +else() + set(CBLAS_LIBRARIES + "${CBLAS_INSTALL_DIR}/lib/openblas${CMAKE_STATIC_LIBRARY_SUFFIX}" + CACHE FILEPATH "openblas library." FORCE) + set(CBLAS_INC_DIR + "${CBLAS_INSTALL_DIR}/include/openblas" + CACHE PATH "openblas include directory." FORCE) + ExternalProject_Add( + extern_openblas + ${EXTERNAL_PROJECT_LOG_ARGS} + GIT_REPOSITORY ${CBLAS_REPOSITORY} + GIT_TAG ${CBLAS_TAG} + PREFIX ${CBLAS_PREFIX_DIR} + INSTALL_DIR ${CBLAS_INSTALL_DIR} + BUILD_IN_SOURCE 0 + UPDATE_COMMAND "" + CMAKE_ARGS -DCMAKE_C_COMPILER=clang-cl + -DCMAKE_CXX_COMPILER=clang-cl + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_INSTALL_PREFIX=${CBLAS_INSTALL_DIR} + -DCMAKE_BUILD_TYPE=Release #${THIRD_PARTY_BUILD_TYPE} + -DCMAKE_MT=mt + -DUSE_THREAD=OFF + -DBUILD_WITHOUT_LAPACK=NO + -DCMAKE_Fortran_COMPILER=flang + -DNOFORTRAN=0 + -DDYNAMIC_ARCH=ON + #${EXTERNAL_OPTIONAL_ARGS} + CMAKE_CACHE_ARGS + -DCMAKE_INSTALL_PREFIX:PATH=${CBLAS_INSTALL_DIR} + -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON + -DCMAKE_BUILD_TYPE:STRING=Release #${THIRD_PARTY_BUILD_TYPE} + # ninja need to know where openblas.lib comes from + BUILD_BYPRODUCTS ${CBLAS_LIBRARIES}) + set(OPENBLAS_SHARED_LIB + ${CBLAS_INSTALL_DIR}/bin/openblas${CMAKE_SHARED_LIBRARY_SUFFIX}) + + add_library(openblas INTERFACE) + add_dependencies(openblas extern_openblas) + include_directories(${CBLAS_INC_DIR}) + link_libraries(${CBLAS_LIBRARIES}) +endif() + diff --git a/cmake/external/pybind.cmake b/audio/cmake/external/pybind.cmake similarity index 100% rename from cmake/external/pybind.cmake rename to audio/cmake/external/pybind.cmake diff --git a/cmake/summary.cmake b/audio/cmake/summary.cmake similarity index 100% rename from cmake/summary.cmake rename to audio/cmake/summary.cmake diff --git a/audio/paddleaudio/CMakeLists.txt b/audio/paddleaudio/CMakeLists.txt new file mode 100644 index 000000000..c6b43c780 --- /dev/null +++ b/audio/paddleaudio/CMakeLists.txt @@ -0,0 +1,3 @@ + +add_subdirectory(third_party) +add_subdirectory(src) diff --git a/audio/paddleaudio/__init__.py b/audio/paddleaudio/__init__.py index 93937c300..3388b8167 100644 --- a/audio/paddleaudio/__init__.py +++ b/audio/paddleaudio/__init__.py @@ -11,12 +11,12 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from . import _extension from . import backends from . import compliance from . import datasets from . import features from . import functional -from . import io from . import metric from . import sox_effects from . import utils diff --git a/audio/paddleaudio/_extension.py b/audio/paddleaudio/_extension.py new file mode 100644 index 000000000..dfc875915 --- /dev/null +++ b/audio/paddleaudio/_extension.py @@ -0,0 +1,163 @@ +import os +import warnings +from pathlib import Path + +from ._internal import module_utils as _mod_utils # noqa: F401 + + +import contextlib +import ctypes +import os +import sys +import types + +# Query `hasattr` only once. +_SET_GLOBAL_FLAGS = hasattr(sys, 'getdlopenflags') and hasattr(sys, + 'setdlopenflags') + + +@contextlib.contextmanager +def dl_open_guard(): + """ + # https://manpages.debian.org/bullseye/manpages-dev/dlopen.3.en.html + Context manager to set the RTLD_GLOBAL dynamic linker flag while we open a + shared library to load custom operators. + """ + if _SET_GLOBAL_FLAGS: + old_flags = sys.getdlopenflags() + sys.setdlopenflags(old_flags | ctypes.RTLD_GLOBAL) + yield + if _SET_GLOBAL_FLAGS: + sys.setdlopenflags(old_flags) + + +def resolve_library_path(path: str) -> str: + return os.path.realpath(path) + + +class _Ops(types.ModuleType): + #__file__ = '_ops.py' + + def __init__(self): + super(_Ops, self).__init__('paddleaudio.ops') + self.loaded_libraries = set() + + def load_library(self, path): + """ + Loads a shared library from the given path into the current process. + This allows dynamically loading custom operators. For this, + you should compile your operator and + the static registration code into a shared library object, and then + call ``paddleaudio.ops.load_library('path/to/libcustom.so')`` to load the + shared object. + After the library is loaded, it is added to the + ``paddleaudio.ops.loaded_libraries`` attribute, a set that may be inspected + for the paths of all libraries loaded using this function. + Args: + path (str): A path to a shared library to load. + """ + path = resolve_library_path(path) + with dl_open_guard(): + # https://docs.python.org/3/library/ctypes.html?highlight=ctypes#loading-shared-libraries + # Import the shared library into the process, thus running its + # static (global) initialization code in order to register custom + # operators with the JIT. + ctypes.CDLL(path) + self.loaded_libraries.add(path) + + +_LIB_DIR = Path(__file__).parent / "lib" + +def _get_lib_path(lib: str): + suffix = "pyd" if os.name == "nt" else "so" + path = _LIB_DIR / f"{lib}.{suffix}" + return path + + +def _load_lib(lib: str) -> bool: + """Load extension module + Note: + In case `paddleaudio` is deployed with `pex` format, the library file + is not in a standard location. + In this case, we expect that `libpaddlleaudio` is available somewhere + in the search path of dynamic loading mechanism, so that importing + `_paddlleaudio` will have library loader find and load `libpaddlleaudio`. + This is the reason why the function should not raising an error when the library + file is not found. + Returns: + bool: + True if the library file is found AND the library loaded without failure. + False if the library file is not found (like in the case where paddlleaudio + is deployed with pex format, thus the shared library file is + in a non-standard location.). + If the library file is found but there is an issue loading the library, + (such as missing dependency) then this function raises the exception as-is. + Raises: + Exception: + If the library file is found, but there is an issue loading the library file, + (when underlying `ctype.DLL` throws an exception), this function will pass + the exception as-is, instead of catching it and returning bool. + The expected case is `OSError` thrown by `ctype.DLL` when a dynamic dependency + is not found. + This behavior was chosen because the expected failure case is not recoverable. + If a dependency is missing, then users have to install it. + """ + path = _get_lib_path(lib) + if not path.exists(): + warnings.warn("lib path is not exists:" + str(path)) + return False + ops.load_library(path) + return True + + +_FFMPEG_INITIALIZED = False + + +def _init_ffmpeg(): + global _FFMPEG_INITIALIZED + if _FFMPEG_INITIALIZED: + return + + if not paddleaudio._paddlleaudio.is_ffmpeg_available(): + raise RuntimeError( + "paddlleaudio is not compiled with FFmpeg integration. Please set USE_FFMPEG=1 when compiling paddlleaudio." + ) + + try: + _load_lib("libpaddlleaudio_ffmpeg") + except OSError as err: + raise ImportError( + "FFmpeg libraries are not found. Please install FFmpeg.") from err + + import paddllespeech.audio._paddlleaudio_ffmpeg # noqa + + paddleaudio._paddlleaudio.ffmpeg_init() + if paddleaudio._paddlleaudio.ffmpeg_get_log_level() > 8: + paddleaudio._paddlleaudio.ffmpeg_set_log_level(8) + + _FFMPEG_INITIALIZED = True + + +def _init_extension(): + if not _mod_utils.is_module_available("paddleaudio._paddleaudio"): + warnings.warn("paddleaudio C++ extension is not available.") + return + + _load_lib("libpaddleaudio") + # This import is for initializing the methods registered via PyBind11 + # This has to happen after the base library is loaded + from paddleaudio import _paddleaudio # noqa + + # Because this part is executed as part of `import torchaudio`, we ignore the + # initialization failure. + # If the FFmpeg integration is not properly initialized, then detailed error + # will be raised when client code attempts to import the dedicated feature. + try: + _init_ffmpeg() + except Exception: + pass + + +ops = _Ops() + +_init_extension() diff --git a/audio/paddleaudio/_internal/module_utils.py b/audio/paddleaudio/_internal/module_utils.py index 76e6701d6..b78e0821d 100644 --- a/audio/paddleaudio/_internal/module_utils.py +++ b/audio/paddleaudio/_internal/module_utils.py @@ -2,8 +2,9 @@ import importlib.util import warnings from functools import wraps from typing import Optional +import platform -#code is from https://github.com/pytorch/audio/blob/main/torchaudio/_internal/module_utils.py +#code is from https://github.com/pytorch/audio/blob/main/torchaudio/_internal/module_utils.py with modification. def is_module_available(*modules: str) -> bool: @@ -127,6 +128,8 @@ def requires_soundfile(): def is_sox_available(): + if platform.system() == "Windows": # not support sox in windows + return False return is_module_available("paddleaudio._paddleaudio") diff --git a/audio/paddleaudio/functional/window.py b/audio/paddleaudio/functional/window.py index c99d50462..ebbbe46cc 100644 --- a/audio/paddleaudio/functional/window.py +++ b/audio/paddleaudio/functional/window.py @@ -1,4 +1,4 @@ -# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,127 +18,156 @@ from typing import Union import paddle from paddle import Tensor -__all__ = [ - 'get_window', -] +class WindowFunctionRegister(object): + def __init__(self): + self._functions_dict = dict() + def register(self): + def add_subfunction(func): + name = func.__name__ + self._functions_dict[name] = func + return func + + return add_subfunction + + def get(self, name): + return self._functions_dict[name] + + +window_function_register = WindowFunctionRegister() + + +@window_function_register.register() def _cat(x: List[Tensor], data_type: str) -> Tensor: l = [paddle.to_tensor(_, data_type) for _ in x] return paddle.concat(l) +@window_function_register.register() def _acosh(x: Union[Tensor, float]) -> Tensor: if isinstance(x, float): return math.log(x + math.sqrt(x**2 - 1)) return paddle.log(x + paddle.sqrt(paddle.square(x) - 1)) +@window_function_register.register() def _extend(M: int, sym: bool) -> bool: - """Extend window by 1 sample if needed for DFT-even symmetry. """ + """Extend window by 1 sample if needed for DFT-even symmetry.""" if not sym: return M + 1, True else: return M, False +@window_function_register.register() def _len_guards(M: int) -> bool: - """Handle small or incorrect window lengths. """ + """Handle small or incorrect window lengths.""" if int(M) != M or M < 0: raise ValueError('Window length M must be a non-negative integer') return M <= 1 +@window_function_register.register() def _truncate(w: Tensor, needed: bool) -> Tensor: - """Truncate window by 1 sample if needed for DFT-even symmetry. """ + """Truncate window by 1 sample if needed for DFT-even symmetry.""" if needed: return w[:-1] else: return w -def _general_gaussian(M: int, p, sig, sym: bool=True, - dtype: str='float64') -> Tensor: +@window_function_register.register() +def _general_gaussian( + M: int, p, sig, sym: bool = True, dtype: str = 'float64' +) -> Tensor: """Compute a window with a generalized Gaussian shape. This function is consistent with scipy.signal.windows.general_gaussian(). """ if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) M, needs_trunc = _extend(M, sym) n = paddle.arange(0, M, dtype=dtype) - (M - 1.0) / 2.0 - w = paddle.exp(-0.5 * paddle.abs(n / sig)**(2 * p)) + w = paddle.exp(-0.5 * paddle.abs(n / sig) ** (2 * p)) return _truncate(w, needs_trunc) -def _general_cosine(M: int, a: float, sym: bool=True, - dtype: str='float64') -> Tensor: +@window_function_register.register() +def _general_cosine( + M: int, a: float, sym: bool = True, dtype: str = 'float64' +) -> Tensor: """Compute a generic weighted sum of cosine terms window. This function is consistent with scipy.signal.windows.general_cosine(). """ if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) M, needs_trunc = _extend(M, sym) fac = paddle.linspace(-math.pi, math.pi, M, dtype=dtype) - w = paddle.zeros((M, ), dtype=dtype) + w = paddle.zeros((M,), dtype=dtype) for k in range(len(a)): w += a[k] * paddle.cos(k * fac) return _truncate(w, needs_trunc) -def _general_hamming(M: int, alpha: float, sym: bool=True, - dtype: str='float64') -> Tensor: +@window_function_register.register() +def _general_hamming( + M: int, alpha: float, sym: bool = True, dtype: str = 'float64' +) -> Tensor: """Compute a generalized Hamming window. This function is consistent with scipy.signal.windows.general_hamming() """ - return _general_cosine(M, [alpha, 1. - alpha], sym, dtype=dtype) + return _general_cosine(M, [alpha, 1.0 - alpha], sym, dtype=dtype) -def _taylor(M: int, - nbar=4, - sll=30, - norm=True, - sym: bool=True, - dtype: str='float64') -> Tensor: +@window_function_register.register() +def _taylor( + M: int, nbar=4, sll=30, norm=True, sym: bool = True, dtype: str = 'float64' +) -> Tensor: """Compute a Taylor window. The Taylor window taper function approximates the Dolph-Chebyshev window's constant sidelobe level for a parameterized number of near-in sidelobes. """ if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) M, needs_trunc = _extend(M, sym) # Original text uses a negative sidelobe level parameter and then negates # it in the calculation of B. To keep consistent with other methods we # assume the sidelobe level parameter to be positive. - B = 10**(sll / 20) + B = 10 ** (sll / 20) A = _acosh(B) / math.pi - s2 = nbar**2 / (A**2 + (nbar - 0.5)**2) + s2 = nbar**2 / (A**2 + (nbar - 0.5) ** 2) ma = paddle.arange(1, nbar, dtype=dtype) - Fm = paddle.empty((nbar - 1, ), dtype=dtype) + Fm = paddle.empty((nbar - 1,), dtype=dtype) signs = paddle.empty_like(ma) signs[::2] = 1 signs[1::2] = -1 m2 = ma * ma for mi in range(len(ma)): - numer = signs[mi] * paddle.prod(1 - m2[mi] / s2 / (A**2 + (ma - 0.5)**2 - )) + numer = signs[mi] * paddle.prod( + 1 - m2[mi] / s2 / (A**2 + (ma - 0.5) ** 2) + ) if mi == 0: - denom = 2 * paddle.prod(1 - m2[mi] / m2[mi + 1:]) + denom = 2 * paddle.prod(1 - m2[mi] / m2[mi + 1 :]) elif mi == len(ma) - 1: denom = 2 * paddle.prod(1 - m2[mi] / m2[:mi]) else: - denom = 2 * paddle.prod(1 - m2[mi] / m2[:mi]) * paddle.prod(1 - m2[ - mi] / m2[mi + 1:]) + denom = ( + 2 + * paddle.prod(1 - m2[mi] / m2[:mi]) + * paddle.prod(1 - m2[mi] / m2[mi + 1 :]) + ) Fm[mi] = numer / denom def W(n): return 1 + 2 * paddle.matmul( Fm.unsqueeze(0), - paddle.cos(2 * math.pi * ma.unsqueeze(1) * (n - M / 2. + 0.5) / M)) + paddle.cos(2 * math.pi * ma.unsqueeze(1) * (n - M / 2.0 + 0.5) / M), + ) w = W(paddle.arange(0, M, dtype=dtype)) @@ -150,7 +179,8 @@ def _taylor(M: int, return _truncate(w, needs_trunc) -def _hamming(M: int, sym: bool=True, dtype: str='float64') -> Tensor: +@window_function_register.register() +def _hamming(M: int, sym: bool = True, dtype: str = 'float64') -> Tensor: """Compute a Hamming window. The Hamming window is a taper formed by using a raised cosine with non-zero endpoints, optimized to minimize the nearest side lobe. @@ -158,7 +188,8 @@ def _hamming(M: int, sym: bool=True, dtype: str='float64') -> Tensor: return _general_hamming(M, 0.54, sym, dtype=dtype) -def _hann(M: int, sym: bool=True, dtype: str='float64') -> Tensor: +@window_function_register.register() +def _hann(M: int, sym: bool = True, dtype: str = 'float64') -> Tensor: """Compute a Hann window. The Hann window is a taper formed by using a raised cosine or sine-squared with ends that touch zero. @@ -166,15 +197,18 @@ def _hann(M: int, sym: bool=True, dtype: str='float64') -> Tensor: return _general_hamming(M, 0.5, sym, dtype=dtype) -def _tukey(M: int, alpha=0.5, sym: bool=True, dtype: str='float64') -> Tensor: +@window_function_register.register() +def _tukey( + M: int, alpha=0.5, sym: bool = True, dtype: str = 'float64' +) -> Tensor: """Compute a Tukey window. The Tukey window is also known as a tapered cosine window. """ if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) if alpha <= 0: - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) elif alpha >= 1.0: return hann(M, sym=sym) @@ -182,53 +216,48 @@ def _tukey(M: int, alpha=0.5, sym: bool=True, dtype: str='float64') -> Tensor: n = paddle.arange(0, M, dtype=dtype) width = int(alpha * (M - 1) / 2.0) - n1 = n[0:width + 1] - n2 = n[width + 1:M - width - 1] - n3 = n[M - width - 1:] + n1 = n[0 : width + 1] + n2 = n[width + 1 : M - width - 1] + n3 = n[M - width - 1 :] w1 = 0.5 * (1 + paddle.cos(math.pi * (-1 + 2.0 * n1 / alpha / (M - 1)))) w2 = paddle.ones(n2.shape, dtype=dtype) - w3 = 0.5 * (1 + paddle.cos(math.pi * (-2.0 / alpha + 1 + 2.0 * n3 / alpha / - (M - 1)))) + w3 = 0.5 * ( + 1 + + paddle.cos(math.pi * (-2.0 / alpha + 1 + 2.0 * n3 / alpha / (M - 1))) + ) w = paddle.concat([w1, w2, w3]) return _truncate(w, needs_trunc) -def _kaiser(M: int, beta: float, sym: bool=True, - dtype: str='float64') -> Tensor: - """Compute a Kaiser window. - The Kaiser window is a taper formed by using a Bessel function. - """ - raise NotImplementedError() - - -def _gaussian(M: int, std: float, sym: bool=True, - dtype: str='float64') -> Tensor: +@window_function_register.register() +def _gaussian( + M: int, std: float, sym: bool = True, dtype: str = 'float64' +) -> Tensor: """Compute a Gaussian window. The Gaussian widows has a Gaussian shape defined by the standard deviation(std). """ if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) M, needs_trunc = _extend(M, sym) n = paddle.arange(0, M, dtype=dtype) - (M - 1.0) / 2.0 sig2 = 2 * std * std - w = paddle.exp(-n**2 / sig2) + w = paddle.exp(-(n**2) / sig2) return _truncate(w, needs_trunc) -def _exponential(M: int, - center=None, - tau=1., - sym: bool=True, - dtype: str='float64') -> Tensor: - """Compute an exponential (or Poisson) window. """ +@window_function_register.register() +def _exponential( + M: int, center=None, tau=1.0, sym: bool = True, dtype: str = 'float64' +) -> Tensor: + """Compute an exponential (or Poisson) window.""" if sym and center is not None: raise ValueError("If sym==True, center must be None.") if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) M, needs_trunc = _extend(M, sym) if center is None: @@ -240,11 +269,11 @@ def _exponential(M: int, return _truncate(w, needs_trunc) -def _triang(M: int, sym: bool=True, dtype: str='float64') -> Tensor: - """Compute a triangular window. - """ +@window_function_register.register() +def _triang(M: int, sym: bool = True, dtype: str = 'float64') -> Tensor: + """Compute a triangular window.""" if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) M, needs_trunc = _extend(M, sym) n = paddle.arange(1, (M + 1) // 2 + 1, dtype=dtype) @@ -258,23 +287,26 @@ def _triang(M: int, sym: bool=True, dtype: str='float64') -> Tensor: return _truncate(w, needs_trunc) -def _bohman(M: int, sym: bool=True, dtype: str='float64') -> Tensor: +@window_function_register.register() +def _bohman(M: int, sym: bool = True, dtype: str = 'float64') -> Tensor: """Compute a Bohman window. The Bohman window is the autocorrelation of a cosine window. """ if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) M, needs_trunc = _extend(M, sym) fac = paddle.abs(paddle.linspace(-1, 1, M, dtype=dtype)[1:-1]) w = (1 - fac) * paddle.cos(math.pi * fac) + 1.0 / math.pi * paddle.sin( - math.pi * fac) + math.pi * fac + ) w = _cat([0, w, 0], dtype) return _truncate(w, needs_trunc) -def _blackman(M: int, sym: bool=True, dtype: str='float64') -> Tensor: +@window_function_register.register() +def _blackman(M: int, sym: bool = True, dtype: str = 'float64') -> Tensor: """Compute a Blackman window. The Blackman window is a taper formed by using the first three terms of a summation of cosines. It was designed to have close to the minimal @@ -284,31 +316,44 @@ def _blackman(M: int, sym: bool=True, dtype: str='float64') -> Tensor: return _general_cosine(M, [0.42, 0.50, 0.08], sym, dtype=dtype) -def _cosine(M: int, sym: bool=True, dtype: str='float64') -> Tensor: - """Compute a window with a simple cosine shape. - """ +@window_function_register.register() +def _cosine(M: int, sym: bool = True, dtype: str = 'float64') -> Tensor: + """Compute a window with a simple cosine shape.""" if _len_guards(M): - return paddle.ones((M, ), dtype=dtype) + return paddle.ones((M,), dtype=dtype) M, needs_trunc = _extend(M, sym) - w = paddle.sin(math.pi / M * (paddle.arange(0, M, dtype=dtype) + .5)) + w = paddle.sin(math.pi / M * (paddle.arange(0, M, dtype=dtype) + 0.5)) return _truncate(w, needs_trunc) -def get_window(window: Union[str, Tuple[str, float]], - win_length: int, - fftbins: bool=True, - dtype: str='float64') -> Tensor: +def get_window( + window: Union[str, Tuple[str, float]], + win_length: int, + fftbins: bool = True, + dtype: str = 'float64', +) -> Tensor: """Return a window of a given length and type. Args: - window (Union[str, Tuple[str, float]]): The window function applied to the signal before the Fourier transform. Supported window functions: 'hamming', 'hann', 'kaiser', 'gaussian', 'exponential', 'triang', 'bohman', 'blackman', 'cosine', 'tukey', 'taylor'. + window (Union[str, Tuple[str, float]]): The window function applied to the signal before the Fourier transform. Supported window functions: 'hamming', 'hann', 'gaussian', 'general_gaussian', 'exponential', 'triang', 'bohman', 'blackman', 'cosine', 'tukey', 'taylor'. win_length (int): Number of samples. fftbins (bool, optional): If True, create a "periodic" window. Otherwise, create a "symmetric" window, for use in filter design. Defaults to True. dtype (str, optional): The data type of the return window. Defaults to 'float64'. Returns: Tensor: The window represented as a tensor. + + Examples: + .. code-block:: python + + import paddle + + n_fft = 512 + cosine_window = paddle.audio.functional.get_window('cosine', n_fft) + + std = 7 + gaussian_window = paddle.audio.functional.get_window(('gaussian',std), n_fft) """ sym = not fftbins @@ -319,19 +364,22 @@ def get_window(window: Union[str, Tuple[str, float]], args = window[1:] elif isinstance(window, str): if window in ['gaussian', 'exponential']: - raise ValueError("The '" + window + "' window needs one or " - "more parameters -- pass a tuple.") + raise ValueError( + "The '" + window + "' window needs one or " + "more parameters -- pass a tuple." + ) else: winstr = window else: - raise ValueError("%s as window type is not supported." % - str(type(window))) + raise ValueError( + "%s as window type is not supported." % str(type(window)) + ) try: - winfunc = eval('_' + winstr) + winfunc = window_function_register.get('_' + winstr) except KeyError as e: raise ValueError("Unknown window type.") from e - params = (win_length, ) + args + params = (win_length,) + args kwargs = {'sym': sym} return winfunc(*params, dtype=dtype, **kwargs) diff --git a/audio/paddleaudio/io/__init__.py b/audio/paddleaudio/io/__init__.py deleted file mode 100644 index 185a92b8d..000000000 --- a/audio/paddleaudio/io/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/tests/unit/audio/features/__init__.py b/audio/paddleaudio/kaldi/__init__.py similarity index 92% rename from tests/unit/audio/features/__init__.py rename to audio/paddleaudio/kaldi/__init__.py index 97043fd7b..f951e280a 100644 --- a/tests/unit/audio/features/__init__.py +++ b/audio/paddleaudio/kaldi/__init__.py @@ -11,3 +11,5 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from .kaldi import fbank +from .kaldi import pitch diff --git a/audio/paddleaudio/kaldi/kaldi.py b/audio/paddleaudio/kaldi/kaldi.py new file mode 100644 index 000000000..1a3010acd --- /dev/null +++ b/audio/paddleaudio/kaldi/kaldi.py @@ -0,0 +1,132 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import paddleaudio +from paddleaudio._internal import module_utils + +__all__ = [ + 'fbank', + 'pitch', +] + + +@module_utils.requires_kaldi() +def fbank( + wav, + samp_freq: int=16000, + frame_shift_ms: float=10.0, + frame_length_ms: float=25.0, + dither: float=0.0, + preemph_coeff: float=0.97, + remove_dc_offset: bool=True, + window_type: str='povey', + round_to_power_of_two: bool=True, + blackman_coeff: float=0.42, + snip_edges: bool=True, + allow_downsample: bool=False, + allow_upsample: bool=False, + max_feature_vectors: int=-1, + num_bins: int=23, + low_freq: float=20, + high_freq: float=0, + vtln_low: float=100, + vtln_high: float=-500, + debug_mel: bool=False, + htk_mode: bool=False, + use_energy: bool=False, # fbank opts + energy_floor: float=0.0, + raw_energy: bool=True, + htk_compat: bool=False, + use_log_fbank: bool=True, + use_power: bool=True): + frame_opts = paddleaudio._paddleaudio.FrameExtractionOptions() + mel_opts = paddleaudio._paddleaudio.MelBanksOptions() + fbank_opts = paddleaudio._paddleaudio.FbankOptions() + frame_opts.samp_freq = samp_freq + frame_opts.frame_shift_ms = frame_shift_ms + frame_opts.frame_length_ms = frame_length_ms + frame_opts.dither = dither + frame_opts.preemph_coeff = preemph_coeff + frame_opts.remove_dc_offset = remove_dc_offset + frame_opts.window_type = window_type + frame_opts.round_to_power_of_two = round_to_power_of_two + frame_opts.blackman_coeff = blackman_coeff + frame_opts.snip_edges = snip_edges + frame_opts.allow_downsample = allow_downsample + frame_opts.allow_upsample = allow_upsample + frame_opts.max_feature_vectors = max_feature_vectors + + mel_opts.num_bins = num_bins + mel_opts.low_freq = low_freq + mel_opts.high_freq = high_freq + mel_opts.vtln_low = vtln_low + mel_opts.vtln_high = vtln_high + mel_opts.debug_mel = debug_mel + mel_opts.htk_mode = htk_mode + + fbank_opts.use_energy = use_energy + fbank_opts.energy_floor = energy_floor + fbank_opts.raw_energy = raw_energy + fbank_opts.htk_compat = htk_compat + fbank_opts.use_log_fbank = use_log_fbank + fbank_opts.use_power = use_power + feat = paddleaudio._paddleaudio.ComputeFbank(frame_opts, mel_opts, fbank_opts, wav) + return feat + + +@module_utils.requires_kaldi() +def pitch(wav, + samp_freq: int=16000, + frame_shift_ms: float=10.0, + frame_length_ms: float=25.0, + preemph_coeff: float=0.0, + min_f0: int=50, + max_f0: int=400, + soft_min_f0: float=10.0, + penalty_factor: float=0.1, + lowpass_cutoff: int=1000, + resample_freq: int=4000, + delta_pitch: float=0.005, + nccf_ballast: int=7000, + lowpass_filter_width: int=1, + upsample_filter_width: int=5, + max_frames_latency: int=0, + frames_per_chunk: int=0, + simulate_first_pass_online: bool=False, + recompute_frame: int=500, + nccf_ballast_online: bool=False, + snip_edges: bool=True): + pitch_opts = paddleaudio._paddleaudio.PitchExtractionOptions() + pitch_opts.samp_freq = samp_freq + pitch_opts.frame_shift_ms = frame_shift_ms + pitch_opts.frame_length_ms = frame_length_ms + pitch_opts.preemph_coeff = preemph_coeff + pitch_opts.min_f0 = min_f0 + pitch_opts.max_f0 = max_f0 + pitch_opts.soft_min_f0 = soft_min_f0 + pitch_opts.penalty_factor = penalty_factor + pitch_opts.lowpass_cutoff = lowpass_cutoff + pitch_opts.resample_freq = resample_freq + pitch_opts.delta_pitch = delta_pitch + pitch_opts.nccf_ballast = nccf_ballast + pitch_opts.lowpass_filter_width = lowpass_filter_width + pitch_opts.upsample_filter_width = upsample_filter_width + pitch_opts.max_frames_latency = max_frames_latency + pitch_opts.frames_per_chunk = frames_per_chunk + pitch_opts.simulate_first_pass_online = simulate_first_pass_online + pitch_opts.recompute_frame = recompute_frame + pitch_opts.nccf_ballast_online = nccf_ballast_online + pitch_opts.snip_edges = snip_edges + pitch = paddleaudio._paddleaudio.ComputeKaldiPitch(pitch_opts, wav) + return pitch diff --git a/audio/paddleaudio/sox_effects/__init__.py b/audio/paddleaudio/sox_effects/__init__.py index 97043fd7b..d78be0de1 100644 --- a/audio/paddleaudio/sox_effects/__init__.py +++ b/audio/paddleaudio/sox_effects/__init__.py @@ -1,13 +1,25 @@ -# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +from paddleaudio._internal import module_utils as _mod_utils + +from .sox_effects import ( + apply_effects_file, + apply_effects_tensor, + effect_names, + init_sox_effects, + shutdown_sox_effects, +) + + +if _mod_utils.is_sox_available(): + import atexit + + init_sox_effects() + atexit.register(shutdown_sox_effects) + +__all__ = [ + "init_sox_effects", + "shutdown_sox_effects", + "effect_names", + "apply_effects_tensor", + "apply_effects_file", +] + diff --git a/audio/paddleaudio/sox_effects/sox_effects.py b/audio/paddleaudio/sox_effects/sox_effects.py new file mode 100644 index 000000000..4444b98e3 --- /dev/null +++ b/audio/paddleaudio/sox_effects/sox_effects.py @@ -0,0 +1,238 @@ +import os +from typing import List, Optional, Tuple +import paddle +import numpy + +from paddleaudio._internal import module_utils as _mod_utils +from paddleaudio.utils.sox_utils import list_effects +from paddleaudio import _paddleaudio as paddleaudio + +#code is from: https://github.com/pytorch/audio/blob/main/torchaudio/sox_effects/sox_effects.py + +@_mod_utils.requires_sox() +def init_sox_effects(): + """Initialize resources required to use sox effects. + + Note: + You do not need to call this function manually. It is called automatically. + + Once initialized, you do not need to call this function again across the multiple uses of + sox effects though it is safe to do so as long as :func:`shutdown_sox_effects` is not called yet. + Once :func:`shutdown_sox_effects` is called, you can no longer use SoX effects and initializing + again will result in error. + """ + paddleaudio.sox_effects_initialize_sox_effects() + + +@_mod_utils.requires_sox() +def shutdown_sox_effects(): + """Clean up resources required to use sox effects. + + Note: + You do not need to call this function manually. It is called automatically. + + It is safe to call this function multiple times. + Once :py:func:`shutdown_sox_effects` is called, you can no longer use SoX effects and + initializing again will result in error. + """ + paddleaudio.sox_effects_shutdown_sox_effects() + + +@_mod_utils.requires_sox() +def effect_names() -> List[str]: + """Gets list of valid sox effect names + + Returns: + List[str]: list of available effect names. + + Example + >>> paddleaudio.sox_effects.effect_names() + ['allpass', 'band', 'bandpass', ... ] + """ + return list(list_effects().keys()) + + +@_mod_utils.requires_sox() +def apply_effects_tensor( + tensor: paddle.Tensor, + sample_rate: int, + effects: List[List[str]], + channels_first: bool = True, +) -> Tuple[paddle.Tensor, int]: + """Apply sox effects to given Tensor + + .. devices:: CPU + + Note: + This function only works on CPU Tensors. + This function works in the way very similar to ``sox`` command, however there are slight + differences. For example, ``sox`` command adds certain effects automatically (such as + ``rate`` effect after ``speed`` and ``pitch`` and other effects), but this function does + only applies the given effects. (Therefore, to actually apply ``speed`` effect, you also + need to give ``rate`` effect with desired sampling rate.). + + Args: + tensor (paddle.Tensor): Input 2D CPU Tensor. + sample_rate (int): Sample rate + effects (List[List[str]]): List of effects. + channels_first (bool, optional): Indicates if the input Tensor's dimension is + `[channels, time]` or `[time, channels]` + + Returns: + (Tensor, int): Resulting Tensor and sample rate. + The resulting Tensor has the same ``dtype`` as the input Tensor, and + the same channels order. The shape of the Tensor can be different based on the + effects applied. Sample rate can also be different based on the effects applied. + + Example - Basic usage + >>> + >>> # Defines the effects to apply + >>> effects = [ + ... ['gain', '-n'], # normalises to 0dB + ... ['pitch', '5'], # 5 cent pitch shift + ... ['rate', '8000'], # resample to 8000 Hz + ... ] + >>> + >>> # Generate pseudo wave: + >>> # normalized, channels first, 2ch, sampling rate 16000, 1 second + >>> sample_rate = 16000 + >>> waveform = 2 * paddle.rand([2, sample_rate * 1]) - 1 + >>> waveform.shape + paddle.Size([2, 16000]) + >>> waveform + tensor([[ 0.3138, 0.7620, -0.9019, ..., -0.7495, -0.4935, 0.5442], + [-0.0832, 0.0061, 0.8233, ..., -0.5176, -0.9140, -0.2434]]) + >>> + >>> # Apply effects + >>> waveform, sample_rate = apply_effects_tensor( + ... wave_form, sample_rate, effects, channels_first=True) + >>> + >>> # Check the result + >>> # The new waveform is sampling rate 8000, 1 second. + >>> # normalization and channel order are preserved + >>> waveform.shape + paddle.Size([2, 8000]) + >>> waveform + tensor([[ 0.5054, -0.5518, -0.4800, ..., -0.0076, 0.0096, -0.0110], + [ 0.1331, 0.0436, -0.3783, ..., -0.0035, 0.0012, 0.0008]]) + >>> sample_rate + 8000 + + """ + tensor_np = tensor.numpy() + ret = paddleaudio.sox_effects_apply_effects_tensor(tensor_np, sample_rate, effects, channels_first) + if ret is not None: + return (paddle.to_tensor(ret[0]), ret[1]) + raise RuntimeError("Failed to apply sox effect") + + +@_mod_utils.requires_sox() +def apply_effects_file( + path: str, + effects: List[List[str]], + normalize: bool = True, + channels_first: bool = True, + format: Optional[str] = None, +) -> Tuple[paddle.Tensor, int]: + """Apply sox effects to the audio file and load the resulting data as Tensor + + Note: + This function works in the way very similar to ``sox`` command, however there are slight + differences. For example, ``sox`` commnad adds certain effects automatically (such as + ``rate`` effect after ``speed``, ``pitch`` etc), but this function only applies the given + effects. Therefore, to actually apply ``speed`` effect, you also need to give ``rate`` + effect with desired sampling rate, because internally, ``speed`` effects only alter sampling + rate and leave samples untouched. + + Args: + path (path-like object or file-like object): + effects (List[List[str]]): List of effects. + normalize (bool, optional): + When ``True``, this function always return ``float32``, and sample values are + normalized to ``[-1.0, 1.0]``. + If input file is integer WAV, giving ``False`` will change the resulting Tensor type to + integer type. This argument has no effect for formats other + than integer WAV type. + channels_first (bool, optional): When True, the returned Tensor has dimension `[channel, time]`. + Otherwise, the returned Tensor's dimension is `[time, channel]`. + format (str or None, optional): + Override the format detection with the given format. + Providing the argument might help when libsox can not infer the format + from header or extension, + + Returns: + (Tensor, int): Resulting Tensor and sample rate. + If ``normalize=True``, the resulting Tensor is always ``float32`` type. + If ``normalize=False`` and the input audio file is of integer WAV file, then the + resulting Tensor has corresponding integer type. (Note 24 bit integer type is not supported) + If ``channels_first=True``, the resulting Tensor has dimension `[channel, time]`, + otherwise `[time, channel]`. + + Example - Basic usage + >>> + >>> # Defines the effects to apply + >>> effects = [ + ... ['gain', '-n'], # normalises to 0dB + ... ['pitch', '5'], # 5 cent pitch shift + ... ['rate', '8000'], # resample to 8000 Hz + ... ] + >>> + >>> # Apply effects and load data with channels_first=True + >>> waveform, sample_rate = apply_effects_file("data.wav", effects, channels_first=True) + >>> + >>> # Check the result + >>> waveform.shape + paddle.Size([2, 8000]) + >>> waveform + tensor([[ 5.1151e-03, 1.8073e-02, 2.2188e-02, ..., 1.0431e-07, + -1.4761e-07, 1.8114e-07], + [-2.6924e-03, 2.1860e-03, 1.0650e-02, ..., 6.4122e-07, + -5.6159e-07, 4.8103e-07]]) + >>> sample_rate + 8000 + + Example - Apply random speed perturbation to dataset + >>> + >>> # Load data from file, apply random speed perturbation + >>> class RandomPerturbationFile(paddle.utils.data.Dataset): + ... \"\"\"Given flist, apply random speed perturbation + ... + ... Suppose all the input files are at least one second long. + ... \"\"\" + ... def __init__(self, flist: List[str], sample_rate: int): + ... super().__init__() + ... self.flist = flist + ... self.sample_rate = sample_rate + ... + ... def __getitem__(self, index): + ... speed = 0.5 + 1.5 * random.randn() + ... effects = [ + ... ['gain', '-n', '-10'], # apply 10 db attenuation + ... ['remix', '-'], # merge all the channels + ... ['speed', f'{speed:.5f}'], # duration is now 0.5 ~ 2.0 seconds. + ... ['rate', f'{self.sample_rate}'], + ... ['pad', '0', '1.5'], # add 1.5 seconds silence at the end + ... ['trim', '0', '2'], # get the first 2 seconds + ... ] + ... waveform, _ = paddleaudio.sox_effects.apply_effects_file( + ... self.flist[index], effects) + ... return waveform + ... + ... def __len__(self): + ... return len(self.flist) + ... + >>> dataset = RandomPerturbationFile(file_list, sample_rate=8000) + >>> loader = paddle.utils.data.DataLoader(dataset, batch_size=32) + >>> for batch in loader: + >>> pass + """ + if hasattr(path, "read"): + ret = paddleaudio.apply_effects_fileobj(path, effects, normalize, channels_first, format) + if ret is None: + raise RuntimeError("Failed to load audio from {}".format(path)) + return (paddle.to_tensor(ret[0]), ret[1]) + path = os.fspath(path) + ret = paddleaudio.sox_effects_apply_effects_file(path, effects, normalize, channels_first, format) + if ret is not None: + return (paddle.to_tensor(ret[0]), ret[1]) + raise RuntimeError("Failed to load audio from {}".format(path)) diff --git a/audio/paddleaudio/src/CMakeLists.txt b/audio/paddleaudio/src/CMakeLists.txt new file mode 100644 index 000000000..4496b5153 --- /dev/null +++ b/audio/paddleaudio/src/CMakeLists.txt @@ -0,0 +1,205 @@ +if (MSVC) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +endif() + +if(APPLE) +set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") +endif(APPLE) + +################################################################################ +# libpaddleaudio +################################################################################ +set( + LIBPADDLEAUDIO_SOURCES + utils.cpp + ) + +set( + LIBPADDLEAUDIO_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} + ) + +set( + LIBPADDLEAUDIO_LINK_LIBRARIES + ) + +set( + LIBPADDLEAUDIO_COMPILE_DEFINITIONS) + +#------------------------------------------------------------------------------# +# START OF CUSTOMIZATION LOGICS +#------------------------------------------------------------------------------# + +if(BUILD_SOX) + list( + APPEND + LIBPADDLEAUDIO_LINK_LIBRARIES + libsox + ) + list( + APPEND + LIBPADDLEAUDIO_SOURCES + #sox/io.cpp + #sox/utils.cpp + #sox/effects.cpp + #sox/effects_chain.cpp + #sox/types.cpp + ) + list( + APPEND + LIBPADDLEAUDIO_COMPILE_DEFINITIONS + INCLUDE_SOX + ) +endif() + + +if(BUILD_KALDI) + list( + APPEND + LIBPADDLEAUDIO_LINK_LIBRARIES + libkaldi + ) + list( + APPEND + LIBPADDLEAUDIO_COMPILE_DEFINITIONS + INCLUDE_KALDI + COMPILE_WITHOUT_OPENFST + ) +endif() + +#------------------------------------------------------------------------------# +# END OF CUSTOMIZATION LOGICS +#------------------------------------------------------------------------------# + +function (define_library name source include_dirs link_libraries compile_defs) + add_library(${name} SHARED ${source}) + target_include_directories(${name} PRIVATE ${include_dirs}) + target_link_libraries(${name} ${link_libraries}) + target_compile_definitions(${name} PRIVATE ${compile_defs}) + set_target_properties(${name} PROPERTIES PREFIX "") + if (MSVC) + set_target_properties(${name} PROPERTIES SUFFIX ".pyd") + endif(MSVC) + install( + TARGETS ${name} + LIBRARY DESTINATION lib + RUNTIME DESTINATION lib # For Windows + ) +endfunction() + + +define_library( + libpaddleaudio + "${LIBPADDLEAUDIO_SOURCES}" + "${LIBPADDLEAUDIO_INCLUDE_DIRS}" + "${LIBPADDLEAUDIO_LINK_LIBRARIES}" + "${LIBPADDLEAUDIO_COMPILE_DEFINITIONS}" +) + +if (APPLE) + set(AUDIO_LIBRARY libpaddleaudio CACHE INTERNAL "") +else() + set(AUDIO_LIBRARY -Wl,--no-as-needed libpaddleaudio -Wl,--as-needed CACHE INTERNAL "") +endif() + + ################################################################################ +# _paddleaudio.so +################################################################################ +if (BUILD_PADDLEAUDIO_PYTHON_EXTENSION) +if (WIN32) + find_package(Python3 ${PYTHON_VERSION} EXACT COMPONENTS Development) + set(ADDITIONAL_ITEMS Python3::Python) +endif() +function(define_extension name sources include_dirs libraries definitions) + add_library(${name} SHARED ${sources}) + target_compile_definitions(${name} PRIVATE "${definitions}") + target_include_directories( + ${name} PRIVATE ${PROJECT_SOURCE_DIR} ${Python_INCLUDE_DIR} ${pybind11_INCLUDE_DIR} ${include_dirs}) + target_link_libraries( + ${name} + ${libraries} + ${PYTHON_LIBRARY} + ${ADDITIONAL_ITEMS} + ) + set_target_properties(${name} PROPERTIES PREFIX "") + if (MSVC) + set_target_properties(${name} PROPERTIES SUFFIX ".pyd") + endif(MSVC) + if (APPLE) + # https://github.com/facebookarchive/caffe2/issues/854#issuecomment-364538485 + # https://github.com/pytorch/pytorch/commit/73f6715f4725a0723d8171d3131e09ac7abf0666 + set_target_properties(${name} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") + endif() + install( + TARGETS ${name} + LIBRARY DESTINATION . + RUNTIME DESTINATION . # For Windows + ) +endfunction() + +set( + EXTENSION_SOURCES + pybind/pybind.cpp + ) +#----------------------------------------------------------------------------# +# START OF CUSTOMIZATION LOGICS +#----------------------------------------------------------------------------# +if(BUILD_SOX) + list( + APPEND + EXTENSION_SOURCES + pybind/sox/effects.cpp + pybind/sox/effects_chain.cpp + pybind/sox/io.cpp + pybind/sox/types.cpp + pybind/sox/utils.cpp + ) +endif() + +if(BUILD_KALDI) + list( + APPEND + EXTENSION_SOURCES + pybind/kaldi/kaldi_feature_wrapper.cc + pybind/kaldi/kaldi_feature.cc + ) +endif() +#----------------------------------------------------------------------------# +# END OF CUSTOMIZATION LOGICS +#----------------------------------------------------------------------------# +define_extension( + _paddleaudio + "${EXTENSION_SOURCES}" + "" + libpaddleaudio + "${LIBPADDLEAUDIO_COMPILE_DEFINITIONS}" + ) +# if(BUILD_CTC_DECODER) +# set( +# DECODER_EXTENSION_SOURCES +# decoder/bindings/pybind.cpp +# ) +# define_extension( +# _paddleaudio_decoder +# "${DECODER_EXTENSION_SOURCES}" +# "" +# "libpaddleaudio_decoder" +# "${LIBPADDLEAUDIO_DECODER_DEFINITIONS}" +# ) +# endif() +# if(USE_FFMPEG) +# set( +# FFMPEG_EXTENSION_SOURCES +# ffmpeg/pybind/typedefs.cpp +# ffmpeg/pybind/pybind.cpp +# ffmpeg/pybind/stream_reader.cpp +# ) +# define_extension( +# _paddleaudio_ffmpeg +# "${FFMPEG_EXTENSION_SOURCES}" +# "${FFMPEG_INCLUDE_DIRS}" +# "libpaddleaudio_ffmpeg" +# "${LIBPADDLEAUDIO_DECODER_DEFINITIONS}" +# ) +# endif() +endif() diff --git a/audio/paddleaudio/src/optional/COPYING b/audio/paddleaudio/src/optional/COPYING new file mode 100644 index 000000000..0e259d42c --- /dev/null +++ b/audio/paddleaudio/src/optional/COPYING @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/audio/paddleaudio/src/optional/optional.hpp b/audio/paddleaudio/src/optional/optional.hpp new file mode 100644 index 000000000..bceb41135 --- /dev/null +++ b/audio/paddleaudio/src/optional/optional.hpp @@ -0,0 +1,2182 @@ + +/// +// optional - An implementation of std::optional with extensions +// Written in 2017 by Sy Brand (tartanllama@gmail.com, @TartanLlama) +// +// Documentation available at https://tl.tartanllama.xyz/ +// +// To the extent possible under law, the author(s) have dedicated all +// copyright and related and neighboring rights to this software to the +// public domain worldwide. This software is distributed without any warranty. +// +// You should have received a copy of the CC0 Public Domain Dedication +// along with this software. If not, see +// . +// https://github.com/TartanLlama/optional +/// + +#ifndef TL_OPTIONAL_HPP +#define TL_OPTIONAL_HPP + +#define TL_OPTIONAL_VERSION_MAJOR 1 +#define TL_OPTIONAL_VERSION_MINOR 0 +#define TL_OPTIONAL_VERSION_PATCH 0 + +#include +#include +#include +#include +#include + +#if (defined(_MSC_VER) && _MSC_VER == 1900) +#define TL_OPTIONAL_MSVC2015 +#endif + +#if (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ <= 9 && \ + !defined(__clang__)) +#define TL_OPTIONAL_GCC49 +#endif + +#if (defined(__GNUC__) && __GNUC__ == 5 && __GNUC_MINOR__ <= 4 && \ + !defined(__clang__)) +#define TL_OPTIONAL_GCC54 +#endif + +#if (defined(__GNUC__) && __GNUC__ == 5 && __GNUC_MINOR__ <= 5 && \ + !defined(__clang__)) +#define TL_OPTIONAL_GCC55 +#endif + +#if (defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ <= 9 && \ + !defined(__clang__)) +// GCC < 5 doesn't support overloading on const&& for member functions +#define TL_OPTIONAL_NO_CONSTRR + +// GCC < 5 doesn't support some standard C++11 type traits +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) \ + std::has_trivial_copy_constructor::value +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_ASSIGNABLE(T) \ + std::has_trivial_copy_assign::value + +// This one will be different for GCC 5.7 if it's ever supported +#define TL_OPTIONAL_IS_TRIVIALLY_DESTRUCTIBLE(T) \ + std::is_trivially_destructible::value + +// GCC 5 < v < 8 has a bug in is_trivially_copy_constructible which breaks +// std::vector +// for non-copyable types +#elif (defined(__GNUC__) && __GNUC__ < 8 && !defined(__clang__)) +#ifndef TL_GCC_LESS_8_TRIVIALLY_COPY_CONSTRUCTIBLE_MUTEX +#define TL_GCC_LESS_8_TRIVIALLY_COPY_CONSTRUCTIBLE_MUTEX +namespace tl { +namespace detail { +template +struct is_trivially_copy_constructible + : std::is_trivially_copy_constructible {}; +#ifdef _GLIBCXX_VECTOR +template +struct is_trivially_copy_constructible> + : std::is_trivially_copy_constructible {}; +#endif +} +} +#endif + +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) \ + tl::detail::is_trivially_copy_constructible::value +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_ASSIGNABLE(T) \ + std::is_trivially_copy_assignable::value +#define TL_OPTIONAL_IS_TRIVIALLY_DESTRUCTIBLE(T) \ + std::is_trivially_destructible::value +#else +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_CONSTRUCTIBLE(T) \ + std::is_trivially_copy_constructible::value +#define TL_OPTIONAL_IS_TRIVIALLY_COPY_ASSIGNABLE(T) \ + std::is_trivially_copy_assignable::value +#define TL_OPTIONAL_IS_TRIVIALLY_DESTRUCTIBLE(T) \ + std::is_trivially_destructible::value +#endif + +#if __cplusplus > 201103L +#define TL_OPTIONAL_CXX14 +#endif + +// constexpr implies const in C++11, not C++14 +#if (__cplusplus == 201103L || defined(TL_OPTIONAL_MSVC2015) || \ + defined(TL_OPTIONAL_GCC49)) +#define TL_OPTIONAL_11_CONSTEXPR +#else +#define TL_OPTIONAL_11_CONSTEXPR constexpr +#endif + +namespace tl { +#ifndef TL_MONOSTATE_INPLACE_MUTEX +#define TL_MONOSTATE_INPLACE_MUTEX +/// Used to represent an optional with no data; essentially a bool +class monostate {}; + +/// A tag type to tell optional to construct its value in-place +struct in_place_t { + explicit in_place_t() = default; +}; +/// A tag to tell optional to construct its value in-place +static constexpr in_place_t in_place{}; +#endif + +template +class optional; + +namespace detail { +#ifndef TL_TRAITS_MUTEX +#define TL_TRAITS_MUTEX +// C++14-style aliases for brevity +template +using remove_const_t = typename std::remove_const::type; +template +using remove_reference_t = typename std::remove_reference::type; +template +using decay_t = typename std::decay::type; +template +using enable_if_t = typename std::enable_if::type; +template +using conditional_t = typename std::conditional::type; + +// std::conjunction from C++17 +template +struct conjunction : std::true_type {}; +template +struct conjunction : B {}; +template +struct conjunction + : std::conditional, B>::type {}; + +#if defined(_LIBCPP_VERSION) && __cplusplus == 201103L +#define TL_TRAITS_LIBCXX_MEM_FN_WORKAROUND +#endif + +// In C++11 mode, there's an issue in libc++'s std::mem_fn +// which results in a hard-error when using it in a noexcept expression +// in some cases. This is a check to workaround the common failing case. +#ifdef TL_TRAITS_LIBCXX_MEM_FN_WORKAROUND +template +struct is_pointer_to_non_const_member_func : std::false_type {}; +template +struct is_pointer_to_non_const_member_func + : std::true_type {}; +template +struct is_pointer_to_non_const_member_func + : std::true_type {}; +template +struct is_pointer_to_non_const_member_func + : std::true_type {}; +template +struct is_pointer_to_non_const_member_func + : std::true_type {}; +template +struct is_pointer_to_non_const_member_func + : std::true_type {}; +template +struct is_pointer_to_non_const_member_func + : std::true_type {}; + +template +struct is_const_or_const_ref : std::false_type {}; +template +struct is_const_or_const_ref : std::true_type {}; +template +struct is_const_or_const_ref : std::true_type {}; +#endif + +// std::invoke from C++17 +// https://stackoverflow.com/questions/38288042/c11-14-invoke-workaround +template < + typename Fn, + typename... Args, +#ifdef TL_TRAITS_LIBCXX_MEM_FN_WORKAROUND + typename = enable_if_t::value && + is_const_or_const_ref::value)>, +#endif + typename = enable_if_t>::value>, + int = 0> +constexpr auto invoke(Fn &&f, Args &&... args) noexcept( + noexcept(std::mem_fn(f)(std::forward(args)...))) + -> decltype(std::mem_fn(f)(std::forward(args)...)) { + return std::mem_fn(f)(std::forward(args)...); +} + +template >::value>> +constexpr auto invoke(Fn &&f, Args &&... args) noexcept( + noexcept(std::forward(f)(std::forward(args)...))) + -> decltype(std::forward(f)(std::forward(args)...)) { + return std::forward(f)(std::forward(args)...); +} + +// std::invoke_result from C++17 +template +struct invoke_result_impl; + +template +struct invoke_result_impl< + F, + decltype(detail::invoke(std::declval(), std::declval()...), void()), + Us...> { + using type = + decltype(detail::invoke(std::declval(), std::declval()...)); +}; + +template +using invoke_result = invoke_result_impl; + +template +using invoke_result_t = typename invoke_result::type; + +#if defined(_MSC_VER) && _MSC_VER <= 1900 +// TODO make a version which works with MSVC 2015 +template +struct is_swappable : std::true_type {}; + +template +struct is_nothrow_swappable : std::true_type {}; +#else +// https://stackoverflow.com/questions/26744589/what-is-a-proper-way-to-implement-is-swappable-to-test-for-the-swappable-concept +namespace swap_adl_tests { +// if swap ADL finds this then it would call std::swap otherwise (same +// signature) +struct tag {}; + +template +tag swap(T &, T &); +template +tag swap(T (&a)[N], T (&b)[N]); + +// helper functions to test if an unqualified swap is possible, and if it +// becomes std::swap +template +std::false_type can_swap(...) noexcept(false); +template (), std::declval()))> +std::true_type can_swap(int) noexcept(noexcept(swap(std::declval(), + std::declval()))); + +template +std::false_type uses_std(...); +template +std::is_same(), std::declval())), tag> +uses_std(int); + +template +struct is_std_swap_noexcept + : std::integral_constant::value && + std::is_nothrow_move_assignable::value> {}; + +template +struct is_std_swap_noexcept : is_std_swap_noexcept {}; + +template +struct is_adl_swap_noexcept + : std::integral_constant(0))> {}; +} // namespace swap_adl_tests + +template +struct is_swappable + : std::integral_constant< + bool, + decltype(detail::swap_adl_tests::can_swap(0))::value && + (!decltype(detail::swap_adl_tests::uses_std(0))::value || + (std::is_move_assignable::value && + std::is_move_constructible::value))> {}; + +template +struct is_swappable + : std::integral_constant< + bool, + decltype(detail::swap_adl_tests::can_swap(0))::value && + (!decltype( + detail::swap_adl_tests::uses_std(0))::value || + is_swappable::value)> {}; + +template +struct is_nothrow_swappable + : std::integral_constant< + bool, + is_swappable::value && + ((decltype(detail::swap_adl_tests::uses_std(0))::value + &&detail::swap_adl_tests::is_std_swap_noexcept::value) || + (!decltype(detail::swap_adl_tests::uses_std(0))::value && + detail::swap_adl_tests::is_adl_swap_noexcept::value))> { +}; +#endif +#endif + +// std::void_t from C++17 +template +struct voider { + using type = void; +}; +template +using void_t = typename voider::type; + +// Trait for checking if a type is a tl::optional +template +struct is_optional_impl : std::false_type {}; +template +struct is_optional_impl> : std::true_type {}; +template +using is_optional = is_optional_impl>; + +// Change void to tl::monostate +template +using fixup_void = conditional_t::value, monostate, U>; + +template > +using get_map_return = optional>>; + +// Check if invoking F for some Us returns void +template +struct returns_void_impl; +template +struct returns_void_impl>, U...> + : std::is_void> {}; +template +using returns_void = returns_void_impl; + +template +using enable_if_ret_void = enable_if_t::value>; + +template +using disable_if_ret_void = enable_if_t::value>; + +template +using enable_forward_value = + detail::enable_if_t::value && + !std::is_same, in_place_t>::value && + !std::is_same, detail::decay_t>::value>; + +template +using enable_from_other = detail::enable_if_t< + std::is_constructible::value && + !std::is_constructible &>::value && + !std::is_constructible &&>::value && + !std::is_constructible &>::value && + !std::is_constructible &&>::value && + !std::is_convertible &, T>::value && + !std::is_convertible &&, T>::value && + !std::is_convertible &, T>::value && + !std::is_convertible &&, T>::value>; + +template +using enable_assign_forward = detail::enable_if_t< + !std::is_same, detail::decay_t>::value && + !detail::conjunction, + std::is_same>>::value && + std::is_constructible::value && std::is_assignable::value>; + +template +using enable_assign_from_other = detail::enable_if_t< + std::is_constructible::value && + std::is_assignable::value && + !std::is_constructible &>::value && + !std::is_constructible &&>::value && + !std::is_constructible &>::value && + !std::is_constructible &&>::value && + !std::is_convertible &, T>::value && + !std::is_convertible &&, T>::value && + !std::is_convertible &, T>::value && + !std::is_convertible &&, T>::value && + !std::is_assignable &>::value && + !std::is_assignable &&>::value && + !std::is_assignable &>::value && + !std::is_assignable &&>::value>; + +// The storage base manages the actual storage, and correctly propagates +// trivial destruction from T. This case is for when T is not trivially +// destructible. +template ::value> +struct optional_storage_base { + TL_OPTIONAL_11_CONSTEXPR optional_storage_base() noexcept + : m_dummy(), + m_has_value(false) {} + + template + TL_OPTIONAL_11_CONSTEXPR optional_storage_base(in_place_t, U &&... u) + : m_value(std::forward(u)...), m_has_value(true) {} + + ~optional_storage_base() { + if (m_has_value) { + m_value.~T(); + m_has_value = false; + } + } + + struct dummy {}; + union { + dummy m_dummy; + T m_value; + }; + + bool m_has_value; +}; + +// This case is for when T is trivially destructible. +template +struct optional_storage_base { + TL_OPTIONAL_11_CONSTEXPR optional_storage_base() noexcept + : m_dummy(), + m_has_value(false) {} + + template + TL_OPTIONAL_11_CONSTEXPR optional_storage_base(in_place_t, U &&... u) + : m_value(std::forward(u)...), m_has_value(true) {} + + // No destructor, so this class is trivially destructible + + struct dummy {}; + union { + dummy m_dummy; + T m_value; + }; + + bool m_has_value = false; +}; + +// This base class provides some handy member functions which can be used in +// further derived classes +template +struct optional_operations_base : optional_storage_base { + using optional_storage_base::optional_storage_base; + + void hard_reset() noexcept { + get().~T(); + this->m_has_value = false; + } + + template + void construct(Args &&... args) noexcept { + new (std::addressof(this->m_value)) T(std::forward(args)...); + this->m_has_value = true; + } + + template + void assign(Opt &&rhs) { + if (this->has_value()) { + if (rhs.has_value()) { + this->m_value = std::forward(rhs).get(); + } else { + this->m_value.~T(); + this->m_has_value = false; + } + } + + else if (rhs.has_value()) { + construct(std::forward(rhs).get()); + } + } + + bool has_value() const { return this->m_has_value; } + + TL_OPTIONAL_11_CONSTEXPR T &get() & { return this->m_value; } + TL_OPTIONAL_11_CONSTEXPR const T &get() const & { return this->m_value; } + TL_OPTIONAL_11_CONSTEXPR T &&get() && { return std::move(this->m_value); } +#ifndef TL_OPTIONAL_NO_CONSTRR + constexpr const T &&get() const && { return std::move(this->m_value); } +#endif +}; + +// This class manages conditionally having a trivial copy constructor +// This specialization is for when T is trivially copy constructible +template +struct optional_copy_base : optional_operations_base { + using optional_operations_base::optional_operations_base; +}; + +// This specialization is for when T is not trivially copy constructible +template +struct optional_copy_base : optional_operations_base { + using optional_operations_base::optional_operations_base; + + optional_copy_base() = default; + optional_copy_base(const optional_copy_base &rhs) + : optional_operations_base() { + if (rhs.has_value()) { + this->construct(rhs.get()); + } else { + this->m_has_value = false; + } + } + + optional_copy_base(optional_copy_base &&rhs) = default; + optional_copy_base &operator=(const optional_copy_base &rhs) = default; + optional_copy_base &operator=(optional_copy_base &&rhs) = default; +}; + +// This class manages conditionally having a trivial move constructor +// Unfortunately there's no way to achieve this in GCC < 5 AFAIK, since it +// doesn't implement an analogue to std::is_trivially_move_constructible. We +// have to make do with a non-trivial move constructor even if T is trivially +// move constructible +#ifndef TL_OPTIONAL_GCC49 +template ::value> +struct optional_move_base : optional_copy_base { + using optional_copy_base::optional_copy_base; +}; +#else +template +struct optional_move_base; +#endif +template +struct optional_move_base : optional_copy_base { + using optional_copy_base::optional_copy_base; + + optional_move_base() = default; + optional_move_base(const optional_move_base &rhs) = default; + + optional_move_base(optional_move_base &&rhs) noexcept( + std::is_nothrow_move_constructible::value) { + if (rhs.has_value()) { + this->construct(std::move(rhs.get())); + } else { + this->m_has_value = false; + } + } + optional_move_base &operator=(const optional_move_base &rhs) = default; + optional_move_base &operator=(optional_move_base &&rhs) = default; +}; + +// This class manages conditionally having a trivial copy assignment operator +template +struct optional_copy_assign_base : optional_move_base { + using optional_move_base::optional_move_base; +}; + +template +struct optional_copy_assign_base : optional_move_base { + using optional_move_base::optional_move_base; + + optional_copy_assign_base() = default; + optional_copy_assign_base(const optional_copy_assign_base &rhs) = default; + + optional_copy_assign_base(optional_copy_assign_base &&rhs) = default; + optional_copy_assign_base &operator=(const optional_copy_assign_base &rhs) { + this->assign(rhs); + return *this; + } + optional_copy_assign_base &operator=(optional_copy_assign_base &&rhs) = + default; +}; + +// This class manages conditionally having a trivial move assignment operator +// Unfortunately there's no way to achieve this in GCC < 5 AFAIK, since it +// doesn't implement an analogue to std::is_trivially_move_assignable. We have +// to make do with a non-trivial move assignment operator even if T is trivially +// move assignable +#ifndef TL_OPTIONAL_GCC49 +template ::value + &&std::is_trivially_move_constructible::value + &&std::is_trivially_move_assignable::value> +struct optional_move_assign_base : optional_copy_assign_base { + using optional_copy_assign_base::optional_copy_assign_base; +}; +#else +template +struct optional_move_assign_base; +#endif + +template +struct optional_move_assign_base : optional_copy_assign_base { + using optional_copy_assign_base::optional_copy_assign_base; + + optional_move_assign_base() = default; + optional_move_assign_base(const optional_move_assign_base &rhs) = default; + + optional_move_assign_base(optional_move_assign_base &&rhs) = default; + + optional_move_assign_base &operator=(const optional_move_assign_base &rhs) = + default; + + optional_move_assign_base & + operator=(optional_move_assign_base &&rhs) noexcept( + std::is_nothrow_move_constructible::value + &&std::is_nothrow_move_assignable::value) { + this->assign(std::move(rhs)); + return *this; + } +}; + +// optional_delete_ctor_base will conditionally delete copy and move +// constructors depending on whether T is copy/move constructible +template ::value, + bool EnableMove = std::is_move_constructible::value> +struct optional_delete_ctor_base { + optional_delete_ctor_base() = default; + optional_delete_ctor_base(const optional_delete_ctor_base &) = default; + optional_delete_ctor_base(optional_delete_ctor_base &&) noexcept = default; + optional_delete_ctor_base &operator=(const optional_delete_ctor_base &) = + default; + optional_delete_ctor_base &operator=( + optional_delete_ctor_base &&) noexcept = default; +}; + +template +struct optional_delete_ctor_base { + optional_delete_ctor_base() = default; + optional_delete_ctor_base(const optional_delete_ctor_base &) = default; + optional_delete_ctor_base(optional_delete_ctor_base &&) noexcept = delete; + optional_delete_ctor_base &operator=(const optional_delete_ctor_base &) = + default; + optional_delete_ctor_base &operator=( + optional_delete_ctor_base &&) noexcept = default; +}; + +template +struct optional_delete_ctor_base { + optional_delete_ctor_base() = default; + optional_delete_ctor_base(const optional_delete_ctor_base &) = delete; + optional_delete_ctor_base(optional_delete_ctor_base &&) noexcept = default; + optional_delete_ctor_base &operator=(const optional_delete_ctor_base &) = + default; + optional_delete_ctor_base &operator=( + optional_delete_ctor_base &&) noexcept = default; +}; + +template +struct optional_delete_ctor_base { + optional_delete_ctor_base() = default; + optional_delete_ctor_base(const optional_delete_ctor_base &) = delete; + optional_delete_ctor_base(optional_delete_ctor_base &&) noexcept = delete; + optional_delete_ctor_base &operator=(const optional_delete_ctor_base &) = + default; + optional_delete_ctor_base &operator=( + optional_delete_ctor_base &&) noexcept = default; +}; + +// optional_delete_assign_base will conditionally delete copy and move +// constructors depending on whether T is copy/move constructible + assignable +template ::value && + std::is_copy_assignable::value), + bool EnableMove = (std::is_move_constructible::value && + std::is_move_assignable::value)> +struct optional_delete_assign_base { + optional_delete_assign_base() = default; + optional_delete_assign_base(const optional_delete_assign_base &) = default; + optional_delete_assign_base(optional_delete_assign_base &&) noexcept = + default; + optional_delete_assign_base &operator=( + const optional_delete_assign_base &) = default; + optional_delete_assign_base &operator=( + optional_delete_assign_base &&) noexcept = default; +}; + +template +struct optional_delete_assign_base { + optional_delete_assign_base() = default; + optional_delete_assign_base(const optional_delete_assign_base &) = default; + optional_delete_assign_base(optional_delete_assign_base &&) noexcept = + default; + optional_delete_assign_base &operator=( + const optional_delete_assign_base &) = default; + optional_delete_assign_base &operator=( + optional_delete_assign_base &&) noexcept = delete; +}; + +template +struct optional_delete_assign_base { + optional_delete_assign_base() = default; + optional_delete_assign_base(const optional_delete_assign_base &) = default; + optional_delete_assign_base(optional_delete_assign_base &&) noexcept = + default; + optional_delete_assign_base &operator=( + const optional_delete_assign_base &) = delete; + optional_delete_assign_base &operator=( + optional_delete_assign_base &&) noexcept = default; +}; + +template +struct optional_delete_assign_base { + optional_delete_assign_base() = default; + optional_delete_assign_base(const optional_delete_assign_base &) = default; + optional_delete_assign_base(optional_delete_assign_base &&) noexcept = + default; + optional_delete_assign_base &operator=( + const optional_delete_assign_base &) = delete; + optional_delete_assign_base &operator=( + optional_delete_assign_base &&) noexcept = delete; +}; + +} // namespace detail + +/// A tag type to represent an empty optional +struct nullopt_t { + struct do_not_use {}; + constexpr explicit nullopt_t(do_not_use, do_not_use) noexcept {} +}; +/// Represents an empty optional +static constexpr nullopt_t nullopt{nullopt_t::do_not_use{}, + nullopt_t::do_not_use{}}; + +class bad_optional_access : public std::exception { + public: + bad_optional_access() = default; + const char *what() const noexcept { return "Optional has no value"; } +}; + +/// An optional object is an object that contains the storage for another +/// object and manages the lifetime of this contained object, if any. The +/// contained object may be initialized after the optional object has been +/// initialized, and may be destroyed before the optional object has been +/// destroyed. The initialization state of the contained object is tracked by +/// the optional object. +template +class optional : private detail::optional_move_assign_base, + private detail::optional_delete_ctor_base, + private detail::optional_delete_assign_base { + using base = detail::optional_move_assign_base; + + static_assert(!std::is_same::value, + "instantiation of optional with in_place_t is ill-formed"); + static_assert(!std::is_same, nullopt_t>::value, + "instantiation of optional with nullopt_t is ill-formed"); + + public: +// The different versions for C++14 and 11 are needed because deduced return +// types are not SFINAE-safe. This provides better support for things like +// generic lambdas. C.f. +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0826r0.html +#if defined(TL_OPTIONAL_CXX14) && !defined(TL_OPTIONAL_GCC49) && \ + !defined(TL_OPTIONAL_GCC54) && !defined(TL_OPTIONAL_GCC55) + /// Carries out some operation which returns an optional on the stored + /// object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR auto and_then(F &&f) & { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + + template + TL_OPTIONAL_11_CONSTEXPR auto and_then(F &&f) && { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : result(nullopt); + } + + template + constexpr auto and_then(F &&f) const & { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + constexpr auto and_then(F &&f) const && { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : result(nullopt); + } +#endif +#else + /// Carries out some operation which returns an optional on the stored + /// object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR detail::invoke_result_t and_then(F &&f) & { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + + template + TL_OPTIONAL_11_CONSTEXPR detail::invoke_result_t and_then( + F &&f) && { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : result(nullopt); + } + + template + constexpr detail::invoke_result_t and_then(F &&f) const & { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + constexpr detail::invoke_result_t and_then(F &&f) const && { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : result(nullopt); + } +#endif +#endif + +#if defined(TL_OPTIONAL_CXX14) && !defined(TL_OPTIONAL_GCC49) && \ + !defined(TL_OPTIONAL_GCC54) && !defined(TL_OPTIONAL_GCC55) + /// Carries out some operation on the stored object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR auto map(F &&f) & { + return optional_map_impl(*this, std::forward(f)); + } + + template + TL_OPTIONAL_11_CONSTEXPR auto map(F &&f) && { + return optional_map_impl(std::move(*this), std::forward(f)); + } + + template + constexpr auto map(F &&f) const & { + return optional_map_impl(*this, std::forward(f)); + } + + template + constexpr auto map(F &&f) const && { + return optional_map_impl(std::move(*this), std::forward(f)); + } +#else + /// Carries out some operation on the stored object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR decltype( + optional_map_impl(std::declval(), std::declval())) + map(F &&f) & { + return optional_map_impl(*this, std::forward(f)); + } + + template + TL_OPTIONAL_11_CONSTEXPR decltype( + optional_map_impl(std::declval(), std::declval())) + map(F &&f) && { + return optional_map_impl(std::move(*this), std::forward(f)); + } + + template + constexpr decltype(optional_map_impl(std::declval(), + std::declval())) + map(F &&f) const & { + return optional_map_impl(*this, std::forward(f)); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + constexpr decltype(optional_map_impl(std::declval(), + std::declval())) + map(F &&f) const && { + return optional_map_impl(std::move(*this), std::forward(f)); + } +#endif +#endif + +#if defined(TL_OPTIONAL_CXX14) && !defined(TL_OPTIONAL_GCC49) && \ + !defined(TL_OPTIONAL_GCC54) && !defined(TL_OPTIONAL_GCC55) + /// Carries out some operation on the stored object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR auto transform(F &&f) & { + return optional_map_impl(*this, std::forward(f)); + } + + template + TL_OPTIONAL_11_CONSTEXPR auto transform(F &&f) && { + return optional_map_impl(std::move(*this), std::forward(f)); + } + + template + constexpr auto transform(F &&f) const & { + return optional_map_impl(*this, std::forward(f)); + } + + template + constexpr auto transform(F &&f) const && { + return optional_map_impl(std::move(*this), std::forward(f)); + } +#else + /// Carries out some operation on the stored object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR decltype( + optional_map_impl(std::declval(), std::declval())) + transform(F &&f) & { + return optional_map_impl(*this, std::forward(f)); + } + + template + TL_OPTIONAL_11_CONSTEXPR decltype( + optional_map_impl(std::declval(), std::declval())) + transform(F &&f) && { + return optional_map_impl(std::move(*this), std::forward(f)); + } + + template + constexpr decltype(optional_map_impl(std::declval(), + std::declval())) + transform(F &&f) const & { + return optional_map_impl(*this, std::forward(f)); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + constexpr decltype(optional_map_impl(std::declval(), + std::declval())) + transform(F &&f) const && { + return optional_map_impl(std::move(*this), std::forward(f)); + } +#endif +#endif + + /// Calls `f` if the optional is empty + template * = nullptr> + optional TL_OPTIONAL_11_CONSTEXPR or_else(F &&f) & { + if (has_value()) return *this; + + std::forward(f)(); + return nullopt; + } + + template * = nullptr> + optional TL_OPTIONAL_11_CONSTEXPR or_else(F &&f) & { + return has_value() ? *this : std::forward(f)(); + } + + template * = nullptr> + optional or_else(F &&f) && { + if (has_value()) return std::move(*this); + + std::forward(f)(); + return nullopt; + } + + template * = nullptr> + optional TL_OPTIONAL_11_CONSTEXPR or_else(F &&f) && { + return has_value() ? std::move(*this) : std::forward(f)(); + } + + template * = nullptr> + optional or_else(F &&f) const & { + if (has_value()) return *this; + + std::forward(f)(); + return nullopt; + } + + template * = nullptr> + optional TL_OPTIONAL_11_CONSTEXPR or_else(F &&f) const & { + return has_value() ? *this : std::forward(f)(); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template * = nullptr> + optional or_else(F &&f) const && { + if (has_value()) return std::move(*this); + + std::forward(f)(); + return nullopt; + } + + template * = nullptr> + optional or_else(F &&f) const && { + return has_value() ? std::move(*this) : std::forward(f)(); + } +#endif + + /// Maps the stored value with `f` if there is one, otherwise returns `u`. + template + U map_or(F &&f, U &&u) & { + return has_value() ? detail::invoke(std::forward(f), **this) + : std::forward(u); + } + + template + U map_or(F &&f, U &&u) && { + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : std::forward(u); + } + + template + U map_or(F &&f, U &&u) const & { + return has_value() ? detail::invoke(std::forward(f), **this) + : std::forward(u); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + U map_or(F &&f, U &&u) const && { + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : std::forward(u); + } +#endif + + /// Maps the stored value with `f` if there is one, otherwise calls + /// `u` and returns the result. + template + detail::invoke_result_t map_or_else(F &&f, U &&u) & { + return has_value() ? detail::invoke(std::forward(f), **this) + : std::forward(u)(); + } + + template + detail::invoke_result_t map_or_else(F &&f, U &&u) && { + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : std::forward(u)(); + } + + template + detail::invoke_result_t map_or_else(F &&f, U &&u) const & { + return has_value() ? detail::invoke(std::forward(f), **this) + : std::forward(u)(); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + detail::invoke_result_t map_or_else(F &&f, U &&u) const && { + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : std::forward(u)(); + } +#endif + + /// Returns `u` if `*this` has a value, otherwise an empty optional. + template + constexpr optional::type> conjunction(U &&u) const { + using result = optional>; + return has_value() ? result{u} : result{nullopt}; + } + + /// Returns `rhs` if `*this` is empty, otherwise the current value. + TL_OPTIONAL_11_CONSTEXPR optional disjunction(const optional &rhs) & { + return has_value() ? *this : rhs; + } + + constexpr optional disjunction(const optional &rhs) const & { + return has_value() ? *this : rhs; + } + + TL_OPTIONAL_11_CONSTEXPR optional disjunction(const optional &rhs) && { + return has_value() ? std::move(*this) : rhs; + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + constexpr optional disjunction(const optional &rhs) const && { + return has_value() ? std::move(*this) : rhs; + } +#endif + + TL_OPTIONAL_11_CONSTEXPR optional disjunction(optional &&rhs) & { + return has_value() ? *this : std::move(rhs); + } + + constexpr optional disjunction(optional &&rhs) const & { + return has_value() ? *this : std::move(rhs); + } + + TL_OPTIONAL_11_CONSTEXPR optional disjunction(optional &&rhs) && { + return has_value() ? std::move(*this) : std::move(rhs); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + constexpr optional disjunction(optional &&rhs) const && { + return has_value() ? std::move(*this) : std::move(rhs); + } +#endif + + /// Takes the value out of the optional, leaving it empty + optional take() { + optional ret = std::move(*this); + reset(); + return ret; + } + + using value_type = T; + + /// Constructs an optional that does not contain a value. + constexpr optional() noexcept = default; + + constexpr optional(nullopt_t) noexcept {} + + /// Copy constructor + /// + /// If `rhs` contains a value, the stored value is direct-initialized with + /// it. Otherwise, the constructed optional is empty. + TL_OPTIONAL_11_CONSTEXPR optional(const optional &rhs) = default; + + /// Move constructor + /// + /// If `rhs` contains a value, the stored value is direct-initialized with + /// it. Otherwise, the constructed optional is empty. + TL_OPTIONAL_11_CONSTEXPR optional(optional &&rhs) = default; + + /// Constructs the stored value in-place using the given arguments. + template + constexpr explicit optional( + detail::enable_if_t::value, + in_place_t>, + Args &&... args) + : base(in_place, std::forward(args)...) {} + + template + TL_OPTIONAL_11_CONSTEXPR explicit optional( + detail::enable_if_t &, + Args &&...>::value, + in_place_t>, + std::initializer_list il, + Args &&... args) { + this->construct(il, std::forward(args)...); + } + + /// Constructs the stored value with `u`. + template < + class U = T, + detail::enable_if_t::value> * = nullptr, + detail::enable_forward_value * = nullptr> + constexpr optional(U &&u) : base(in_place, std::forward(u)) {} + + template < + class U = T, + detail::enable_if_t::value> * = nullptr, + detail::enable_forward_value * = nullptr> + constexpr explicit optional(U &&u) : base(in_place, std::forward(u)) {} + + /// Converting copy constructor. + template * = nullptr, + detail::enable_if_t::value> * = + nullptr> + optional(const optional &rhs) { + if (rhs.has_value()) { + this->construct(*rhs); + } + } + + template * = nullptr, + detail::enable_if_t::value> * = + nullptr> + explicit optional(const optional &rhs) { + if (rhs.has_value()) { + this->construct(*rhs); + } + } + + /// Converting move constructor. + template < + class U, + detail::enable_from_other * = nullptr, + detail::enable_if_t::value> * = nullptr> + optional(optional &&rhs) { + if (rhs.has_value()) { + this->construct(std::move(*rhs)); + } + } + + template < + class U, + detail::enable_from_other * = nullptr, + detail::enable_if_t::value> * = nullptr> + explicit optional(optional &&rhs) { + if (rhs.has_value()) { + this->construct(std::move(*rhs)); + } + } + + /// Destroys the stored value if there is one. + ~optional() = default; + + /// Assignment to empty. + /// + /// Destroys the current value if there is one. + optional &operator=(nullopt_t) noexcept { + if (has_value()) { + this->m_value.~T(); + this->m_has_value = false; + } + + return *this; + } + + /// Copy assignment. + /// + /// Copies the value from `rhs` if there is one. Otherwise resets the stored + /// value in `*this`. + optional &operator=(const optional &rhs) = default; + + /// Move assignment. + /// + /// Moves the value from `rhs` if there is one. Otherwise resets the stored + /// value in `*this`. + optional &operator=(optional &&rhs) = default; + + /// Assigns the stored value from `u`, destroying the old value if there was + /// one. + template * = nullptr> + optional &operator=(U &&u) { + if (has_value()) { + this->m_value = std::forward(u); + } else { + this->construct(std::forward(u)); + } + + return *this; + } + + /// Converting copy assignment operator. + /// + /// Copies the value from `rhs` if there is one. Otherwise resets the stored + /// value in `*this`. + template * = nullptr> + optional &operator=(const optional &rhs) { + if (has_value()) { + if (rhs.has_value()) { + this->m_value = *rhs; + } else { + this->hard_reset(); + } + } + + if (rhs.has_value()) { + this->construct(*rhs); + } + + return *this; + } + + // TODO check exception guarantee + /// Converting move assignment operator. + /// + /// Moves the value from `rhs` if there is one. Otherwise resets the stored + /// value in `*this`. + template * = nullptr> + optional &operator=(optional &&rhs) { + if (has_value()) { + if (rhs.has_value()) { + this->m_value = std::move(*rhs); + } else { + this->hard_reset(); + } + } + + if (rhs.has_value()) { + this->construct(std::move(*rhs)); + } + + return *this; + } + + /// Constructs the value in-place, destroying the current one if there is + /// one. + template + T &emplace(Args &&... args) { + static_assert(std::is_constructible::value, + "T must be constructible with Args"); + + *this = nullopt; + this->construct(std::forward(args)...); + return value(); + } + + template + detail::enable_if_t< + std::is_constructible &, Args &&...>::value, + T &> + emplace(std::initializer_list il, Args &&... args) { + *this = nullopt; + this->construct(il, std::forward(args)...); + return value(); + } + + /// Swaps this optional with the other. + /// + /// If neither optionals have a value, nothing happens. + /// If both have a value, the values are swapped. + /// If one has a value, it is moved to the other and the movee is left + /// valueless. + void swap(optional &rhs) noexcept( + std::is_nothrow_move_constructible::value + &&detail::is_nothrow_swappable::value) { + using std::swap; + if (has_value()) { + if (rhs.has_value()) { + swap(**this, *rhs); + } else { + new (std::addressof(rhs.m_value)) T(std::move(this->m_value)); + this->m_value.T::~T(); + } + } else if (rhs.has_value()) { + new (std::addressof(this->m_value)) T(std::move(rhs.m_value)); + rhs.m_value.T::~T(); + } + swap(this->m_has_value, rhs.m_has_value); + } + + /// Returns a pointer to the stored value + constexpr const T *operator->() const { + return std::addressof(this->m_value); + } + + TL_OPTIONAL_11_CONSTEXPR T *operator->() { + return std::addressof(this->m_value); + } + + /// Returns the stored value + TL_OPTIONAL_11_CONSTEXPR T &operator*() & { return this->m_value; } + + constexpr const T &operator*() const & { return this->m_value; } + + TL_OPTIONAL_11_CONSTEXPR T &&operator*() && { + return std::move(this->m_value); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + constexpr const T &&operator*() const && { + return std::move(this->m_value); + } +#endif + + /// Returns whether or not the optional has a value + constexpr bool has_value() const noexcept { return this->m_has_value; } + + constexpr explicit operator bool() const noexcept { + return this->m_has_value; + } + + /// Returns the contained value if there is one, otherwise throws + /// bad_optional_access + TL_OPTIONAL_11_CONSTEXPR T &value() & { + if (has_value()) return this->m_value; + throw bad_optional_access(); + } + TL_OPTIONAL_11_CONSTEXPR const T &value() const & { + if (has_value()) return this->m_value; + throw bad_optional_access(); + } + TL_OPTIONAL_11_CONSTEXPR T &&value() && { + if (has_value()) return std::move(this->m_value); + throw bad_optional_access(); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + TL_OPTIONAL_11_CONSTEXPR const T &&value() const && { + if (has_value()) return std::move(this->m_value); + throw bad_optional_access(); + } +#endif + + /// Returns the stored value if there is one, otherwise returns `u` + template + constexpr T value_or(U &&u) const & { + static_assert(std::is_copy_constructible::value && + std::is_convertible::value, + "T must be copy constructible and convertible from U"); + return has_value() ? **this : static_cast(std::forward(u)); + } + + template + TL_OPTIONAL_11_CONSTEXPR T value_or(U &&u) && { + static_assert(std::is_move_constructible::value && + std::is_convertible::value, + "T must be move constructible and convertible from U"); + return has_value() ? **this : static_cast(std::forward(u)); + } + + /// Destroys the stored value if one exists, making the optional empty + void reset() noexcept { + if (has_value()) { + this->m_value.~T(); + this->m_has_value = false; + } + } +}; // namespace tl + +/// Compares two optional objects +template +inline constexpr bool operator==(const optional &lhs, + const optional &rhs) { + return lhs.has_value() == rhs.has_value() && + (!lhs.has_value() || *lhs == *rhs); +} +template +inline constexpr bool operator!=(const optional &lhs, + const optional &rhs) { + return lhs.has_value() != rhs.has_value() || + (lhs.has_value() && *lhs != *rhs); +} +template +inline constexpr bool operator<(const optional &lhs, + const optional &rhs) { + return rhs.has_value() && (!lhs.has_value() || *lhs < *rhs); +} +template +inline constexpr bool operator>(const optional &lhs, + const optional &rhs) { + return lhs.has_value() && (!rhs.has_value() || *lhs > *rhs); +} +template +inline constexpr bool operator<=(const optional &lhs, + const optional &rhs) { + return !lhs.has_value() || (rhs.has_value() && *lhs <= *rhs); +} +template +inline constexpr bool operator>=(const optional &lhs, + const optional &rhs) { + return !rhs.has_value() || (lhs.has_value() && *lhs >= *rhs); +} + +/// Compares an optional to a `nullopt` +template +inline constexpr bool operator==(const optional &lhs, nullopt_t) noexcept { + return !lhs.has_value(); +} +template +inline constexpr bool operator==(nullopt_t, const optional &rhs) noexcept { + return !rhs.has_value(); +} +template +inline constexpr bool operator!=(const optional &lhs, nullopt_t) noexcept { + return lhs.has_value(); +} +template +inline constexpr bool operator!=(nullopt_t, const optional &rhs) noexcept { + return rhs.has_value(); +} +template +inline constexpr bool operator<(const optional &, nullopt_t) noexcept { + return false; +} +template +inline constexpr bool operator<(nullopt_t, const optional &rhs) noexcept { + return rhs.has_value(); +} +template +inline constexpr bool operator<=(const optional &lhs, nullopt_t) noexcept { + return !lhs.has_value(); +} +template +inline constexpr bool operator<=(nullopt_t, const optional &) noexcept { + return true; +} +template +inline constexpr bool operator>(const optional &lhs, nullopt_t) noexcept { + return lhs.has_value(); +} +template +inline constexpr bool operator>(nullopt_t, const optional &) noexcept { + return false; +} +template +inline constexpr bool operator>=(const optional &, nullopt_t) noexcept { + return true; +} +template +inline constexpr bool operator>=(nullopt_t, const optional &rhs) noexcept { + return !rhs.has_value(); +} + +/// Compares the optional with a value. +template +inline constexpr bool operator==(const optional &lhs, const U &rhs) { + return lhs.has_value() ? *lhs == rhs : false; +} +template +inline constexpr bool operator==(const U &lhs, const optional &rhs) { + return rhs.has_value() ? lhs == *rhs : false; +} +template +inline constexpr bool operator!=(const optional &lhs, const U &rhs) { + return lhs.has_value() ? *lhs != rhs : true; +} +template +inline constexpr bool operator!=(const U &lhs, const optional &rhs) { + return rhs.has_value() ? lhs != *rhs : true; +} +template +inline constexpr bool operator<(const optional &lhs, const U &rhs) { + return lhs.has_value() ? *lhs < rhs : true; +} +template +inline constexpr bool operator<(const U &lhs, const optional &rhs) { + return rhs.has_value() ? lhs < *rhs : false; +} +template +inline constexpr bool operator<=(const optional &lhs, const U &rhs) { + return lhs.has_value() ? *lhs <= rhs : true; +} +template +inline constexpr bool operator<=(const U &lhs, const optional &rhs) { + return rhs.has_value() ? lhs <= *rhs : false; +} +template +inline constexpr bool operator>(const optional &lhs, const U &rhs) { + return lhs.has_value() ? *lhs > rhs : false; +} +template +inline constexpr bool operator>(const U &lhs, const optional &rhs) { + return rhs.has_value() ? lhs > *rhs : true; +} +template +inline constexpr bool operator>=(const optional &lhs, const U &rhs) { + return lhs.has_value() ? *lhs >= rhs : false; +} +template +inline constexpr bool operator>=(const U &lhs, const optional &rhs) { + return rhs.has_value() ? lhs >= *rhs : true; +} + +template ::value> * = nullptr, + detail::enable_if_t::value> * = nullptr> +void swap(optional &lhs, + optional &rhs) noexcept(noexcept(lhs.swap(rhs))) { + return lhs.swap(rhs); +} + +namespace detail { +struct i_am_secret {}; +} // namespace detail + +template ::value, + detail::decay_t, + T>> +inline constexpr optional make_optional(U &&v) { + return optional(std::forward(v)); +} + +template +inline constexpr optional make_optional(Args &&... args) { + return optional(in_place, std::forward(args)...); +} +template +inline constexpr optional make_optional(std::initializer_list il, + Args &&... args) { + return optional(in_place, il, std::forward(args)...); +} + +#if __cplusplus >= 201703L +template +optional(T)->optional; +#endif + +/// \exclude +namespace detail { +#ifdef TL_OPTIONAL_CXX14 +template (), + *std::declval())), + detail::enable_if_t::value> * = nullptr> +constexpr auto optional_map_impl(Opt &&opt, F &&f) { + return opt.has_value() + ? detail::invoke(std::forward(f), *std::forward(opt)) + : optional(nullopt); +} + +template (), + *std::declval())), + detail::enable_if_t::value> * = nullptr> +auto optional_map_impl(Opt &&opt, F &&f) { + if (opt.has_value()) { + detail::invoke(std::forward(f), *std::forward(opt)); + return make_optional(monostate{}); + } + + return optional(nullopt); +} +#else +template (), + *std::declval())), + detail::enable_if_t::value> * = nullptr> + +constexpr auto optional_map_impl(Opt &&opt, F &&f) -> optional { + return opt.has_value() + ? detail::invoke(std::forward(f), *std::forward(opt)) + : optional(nullopt); +} + +template (), + *std::declval())), + detail::enable_if_t::value> * = nullptr> + +auto optional_map_impl(Opt &&opt, F &&f) -> optional { + if (opt.has_value()) { + detail::invoke(std::forward(f), *std::forward(opt)); + return monostate{}; + } + + return nullopt; +} +#endif +} // namespace detail + +/// Specialization for when `T` is a reference. `optional` acts similarly +/// to a `T*`, but provides more operations and shows intent more clearly. +template +class optional { + public: +// The different versions for C++14 and 11 are needed because deduced return +// types are not SFINAE-safe. This provides better support for things like +// generic lambdas. C.f. +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0826r0.html +#if defined(TL_OPTIONAL_CXX14) && !defined(TL_OPTIONAL_GCC49) && \ + !defined(TL_OPTIONAL_GCC54) && !defined(TL_OPTIONAL_GCC55) + + /// Carries out some operation which returns an optional on the stored + /// object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR auto and_then(F &&f) & { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + + template + TL_OPTIONAL_11_CONSTEXPR auto and_then(F &&f) && { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + + template + constexpr auto and_then(F &&f) const & { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + constexpr auto and_then(F &&f) const && { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } +#endif +#else + /// Carries out some operation which returns an optional on the stored + /// object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR detail::invoke_result_t and_then(F &&f) & { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + + template + TL_OPTIONAL_11_CONSTEXPR detail::invoke_result_t and_then( + F &&f) && { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + + template + constexpr detail::invoke_result_t and_then(F &&f) const & { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + constexpr detail::invoke_result_t and_then(F &&f) const && { + using result = detail::invoke_result_t; + static_assert(detail::is_optional::value, + "F must return an optional"); + + return has_value() ? detail::invoke(std::forward(f), **this) + : result(nullopt); + } +#endif +#endif + +#if defined(TL_OPTIONAL_CXX14) && !defined(TL_OPTIONAL_GCC49) && \ + !defined(TL_OPTIONAL_GCC54) && !defined(TL_OPTIONAL_GCC55) + /// Carries out some operation on the stored object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR auto map(F &&f) & { + return detail::optional_map_impl(*this, std::forward(f)); + } + + template + TL_OPTIONAL_11_CONSTEXPR auto map(F &&f) && { + return detail::optional_map_impl(std::move(*this), std::forward(f)); + } + + template + constexpr auto map(F &&f) const & { + return detail::optional_map_impl(*this, std::forward(f)); + } + + template + constexpr auto map(F &&f) const && { + return detail::optional_map_impl(std::move(*this), std::forward(f)); + } +#else + /// Carries out some operation on the stored object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR decltype(detail::optional_map_impl( + std::declval(), std::declval())) + map(F &&f) & { + return detail::optional_map_impl(*this, std::forward(f)); + } + + template + TL_OPTIONAL_11_CONSTEXPR decltype(detail::optional_map_impl( + std::declval(), std::declval())) + map(F &&f) && { + return detail::optional_map_impl(std::move(*this), std::forward(f)); + } + + template + constexpr decltype(detail::optional_map_impl( + std::declval(), std::declval())) + map(F &&f) const & { + return detail::optional_map_impl(*this, std::forward(f)); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + constexpr decltype(detail::optional_map_impl( + std::declval(), std::declval())) + map(F &&f) const && { + return detail::optional_map_impl(std::move(*this), std::forward(f)); + } +#endif +#endif + +#if defined(TL_OPTIONAL_CXX14) && !defined(TL_OPTIONAL_GCC49) && \ + !defined(TL_OPTIONAL_GCC54) && !defined(TL_OPTIONAL_GCC55) + /// Carries out some operation on the stored object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR auto transform(F &&f) & { + return detail::optional_map_impl(*this, std::forward(f)); + } + + template + TL_OPTIONAL_11_CONSTEXPR auto transform(F &&f) && { + return detail::optional_map_impl(std::move(*this), std::forward(f)); + } + + template + constexpr auto transform(F &&f) const & { + return detail::optional_map_impl(*this, std::forward(f)); + } + + template + constexpr auto transform(F &&f) const && { + return detail::optional_map_impl(std::move(*this), std::forward(f)); + } +#else + /// Carries out some operation on the stored object if there is one. + template + TL_OPTIONAL_11_CONSTEXPR decltype(detail::optional_map_impl( + std::declval(), std::declval())) + transform(F &&f) & { + return detail::optional_map_impl(*this, std::forward(f)); + } + + /// \group map + /// \synopsis template auto transform(F &&f) &&; + template + TL_OPTIONAL_11_CONSTEXPR decltype(detail::optional_map_impl( + std::declval(), std::declval())) + transform(F &&f) && { + return detail::optional_map_impl(std::move(*this), std::forward(f)); + } + + template + constexpr decltype(detail::optional_map_impl( + std::declval(), std::declval())) + transform(F &&f) const & { + return detail::optional_map_impl(*this, std::forward(f)); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + constexpr decltype(detail::optional_map_impl( + std::declval(), std::declval())) + transform(F &&f) const && { + return detail::optional_map_impl(std::move(*this), std::forward(f)); + } +#endif +#endif + + /// Calls `f` if the optional is empty + template * = nullptr> + optional TL_OPTIONAL_11_CONSTEXPR or_else(F &&f) & { + if (has_value()) return *this; + + std::forward(f)(); + return nullopt; + } + + template * = nullptr> + optional TL_OPTIONAL_11_CONSTEXPR or_else(F &&f) & { + return has_value() ? *this : std::forward(f)(); + } + + template * = nullptr> + optional or_else(F &&f) && { + if (has_value()) return std::move(*this); + + std::forward(f)(); + return nullopt; + } + + template * = nullptr> + optional TL_OPTIONAL_11_CONSTEXPR or_else(F &&f) && { + return has_value() ? std::move(*this) : std::forward(f)(); + } + + template * = nullptr> + optional or_else(F &&f) const & { + if (has_value()) return *this; + + std::forward(f)(); + return nullopt; + } + + template * = nullptr> + optional TL_OPTIONAL_11_CONSTEXPR or_else(F &&f) const & { + return has_value() ? *this : std::forward(f)(); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template * = nullptr> + optional or_else(F &&f) const && { + if (has_value()) return std::move(*this); + + std::forward(f)(); + return nullopt; + } + + template * = nullptr> + optional or_else(F &&f) const && { + return has_value() ? std::move(*this) : std::forward(f)(); + } +#endif + + /// Maps the stored value with `f` if there is one, otherwise returns `u` + template + U map_or(F &&f, U &&u) & { + return has_value() ? detail::invoke(std::forward(f), **this) + : std::forward(u); + } + + template + U map_or(F &&f, U &&u) && { + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : std::forward(u); + } + + template + U map_or(F &&f, U &&u) const & { + return has_value() ? detail::invoke(std::forward(f), **this) + : std::forward(u); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + U map_or(F &&f, U &&u) const && { + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : std::forward(u); + } +#endif + + /// Maps the stored value with `f` if there is one, otherwise calls + /// `u` and returns the result. + template + detail::invoke_result_t map_or_else(F &&f, U &&u) & { + return has_value() ? detail::invoke(std::forward(f), **this) + : std::forward(u)(); + } + + template + detail::invoke_result_t map_or_else(F &&f, U &&u) && { + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : std::forward(u)(); + } + + template + detail::invoke_result_t map_or_else(F &&f, U &&u) const & { + return has_value() ? detail::invoke(std::forward(f), **this) + : std::forward(u)(); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + template + detail::invoke_result_t map_or_else(F &&f, U &&u) const && { + return has_value() + ? detail::invoke(std::forward(f), std::move(**this)) + : std::forward(u)(); + } +#endif + + /// Returns `u` if `*this` has a value, otherwise an empty optional. + template + constexpr optional::type> conjunction(U &&u) const { + using result = optional>; + return has_value() ? result{u} : result{nullopt}; + } + + /// Returns `rhs` if `*this` is empty, otherwise the current value. + TL_OPTIONAL_11_CONSTEXPR optional disjunction(const optional &rhs) & { + return has_value() ? *this : rhs; + } + + constexpr optional disjunction(const optional &rhs) const & { + return has_value() ? *this : rhs; + } + + TL_OPTIONAL_11_CONSTEXPR optional disjunction(const optional &rhs) && { + return has_value() ? std::move(*this) : rhs; + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + constexpr optional disjunction(const optional &rhs) const && { + return has_value() ? std::move(*this) : rhs; + } +#endif + + TL_OPTIONAL_11_CONSTEXPR optional disjunction(optional &&rhs) & { + return has_value() ? *this : std::move(rhs); + } + + constexpr optional disjunction(optional &&rhs) const & { + return has_value() ? *this : std::move(rhs); + } + + TL_OPTIONAL_11_CONSTEXPR optional disjunction(optional &&rhs) && { + return has_value() ? std::move(*this) : std::move(rhs); + } + +#ifndef TL_OPTIONAL_NO_CONSTRR + constexpr optional disjunction(optional &&rhs) const && { + return has_value() ? std::move(*this) : std::move(rhs); + } +#endif + + /// Takes the value out of the optional, leaving it empty + optional take() { + optional ret = std::move(*this); + reset(); + return ret; + } + + using value_type = T &; + + /// Constructs an optional that does not contain a value. + constexpr optional() noexcept : m_value(nullptr) {} + + constexpr optional(nullopt_t) noexcept : m_value(nullptr) {} + + /// Copy constructor + /// + /// If `rhs` contains a value, the stored value is direct-initialized with + /// it. Otherwise, the constructed optional is empty. + TL_OPTIONAL_11_CONSTEXPR optional(const optional &rhs) noexcept = default; + + /// Move constructor + /// + /// If `rhs` contains a value, the stored value is direct-initialized with + /// it. Otherwise, the constructed optional is empty. + TL_OPTIONAL_11_CONSTEXPR optional(optional &&rhs) = default; + + /// Constructs the stored value with `u`. + template >::value> * = nullptr> + constexpr optional(U &&u) noexcept : m_value(std::addressof(u)) { + static_assert(std::is_lvalue_reference::value, + "U must be an lvalue"); + } + + template + constexpr explicit optional(const optional &rhs) noexcept + : optional(*rhs) {} + + /// No-op + ~optional() = default; + + /// Assignment to empty. + /// + /// Destroys the current value if there is one. + optional &operator=(nullopt_t) noexcept { + m_value = nullptr; + return *this; + } + + /// Copy assignment. + /// + /// Rebinds this optional to the referee of `rhs` if there is one. Otherwise + /// resets the stored value in `*this`. + optional &operator=(const optional &rhs) = default; + + /// Rebinds this optional to `u`. + template >::value> * = nullptr> + optional &operator=(U &&u) { + static_assert(std::is_lvalue_reference::value, + "U must be an lvalue"); + m_value = std::addressof(u); + return *this; + } + + /// Converting copy assignment operator. + /// + /// Rebinds this optional to the referee of `rhs` if there is one. Otherwise + /// resets the stored value in `*this`. + template + optional &operator=(const optional &rhs) noexcept { + m_value = std::addressof(rhs.value()); + return *this; + } + + /// Rebinds this optional to `u`. + template >::value> * = nullptr> + optional &emplace(U &&u) noexcept { + return *this = std::forward(u); + } + + void swap(optional &rhs) noexcept { std::swap(m_value, rhs.m_value); } + + /// Returns a pointer to the stored value + constexpr const T *operator->() const noexcept { return m_value; } + + TL_OPTIONAL_11_CONSTEXPR T *operator->() noexcept { return m_value; } + + /// Returns the stored value + TL_OPTIONAL_11_CONSTEXPR T &operator*() noexcept { return *m_value; } + + constexpr const T &operator*() const noexcept { return *m_value; } + + constexpr bool has_value() const noexcept { return m_value != nullptr; } + + constexpr explicit operator bool() const noexcept { + return m_value != nullptr; + } + + /// Returns the contained value if there is one, otherwise throws + /// bad_optional_access + TL_OPTIONAL_11_CONSTEXPR T &value() { + if (has_value()) return *m_value; + throw bad_optional_access(); + } + TL_OPTIONAL_11_CONSTEXPR const T &value() const { + if (has_value()) return *m_value; + throw bad_optional_access(); + } + + /// Returns the stored value if there is one, otherwise returns `u` + template + constexpr T value_or(U &&u) const &noexcept { + static_assert(std::is_copy_constructible::value && + std::is_convertible::value, + "T must be copy constructible and convertible from U"); + return has_value() ? **this : static_cast(std::forward(u)); + } + + /// \group value_or + template + TL_OPTIONAL_11_CONSTEXPR T value_or(U &&u) && noexcept { + static_assert(std::is_move_constructible::value && + std::is_convertible::value, + "T must be move constructible and convertible from U"); + return has_value() ? **this : static_cast(std::forward(u)); + } + + /// Destroys the stored value if one exists, making the optional empty + void reset() noexcept { m_value = nullptr; } + + private: + T *m_value; +}; // namespace tl + + +} // namespace tl + +namespace std { +// TODO SFINAE +template +struct hash> { + ::std::size_t operator()(const tl::optional &o) const { + if (!o.has_value()) return 0; + + return std::hash>()(*o); + } +}; +} // namespace std + +#endif diff --git a/audio/paddleaudio/src/pybind/kaldi/feature_common.h b/audio/paddleaudio/src/pybind/kaldi/feature_common.h new file mode 100644 index 000000000..05522bb7e --- /dev/null +++ b/audio/paddleaudio/src/pybind/kaldi/feature_common.h @@ -0,0 +1,49 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include "pybind11/pybind11.h" +#include "pybind11/numpy.h" +#include "feat/feature-window.h" + +namespace paddleaudio { +namespace kaldi { + +namespace py = pybind11; + +template +class StreamingFeatureTpl { + public: + typedef typename F::Options Options; + StreamingFeatureTpl(const Options& opts); + bool ComputeFeature(const ::kaldi::VectorBase<::kaldi::BaseFloat>& wav, + ::kaldi::Vector<::kaldi::BaseFloat>* feats); + void Reset() { remained_wav_.Resize(0); } + + int Dim() { return computer_.Dim(); } + + private: + bool Compute(const ::kaldi::Vector<::kaldi::BaseFloat>& waves, + ::kaldi::Vector<::kaldi::BaseFloat>* feats); + Options opts_; + ::kaldi::FeatureWindowFunction window_function_; + ::kaldi::Vector<::kaldi::BaseFloat> remained_wav_; + F computer_; +}; + +} // namespace kaldi +} // namespace ppspeech + +#include "feature_common_inl.h" diff --git a/audio/paddleaudio/src/pybind/kaldi/feature_common_inl.h b/audio/paddleaudio/src/pybind/kaldi/feature_common_inl.h new file mode 100644 index 000000000..c894b9775 --- /dev/null +++ b/audio/paddleaudio/src/pybind/kaldi/feature_common_inl.h @@ -0,0 +1,93 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "base/kaldi-common.h" + +namespace paddleaudio { +namespace kaldi { + +template +StreamingFeatureTpl::StreamingFeatureTpl(const Options& opts) + : opts_(opts), computer_(opts), window_function_(opts.frame_opts) { + // window_function_(computer_.GetFrameOptions()) { the opt set to zero +} + +template +bool StreamingFeatureTpl::ComputeFeature( + const ::kaldi::VectorBase<::kaldi::BaseFloat>& wav, + ::kaldi::Vector<::kaldi::BaseFloat>* feats) { + // append remaned waves + ::kaldi::int32 wav_len = wav.Dim(); + if (wav_len == 0) return false; + ::kaldi::int32 left_len = remained_wav_.Dim(); + ::kaldi::Vector<::kaldi::BaseFloat> waves(left_len + wav_len); + waves.Range(0, left_len).CopyFromVec(remained_wav_); + waves.Range(left_len, wav_len).CopyFromVec(wav); + + // cache remaned waves + ::kaldi::FrameExtractionOptions frame_opts = computer_.GetFrameOptions(); + ::kaldi::int32 num_frames = ::kaldi::NumFrames(waves.Dim(), frame_opts); + ::kaldi::int32 frame_shift = frame_opts.WindowShift(); + ::kaldi::int32 left_samples = waves.Dim() - frame_shift * num_frames; + remained_wav_.Resize(left_samples); + remained_wav_.CopyFromVec( + waves.Range(frame_shift * num_frames, left_samples)); + + // compute speech feature + Compute(waves, feats); + return true; +} + +// Compute feat +template +bool StreamingFeatureTpl::Compute( + const ::kaldi::Vector<::kaldi::BaseFloat>& waves, + ::kaldi::Vector<::kaldi::BaseFloat>* feats) { + ::kaldi::BaseFloat vtln_warp = 1.0; + const ::kaldi::FrameExtractionOptions& frame_opts = + computer_.GetFrameOptions(); + ::kaldi::int32 num_samples = waves.Dim(); + ::kaldi::int32 frame_length = frame_opts.WindowSize(); + ::kaldi::int32 sample_rate = frame_opts.samp_freq; + if (num_samples < frame_length) { + return false; + } + + ::kaldi::int32 num_frames = ::kaldi::NumFrames(num_samples, frame_opts); + feats->Resize(num_frames * Dim()); + + ::kaldi::Vector<::kaldi::BaseFloat> window; + bool need_raw_log_energy = computer_.NeedRawLogEnergy(); + for (::kaldi::int32 frame = 0; frame < num_frames; frame++) { + ::kaldi::BaseFloat raw_log_energy = 0.0; + ::kaldi::ExtractWindow(0, + waves, + frame, + frame_opts, + window_function_, + &window, + need_raw_log_energy ? &raw_log_energy : NULL); + + ::kaldi::Vector<::kaldi::BaseFloat> this_feature(computer_.Dim(), + ::kaldi::kUndefined); + computer_.Compute(raw_log_energy, vtln_warp, &window, &this_feature); + ::kaldi::SubVector<::kaldi::BaseFloat> output_row( + feats->Data() + frame * Dim(), Dim()); + output_row.CopyFromVec(this_feature); + } + return true; +} + +} // namespace kaldi +} // namespace paddleaudio diff --git a/audio/paddleaudio/src/pybind/kaldi/kaldi_feature.cc b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature.cc new file mode 100644 index 000000000..40e3786e8 --- /dev/null +++ b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature.cc @@ -0,0 +1,75 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "paddleaudio/src/pybind/kaldi/kaldi_feature.h" +#include "feat/pitch-functions.h" + +namespace paddleaudio { +namespace kaldi { + +bool InitFbank( + ::kaldi::FrameExtractionOptions frame_opts, + ::kaldi::MelBanksOptions mel_opts, + FbankOptions fbank_opts) { + ::kaldi::FbankOptions opts; + opts.frame_opts = frame_opts; + opts.mel_opts = mel_opts; + opts.use_energy = fbank_opts.use_energy; + opts.energy_floor = fbank_opts.energy_floor; + opts.raw_energy = fbank_opts.raw_energy; + opts.htk_compat = fbank_opts.htk_compat; + opts.use_log_fbank = fbank_opts.use_log_fbank; + opts.use_power = fbank_opts.use_power; + paddleaudio::kaldi::KaldiFeatureWrapper::GetInstance()->InitFbank(opts); + return true; +} + +py::array_t ComputeFbankStreaming(const py::array_t& wav) { + return paddleaudio::kaldi::KaldiFeatureWrapper::GetInstance()->ComputeFbank( + wav); +} + +py::array_t ComputeFbank( + ::kaldi::FrameExtractionOptions frame_opts, + ::kaldi::MelBanksOptions mel_opts, + FbankOptions fbank_opts, + const py::array_t& wav) { + InitFbank(frame_opts, mel_opts, fbank_opts); + py::array_t result = ComputeFbankStreaming(wav); + paddleaudio::kaldi::KaldiFeatureWrapper::GetInstance()->ResetFbank(); + return result; +} + +void ResetFbank() { + paddleaudio::kaldi::KaldiFeatureWrapper::GetInstance()->ResetFbank(); +} + +py::array_t ComputeKaldiPitch( + const ::kaldi::PitchExtractionOptions& opts, + const py::array_t& wav) { + py::buffer_info info = wav.request(); + ::kaldi::SubVector<::kaldi::BaseFloat> input_wav((float*)info.ptr, info.size); + + ::kaldi::Matrix<::kaldi::BaseFloat> features; + ::kaldi::ComputeKaldiPitch(opts, input_wav, &features); + auto result = py::array_t({features.NumRows(), features.NumCols()}); + for (int row_idx = 0; row_idx < features.NumRows(); ++row_idx) { + std::memcpy(result.mutable_data(row_idx), features.Row(row_idx).Data(), + sizeof(float)*features.NumCols()); + } + return result; +} + +} // namespace kaldi +} // namespace paddleaudio diff --git a/audio/paddleaudio/src/pybind/kaldi/kaldi_feature.h b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature.h new file mode 100644 index 000000000..e059c52c1 --- /dev/null +++ b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature.h @@ -0,0 +1,64 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include +#include +#include + +#include "paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.h" +#include "feat/pitch-functions.h" + +namespace py = pybind11; + +namespace paddleaudio { +namespace kaldi { + +struct FbankOptions{ + bool use_energy; // append an extra dimension with energy to the filter banks + float energy_floor; + bool raw_energy; // If true, compute energy before preemphasis and windowing + bool htk_compat; // If true, put energy last (if using energy) + bool use_log_fbank; // if true (default), produce log-filterbank, else linear + bool use_power; + FbankOptions(): use_energy(false), + energy_floor(0.0), + raw_energy(true), + htk_compat(false), + use_log_fbank(true), + use_power(true) {} +}; + +bool InitFbank( + ::kaldi::FrameExtractionOptions frame_opts, + ::kaldi::MelBanksOptions mel_opts, + FbankOptions fbank_opts); + +py::array_t ComputeFbank( + ::kaldi::FrameExtractionOptions frame_opts, + ::kaldi::MelBanksOptions mel_opts, + FbankOptions fbank_opts, + const py::array_t& wav); + +py::array_t ComputeFbankStreaming(const py::array_t& wav); + +void ResetFbank(); + +py::array_t ComputeKaldiPitch( + const ::kaldi::PitchExtractionOptions& opts, + const py::array_t& wav); + +} // namespace kaldi +} // namespace paddleaudio diff --git a/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.cc b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.cc new file mode 100644 index 000000000..79558046b --- /dev/null +++ b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.cc @@ -0,0 +1,51 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.h" + +namespace paddleaudio { +namespace kaldi { + +KaldiFeatureWrapper* KaldiFeatureWrapper::GetInstance() { + static KaldiFeatureWrapper instance; + return &instance; +} + +bool KaldiFeatureWrapper::InitFbank(::kaldi::FbankOptions opts) { + fbank_.reset(new Fbank(opts)); + return true; +} + +py::array_t KaldiFeatureWrapper::ComputeFbank( + const py::array_t wav) { + py::buffer_info info = wav.request(); + ::kaldi::SubVector<::kaldi::BaseFloat> input_wav((float*)info.ptr, info.size); + + ::kaldi::Vector<::kaldi::BaseFloat> feats; + bool flag = fbank_->ComputeFeature(input_wav, &feats); + if (flag == false || feats.Dim() == 0) return py::array_t(); + auto result = py::array_t(feats.Dim()); + py::buffer_info xs = result.request(); + std::cout << std::endl; + float* res_ptr = (float*)xs.ptr; + for (int idx = 0; idx < feats.Dim(); ++idx) { + *res_ptr = feats(idx); + res_ptr++; + } + + return result.reshape({feats.Dim() / Dim(), Dim()}); +} + +} // namesapce kaldi +} // namespace paddleaudio diff --git a/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.h b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.h new file mode 100644 index 000000000..bee1eee02 --- /dev/null +++ b/audio/paddleaudio/src/pybind/kaldi/kaldi_feature_wrapper.h @@ -0,0 +1,40 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include "base/kaldi-common.h" +#include "feat/feature-fbank.h" + +#include "paddleaudio/src/pybind/kaldi/feature_common.h" + +namespace paddleaudio { +namespace kaldi { + +typedef StreamingFeatureTpl<::kaldi::FbankComputer> Fbank; + +class KaldiFeatureWrapper { + public: + static KaldiFeatureWrapper* GetInstance(); + bool InitFbank(::kaldi::FbankOptions opts); + py::array_t ComputeFbank(const py::array_t wav); + int Dim() { return fbank_->Dim(); } + void ResetFbank() { fbank_->Reset(); } + + private: + std::unique_ptr fbank_; +}; + +} // namespace kaldi +} // namespace paddleaudio diff --git a/audio/paddleaudio/src/pybind/pybind.cpp b/audio/paddleaudio/src/pybind/pybind.cpp new file mode 100644 index 000000000..c4dfa8d51 --- /dev/null +++ b/audio/paddleaudio/src/pybind/pybind.cpp @@ -0,0 +1,148 @@ +// Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. + +#include "paddleaudio/src/pybind/kaldi/kaldi_feature.h" +#include "paddleaudio/third_party/kaldi/feat/feature-fbank.h" + +#ifdef INCLUDE_SOX +#include "paddleaudio/src/pybind/sox/io.h" +#include "paddleaudio/src/pybind/sox/effects.h" +#endif + +#include +#include + +// `tl::optional` +#ifdef INCLUDE_SOX +namespace pybind11 { namespace detail { + template + struct type_caster> : optional_caster> {}; +}} +#endif + +PYBIND11_MODULE(_paddleaudio, m) { +#ifdef INCLUDE_SOX + m.def("get_info_file", + &paddleaudio::sox_io::get_info_file, + "Get metadata of audio file."); + // support obj later + m.def("get_info_fileobj", + &paddleaudio::sox_io::get_info_fileobj, + "Get metadata of audio in file object."); + m.def("load_audio_fileobj", + &paddleaudio::sox_io::load_audio_fileobj, + "Load audio from file object."); + m.def("save_audio_fileobj", + &paddleaudio::sox_io::save_audio_fileobj, + "Save audio to file obj."); + + // sox io + m.def("sox_io_get_info", &paddleaudio::sox_io::get_info_file); + m.def( + "sox_io_load_audio_file", + &paddleaudio::sox_io::load_audio_file); + m.def( + "sox_io_save_audio_file", + &paddleaudio::sox_io::save_audio_file); + + // sox utils + m.def("sox_utils_set_seed", &paddleaudio::sox_utils::set_seed); + m.def( + "sox_utils_set_verbosity", + &paddleaudio::sox_utils::set_verbosity); + m.def( + "sox_utils_set_use_threads", + &paddleaudio::sox_utils::set_use_threads); + m.def( + "sox_utils_set_buffer_size", + &paddleaudio::sox_utils::set_buffer_size); + m.def( + "sox_utils_list_effects", + &paddleaudio::sox_utils::list_effects); + m.def( + "sox_utils_list_read_formats", + &paddleaudio::sox_utils::list_read_formats); + m.def( + "sox_utils_list_write_formats", + &paddleaudio::sox_utils::list_write_formats); + m.def( + "sox_utils_get_buffer_size", + &paddleaudio::sox_utils::get_buffer_size); + + // effect + m.def("apply_effects_fileobj", + &paddleaudio::sox_effects::apply_effects_fileobj, + "Decode audio data from file-like obj and apply effects."); + m.def("sox_effects_initialize_sox_effects", + &paddleaudio::sox_effects::initialize_sox_effects); + m.def( + "sox_effects_shutdown_sox_effects", + &paddleaudio::sox_effects::shutdown_sox_effects); + m.def( + "sox_effects_apply_effects_tensor", + &paddleaudio::sox_effects::apply_effects_tensor); + m.def( + "sox_effects_apply_effects_file", + &paddleaudio::sox_effects::apply_effects_file); +#endif + +#ifdef INCLUDE_KALDI + m.def("ComputeFbank", &paddleaudio::kaldi::ComputeFbank, "compute fbank"); + py::class_(m, "PitchExtractionOptions") + .def(py::init<>()) + .def_readwrite("samp_freq", &kaldi::PitchExtractionOptions::samp_freq) + .def_readwrite("frame_shift_ms", &kaldi::PitchExtractionOptions::frame_shift_ms) + .def_readwrite("frame_length_ms", &kaldi::PitchExtractionOptions::frame_length_ms) + .def_readwrite("preemph_coeff", &kaldi::PitchExtractionOptions::preemph_coeff) + .def_readwrite("min_f0", &kaldi::PitchExtractionOptions::min_f0) + .def_readwrite("max_f0", &kaldi::PitchExtractionOptions::max_f0) + .def_readwrite("soft_min_f0", &kaldi::PitchExtractionOptions::soft_min_f0) + .def_readwrite("penalty_factor", &kaldi::PitchExtractionOptions::penalty_factor) + .def_readwrite("lowpass_cutoff", &kaldi::PitchExtractionOptions::lowpass_cutoff) + .def_readwrite("resample_freq", &kaldi::PitchExtractionOptions::resample_freq) + .def_readwrite("delta_pitch", &kaldi::PitchExtractionOptions::delta_pitch) + .def_readwrite("nccf_ballast", &kaldi::PitchExtractionOptions::nccf_ballast) + .def_readwrite("lowpass_filter_width", &kaldi::PitchExtractionOptions::lowpass_filter_width) + .def_readwrite("upsample_filter_width", &kaldi::PitchExtractionOptions::upsample_filter_width) + .def_readwrite("max_frames_latency", &kaldi::PitchExtractionOptions::max_frames_latency) + .def_readwrite("frames_per_chunk", &kaldi::PitchExtractionOptions::frames_per_chunk) + .def_readwrite("simulate_first_pass_online", &kaldi::PitchExtractionOptions::simulate_first_pass_online) + .def_readwrite("recompute_frame", &kaldi::PitchExtractionOptions::recompute_frame) + .def_readwrite("nccf_ballast_online", &kaldi::PitchExtractionOptions::nccf_ballast_online) + .def_readwrite("snip_edges", &kaldi::PitchExtractionOptions::snip_edges); + m.def("ComputeKaldiPitch", &paddleaudio::kaldi::ComputeKaldiPitch, "compute kaldi pitch"); + py::class_(m, "FrameExtractionOptions") + .def(py::init<>()) + .def_readwrite("samp_freq", &kaldi::FrameExtractionOptions::samp_freq) + .def_readwrite("frame_shift_ms", &kaldi::FrameExtractionOptions::frame_shift_ms) + .def_readwrite("frame_length_ms", &kaldi::FrameExtractionOptions::frame_length_ms) + .def_readwrite("dither", &kaldi::FrameExtractionOptions::dither) + .def_readwrite("preemph_coeff", &kaldi::FrameExtractionOptions::preemph_coeff) + .def_readwrite("remove_dc_offset", &kaldi::FrameExtractionOptions::remove_dc_offset) + .def_readwrite("window_type", &kaldi::FrameExtractionOptions::window_type) + .def_readwrite("round_to_power_of_two", &kaldi::FrameExtractionOptions::round_to_power_of_two) + .def_readwrite("blackman_coeff", &kaldi::FrameExtractionOptions::blackman_coeff) + .def_readwrite("snip_edges", &kaldi::FrameExtractionOptions::snip_edges) + .def_readwrite("allow_downsample", &kaldi::FrameExtractionOptions::allow_downsample) + .def_readwrite("allow_upsample", &kaldi::FrameExtractionOptions::allow_upsample) + .def_readwrite("max_feature_vectors", &kaldi::FrameExtractionOptions::max_feature_vectors); + py::class_(m, "MelBanksOptions") + .def(py::init<>()) + .def_readwrite("num_bins", &kaldi::MelBanksOptions::num_bins) + .def_readwrite("low_freq", &kaldi::MelBanksOptions::low_freq) + .def_readwrite("high_freq", &kaldi::MelBanksOptions::high_freq) + .def_readwrite("vtln_low", &kaldi::MelBanksOptions::vtln_low) + .def_readwrite("vtln_high", &kaldi::MelBanksOptions::vtln_high) + .def_readwrite("debug_mel", &kaldi::MelBanksOptions::debug_mel) + .def_readwrite("htk_mode", &kaldi::MelBanksOptions::htk_mode); + + py::class_(m, "FbankOptions") + .def(py::init<>()) + .def_readwrite("use_energy", &paddleaudio::kaldi::FbankOptions::use_energy) + .def_readwrite("energy_floor", &paddleaudio::kaldi::FbankOptions::energy_floor) + .def_readwrite("raw_energy", &paddleaudio::kaldi::FbankOptions::raw_energy) + .def_readwrite("htk_compat", &paddleaudio::kaldi::FbankOptions::htk_compat) + .def_readwrite("use_log_fbank", &paddleaudio::kaldi::FbankOptions::use_log_fbank) + .def_readwrite("use_power", &paddleaudio::kaldi::FbankOptions::use_power); +#endif + +} diff --git a/audio/paddleaudio/src/pybind/sox/effects.cpp b/audio/paddleaudio/src/pybind/sox/effects.cpp new file mode 100644 index 000000000..ea77527bb --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/effects.cpp @@ -0,0 +1,259 @@ +// the code is from https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/effects.cpp with modification. + +#include +#include + +#include "paddleaudio/src/pybind/sox/effects.h" +#include "paddleaudio/src/pybind/sox/effects_chain.h" +#include "paddleaudio/src/pybind/sox/utils.h" + +using namespace paddleaudio::sox_utils; + +namespace paddleaudio::sox_effects { + +// Streaming decoding over file-like object is tricky because libsox operates on +// FILE pointer. The folloing is what `sox` and `play` commands do +// - file input -> FILE pointer +// - URL input -> call wget in suprocess and pipe the data -> FILE pointer +// - stdin -> FILE pointer +// +// We want to, instead, fetch byte strings chunk by chunk, consume them, and +// discard. +// +// Here is the approach +// 1. Initialize sox_format_t using sox_open_mem_read, providing the initial +// chunk of byte string +// This will perform header-based format detection, if necessary, then fill +// the metadata of sox_format_t. Internally, sox_open_mem_read uses fmemopen, +// which returns FILE* which points the buffer of the provided byte string. +// 2. Each time sox reads a chunk from the FILE*, we update the underlying +// buffer in a way that it +// starts with unseen data, and append the new data read from the given +// fileobj. This will trick libsox as if it keeps reading from the FILE* +// continuously. +// For Step 2. see `fileobj_input_drain` function in effects_chain.cpp +auto apply_effects_fileobj( + py::object fileobj, + const std::vector>& effects, + tl::optional normalize, + tl::optional channels_first, + tl::optional format) + -> tl::optional> { + // Prepare the buffer used throughout the lifecycle of SoxEffectChain. + // + // For certain format (such as FLAC), libsox keeps reading the content at + // the initialization unless it reaches EOF even when the header is properly + // parsed. (Making buffer size 8192, which is way bigger than the header, + // resulted in libsox consuming all the buffer content at the time it opens + // the file.) Therefore buffer has to always contain valid data, except after + // EOF. We default to `sox_get_globals()->bufsiz`* for buffer size and we + // first check if there is enough data to fill the buffer. `read_fileobj` + // repeatedly calls `read` method until it receives the requested length of + // bytes or it reaches EOF. If we get bytes shorter than requested, that means + // the whole audio data are fetched. + // + // * This can be changed with `paddleaudio.utils.sox_utils.set_buffer_size`. + const auto capacity = [&]() { + // NOTE: + // Use the abstraction provided by `libpaddleaudio` to access the global + // config defined by libsox. Directly using `sox_get_globals` function will + // end up retrieving the static variable defined in `_paddleaudio`, which is + // not correct. + const auto bufsiz = get_buffer_size(); + const int64_t kDefaultCapacityInBytes = 256; + return (bufsiz > kDefaultCapacityInBytes) ? bufsiz + : kDefaultCapacityInBytes; + }(); + std::string buffer(capacity, '\0'); + auto* in_buf = const_cast(buffer.data()); + auto num_read = read_fileobj(&fileobj, capacity, in_buf); + // If the file is shorter than 256, then libsox cannot read the header. + auto in_buffer_size = (num_read > 256) ? num_read : 256; + + // Open file (this starts reading the header) + // When opening a file there are two functions that can touches FILE*. + // * `auto_detect_format` + // https://github.com/dmkrepo/libsox/blob/b9dd1a86e71bbd62221904e3e59dfaa9e5e72046/src/formats.c#L43 + // * `startread` handler of detected format. + // https://github.com/dmkrepo/libsox/blob/b9dd1a86e71bbd62221904e3e59dfaa9e5e72046/src/formats.c#L574 + // To see the handler of a particular format, go to + // https://github.com/dmkrepo/libsox/blob/b9dd1a86e71bbd62221904e3e59dfaa9e5e72046/src/.c + // For example, voribs can be found + // https://github.com/dmkrepo/libsox/blob/b9dd1a86e71bbd62221904e3e59dfaa9e5e72046/src/vorbis.c#L97-L158 + SoxFormat sf(sox_open_mem_read( + in_buf, + in_buffer_size, + /*signal=*/nullptr, + /*encoding=*/nullptr, + /*filetype=*/format.has_value() ? format.value().c_str() : nullptr)); + + // In case of streamed data, length can be 0 + if (static_cast(sf) == nullptr || + sf->encoding.encoding == SOX_ENCODING_UNKNOWN) { + return {}; + } + + // Prepare output buffer + std::vector out_buffer; + out_buffer.reserve(sf->signal.length); + + // Create and run SoxEffectsChain + const auto dtype = get_dtype(sf->encoding.encoding, sf->signal.precision); + paddleaudio::sox_effects_chain::SoxEffectsChainPyBind chain( + /*input_encoding=*/sf->encoding, + /*output_encoding=*/get_tensor_encodinginfo(dtype)); + chain.addInputFileObj(sf, in_buf, in_buffer_size, &fileobj); + for (const auto& effect : effects) { + chain.addEffect(effect); + } + chain.addOutputBuffer(&out_buffer); + chain.run(); + + // Create tensor from buffer + bool channels_first_ = channels_first.value_or(true); + auto tensor = convert_to_tensor( + /*buffer=*/out_buffer.data(), + /*num_samples=*/out_buffer.size(), + /*num_channels=*/chain.getOutputNumChannels(), + dtype, + normalize.value_or(true), + channels_first_); + + return std::forward_as_tuple( + tensor, static_cast(chain.getOutputSampleRate())); +} + +namespace { + +enum SoxEffectsResourceState { NotInitialized, Initialized, ShutDown }; +SoxEffectsResourceState SOX_RESOURCE_STATE = NotInitialized; +std::mutex SOX_RESOUCE_STATE_MUTEX; + +} // namespace + +void initialize_sox_effects() { + const std::lock_guard lock(SOX_RESOUCE_STATE_MUTEX); + + switch (SOX_RESOURCE_STATE) { + case NotInitialized: + if (sox_init() != SOX_SUCCESS) { + throw std::runtime_error("Failed to initialize sox effects."); + }; + SOX_RESOURCE_STATE = Initialized; + break; + case Initialized: + break; + case ShutDown: + throw std::runtime_error( + "SoX Effects has been shut down. Cannot initialize again."); + } +}; + +void shutdown_sox_effects() { + const std::lock_guard lock(SOX_RESOUCE_STATE_MUTEX); + + switch (SOX_RESOURCE_STATE) { + case NotInitialized: + throw std::runtime_error( + "SoX Effects is not initialized. Cannot shutdown."); + case Initialized: + if (sox_quit() != SOX_SUCCESS) { + throw std::runtime_error("Failed to initialize sox effects."); + }; + SOX_RESOURCE_STATE = ShutDown; + break; + case ShutDown: + break; + } +} + +auto apply_effects_tensor( + py::array waveform, + int64_t sample_rate, + const std::vector>& effects, + bool channels_first) -> std::tuple { + validate_input_tensor(waveform); + + // Create SoxEffectsChain + const auto dtype = waveform.dtype(); + paddleaudio::sox_effects_chain::SoxEffectsChain chain( + /*input_encoding=*/get_tensor_encodinginfo(dtype), + /*output_encoding=*/get_tensor_encodinginfo(dtype)); + + // Prepare output buffer + std::vector out_buffer; + out_buffer.reserve(waveform.size()); + + // Build and run effects chain + chain.addInputTensor(&waveform, sample_rate, channels_first); + for (const auto& effect : effects) { + chain.addEffect(effect); + } + chain.addOutputBuffer(&out_buffer); + chain.run(); + + // Create tensor from buffer + auto out_tensor = convert_to_tensor( + /*buffer=*/out_buffer.data(), + /*num_samples=*/out_buffer.size(), + /*num_channels=*/chain.getOutputNumChannels(), + dtype, + /*normalize=*/false, + channels_first); + + return std::tuple( + out_tensor, chain.getOutputSampleRate()); +} + +auto apply_effects_file( + const std::string& path, + const std::vector>& effects, + tl::optional normalize, + tl::optional channels_first, + const tl::optional& format) + -> tl::optional> { + // Open input file + SoxFormat sf(sox_open_read( + path.c_str(), + /*signal=*/nullptr, + /*encoding=*/nullptr, + /*filetype=*/format.has_value() ? format.value().c_str() : nullptr)); + + if (static_cast(sf) == nullptr || + sf->encoding.encoding == SOX_ENCODING_UNKNOWN) { + return {}; + } + + const auto dtype = get_dtype(sf->encoding.encoding, sf->signal.precision); + + // Prepare output + std::vector out_buffer; + out_buffer.reserve(sf->signal.length); + + // Create and run SoxEffectsChain + paddleaudio::sox_effects_chain::SoxEffectsChain chain( + /*input_encoding=*/sf->encoding, + /*output_encoding=*/get_tensor_encodinginfo(dtype)); + + chain.addInputFile(sf); + for (const auto& effect : effects) { + chain.addEffect(effect); + } + chain.addOutputBuffer(&out_buffer); + chain.run(); + + // Create tensor from buffer + bool channels_first_ = channels_first.value_or(true); + auto tensor = convert_to_tensor( + /*buffer=*/out_buffer.data(), + /*num_samples=*/out_buffer.size(), + /*num_channels=*/chain.getOutputNumChannels(), + dtype, + normalize.value_or(true), + channels_first_); + + return std::tuple( + tensor, chain.getOutputSampleRate()); +} + +} // namespace paddleaudio::sox_effects diff --git a/audio/paddleaudio/src/pybind/sox/effects.h b/audio/paddleaudio/src/pybind/sox/effects.h new file mode 100644 index 000000000..5143db465 --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/effects.h @@ -0,0 +1,37 @@ +// the code is from https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/effects.h with modification. +#include +#include + +#include "paddleaudio/src/optional/optional.hpp" + +namespace py = pybind11; + +namespace paddleaudio::sox_effects { + +auto apply_effects_fileobj( + py::object fileobj, + const std::vector>& effects, + tl::optional normalize, + tl::optional channels_first, + tl::optional format) + -> tl::optional>; + +void initialize_sox_effects(); + +void shutdown_sox_effects(); + +auto apply_effects_tensor( + py::array waveform, + int64_t sample_rate, + const std::vector>& effects, + bool channels_first) -> std::tuple; + +auto apply_effects_file( + const std::string& path, + const std::vector>& effects, + tl::optional normalize, + tl::optional channels_first, + const tl::optional& format) + -> tl::optional>; + +} // namespace paddleaudio::sox_effects diff --git a/audio/paddleaudio/src/pybind/sox/effects_chain.cpp b/audio/paddleaudio/src/pybind/sox/effects_chain.cpp new file mode 100644 index 000000000..0204fb309 --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/effects_chain.cpp @@ -0,0 +1,597 @@ +// the code is from https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/effects_chain.cpp with modification. + +#include +#include +#include +#include "paddleaudio/src/pybind/sox/effects_chain.h" +#include "paddleaudio/src/pybind/sox/utils.h" + +using namespace paddleaudio::sox_utils; + +namespace paddleaudio::sox_effects_chain { + +namespace { + +/// helper classes for passing the location of input tensor and output buffer +/// +/// drain/flow callback functions require plaing C style function signature and +/// the way to pass extra data is to attach data to sox_effect_t::priv pointer. +/// The following structs will be assigned to sox_effect_t::priv pointer which +/// gives sox_effect_t an access to input Tensor and output buffer object. +struct TensorInputPriv { + size_t index; + py::array* waveform; + int64_t sample_rate; + bool channels_first; +}; + +struct TensorOutputPriv { + std::vector* buffer; +}; +struct FileOutputPriv { + sox_format_t* sf; +}; + +/// Callback function to feed Tensor data to SoxEffectChain. +int tensor_input_drain(sox_effect_t* effp, sox_sample_t* obuf, size_t* osamp) { + // Retrieve the input Tensor and current index + auto priv = static_cast(effp->priv); + auto index = priv->index; + auto tensor = *(priv->waveform); + auto num_channels = effp->out_signal.channels; + + // Adjust the number of samples to read + const size_t num_samples = tensor.size(); + if (index + *osamp > num_samples) { + *osamp = num_samples - index; + } + + // Ensure that it's a multiple of the number of channels + *osamp -= *osamp % num_channels; + + // Slice the input Tensor + // refacor this module, chunk + auto i_frame = index / num_channels; + auto num_frames = *osamp / num_channels; + + std::vector chunk(num_frames*num_channels); + py::buffer_info ori_info = tensor.request(); + void* ptr = ori_info.ptr; + // Convert to sox_sample_t (int32_t) + switch (tensor.dtype().num()) { + //case c10::ScalarType::Float: { + case 11: { + // Need to convert to 64-bit precision so that + // values around INT32_MIN/MAX are handled correctly. + for (int idx = 0; idx < chunk.size(); ++idx) { + int frame_idx = (idx + index) / num_channels; + int channels_idx = (idx + index) % num_channels; + double elem = 0; + if (priv->channels_first) { + elem = *(float*)tensor.data(channels_idx, frame_idx); + } else { + elem = *(float*)tensor.data(frame_idx, channels_idx); + } + elem = elem * 2147483648.; + // *new_ptr = std::clamp(elem, INT32_MIN, INT32_MAX); + if (elem > INT32_MAX) { + chunk[idx] = INT32_MAX; + } else if (elem < INT32_MIN) { + chunk[idx] = INT32_MIN; + } else { + chunk[idx] = elem; + } + } + break; + } + //case c10::ScalarType::Int: { + case 5: { + for (int idx = 0; idx < chunk.size(); ++idx) { + int frame_idx = (idx + index) / num_channels; + int channels_idx = (idx + index) % num_channels; + int elem = 0; + if (priv->channels_first) { + elem = *(int*)tensor.data(channels_idx, frame_idx); + } else { + elem = *(int*)tensor.data(frame_idx, channels_idx); + } + chunk[idx] = elem; + } + break; + } + // case short + case 3: { + for (int idx = 0; idx < chunk.size(); ++idx) { + int frame_idx = (idx + index) / num_channels; + int channels_idx = (idx + index) % num_channels; + int16_t elem = 0; + if (priv->channels_first) { + elem = *(int16_t*)tensor.data(channels_idx, frame_idx); + } else { + elem = *(int16_t*)tensor.data(frame_idx, channels_idx); + } + chunk[idx] = elem * 65536; + } + break; + } + // case byte + case 1: { + for (int idx = 0; idx < chunk.size(); ++idx) { + int frame_idx = (idx + index) / num_channels; + int channels_idx = (idx + index) % num_channels; + int8_t elem = 0; + if (priv->channels_first) { + elem = *(int8_t*)tensor.data(channels_idx, frame_idx); + } else { + elem = *(int8_t*)tensor.data(frame_idx, channels_idx); + } + chunk[idx] = (elem - 128) * 16777216; + } + break; + } + default: + throw std::runtime_error("Unexpected dtype."); + } + // Write to buffer + memcpy(obuf, chunk.data(), *osamp * 4); + priv->index += *osamp; + return (priv->index == num_samples) ? SOX_EOF : SOX_SUCCESS; +} + +/// Callback function to fetch data from SoxEffectChain. +int tensor_output_flow( + sox_effect_t* effp, + sox_sample_t const* ibuf, + sox_sample_t* obuf LSX_UNUSED, + size_t* isamp, + size_t* osamp) { + *osamp = 0; + // Get output buffer + auto out_buffer = static_cast(effp->priv)->buffer; + // Append at the end + out_buffer->insert(out_buffer->end(), ibuf, ibuf + *isamp); + return SOX_SUCCESS; +} + +int file_output_flow( + sox_effect_t* effp, + sox_sample_t const* ibuf, + sox_sample_t* obuf LSX_UNUSED, + size_t* isamp, + size_t* osamp) { + *osamp = 0; + if (*isamp) { + auto sf = static_cast(effp->priv)->sf; + if (sox_write(sf, ibuf, *isamp) != *isamp) { + if (sf->sox_errno) { + std::ostringstream stream; + stream << sf->sox_errstr << " " << sox_strerror(sf->sox_errno) << " " + << sf->filename; + throw std::runtime_error(stream.str()); + } + return SOX_EOF; + } + } + return SOX_SUCCESS; +} + +sox_effect_handler_t* get_tensor_input_handler() { + static sox_effect_handler_t handler{ + /*name=*/"input_tensor", + /*usage=*/NULL, + /*flags=*/SOX_EFF_MCHAN, + /*getopts=*/NULL, + /*start=*/NULL, + /*flow=*/NULL, + /*drain=*/tensor_input_drain, + /*stop=*/NULL, + /*kill=*/NULL, + /*priv_size=*/sizeof(TensorInputPriv)}; + return &handler; +} + +sox_effect_handler_t* get_tensor_output_handler() { + static sox_effect_handler_t handler{ + /*name=*/"output_tensor", + /*usage=*/NULL, + /*flags=*/SOX_EFF_MCHAN, + /*getopts=*/NULL, + /*start=*/NULL, + /*flow=*/tensor_output_flow, + /*drain=*/NULL, + /*stop=*/NULL, + /*kill=*/NULL, + /*priv_size=*/sizeof(TensorOutputPriv)}; + return &handler; +} + +sox_effect_handler_t* get_file_output_handler() { + static sox_effect_handler_t handler{ + /*name=*/"output_file", + /*usage=*/NULL, + /*flags=*/SOX_EFF_MCHAN, + /*getopts=*/NULL, + /*start=*/NULL, + /*flow=*/file_output_flow, + /*drain=*/NULL, + /*stop=*/NULL, + /*kill=*/NULL, + /*priv_size=*/sizeof(FileOutputPriv)}; + return &handler; +} + +} // namespace + +SoxEffect::SoxEffect(sox_effect_t* se) noexcept : se_(se) {} + +SoxEffect::~SoxEffect() { + if (se_ != nullptr) { + free(se_); + } +} + +SoxEffect::operator sox_effect_t*() const { + return se_; +} + +auto SoxEffect::operator->() noexcept -> sox_effect_t* { + return se_; +} + +SoxEffectsChain::SoxEffectsChain( + sox_encodinginfo_t input_encoding, + sox_encodinginfo_t output_encoding) + : in_enc_(input_encoding), + out_enc_(output_encoding), + in_sig_(), + interm_sig_(), + out_sig_(), + sec_(sox_create_effects_chain(&in_enc_, &out_enc_)) { + if (!sec_) { + throw std::runtime_error("Failed to create effect chain."); + } +} + +SoxEffectsChain::~SoxEffectsChain() { + if (sec_ != nullptr) { + sox_delete_effects_chain(sec_); + } +} + +void SoxEffectsChain::run() { + sox_flow_effects(sec_, NULL, NULL); +} + +void SoxEffectsChain::addInputTensor( + py::array* waveform, + int64_t sample_rate, + bool channels_first) { + in_sig_ = get_signalinfo(waveform, sample_rate, "wav", channels_first); + interm_sig_ = in_sig_; + SoxEffect e(sox_create_effect(get_tensor_input_handler())); + auto priv = static_cast(e->priv); + priv->index = 0; + priv->waveform = waveform; + priv->sample_rate = sample_rate; + priv->channels_first = channels_first; + if (sox_add_effect(sec_, e, &interm_sig_, &in_sig_) != SOX_SUCCESS) { + throw std::runtime_error( + "Internal Error: Failed to add effect: input_tensor"); + } +} + +void SoxEffectsChain::addOutputBuffer( + std::vector* output_buffer) { + SoxEffect e(sox_create_effect(get_tensor_output_handler())); + static_cast(e->priv)->buffer = output_buffer; + if (sox_add_effect(sec_, e, &interm_sig_, &in_sig_) != SOX_SUCCESS) { + throw std::runtime_error( + "Internal Error: Failed to add effect: output_tensor"); + } +} + +void SoxEffectsChain::addInputFile(sox_format_t* sf) { + in_sig_ = sf->signal; + interm_sig_ = in_sig_; + SoxEffect e(sox_create_effect(sox_find_effect("input"))); + char* opts[] = {(char*)sf}; + sox_effect_options(e, 1, opts); + if (sox_add_effect(sec_, e, &interm_sig_, &in_sig_) != SOX_SUCCESS) { + std::ostringstream stream; + stream << "Internal Error: Failed to add effect: input " << sf->filename; + throw std::runtime_error(stream.str()); + } +} + +void SoxEffectsChain::addOutputFile(sox_format_t* sf) { + out_sig_ = sf->signal; + SoxEffect e(sox_create_effect(get_file_output_handler())); + static_cast(e->priv)->sf = sf; + if (sox_add_effect(sec_, e, &interm_sig_, &out_sig_) != SOX_SUCCESS) { + std::ostringstream stream; + stream << "Internal Error: Failed to add effect: output " << sf->filename; + throw std::runtime_error(stream.str()); + } +} + +void SoxEffectsChain::addEffect(const std::vector effect) { + const auto num_args = effect.size(); + if (num_args == 0) { + throw std::runtime_error("Invalid argument: empty effect."); + } + const auto name = effect[0]; + if (UNSUPPORTED_EFFECTS.find(name) != UNSUPPORTED_EFFECTS.end()) { + std::ostringstream stream; + stream << "Unsupported effect: " << name; + throw std::runtime_error(stream.str()); + } + + auto returned_effect = sox_find_effect(name.c_str()); + if (!returned_effect) { + std::ostringstream stream; + stream << "Unsupported effect: " << name; + throw std::runtime_error(stream.str()); + } + SoxEffect e(sox_create_effect(returned_effect)); + const auto num_options = num_args - 1; + + std::vector opts; + for (size_t i = 1; i < num_args; ++i) { + opts.push_back((char*)effect[i].c_str()); + } + if (sox_effect_options(e, num_options, num_options ? opts.data() : nullptr) != + SOX_SUCCESS) { + std::ostringstream stream; + stream << "Invalid effect option:"; + for (const auto& v : effect) { + stream << " " << v; + } + throw std::runtime_error(stream.str()); + } + + if (sox_add_effect(sec_, e, &interm_sig_, &in_sig_) != SOX_SUCCESS) { + std::ostringstream stream; + stream << "Internal Error: Failed to add effect: \"" << name; + for (size_t i = 1; i < num_args; ++i) { + stream << " " << effect[i]; + } + stream << "\""; + throw std::runtime_error(stream.str()); + } +} + +int64_t SoxEffectsChain::getOutputNumChannels() { + return interm_sig_.channels; +} + +int64_t SoxEffectsChain::getOutputSampleRate() { + return interm_sig_.rate; +} + +namespace { + +/// helper classes for passing file-like object to SoxEffectChain +struct FileObjInputPriv { + sox_format_t* sf; + py::object* fileobj; + bool eof_reached; + char* buffer; + uint64_t buffer_size; +}; + +struct FileObjOutputPriv { + sox_format_t* sf; + py::object* fileobj; + char** buffer; + size_t* buffer_size; +}; + +/// Callback function to feed byte string +/// https://github.com/dmkrepo/libsox/blob/b9dd1a86e71bbd62221904e3e59dfaa9e5e72046/src/sox.h#L1268-L1278 +auto fileobj_input_drain(sox_effect_t* effp, sox_sample_t* obuf, size_t* osamp) + -> int { + auto priv = static_cast(effp->priv); + auto sf = priv->sf; + auto buffer = priv->buffer; + + // 1. Refresh the buffer + // + // NOTE: + // Since the underlying FILE* was opened with `fmemopen`, the only way + // libsox detect EOF is reaching the end of the buffer. (null byte won't + // help) Therefore we need to align the content at the end of buffer, + // otherwise, libsox will keep reading the content beyond intended length. + // + // Before: + // + // |<-------consumed------>|<---remaining--->| + // |***********************|-----------------| + // ^ ftell + // + // After: + // + // |<-offset->|<---remaining--->|<-new data->| + // |**********|-----------------|++++++++++++| + // ^ ftell + + // NOTE: + // Do not use `sf->tell_off` here. Presumably, `tell_off` and `fseek` are + // supposed to be in sync, but there are cases (Vorbis) they are not + // in sync and `tell_off` has seemingly uninitialized value, which + // leads num_remain to be negative and cause segmentation fault + // in `memmove`. + const auto tell = ftell((FILE*)sf->fp); + if (tell < 0) { + throw std::runtime_error("Internal Error: ftell failed."); + } + const auto num_consumed = static_cast(tell); + if (num_consumed > priv->buffer_size) { + throw std::runtime_error("Internal Error: buffer overrun."); + } + + const auto num_remain = priv->buffer_size - num_consumed; + + // 1.1. Fetch the data to see if there is data to fill the buffer + size_t num_refill = 0; + std::string chunk(num_consumed, '\0'); + if (num_consumed && !priv->eof_reached) { + num_refill = read_fileobj( + priv->fileobj, num_consumed, const_cast(chunk.data())); + if (num_refill < num_consumed) { + priv->eof_reached = true; + } + } + const auto offset = num_consumed - num_refill; + + // 1.2. Move the unconsumed data towards the beginning of buffer. + if (num_remain) { + auto src = static_cast(buffer + num_consumed); + auto dst = static_cast(buffer + offset); + memmove(dst, src, num_remain); + } + + // 1.3. Refill the remaining buffer. + if (num_refill) { + auto src = static_cast(const_cast(chunk.c_str())); + auto dst = buffer + offset + num_remain; + memcpy(dst, src, num_refill); + } + + // 1.4. Set the file pointer to the new offset + sf->tell_off = offset; + fseek((FILE*)sf->fp, offset, SEEK_SET); + + // 2. Perform decoding operation + // The following part is practically same as "input" effect + // https://github.com/dmkrepo/libsox/blob/b9dd1a86e71bbd62221904e3e59dfaa9e5e72046/src/input.c#L30-L48 + + // At this point, osamp represents the buffer size in bytes, + // but sox_read expects the maximum number of samples ready to read. + // Normally, this is fine, but in case when the samples are not 4-byte + // aligned, (e.g. sample is 24bits), the resulting signal is not correct. + // https://github.com/pytorch/audio/issues/2083 + if (sf->encoding.bits_per_sample > 0) + *osamp /= (sf->encoding.bits_per_sample / 8); + + // Ensure that it's a multiple of the number of channels + *osamp -= *osamp % effp->out_signal.channels; + + // Read up to *osamp samples into obuf; + // store the actual number read back to *osamp + *osamp = sox_read(sf, obuf, *osamp); + + // Decoding is finished when fileobject is exhausted and sox can no longer + // decode a sample. + return (priv->eof_reached && !*osamp) ? SOX_EOF : SOX_SUCCESS; +} + +auto fileobj_output_flow( + sox_effect_t* effp, + sox_sample_t const* ibuf, + sox_sample_t* obuf LSX_UNUSED, + size_t* isamp, + size_t* osamp) -> int { + *osamp = 0; + if (*isamp) { + auto priv = static_cast(effp->priv); + auto sf = priv->sf; + auto fp = static_cast(sf->fp); + auto fileobj = priv->fileobj; + auto buffer = priv->buffer; + + // Encode chunk + auto num_samples_written = sox_write(sf, ibuf, *isamp); + fflush(fp); + + // Copy the encoded chunk to python object. + fileobj->attr("write")(py::bytes(*buffer, ftell(fp))); + + // Reset FILE* + sf->tell_off = 0; + fseek(fp, 0, SEEK_SET); + + if (num_samples_written != *isamp) { + if (sf->sox_errno) { + std::ostringstream stream; + stream << sf->sox_errstr << " " << sox_strerror(sf->sox_errno) << " " + << sf->filename; + throw std::runtime_error(stream.str()); + } + return SOX_EOF; + } + } + return SOX_SUCCESS; +} + +auto get_fileobj_input_handler() -> sox_effect_handler_t* { + static sox_effect_handler_t handler{ + /*name=*/"input_fileobj_object", + /*usage=*/nullptr, + /*flags=*/SOX_EFF_MCHAN, + /*getopts=*/nullptr, + /*start=*/nullptr, + /*flow=*/nullptr, + /*drain=*/fileobj_input_drain, + /*stop=*/nullptr, + /*kill=*/nullptr, + /*priv_size=*/sizeof(FileObjInputPriv)}; + return &handler; +} + +auto get_fileobj_output_handler() -> sox_effect_handler_t* { + static sox_effect_handler_t handler{ + /*name=*/"output_fileobj_object", + /*usage=*/nullptr, + /*flags=*/SOX_EFF_MCHAN, + /*getopts=*/nullptr, + /*start=*/nullptr, + /*flow=*/fileobj_output_flow, + /*drain=*/nullptr, + /*stop=*/nullptr, + /*kill=*/nullptr, + /*priv_size=*/sizeof(FileObjOutputPriv)}; + return &handler; +} + +} // namespace + +void SoxEffectsChainPyBind::addInputFileObj( + sox_format_t* sf, + char* buffer, + uint64_t buffer_size, + py::object* fileobj) { + in_sig_ = sf->signal; + interm_sig_ = in_sig_; + + SoxEffect e(sox_create_effect(get_fileobj_input_handler())); + auto priv = static_cast(e->priv); + priv->sf = sf; + priv->fileobj = fileobj; + priv->eof_reached = false; + priv->buffer = buffer; + priv->buffer_size = buffer_size; + if (sox_add_effect(sec_, e, &interm_sig_, &in_sig_) != SOX_SUCCESS) { + throw std::runtime_error( + "Internal Error: Failed to add effect: input fileobj"); + } +} + +void SoxEffectsChainPyBind::addOutputFileObj( + sox_format_t* sf, + char** buffer, + size_t* buffer_size, + py::object* fileobj) { + out_sig_ = sf->signal; + SoxEffect e(sox_create_effect(get_fileobj_output_handler())); + auto priv = static_cast(e->priv); + priv->sf = sf; + priv->fileobj = fileobj; + priv->buffer = buffer; + priv->buffer_size = buffer_size; + if (sox_add_effect(sec_, e, &interm_sig_, &out_sig_) != SOX_SUCCESS) { + throw std::runtime_error( + "Internal Error: Failed to add effect: output fileobj"); + } +} + +} // namespace paddleaudio::sox_effects_chain diff --git a/audio/paddleaudio/src/pybind/sox/effects_chain.h b/audio/paddleaudio/src/pybind/sox/effects_chain.h new file mode 100644 index 000000000..d61de6585 --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/effects_chain.h @@ -0,0 +1,78 @@ +// the code is from https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/effects_chain.h with modification. + +#pragma once + +#include +#include "paddleaudio/src/pybind/sox/utils.h" + +namespace paddleaudio::sox_effects_chain { + +// Helper struct to safely close sox_effect_t* pointer returned by +// sox_create_effect + +struct SoxEffect { + explicit SoxEffect(sox_effect_t* se) noexcept; + SoxEffect(const SoxEffect& other) = delete; + SoxEffect(const SoxEffect&& other) = delete; + auto operator=(const SoxEffect& other) -> SoxEffect& = delete; + auto operator=(SoxEffect&& other) -> SoxEffect& = delete; + ~SoxEffect(); + operator sox_effect_t*() const; + auto operator->() noexcept -> sox_effect_t*; + + private: + sox_effect_t* se_; +}; + +// Helper struct to safely close sox_effects_chain_t with handy methods +class SoxEffectsChain { + const sox_encodinginfo_t in_enc_; + const sox_encodinginfo_t out_enc_; + + protected: + sox_signalinfo_t in_sig_; + sox_signalinfo_t interm_sig_; + sox_signalinfo_t out_sig_; + sox_effects_chain_t* sec_; + + public: + explicit SoxEffectsChain( + sox_encodinginfo_t input_encoding, + sox_encodinginfo_t output_encoding); + SoxEffectsChain(const SoxEffectsChain& other) = delete; + SoxEffectsChain(const SoxEffectsChain&& other) = delete; + SoxEffectsChain& operator=(const SoxEffectsChain& other) = delete; + SoxEffectsChain& operator=(SoxEffectsChain&& other) = delete; + ~SoxEffectsChain(); + void run(); + void addInputTensor( + py::array* waveform, + int64_t sample_rate, + bool channels_first); + void addInputFile(sox_format_t* sf); + void addOutputBuffer(std::vector* output_buffer); + void addOutputFile(sox_format_t* sf); + void addEffect(const std::vector effect); + int64_t getOutputNumChannels(); + int64_t getOutputSampleRate(); +}; + +class SoxEffectsChainPyBind : public SoxEffectsChain { + using SoxEffectsChain::SoxEffectsChain; + + public: + void addInputFileObj( + sox_format_t* sf, + char* buffer, + uint64_t buffer_size, + py::object* fileobj); + + void addOutputFileObj( + sox_format_t* sf, + char** buffer, + size_t* buffer_size, + py::object* fileobj); +}; + +} // namespace paddleaudio::sox_effects_chain + diff --git a/audio/paddleaudio/src/pybind/sox/io.cpp b/audio/paddleaudio/src/pybind/sox/io.cpp new file mode 100644 index 000000000..e0c41d5f6 --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/io.cpp @@ -0,0 +1,279 @@ +// the code is from https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/io.cpp with modification. + +#include "paddleaudio/src/pybind/sox/io.h" +#include "paddleaudio/src/pybind/sox/effects.h" +#include "paddleaudio/src/pybind/sox/types.h" +#include "paddleaudio/src/pybind/sox/effects_chain.h" +#include "paddleaudio/src/pybind/sox/utils.h" +#include "paddleaudio/src/optional/optional.hpp" + +using namespace paddleaudio::sox_utils; + +namespace paddleaudio { +namespace sox_io { + +auto get_info_file(const std::string &path, + const tl::optional &format) + -> std::tuple { + SoxFormat sf( + sox_open_read(path.data(), + /*signal=*/nullptr, + /*encoding=*/nullptr, + /*filetype=*/format.has_value() ? format.value().c_str() : nullptr)); + + + validate_input_file(sf, path); + + return std::make_tuple( + static_cast(sf->signal.rate), + static_cast(sf->signal.length / sf->signal.channels), + static_cast(sf->signal.channels), + static_cast(sf->encoding.bits_per_sample), + get_encoding(sf->encoding.encoding)); +} + +std::vector> get_effects( + const tl::optional& frame_offset, + const tl::optional& num_frames) { + const auto offset = frame_offset.value_or(0); + if (offset < 0) { + throw std::runtime_error( + "Invalid argument: frame_offset must be non-negative."); + } + const auto frames = num_frames.value_or(-1); + if (frames == 0 || frames < -1) { + throw std::runtime_error( + "Invalid argument: num_frames must be -1 or greater than 0."); + } + + std::vector> effects; + if (frames != -1) { + std::ostringstream os_offset, os_frames; + os_offset << offset << "s"; + os_frames << "+" << frames << "s"; + effects.emplace_back( + std::vector{"trim", os_offset.str(), os_frames.str()}); + } else if (offset != 0) { + std::ostringstream os_offset; + os_offset << offset << "s"; + effects.emplace_back(std::vector{"trim", os_offset.str()}); + } + return effects; +} + +auto get_info_fileobj(py::object fileobj, + const tl::optional &format) + -> std::tuple { + const auto capacity = [&]() { + const auto bufsiz = get_buffer_size(); + const int64_t kDefaultCapacityInBytes = 4096; + return (bufsiz > kDefaultCapacityInBytes) ? bufsiz + : kDefaultCapacityInBytes; + }(); + std::string buffer(capacity, '\0'); + auto *buf = const_cast(buffer.data()); + auto num_read = read_fileobj(&fileobj, capacity, buf); + // If the file is shorter than 256, then libsox cannot read the header. + auto buf_size = (num_read > 256) ? num_read : 256; + + SoxFormat sf(sox_open_mem_read( + buf, + buf_size, + /*signal=*/nullptr, + /*encoding=*/nullptr, + /*filetype=*/format.has_value() ? format.value().c_str() : nullptr)); + + // In case of streamed data, length can be 0 + validate_input_memfile(sf); + + return std::make_tuple( + static_cast(sf->signal.rate), + static_cast(sf->signal.length / sf->signal.channels), + static_cast(sf->signal.channels), + static_cast(sf->encoding.bits_per_sample), + get_encoding(sf->encoding.encoding)); +} + +tl::optional> load_audio_fileobj( + py::object fileobj, + const tl::optional& frame_offset, + const tl::optional& num_frames, + tl::optional normalize, + tl::optional channels_first, + const tl::optional& format) { + auto effects = get_effects(frame_offset, num_frames); + return paddleaudio::sox_effects::apply_effects_fileobj( + std::move(fileobj), effects, normalize, channels_first, std::move(format)); +} + +tl::optional> load_audio_file( + const std::string& path, + const tl::optional& frame_offset, + const tl::optional& num_frames, + tl::optional normalize, + tl::optional channels_first, + const tl::optional& format) { + auto effects = get_effects(frame_offset, num_frames); + return paddleaudio::sox_effects::apply_effects_file( + path, effects, normalize, channels_first, format); +} + +void save_audio_file(const std::string& path, + py::array tensor, + int64_t sample_rate, + bool channels_first, + tl::optional compression, + tl::optional format, + tl::optional encoding, + tl::optional bits_per_sample) { + validate_input_tensor(tensor); + + const auto filetype = [&]() { + if (format.has_value()) return format.value(); + return get_filetype(path); + }(); + + if (filetype == "amr-nb") { + const auto num_channels = tensor.shape(channels_first ? 0 : 1); + //TORCH_CHECK(num_channels == 1, + // "amr-nb format only supports single channel audio."); + assert(num_channels == 1); + } else if (filetype == "htk") { + const auto num_channels = tensor.shape(channels_first ? 0 : 1); + // TORCH_CHECK(num_channels == 1, + // "htk format only supports single channel audio."); + assert(num_channels == 1); + } else if (filetype == "gsm") { + const auto num_channels = tensor.shape(channels_first ? 0 : 1); + assert(num_channels == 1); + assert(sample_rate == 8000); + //TORCH_CHECK(num_channels == 1, + // "gsm format only supports single channel audio."); + //TORCH_CHECK(sample_rate == 8000, + // "gsm format only supports a sampling rate of 8kHz."); + } + const auto signal_info = + get_signalinfo(&tensor, sample_rate, filetype, channels_first); + const auto encoding_info = get_encodinginfo_for_save( + filetype, tensor.dtype(), compression, encoding, bits_per_sample); + + SoxFormat sf(sox_open_write(path.c_str(), + &signal_info, + &encoding_info, + /*filetype=*/filetype.c_str(), + /*oob=*/nullptr, + /*overwrite_permitted=*/nullptr)); + + if (static_cast(sf) == nullptr) { + throw std::runtime_error( + "Error saving audio file: failed to open file " + path); + } + + paddleaudio::sox_effects_chain::SoxEffectsChain chain( + /*input_encoding=*/get_tensor_encodinginfo(tensor.dtype()), + /*output_encoding=*/sf->encoding); + chain.addInputTensor(&tensor, sample_rate, channels_first); + chain.addOutputFile(sf); + chain.run(); +} + +namespace { +// helper class to automatically release buffer, to be used by +// save_audio_fileobj +struct AutoReleaseBuffer { + char* ptr; + size_t size; + + AutoReleaseBuffer() : ptr(nullptr), size(0) {} + AutoReleaseBuffer(const AutoReleaseBuffer& other) = delete; + AutoReleaseBuffer(AutoReleaseBuffer&& other) = delete; + auto operator=(const AutoReleaseBuffer& other) -> AutoReleaseBuffer& = delete; + auto operator=(AutoReleaseBuffer&& other) -> AutoReleaseBuffer& = delete; + ~AutoReleaseBuffer() { + if (ptr) { + free(ptr); + } + } +}; + +} // namespace + +void save_audio_fileobj( + py::object fileobj, + py::array tensor, + int64_t sample_rate, + bool channels_first, + tl::optional compression, + tl::optional format, + tl::optional encoding, + tl::optional bits_per_sample) { + + if (!format.has_value()) { + throw std::runtime_error( + "`format` is required when saving to file object."); + } + const auto filetype = format.value(); + + if (filetype == "amr-nb") { + const auto num_channels = tensor.shape(channels_first ? 0 : 1); + if (num_channels != 1) { + throw std::runtime_error( + "amr-nb format only supports single channel audio."); + } + } else if (filetype == "htk") { + const auto num_channels = tensor.shape(channels_first ? 0 : 1); + if (num_channels != 1) { + throw std::runtime_error( + "htk format only supports single channel audio."); + } + } else if (filetype == "gsm") { + const auto num_channels = tensor.shape(channels_first ? 0 : 1); + if (num_channels != 1) { + throw std::runtime_error( + "gsm format only supports single channel audio."); + } + if (sample_rate != 8000) { + throw std::runtime_error( + "gsm format only supports a sampling rate of 8kHz."); + } + } + + const auto signal_info = + get_signalinfo(&tensor, sample_rate, filetype, channels_first); + const auto encoding_info = get_encodinginfo_for_save( + filetype, + tensor.dtype(), + compression, + std::move(encoding), + bits_per_sample); + + AutoReleaseBuffer buffer; + + SoxFormat sf(sox_open_memstream_write( + &buffer.ptr, + &buffer.size, + &signal_info, + &encoding_info, + filetype.c_str(), + /*oob=*/nullptr)); + + if (static_cast(sf) == nullptr) { + throw std::runtime_error( + "Error saving audio file: failed to open memory stream."); + } + + paddleaudio::sox_effects_chain::SoxEffectsChainPyBind chain( + /*input_encoding=*/get_tensor_encodinginfo(tensor.dtype()), + /*output_encoding=*/sf->encoding); + chain.addInputTensor(&tensor, sample_rate, channels_first); + chain.addOutputFileObj(sf, &buffer.ptr, &buffer.size, &fileobj); + chain.run(); + + // Closing the sox_format_t is necessary for flushing the last chunk to the + // buffer + sf.close(); + fileobj.attr("write")(py::bytes(buffer.ptr, buffer.size)); +} + +} // namespace paddleaudio +} // namespace sox_io diff --git a/audio/paddleaudio/src/pybind/sox/io.h b/audio/paddleaudio/src/pybind/sox/io.h new file mode 100644 index 000000000..24144c387 --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/io.h @@ -0,0 +1,61 @@ +// the code is from https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/io.h with modification. +#pragma once + +#include "paddleaudio/src/pybind/sox/utils.h" + +namespace py = pybind11; + +namespace paddleaudio { +namespace sox_io { + +auto get_info_file(const std::string &path, + const tl::optional &format) + -> std::tuple; + +auto get_info_fileobj(py::object fileobj, + const tl::optional &format) + -> std::tuple; + +tl::optional> load_audio_fileobj( + py::object fileobj, + const tl::optional& frame_offset, + const tl::optional& num_frames, + tl::optional normalize, + tl::optional channels_first, + const tl::optional& format); + +void save_audio_fileobj( + py::object fileobj, + py::array tensor, + int64_t sample_rate, + bool channels_first, + tl::optional compression, + tl::optional format, + tl::optional encoding, + tl::optional bits_per_sample); + +auto get_effects(const tl::optional& frame_offset, + const tl::optional& num_frames) + -> std::vector>; + + +tl::optional> load_audio_file( + const std::string& path, + const tl::optional& frame_offset, + const tl::optional& num_frames, + tl::optional normalize, + tl::optional channels_first, + const tl::optional& format); + +void save_audio_file(const std::string& path, + py::array tensor, + int64_t sample_rate, + bool channels_first, + tl::optional compression, + tl::optional format, + tl::optional encoding, + tl::optional bits_per_sample); + + +} // namespace paddleaudio +} // namespace sox_io diff --git a/audio/paddleaudio/src/pybind/sox/types.cpp b/audio/paddleaudio/src/pybind/sox/types.cpp new file mode 100644 index 000000000..b42984e64 --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/types.cpp @@ -0,0 +1,143 @@ +//code is from: https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/types.cpp + +#include "paddleaudio/src/pybind/sox/types.h" +#include +#include + +namespace paddleaudio { +namespace sox_utils { + +Format get_format_from_string(const std::string& format) { + if (format == "wav") + return Format::WAV; + if (format == "mp3") + return Format::MP3; + if (format == "flac") + return Format::FLAC; + if (format == "ogg" || format == "vorbis") + return Format::VORBIS; + if (format == "amr-nb") + return Format::AMR_NB; + if (format == "amr-wb") + return Format::AMR_WB; + if (format == "amb") + return Format::AMB; + if (format == "sph") + return Format::SPHERE; + if (format == "htk") + return Format::HTK; + if (format == "gsm") + return Format::GSM; + std::ostringstream stream; + stream << "Internal Error: unexpected format value: " << format; + throw std::runtime_error(stream.str()); +} + +std::string to_string(Encoding v) { + switch (v) { + case Encoding::UNKNOWN: + return "UNKNOWN"; + case Encoding::PCM_SIGNED: + return "PCM_S"; + case Encoding::PCM_UNSIGNED: + return "PCM_U"; + case Encoding::PCM_FLOAT: + return "PCM_F"; + case Encoding::FLAC: + return "FLAC"; + case Encoding::ULAW: + return "ULAW"; + case Encoding::ALAW: + return "ALAW"; + case Encoding::MP3: + return "MP3"; + case Encoding::VORBIS: + return "VORBIS"; + case Encoding::AMR_WB: + return "AMR_WB"; + case Encoding::AMR_NB: + return "AMR_NB"; + case Encoding::OPUS: + return "OPUS"; + default: + throw std::runtime_error("Internal Error: unexpected encoding."); + } +} + +Encoding get_encoding_from_option(const tl::optional encoding) { + if (!encoding.has_value()) + return Encoding::NOT_PROVIDED; + std::string v = encoding.value(); + if (v == "PCM_S") + return Encoding::PCM_SIGNED; + if (v == "PCM_U") + return Encoding::PCM_UNSIGNED; + if (v == "PCM_F") + return Encoding::PCM_FLOAT; + if (v == "ULAW") + return Encoding::ULAW; + if (v == "ALAW") + return Encoding::ALAW; + std::ostringstream stream; + stream << "Internal Error: unexpected encoding value: " << v; + throw std::runtime_error(stream.str()); +} + +BitDepth get_bit_depth_from_option(const tl::optional bit_depth) { + if (!bit_depth.has_value()) + return BitDepth::NOT_PROVIDED; + int64_t v = bit_depth.value(); + switch (v) { + case 8: + return BitDepth::B8; + case 16: + return BitDepth::B16; + case 24: + return BitDepth::B24; + case 32: + return BitDepth::B32; + case 64: + return BitDepth::B64; + default: { + std::ostringstream s; + s << "Internal Error: unexpected bit depth value: " << v; + throw std::runtime_error(s.str()); + } + } +} + +std::string get_encoding(sox_encoding_t encoding) { + switch (encoding) { + case SOX_ENCODING_UNKNOWN: + return "UNKNOWN"; + case SOX_ENCODING_SIGN2: + return "PCM_S"; + case SOX_ENCODING_UNSIGNED: + return "PCM_U"; + case SOX_ENCODING_FLOAT: + return "PCM_F"; + case SOX_ENCODING_FLAC: + return "FLAC"; + case SOX_ENCODING_ULAW: + return "ULAW"; + case SOX_ENCODING_ALAW: + return "ALAW"; + case SOX_ENCODING_MP3: + return "MP3"; + case SOX_ENCODING_VORBIS: + return "VORBIS"; + case SOX_ENCODING_AMR_WB: + return "AMR_WB"; + case SOX_ENCODING_AMR_NB: + return "AMR_NB"; + case SOX_ENCODING_OPUS: + return "OPUS"; + case SOX_ENCODING_GSM: + return "GSM"; + default: + return "UNKNOWN"; + } +} + +} // namespace sox_utils +} // namespace paddleaudio diff --git a/audio/paddleaudio/src/pybind/sox/types.h b/audio/paddleaudio/src/pybind/sox/types.h new file mode 100644 index 000000000..126e4faaa --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/types.h @@ -0,0 +1,58 @@ +//code is from: https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/types.h +#pragma once + +#include +#include "paddleaudio/src/optional/optional.hpp" + +namespace paddleaudio { +namespace sox_utils { + +enum class Format { + WAV, + MP3, + FLAC, + VORBIS, + AMR_NB, + AMR_WB, + AMB, + SPHERE, + GSM, + HTK, +}; + +Format get_format_from_string(const std::string& format); + +enum class Encoding { + NOT_PROVIDED, + UNKNOWN, + PCM_SIGNED, + PCM_UNSIGNED, + PCM_FLOAT, + FLAC, + ULAW, + ALAW, + MP3, + VORBIS, + AMR_WB, + AMR_NB, + OPUS, +}; + +std::string to_string(Encoding v); +Encoding get_encoding_from_option(const tl::optional encoding); + +enum class BitDepth : unsigned { + NOT_PROVIDED = 0, + B8 = 8, + B16 = 16, + B24 = 24, + B32 = 32, + B64 = 64, +}; + +BitDepth get_bit_depth_from_option(const tl::optional bit_depth); + +std::string get_encoding(sox_encoding_t encoding); + +} // namespace sox_utils +} // namespace paddleaudio diff --git a/audio/paddleaudio/src/pybind/sox/utils.cpp b/audio/paddleaudio/src/pybind/sox/utils.cpp new file mode 100644 index 000000000..bc32b7407 --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/utils.cpp @@ -0,0 +1,550 @@ +//code is from: https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/utils.cpp with modification. +#include + +#include "paddleaudio/src/pybind/sox/utils.h" +#include "paddleaudio/src/pybind/sox/types.h" + +#include + +namespace paddleaudio { +namespace sox_utils { + +auto read_fileobj(py::object *fileobj, const uint64_t size, char *buffer) + -> uint64_t { + uint64_t num_read = 0; + while (num_read < size) { + auto request = size - num_read; + auto chunk = static_cast( + static_cast(fileobj->attr("read")(request))); + auto chunk_len = chunk.length(); + if (chunk_len == 0) { + break; + } + if (chunk_len > request) { + std::ostringstream message; + message + << "Requested up to " << request << " bytes but, " + << "received " << chunk_len << " bytes. " + << "The given object does not confirm to read protocol of file " + "object."; + throw std::runtime_error(message.str()); + } + memcpy(buffer, chunk.data(), chunk_len); + buffer += chunk_len; + num_read += chunk_len; + } + return num_read; +} + + +void set_seed(const int64_t seed) { + sox_get_globals()->ranqd1 = static_cast(seed); +} + +void set_verbosity(const int64_t verbosity) { + sox_get_globals()->verbosity = static_cast(verbosity); +} + +void set_use_threads(const bool use_threads) { + sox_get_globals()->use_threads = static_cast(use_threads); +} + +void set_buffer_size(const int64_t buffer_size) { + sox_get_globals()->bufsiz = static_cast(buffer_size); +} + +int64_t get_buffer_size() { + return sox_get_globals()->bufsiz; +} + +std::vector> list_effects() { + std::vector> effects; + for (const sox_effect_fn_t* fns = sox_get_effect_fns(); *fns; ++fns) { + const sox_effect_handler_t* handler = (*fns)(); + if (handler && handler->name) { + if (UNSUPPORTED_EFFECTS.find(handler->name) == + UNSUPPORTED_EFFECTS.end()) { + effects.emplace_back(std::vector{ + handler->name, + handler->usage ? std::string(handler->usage) : std::string("")}); + } + } + } + return effects; +} + +std::vector list_write_formats() { + std::vector formats; + for (const sox_format_tab_t* fns = sox_get_format_fns(); fns->fn; ++fns) { + const sox_format_handler_t* handler = fns->fn(); + for (const char* const* names = handler->names; *names; ++names) { + if (!strchr(*names, '/') && handler->write) + formats.emplace_back(*names); + } + } + return formats; +} + +std::vector list_read_formats() { + std::vector formats; + for (const sox_format_tab_t* fns = sox_get_format_fns(); fns->fn; ++fns) { + const sox_format_handler_t* handler = fns->fn(); + for (const char* const* names = handler->names; *names; ++names) { + if (!strchr(*names, '/') && handler->read) + formats.emplace_back(*names); + } + } + return formats; +} + +SoxFormat::SoxFormat(sox_format_t* fd) noexcept : fd_(fd) {} +SoxFormat::~SoxFormat() { + close(); +} + +sox_format_t* SoxFormat::operator->() const noexcept { + return fd_; +} +SoxFormat::operator sox_format_t*() const noexcept { + return fd_; +} + +void SoxFormat::close() { + if (fd_ != nullptr) { + sox_close(fd_); + fd_ = nullptr; + } +} + +void validate_input_file(const SoxFormat& sf, const std::string& path) { + if (static_cast(sf) == nullptr) { + throw std::runtime_error( + "Error loading audio file: failed to open file " + path); + } + if (sf->encoding.encoding == SOX_ENCODING_UNKNOWN) { + throw std::runtime_error("Error loading audio file: unknown encoding."); + } +} + +void validate_input_memfile(const SoxFormat &sf) { + return validate_input_file(sf, ""); +} + +void validate_input_tensor(const py::array tensor) { + if (tensor.ndim() != 2) { + throw std::runtime_error("Input tensor has to be 2D."); + } + + char dtype = tensor.dtype().char_(); + bool flag = (dtype == 'f') || (dtype == 'd') || (dtype == 'l') || (dtype == 'i'); + if (flag == false) { + throw std::runtime_error( + "Input tensor has to be one of float32, int32, int16 or uint8 type."); + } +} + +py::dtype get_dtype( + const sox_encoding_t encoding, + const unsigned precision) { + switch (encoding) { + case SOX_ENCODING_UNSIGNED: // 8-bit PCM WAV + return py::dtype('u1'); + case SOX_ENCODING_SIGN2: // 16-bit, 24-bit, or 32-bit PCM WAV + switch (precision) { + case 16: + return py::dtype("i2"); + case 24: // Cast 24-bit to 32-bit. + case 32: + return py::dtype('i'); + default: + throw std::runtime_error( + "Only 16, 24, and 32 bits are supported for signed PCM."); + } + default: + // default to float32 for the other formats, including + // 32-bit flaoting-point WAV, + // MP3, + // FLAC, + // VORBIS etc... + return py::dtype("f"); + } +} + +py::array convert_to_tensor( + sox_sample_t* buffer, + const int32_t num_samples, + const int32_t num_channels, + const py::dtype dtype, + const bool normalize, + const bool channels_first) { + // todo refector later(SGoat) + py::array t; + uint64_t dummy = 0; + SOX_SAMPLE_LOCALS; + int32_t num_rows = num_samples / num_channels; + if (normalize || dtype.char_() == 'f') { + t = py::array(dtype, {num_rows, num_channels}); + auto ptr = (float*)t.mutable_data(0, 0); + for (int32_t i = 0; i < num_samples; ++i) { + ptr[i] = SOX_SAMPLE_TO_FLOAT_32BIT(buffer[i], dummy); + } + if (channels_first) { + py::array t2 = py::array(dtype, {num_channels, num_rows}); + for (int32_t row_idx = 0; row_idx < num_channels; ++row_idx) { + for (int32_t col_idx = 0; col_idx < num_rows; ++col_idx) + *(float*)t2.mutable_data(row_idx, col_idx) = *(float*)t.data(col_idx, row_idx); + } + return t2; + } + } else if (dtype.char_() == 'i') { + t = py::array(dtype, {num_rows, num_channels}); + auto ptr = (int*)t.mutable_data(0, 0); + for (int32_t i = 0; i < num_samples; ++i) { + ptr[i] = buffer[i]; + } + if (channels_first) { + py::array t2 = py::array(dtype, {num_channels, num_rows}); + for (int32_t row_idx = 0; row_idx < num_channels; ++row_idx) { + for (int32_t col_idx = 0; col_idx < num_rows; ++col_idx) + *(int*)t2.mutable_data(row_idx, col_idx) = *(int*)t.data(col_idx, row_idx); + } + return t2; + } + } else if (dtype.char_() == 'h') { // int16 + t = py::array(dtype, {num_rows, num_channels}); + auto ptr = (int16_t*)t.mutable_data(0, 0); + for (int32_t i = 0; i < num_samples; ++i) { + ptr[i] = SOX_SAMPLE_TO_SIGNED_16BIT(buffer[i], dummy); + } + if (channels_first) { + py::array t2 = py::array(dtype, {num_channels, num_rows}); + for (int32_t row_idx = 0; row_idx < num_channels; ++row_idx) { + for (int32_t col_idx = 0; col_idx < num_rows; ++col_idx) + *(int16_t*)t2.mutable_data(row_idx, col_idx) = *(int16_t*)t.data(col_idx, row_idx); + } + return t2; + } + } else if (dtype.char_() == 'b') { + //t = torch::empty({num_samples / num_channels, num_channels}, torch::kUInt8); + t = py::array(dtype, {num_rows, num_channels}); + auto ptr = (uint8_t*)t.mutable_data(0,0); + for (int32_t i = 0; i < num_samples; ++i) { + ptr[i] = SOX_SAMPLE_TO_UNSIGNED_8BIT(buffer[i], dummy); + } + if (channels_first) { + py::array t2 = py::array(dtype, {num_channels, num_rows}); + for (int32_t row_idx = 0; row_idx < num_channels; ++row_idx) { + for (int32_t col_idx = 0; col_idx < num_rows; ++col_idx) + *(uint8_t*)t2.mutable_data(row_idx, col_idx) = *(uint8_t*)t.data(col_idx, row_idx); + } + return t2; + } + } else { + throw std::runtime_error("Unsupported dtype."); + } + return t; +} + +const std::string get_filetype(const std::string path) { + std::string ext = path.substr(path.find_last_of(".") + 1); + std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower); + return ext; +} + +namespace { + +std::tuple get_save_encoding_for_wav( + const std::string format, + py::dtype dtype, + const Encoding& encoding, + const BitDepth& bits_per_sample) { + switch (encoding) { + case Encoding::NOT_PROVIDED: + switch (bits_per_sample) { + case BitDepth::NOT_PROVIDED: + switch (dtype.num()) { + case 11: // float32 numpy dtype num + return std::make_tuple<>(SOX_ENCODING_FLOAT, 32); + case 5: // int numpy dtype num + return std::make_tuple<>(SOX_ENCODING_SIGN2, 32); + case 3: // int16 numpy + return std::make_tuple<>(SOX_ENCODING_SIGN2, 16); + case 1: // byte numpy + return std::make_tuple<>(SOX_ENCODING_UNSIGNED, 8); + default: + throw std::runtime_error("Internal Error: Unexpected dtype."); + } + case BitDepth::B8: + return std::make_tuple<>(SOX_ENCODING_UNSIGNED, 8); + default: + return std::make_tuple<>( + SOX_ENCODING_SIGN2, static_cast(bits_per_sample)); + } + case Encoding::PCM_SIGNED: + switch (bits_per_sample) { + case BitDepth::NOT_PROVIDED: + return std::make_tuple<>(SOX_ENCODING_SIGN2, 32); + case BitDepth::B8: + throw std::runtime_error( + format + " does not support 8-bit signed PCM encoding."); + default: + return std::make_tuple<>( + SOX_ENCODING_SIGN2, static_cast(bits_per_sample)); + } + case Encoding::PCM_UNSIGNED: + switch (bits_per_sample) { + case BitDepth::NOT_PROVIDED: + case BitDepth::B8: + return std::make_tuple<>(SOX_ENCODING_UNSIGNED, 8); + default: + throw std::runtime_error( + format + " only supports 8-bit for unsigned PCM encoding."); + } + case Encoding::PCM_FLOAT: + switch (bits_per_sample) { + case BitDepth::NOT_PROVIDED: + case BitDepth::B32: + return std::make_tuple<>(SOX_ENCODING_FLOAT, 32); + case BitDepth::B64: + return std::make_tuple<>(SOX_ENCODING_FLOAT, 64); + default: + throw std::runtime_error( + format + + " only supports 32-bit or 64-bit for floating-point PCM encoding."); + } + case Encoding::ULAW: + switch (bits_per_sample) { + case BitDepth::NOT_PROVIDED: + case BitDepth::B8: + return std::make_tuple<>(SOX_ENCODING_ULAW, 8); + default: + throw std::runtime_error( + format + " only supports 8-bit for mu-law encoding."); + } + case Encoding::ALAW: + switch (bits_per_sample) { + case BitDepth::NOT_PROVIDED: + case BitDepth::B8: + return std::make_tuple<>(SOX_ENCODING_ALAW, 8); + default: + throw std::runtime_error( + format + " only supports 8-bit for a-law encoding."); + } + default: + throw std::runtime_error( + format + " does not support encoding: " + to_string(encoding)); + } +} + +std::tuple get_save_encoding( + const std::string& format, + const py::dtype dtype, + const tl::optional encoding, + const tl::optional bits_per_sample) { + const Format fmt = get_format_from_string(format); + const Encoding enc = get_encoding_from_option(encoding); + const BitDepth bps = get_bit_depth_from_option(bits_per_sample); + + switch (fmt) { + case Format::WAV: + case Format::AMB: + return get_save_encoding_for_wav(format, dtype, enc, bps); + case Format::MP3: + if (enc != Encoding::NOT_PROVIDED) + throw std::runtime_error("mp3 does not support `encoding` option."); + if (bps != BitDepth::NOT_PROVIDED) + throw std::runtime_error( + "mp3 does not support `bits_per_sample` option."); + return std::make_tuple<>(SOX_ENCODING_MP3, 16); + case Format::HTK: + if (enc != Encoding::NOT_PROVIDED) + throw std::runtime_error("htk does not support `encoding` option."); + if (bps != BitDepth::NOT_PROVIDED) + throw std::runtime_error( + "htk does not support `bits_per_sample` option."); + return std::make_tuple<>(SOX_ENCODING_SIGN2, 16); + case Format::VORBIS: + if (enc != Encoding::NOT_PROVIDED) + throw std::runtime_error("vorbis does not support `encoding` option."); + if (bps != BitDepth::NOT_PROVIDED) + throw std::runtime_error( + "vorbis does not support `bits_per_sample` option."); + return std::make_tuple<>(SOX_ENCODING_VORBIS, 16); + case Format::AMR_NB: + if (enc != Encoding::NOT_PROVIDED) + throw std::runtime_error("amr-nb does not support `encoding` option."); + if (bps != BitDepth::NOT_PROVIDED) + throw std::runtime_error( + "amr-nb does not support `bits_per_sample` option."); + return std::make_tuple<>(SOX_ENCODING_AMR_NB, 16); + case Format::FLAC: + if (enc != Encoding::NOT_PROVIDED) + throw std::runtime_error("flac does not support `encoding` option."); + switch (bps) { + case BitDepth::B32: + case BitDepth::B64: + throw std::runtime_error( + "flac does not support `bits_per_sample` larger than 24."); + default: + return std::make_tuple<>( + SOX_ENCODING_FLAC, static_cast(bps)); + } + case Format::SPHERE: + switch (enc) { + case Encoding::NOT_PROVIDED: + case Encoding::PCM_SIGNED: + switch (bps) { + case BitDepth::NOT_PROVIDED: + return std::make_tuple<>(SOX_ENCODING_SIGN2, 32); + default: + return std::make_tuple<>( + SOX_ENCODING_SIGN2, static_cast(bps)); + } + case Encoding::PCM_UNSIGNED: + throw std::runtime_error( + "sph does not support unsigned integer PCM."); + case Encoding::PCM_FLOAT: + throw std::runtime_error("sph does not support floating point PCM."); + case Encoding::ULAW: + switch (bps) { + case BitDepth::NOT_PROVIDED: + case BitDepth::B8: + return std::make_tuple<>(SOX_ENCODING_ULAW, 8); + default: + throw std::runtime_error( + "sph only supports 8-bit for mu-law encoding."); + } + case Encoding::ALAW: + switch (bps) { + case BitDepth::NOT_PROVIDED: + case BitDepth::B8: + return std::make_tuple<>(SOX_ENCODING_ALAW, 8); + default: + return std::make_tuple<>( + SOX_ENCODING_ALAW, static_cast(bps)); + } + default: + throw std::runtime_error( + "sph does not support encoding: " + encoding.value()); + } + case Format::GSM: + if (enc != Encoding::NOT_PROVIDED) + throw std::runtime_error("gsm does not support `encoding` option."); + if (bps != BitDepth::NOT_PROVIDED) + throw std::runtime_error( + "gsm does not support `bits_per_sample` option."); + return std::make_tuple<>(SOX_ENCODING_GSM, 16); + + default: + throw std::runtime_error("Unsupported format: " + format); + } +} + +unsigned get_precision(const std::string filetype, py::dtype dtype) { + if (filetype == "mp3") + return SOX_UNSPEC; + if (filetype == "flac") + return 24; + if (filetype == "ogg" || filetype == "vorbis") + return SOX_UNSPEC; + if (filetype == "wav" || filetype == "amb") { + switch (dtype.num()) { + case 1: // byte in numpy dype num + return 8; + case 3: // short, in numpy dtype num + return 16; + case 5: // int, numpy dtype + return 32; + case 11: // float, numpy dtype + return 32; + default: + throw std::runtime_error("Unsupported dtype."); + } + } + if (filetype == "sph") + return 32; + if (filetype == "amr-nb") { + return 16; + } + if (filetype == "gsm") { + return 16; + } + if (filetype == "htk") { + return 16; + } + throw std::runtime_error("Unsupported file type: " + filetype); +} + +} // namespace + +sox_signalinfo_t get_signalinfo( + const py::array* waveform, + const int64_t sample_rate, + const std::string filetype, + const bool channels_first) { + return sox_signalinfo_t{ + /*rate=*/static_cast(sample_rate), + /*channels=*/ + static_cast(waveform->shape(channels_first ? 0 : 1)), + /*precision=*/get_precision(filetype, waveform->dtype()), + /*length=*/static_cast(waveform->size())}; +} + +sox_encodinginfo_t get_tensor_encodinginfo(py::dtype dtype) { + sox_encoding_t encoding = [&]() { + switch (dtype.num()) { + case 1: // byte + return SOX_ENCODING_UNSIGNED; + case 3: // short + return SOX_ENCODING_SIGN2; + case 5: // int32 + return SOX_ENCODING_SIGN2; + case 11: // float + return SOX_ENCODING_FLOAT; + default: + throw std::runtime_error("Unsupported dtype."); + } + }(); + unsigned bits_per_sample = [&]() { + switch (dtype.num()) { + case 1: // byte + return 8; + case 3: //short + return 16; + case 5: // int32 + return 32; + case 11: // float + return 32; + default: + throw std::runtime_error("Unsupported dtype."); + } + }(); + return sox_encodinginfo_t{ + /*encoding=*/encoding, + /*bits_per_sample=*/bits_per_sample, + /*compression=*/HUGE_VAL, + /*reverse_bytes=*/sox_option_default, + /*reverse_nibbles=*/sox_option_default, + /*reverse_bits=*/sox_option_default, + /*opposite_endian=*/sox_false}; +} + +sox_encodinginfo_t get_encodinginfo_for_save( + const std::string& format, + const py::dtype dtype, + const tl::optional compression, + const tl::optional encoding, + const tl::optional bits_per_sample) { + auto enc = get_save_encoding(format, dtype, encoding, bits_per_sample); + return sox_encodinginfo_t{ + /*encoding=*/std::get<0>(enc), + /*bits_per_sample=*/std::get<1>(enc), + /*compression=*/compression.value_or(HUGE_VAL), + /*reverse_bytes=*/sox_option_default, + /*reverse_nibbles=*/sox_option_default, + /*reverse_bits=*/sox_option_default, + /*opposite_endian=*/sox_false}; +} + +} // namespace paddleaudio +} // namespace sox_utils diff --git a/audio/paddleaudio/src/pybind/sox/utils.h b/audio/paddleaudio/src/pybind/sox/utils.h new file mode 100644 index 000000000..6fce66714 --- /dev/null +++ b/audio/paddleaudio/src/pybind/sox/utils.h @@ -0,0 +1,114 @@ +//code is from: https://github.com/pytorch/audio/blob/main/torchaudio/csrc/sox/utils.h with modification. +#pragma once + +#include +#include +#include +#include "paddleaudio/src/optional/optional.hpp" + +namespace py = pybind11; + +namespace paddleaudio { +namespace sox_utils { + +auto read_fileobj(py::object *fileobj, uint64_t size, char *buffer) -> uint64_t; + +void set_seed(const int64_t seed); + +void set_verbosity(const int64_t verbosity); + +void set_use_threads(const bool use_threads); + +void set_buffer_size(const int64_t buffer_size); + +int64_t get_buffer_size(); + +std::vector> list_effects(); + +std::vector list_read_formats(); + +std::vector list_write_formats(); + +//////////////////////////////////////////////////////////////////////////////// +// Utilities for sox_io / sox_effects implementations +//////////////////////////////////////////////////////////////////////////////// + +const std::unordered_set UNSUPPORTED_EFFECTS = + {"input", "output", "spectrogram", "noiseprof", "noisered", "splice"}; + +/// helper class to automatically close sox_format_t* +struct SoxFormat { + explicit SoxFormat(sox_format_t* fd) noexcept; + SoxFormat(const SoxFormat& other) = delete; + SoxFormat(SoxFormat&& other) = delete; + SoxFormat& operator=(const SoxFormat& other) = delete; + SoxFormat& operator=(SoxFormat&& other) = delete; + ~SoxFormat(); + sox_format_t* operator->() const noexcept; + operator sox_format_t*() const noexcept; + + void close(); + + private: + sox_format_t* fd_; +}; + +/// +/// Verify that input Tensor is 2D, CPU and either uin8, int16, int32 or float32 +void validate_input_tensor(const py::array); + +void validate_input_file(const SoxFormat& sf, const std::string& path); + +void validate_input_memfile(const SoxFormat &sf); +/// +/// Get target dtype for the given encoding and precision. +py::dtype get_dtype( + const sox_encoding_t encoding, + const unsigned precision); + +/// +/// Convert sox_sample_t buffer to uint8/int16/int32/float32 Tensor +/// NOTE: This function might modify the values in the input buffer to +/// reduce the number of memory copy. +/// @param buffer Pointer to buffer that contains audio data. +/// @param num_samples The number of samples to read. +/// @param num_channels The number of channels. Used to reshape the resulting +/// Tensor. +/// @param dtype Target dtype. Determines the output dtype and value range in +/// conjunction with normalization. +/// @param noramlize Perform normalization. Only effective when dtype is not +/// kFloat32. When effective, the output tensor is kFloat32 type and value range +/// is [-1.0, 1.0] +/// @param channels_first When True, output Tensor has shape of [num_channels, +/// num_frames]. +py::array convert_to_tensor( + sox_sample_t* buffer, + const int32_t num_samples, + const int32_t num_channels, + const py::dtype dtype, + const bool normalize, + const bool channels_first); + +/// Extract extension from file path +const std::string get_filetype(const std::string path); + +/// Get sox_signalinfo_t for passing a py::array object. +sox_signalinfo_t get_signalinfo( + const py::array* waveform, + const int64_t sample_rate, + const std::string filetype, + const bool channels_first); + +/// Get sox_encodinginfo_t for Tensor I/O +sox_encodinginfo_t get_tensor_encodinginfo(const py::dtype dtype); + +/// Get sox_encodinginfo_t for saving to file/file object +sox_encodinginfo_t get_encodinginfo_for_save( + const std::string& format, + const py::dtype dtype, + const tl::optional compression, + const tl::optional encoding, + const tl::optional bits_per_sample); + +} // namespace paddleaudio +} // namespace sox_utils diff --git a/audio/paddleaudio/src/utils.cpp b/audio/paddleaudio/src/utils.cpp new file mode 100644 index 000000000..a1e718228 --- /dev/null +++ b/audio/paddleaudio/src/utils.cpp @@ -0,0 +1,35 @@ +// this is from: https://github.com/pytorch/audio/blob/main/torchaudio/csrc/utils.cpp with modification. + +namespace paddleaudio { + +namespace { + +bool is_sox_available() { +#ifdef INCLUDE_SOX + return true; +#else + return false; +#endif +} + +bool is_kaldi_available() { +#ifdef INCLUDE_KALDI + return true; +#else + return false; +#endif +} + +// It tells whether paddleaudio was compiled with ffmpeg +// not the runtime availability. +bool is_ffmpeg_available() { +#ifdef USE_FFMPEG + return true; +#else + return false; +#endif +} + +} // namespace + +} // namespace paddleaudio diff --git a/audio/paddleaudio/third_party/.gitignore b/audio/paddleaudio/third_party/.gitignore new file mode 100644 index 000000000..2d788f6b4 --- /dev/null +++ b/audio/paddleaudio/third_party/.gitignore @@ -0,0 +1,2 @@ +archives/ +install/ diff --git a/audio/paddleaudio/third_party/CMakeLists.txt b/audio/paddleaudio/third_party/CMakeLists.txt new file mode 100644 index 000000000..43288f39b --- /dev/null +++ b/audio/paddleaudio/third_party/CMakeLists.txt @@ -0,0 +1,15 @@ +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") + +################################################################################ +# sox +################################################################################ +if (BUILD_SOX) + add_subdirectory(sox) +endif() + +################################################################################ +# kaldi +################################################################################ +if (BUILD_KALDI) + add_subdirectory(kaldi) +endif() \ No newline at end of file diff --git a/audio/paddleaudio/third_party/kaldi/CMakeLists.txt b/audio/paddleaudio/third_party/kaldi/CMakeLists.txt new file mode 100644 index 000000000..39865aac8 --- /dev/null +++ b/audio/paddleaudio/third_party/kaldi/CMakeLists.txt @@ -0,0 +1,118 @@ +# checkout the thirdparty/kaldi/base/kaldi-types.h +# compile kaldi without openfst +add_definitions("-DCOMPILE_WITHOUT_OPENFST") + +if ((NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/base)) + file(COPY ../../../../speechx/speechx/kaldi/base DESTINATION ${CMAKE_CURRENT_LIST_DIR}) + file(COPY ../../../../speechx/speechx/kaldi/feat DESTINATION ${CMAKE_CURRENT_LIST_DIR}) + file(COPY ../../../../speechx/speechx/kaldi/matrix DESTINATION ${CMAKE_CURRENT_LIST_DIR}) + file(COPY ../../../../speechx/speechx/kaldi/util DESTINATION ${CMAKE_CURRENT_LIST_DIR}) +endif() + +# kaldi-base +add_library(kaldi-base STATIC + base/io-funcs.cc + base/kaldi-error.cc + base/kaldi-math.cc + base/kaldi-utils.cc + base/timer.cc +) +target_include_directories(kaldi-base PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +# kaldi-matrix +if (APPLE) + find_package(GFortranLibs REQUIRED) + include(FortranCInterface) + include(FindGFortranLibs REQUIRED) +endif() + + +add_library(kaldi-matrix STATIC + matrix/compressed-matrix.cc + matrix/matrix-functions.cc + matrix/kaldi-matrix.cc + matrix/kaldi-vector.cc + matrix/optimization.cc + matrix/packed-matrix.cc + matrix/qr.cc + matrix/sparse-matrix.cc + matrix/sp-matrix.cc + matrix/srfft.cc + matrix/tp-matrix.cc +) +target_include_directories(kaldi-matrix PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +if (NOT MSVC) + target_link_libraries(kaldi-matrix PUBLIC kaldi-base libopenblas ${GFORTRAN_LIBRARIES_DIR}/libgfortran.a) +else() + target_link_libraries(kaldi-matrix PUBLIC kaldi-base openblas) +endif() + +# kaldi-util +add_library(kaldi-util STATIC + util/kaldi-holder.cc + util/kaldi-io.cc + util/kaldi-semaphore.cc + util/kaldi-table.cc + util/kaldi-thread.cc + util/parse-options.cc + util/simple-io-funcs.cc + util/simple-options.cc + util/text-utils.cc +) +target_include_directories(kaldi-util PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(kaldi-util PUBLIC kaldi-base kaldi-matrix) + +# kaldi-feat-common +add_library(kaldi-feat-common STATIC + feat/cmvn.cc + feat/feature-functions.cc + feat/feature-window.cc + feat/mel-computations.cc + feat/pitch-functions.cc + feat/resample.cc + feat/signal.cc + feat/wave-reader.cc +) +target_include_directories(kaldi-feat-common PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(kaldi-feat-common PUBLIC kaldi-base kaldi-matrix kaldi-util) + + +# kaldi-mfcc +add_library(kaldi-mfcc STATIC + feat/feature-mfcc.cc +) +target_include_directories(kaldi-mfcc PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(kaldi-mfcc PUBLIC kaldi-feat-common) + + +# kaldi-fbank +add_library(kaldi-fbank STATIC + feat/feature-fbank.cc +) +target_include_directories(kaldi-fbank PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_link_libraries(kaldi-fbank PUBLIC kaldi-feat-common) + + +set(KALDI_LIBRARIES + ${CMAKE_CURRENT_BINARY_DIR}/libkaldi-base.a + ${CMAKE_CURRENT_BINARY_DIR}/libkaldi-matrix.a + ${CMAKE_CURRENT_BINARY_DIR}/libkaldi-util.a + ${CMAKE_CURRENT_BINARY_DIR}/libkaldi-feat-common.a + ${CMAKE_CURRENT_BINARY_DIR}/libkaldi-mfcc.a + ${CMAKE_CURRENT_BINARY_DIR}/libkaldi-fbank.a +) + +add_library(libkaldi INTERFACE) +add_dependencies(libkaldi kaldi-base kaldi-matrix kaldi-util kaldi-feat-common kaldi-mfcc kaldi-fbank) +target_include_directories(libkaldi INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) + +if (APPLE) + target_link_libraries(libkaldi INTERFACE ${KALDI_LIBRARIES} libopenblas ${GFORTRAN_LIBRARIES_DIR}/libgfortran.a) +elseif (MSVC) + target_link_libraries(libkaldi INTERFACE kaldi-base kaldi-matrix kaldi-util kaldi-feat-common kaldi-mfcc kaldi-fbank openblas) +else() + target_link_libraries(libkaldi INTERFACE -Wl,--start-group -Wl,--whole-archive ${KALDI_LIBRARIES} libopenblas.a gfortran -Wl,--no-whole-archive -Wl,--end-group) +endif() + +target_compile_definitions(libkaldi INTERFACE "-DCOMPILE_WITHOUT_OPENFST") diff --git a/audio/paddleaudio/third_party/patches/config.guess b/audio/paddleaudio/third_party/patches/config.guess new file mode 100644 index 000000000..7f76b6228 --- /dev/null +++ b/audio/paddleaudio/third_party/patches/config.guess @@ -0,0 +1,1754 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2022 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-01-09' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2022 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# Just in case it came from the environment. +GUESS= + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD=$driver + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case $UNAME_SYSTEM in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)` + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case $UNAME_MACHINE_ARCH in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case $UNAME_MACHINE_ARCH in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case $UNAME_VERSION in + Debian*) + release='-gnu' + ;; + *) + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + GUESS=$machine-${os}${release}${abi-} + ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; + *:MidnightBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; + *:ekkoBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; + *:SolidBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; + *:OS108:*:*) + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; + macppc:MirBSD:*:*) + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; + *:MirBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; + *:Sortix:*:*) + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; + *:Redox:*:*) + GUESS=$UNAME_MACHINE-unknown-redox + ;; + mips:OSF1:*.*) + GUESS=mips-dec-osf1 + ;; + alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case $ALPHA_CPU_TYPE in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; + Amiga*:UNIX_System_V:4.0:*) + GUESS=m68k-unknown-sysv4 + ;; + *:[Aa]miga[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; + *:[Mm]orph[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-morphos + ;; + *:OS/390:*:*) + GUESS=i370-ibm-openedition + ;; + *:z/VM:*:*) + GUESS=s390-ibm-zvmoe + ;; + *:OS400:*:*) + GUESS=powerpc-ibm-os400 + ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + GUESS=arm-unknown-riscos + ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + GUESS=hppa1.1-hitachi-hiuxmpp + ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; + NILE*:*:*:dcosx) + GUESS=pyramid-pyramid-svr4 + ;; + DRS?6000:unix:4.0:6*) + GUESS=sparc-icl-nx6 + ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; + s390x:SunOS:*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; + sun4H:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; + sun4*:SunOS:*:*) + case `/usr/bin/arch -k` in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; + sun3*:SunOS:*:*) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case `/bin/arch` in + sun3) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun4) + GUESS=sparc-sun-sunos$UNAME_RELEASE + ;; + esac + ;; + aushp:SunOS:*:*) + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; + m68k:machten:*:*) + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; + powerpc:machten:*:*) + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; + RISC*:Mach:*:*) + GUESS=mips-dec-mach_bsd4.3 + ;; + RISC*:ULTRIX:*:*) + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; + VAX*:ULTRIX*:*:*) + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; + Motorola:PowerMAX_OS:*:*) + GUESS=powerpc-motorola-powermax + ;; + Motorola:*:4.3:PL8-*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:Power_UNIX:*:*) + GUESS=powerpc-harris-powerunix + ;; + m88k:CX/UX:7*:*) + GUESS=m88k-harris-cxux7 + ;; + m88k:*:4*:R4*) + GUESS=m88k-motorola-sysv4 + ;; + m88k:*:3*:R3*) + GUESS=m88k-motorola-sysv3 + ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + GUESS=m88k-dg-dgux$UNAME_RELEASE + else + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE + fi + else + GUESS=i586-dg-dgux$UNAME_RELEASE + fi + ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + GUESS=m88k-dolphin-sysv3 + ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + GUESS=m88k-motorola-sysv3 + ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + GUESS=m88k-tektronix-sysv3 + ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + GUESS=m68k-tektronix-bsd + ;; + *:IRIX*:*:*) + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + GUESS=i386-ibm-aix + ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then + GUESS=$SYSTEM_NAME + else + GUESS=rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + GUESS=rs6000-ibm-aix3.2.4 + else + GUESS=rs6000-ibm-aix3.2 + fi + ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; + *:AIX:*:*) + GUESS=rs6000-ibm-aix + ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + GUESS=romp-ibm-bsd4.4 + ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + GUESS=rs6000-bull-bosx + ;; + DPX/2?00:B.O.S.:*:*) + GUESS=m68k-bull-sysv3 + ;; + 9000/[34]??:4.3bsd:1.*:*) + GUESS=m68k-hp-bsd + ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + GUESS=m68k-hp-bsd4.4 + ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case $sc_cpu_version in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case $sc_kernel_bits in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=unknown-hitachi-hiuxwe2 + ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + GUESS=hppa1.1-hp-bsd + ;; + 9000/8??:4.3bsd:*:*) + GUESS=hppa1.0-hp-bsd + ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + GUESS=hppa1.0-hp-mpeix + ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + GUESS=hppa1.1-hp-osf + ;; + hp8??:OSF1:*:*) + GUESS=hppa1.0-hp-osf + ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk + else + GUESS=$UNAME_MACHINE-unknown-osf1 + fi + ;; + parisc*:Lites*:*:*) + GUESS=hppa1.1-hp-lites + ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + GUESS=c1-convex-bsd + ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + GUESS=c34-convex-bsd + ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + GUESS=c38-convex-bsd + ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + GUESS=c4-convex-bsd + ;; + CRAY*Y-MP:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; + CRAY*T3E:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; + CRAY*SV1:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; + *:UNICOS/mp:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; + sparc*:BSD/OS:*:*) + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; + *:BSD/OS:*:*) + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi + else + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf + fi + ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case $UNAME_PROCESSOR in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; + i*:CYGWIN*:*) + GUESS=$UNAME_MACHINE-pc-cygwin + ;; + *:MINGW64*:*) + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; + *:MINGW*:*) + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; + *:MSYS*:*) + GUESS=$UNAME_MACHINE-pc-msys + ;; + i*:PW*:*) + GUESS=$UNAME_MACHINE-pc-pw32 + ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; + *:Interix*:*) + case $UNAME_MACHINE in + x86) + GUESS=i586-pc-interix$UNAME_RELEASE + ;; + authenticamd | genuineintel | EM64T) + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; + IA64) + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; + esac ;; + i*:UWIN*:*) + GUESS=$UNAME_MACHINE-pc-uwin + ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + GUESS=x86_64-pc-cygwin + ;; + prep*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; + *:GNU:*:*) + # the GNU system + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; + *:Minix:*:*) + GUESS=$UNAME_MACHINE-unknown-minix + ;; + aarch64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi + else + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf + fi + fi + ;; + avr32*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + cris:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + crisv32:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + e2k:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + frv:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + hexagon:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:Linux:*:*) + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; + ia64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + k1om:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m32r*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m68*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + openrisc*:Linux:*:*) + GUESS=or1k-unknown-linux-$LIBC + ;; + or32:Linux:*:* | or1k*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + padre:Linux:*:*) + GUESS=sparc-unknown-linux-$LIBC + ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + GUESS=hppa64-unknown-linux-$LIBC + ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; + esac + ;; + ppc64:Linux:*:*) + GUESS=powerpc64-unknown-linux-$LIBC + ;; + ppc:Linux:*:*) + GUESS=powerpc-unknown-linux-$LIBC + ;; + ppc64le:Linux:*:*) + GUESS=powerpc64le-unknown-linux-$LIBC + ;; + ppcle:Linux:*:*) + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + s390:Linux:*:* | s390x:Linux:*:*) + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; + sh64*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sh*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + tile*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + vax:Linux:*:*) + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI=${LIBC}x32 + fi + fi + GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + ;; + xtensa*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + GUESS=i386-sequent-sysv4 + ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; + i*86:XTS-300:*:STOP) + GUESS=$UNAME_MACHINE-unknown-stop + ;; + i*86:atheos:*:*) + GUESS=$UNAME_MACHINE-unknown-atheos + ;; + i*86:syllable:*:*) + GUESS=$UNAME_MACHINE-pc-syllable + ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; + i*86:*DOS:*:*) + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL + fi + ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv32 + fi + ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + GUESS=i586-pc-msdosdjgpp + ;; + Intel:Mach:3*:*) + GUESS=i386-pc-mach3 + ;; + paragon:*:*:*) + GUESS=i860-intel-osf1 + ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 + fi + ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + GUESS=m68010-convergent-sysv + ;; + mc68k:UNIX:SYSTEM5:3.51m) + GUESS=m68k-convergent-sysv + ;; + M680?0:D-NIX:5.3:*) + GUESS=m68k-diab-dnix + ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; + mc68030:UNIX_System_V:4.*:*) + GUESS=m68k-atari-sysv4 + ;; + TSUNAMI:LynxOS:2.*:*) + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; + rs6000:LynxOS:2.*:*) + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; + SM[BE]S:UNIX_SV:*:*) + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; + RM*:ReliantUNIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + RM*:SINIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + GUESS=$UNAME_MACHINE-sni-sysv4 + else + GUESS=ns32k-sni-sysv + fi + ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + GUESS=i586-unisys-sysv4 + ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + GUESS=hppa1.1-stratus-sysv4 + ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + GUESS=i860-stratus-sysv4 + ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=$UNAME_MACHINE-stratus-vos + ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=hppa1.1-stratus-vos + ;; + mc68*:A/UX:*:*) + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; + news*:NEWS-OS:6*:*) + GUESS=mips-sony-newsos6 + ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE + else + GUESS=mips-unknown-sysv$UNAME_RELEASE + fi + ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + GUESS=powerpc-be-beos + ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + GUESS=powerpc-apple-beos + ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + GUESS=i586-pc-beos + ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + GUESS=i586-pc-haiku + ;; + x86_64:Haiku:*:*) + GUESS=x86_64-unknown-haiku + ;; + SX-4:SUPER-UX:*:*) + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; + SX-5:SUPER-UX:*:*) + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; + SX-6:SUPER-UX:*:*) + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; + SX-7:SUPER-UX:*:*) + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; + SX-8:SUPER-UX:*:*) + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; + SX-8R:SUPER-UX:*:*) + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; + SX-ACE:SUPER-UX:*:*) + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; + Power*:Rhapsody:*:*) + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; + *:Rhapsody:*:*) + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; + *:QNX:*:4*) + GUESS=i386-pc-qnx + ;; + NEO-*:NONSTOP_KERNEL:*:*) + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; + NSE-*:NONSTOP_KERNEL:*:*) + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; + NSR-*:NONSTOP_KERNEL:*:*) + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; + NSV-*:NONSTOP_KERNEL:*:*) + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; + NSX-*:NONSTOP_KERNEL:*:*) + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; + *:NonStop-UX:*:*) + GUESS=mips-compaq-nonstopux + ;; + BS2000:POSIX*:*:*) + GUESS=bs2000-siemens-sysv + ;; + DS/*:UNIX_System_V:*:*) + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "${cputype-}" = 386; then + UNAME_MACHINE=i386 + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype + fi + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; + *:TOPS-10:*:*) + GUESS=pdp10-unknown-tops10 + ;; + *:TENEX:*:*) + GUESS=pdp10-unknown-tenex + ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + GUESS=pdp10-dec-tops20 + ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + GUESS=pdp10-xkl-tops20 + ;; + *:TOPS-20:*:*) + GUESS=pdp10-unknown-tops20 + ;; + *:ITS:*:*) + GUESS=pdp10-unknown-its + ;; + SEI:*:*:SEIUX) + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; + *:DragonFly:*:*) + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; + esac ;; + *:XENIX:*:SysV) + GUESS=i386-pc-xenix + ;; + i*86:skyos:*:*) + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; + i*86:rdos:*:*) + GUESS=$UNAME_MACHINE-pc-rdos + ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; + x86_64:VMkernel:*:*) + GUESS=$UNAME_MACHINE-unknown-esx + ;; + amd64:Isilon\ OneFS:*:*) + GUESS=x86_64-unknown-onefs + ;; + *:Unleashed:*:*) + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; +esac + +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case $UNAME_MACHINE:$UNAME_SYSTEM in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/audio/paddleaudio/third_party/patches/config.sub b/audio/paddleaudio/third_party/patches/config.sub new file mode 100644 index 000000000..dba16e84c --- /dev/null +++ b/audio/paddleaudio/third_party/patches/config.sub @@ -0,0 +1,1890 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2022 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-01-03' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2022 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/audio/paddleaudio/third_party/patches/libmad.patch b/audio/paddleaudio/third_party/patches/libmad.patch new file mode 100644 index 000000000..a80578783 --- /dev/null +++ b/audio/paddleaudio/third_party/patches/libmad.patch @@ -0,0 +1,86 @@ +See the followings for the origin of this patch +http://www.linuxfromscratch.org/blfs/view/svn/multimedia/libmad.html +http://www.linuxfromscratch.org/patches/blfs/svn/libmad-0.15.1b-fixes-1.patch +--- src/libmad/configure 2004-02-05 09:34:07.000000000 +0000 ++++ src/libmad/configure.new 2020-06-30 21:10:28.528018931 +0000 +@@ -19083,71 +19083,7 @@ + + if test "$GCC" = yes + then +- if test -z "$arch" +- then +- case "$host" in +- i386-*) ;; +- i?86-*) arch="-march=i486" ;; +- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;; +- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;; +- powerpc-*) ;; +- mips*-agenda-*) arch="-mcpu=vr4100" ;; +- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;; +- esac +- fi +- +- case "$optimize" in +- -O|"-O "*) +- optimize="-O" +- optimize="$optimize -fforce-mem" +- optimize="$optimize -fforce-addr" +- : #x optimize="$optimize -finline-functions" +- : #- optimize="$optimize -fstrength-reduce" +- optimize="$optimize -fthread-jumps" +- optimize="$optimize -fcse-follow-jumps" +- optimize="$optimize -fcse-skip-blocks" +- : #x optimize="$optimize -frerun-cse-after-loop" +- : #x optimize="$optimize -frerun-loop-opt" +- : #x optimize="$optimize -fgcse" +- optimize="$optimize -fexpensive-optimizations" +- optimize="$optimize -fregmove" +- : #* optimize="$optimize -fdelayed-branch" +- : #x optimize="$optimize -fschedule-insns" +- optimize="$optimize -fschedule-insns2" +- : #? optimize="$optimize -ffunction-sections" +- : #? optimize="$optimize -fcaller-saves" +- : #> optimize="$optimize -funroll-loops" +- : #> optimize="$optimize -funroll-all-loops" +- : #x optimize="$optimize -fmove-all-movables" +- : #x optimize="$optimize -freduce-all-givs" +- : #? optimize="$optimize -fstrict-aliasing" +- : #* optimize="$optimize -fstructure-noalias" +- +- case "$host" in +- arm*-*) +- optimize="$optimize -fstrength-reduce" +- ;; +- mips*-*) +- optimize="$optimize -fstrength-reduce" +- optimize="$optimize -finline-functions" +- ;; +- i?86-*) +- optimize="$optimize -fstrength-reduce" +- ;; +- powerpc-apple-*) +- # this triggers an internal compiler error with gcc2 +- : #optimize="$optimize -fstrength-reduce" +- +- # this is really only beneficial with gcc3 +- : #optimize="$optimize -finline-functions" +- ;; +- *) +- # this sometimes provokes bugs in gcc 2.95.2 +- : #optimize="$optimize -fstrength-reduce" +- ;; +- esac +- ;; +- esac ++ optimize="-O2" + fi + + case "$host" in +@@ -21497,6 +21433,7 @@ + then + case "$host" in + i?86-*) FPM="INTEL" ;; ++ x86_64*) FPM="64BIT" ;; + arm*-*) FPM="ARM" ;; + mips*-*) FPM="MIPS" ;; + sparc*-*) FPM="SPARC" ;; diff --git a/audio/paddleaudio/third_party/patches/sox.patch b/audio/paddleaudio/third_party/patches/sox.patch new file mode 100644 index 000000000..fe8df945c --- /dev/null +++ b/audio/paddleaudio/third_party/patches/sox.patch @@ -0,0 +1,16 @@ +See https://github.com/pytorch/audio/pull/1297 +diff -ru sox/src/formats.c sox/src/formats.c +--- sox/src/formats.c 2014-10-26 19:55:50.000000000 -0700 ++++ sox/src/formats.c 2021-02-22 16:01:02.833144070 -0800 +@@ -333,6 +333,10 @@ + assert(ft); + if (!ft->fp) + return sox_false; +- fstat(fileno((FILE*)ft->fp), &st); ++ int fd = fileno((FILE*)ft->fp); ++ if (fd < 0) ++ return sox_false; ++ if (fstat(fd, &st) < 0) ++ return sox_false; + return ((st.st_mode & S_IFMT) == S_IFREG); + } diff --git a/audio/paddleaudio/third_party/sox/CMakeLists.txt b/audio/paddleaudio/third_party/sox/CMakeLists.txt new file mode 100644 index 000000000..8a5bc55c7 --- /dev/null +++ b/audio/paddleaudio/third_party/sox/CMakeLists.txt @@ -0,0 +1,254 @@ +find_package(PkgConfig REQUIRED) + +include(ExternalProject) + +set(INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../install) +set(ARCHIVE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../archives) +set(patch_dir ${CMAKE_CURRENT_SOURCE_DIR}/../patches) +set(COMMON_ARGS --quiet --disable-shared --enable-static --prefix=${INSTALL_DIR} --with-pic --disable-dependency-tracking --disable-debug --disable-examples --disable-doc) + +# To pass custom environment variables to ExternalProject_Add command, +# we need to do `${CMAKE_COMMAND} -E env ${envs} `. +# https://stackoverflow.com/a/62437353 +# We constrcut the custom environment variables here +set(envs + "PKG_CONFIG_PATH=${INSTALL_DIR}/lib/pkgconfig" + "LDFLAGS=-L${INSTALL_DIR}/lib $ENV{LDFLAGS}" + "CFLAGS=-I${INSTALL_DIR}/include -fvisibility=hidden $ENV{CFLAGS}" +) + +if (BUILD_MAD) + ExternalProject_Add(mad + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://downloads.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz + URL_HASH SHA256=bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690 + PATCH_COMMAND patch < ${patch_dir}/libmad.patch && cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/mad/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/mad/configure ${COMMON_ARGS} + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON + ) +endif (BUILD_MAD) + +ExternalProject_Add(amr + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://sourceforge.net/projects/opencore-amr/files/opencore-amr/opencore-amr-0.1.5.tar.gz + URL_HASH SHA256=2c006cb9d5f651bfb5e60156dbff6af3c9d35c7bbcc9015308c0aff1e14cd341 + PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/amr/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/amr/configure ${COMMON_ARGS} + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON +) + +ExternalProject_Add(lame + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz + URL_HASH SHA256=24346b4158e4af3bd9f2e194bb23eb473c75fb7377011523353196b19b9a23ff + PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/lame/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/lame/configure ${COMMON_ARGS} --enable-nasm + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON +) + +ExternalProject_Add(ogg + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://ftp.osuosl.org/pub/xiph/releases/ogg/libogg-1.3.3.tar.gz + URL_HASH SHA256=c2e8a485110b97550f453226ec644ebac6cb29d1caef2902c007edab4308d985 + PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/ogg/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/ogg/configure ${COMMON_ARGS} + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON +) + +ExternalProject_Add(flac + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ogg + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.3.2.tar.xz + URL_HASH SHA256=91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f + PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/flac/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/flac/configure ${COMMON_ARGS} --with-ogg --disable-cpplibs + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON +) + +ExternalProject_Add(vorbis + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ogg + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://ftp.osuosl.org/pub/xiph/releases/vorbis/libvorbis-1.3.6.tar.gz + URL_HASH SHA256=6ed40e0241089a42c48604dc00e362beee00036af2d8b3f46338031c9e0351cb + PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/vorbis/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/vorbis/configure ${COMMON_ARGS} --with-ogg + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON +) + +ExternalProject_Add(opus + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ogg + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://ftp.osuosl.org/pub/xiph/releases/opus/opus-1.3.1.tar.gz + URL_HASH SHA256=65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d + PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/opus/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/opus/configure ${COMMON_ARGS} --with-ogg + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON +) + +ExternalProject_Add(opusfile + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS opus + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://ftp.osuosl.org/pub/xiph/releases/opus/opusfile-0.12.tar.gz + URL_HASH SHA256=118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b + PATCH_COMMAND cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/opusfile/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/opusfile/configure ${COMMON_ARGS} --disable-http + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON +) + +# OpenMP is by default compiled against GNU OpenMP, which conflicts with the version of OpenMP that PyTorch uses. +# See https://github.com/pytorch/audio/pull/1026 +# TODO: Add flags like https://github.com/suphoff/pytorch_parallel_extension_cpp/blob/master/setup.py +set(SOX_OPTIONS + --disable-openmp + --with-amrnb + --with-amrwb + --with-flac + --with-lame + --with-oggvorbis + --with-opus + --without-alsa + --without-ao + --without-coreaudio + --without-oss + --without-id3tag + --without-ladspa + --without-magic + --without-png + --without-pulseaudio + --without-sndfile + --without-sndio + --without-sunaudio + --without-waveaudio + --without-wavpack + --without-twolame + ) + +set(SOX_LIBRARIES + ${INSTALL_DIR}/lib/libsox.a + ${INSTALL_DIR}/lib/libopencore-amrnb.a + ${INSTALL_DIR}/lib/libopencore-amrwb.a + ${INSTALL_DIR}/lib/libmp3lame.a + ${INSTALL_DIR}/lib/libFLAC.a + ${INSTALL_DIR}/lib/libopusfile.a + ${INSTALL_DIR}/lib/libopus.a + ${INSTALL_DIR}/lib/libvorbisenc.a + ${INSTALL_DIR}/lib/libvorbisfile.a + ${INSTALL_DIR}/lib/libvorbis.a + ${INSTALL_DIR}/lib/libogg.a + ) + +set(sox_depends + ogg flac vorbis opusfile lame amr + ) + +if (BUILD_MAD) + list( + APPEND + SOX_OPTIONS + --with-mad + ) + list( + APPEND + SOX_LIBRARIES + ${INSTALL_DIR}/lib/libmad.a + ) + list( + APPEND + sox_depends + mad + ) +else () + list( + APPEND + SOX_OPTIONS + --without-mad + ) +endif (BUILD_MAD) + +ExternalProject_Add(sox + PREFIX ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${sox_depends} + DOWNLOAD_DIR ${ARCHIVE_DIR} + URL https://downloads.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2 + URL_HASH SHA256=81a6956d4330e75b5827316e44ae381e6f1e8928003c6aa45896da9041ea149c + PATCH_COMMAND patch -p1 < ${patch_dir}/sox.patch && cp ${patch_dir}/config.guess ${patch_dir}/config.sub ${CMAKE_CURRENT_BINARY_DIR}/src/sox/ + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env ${envs} ${CMAKE_CURRENT_BINARY_DIR}/src/sox/configure ${COMMON_ARGS} ${SOX_OPTIONS} + BUILD_BYPRODUCTS ${SOX_LIBRARIES} + DOWNLOAD_NO_PROGRESS ON + LOG_DOWNLOAD ON + LOG_UPDATE ON + LOG_CONFIGURE ON + LOG_BUILD ON + LOG_INSTALL ON + LOG_MERGED_STDOUTERR ON + LOG_OUTPUT_ON_FAILURE ON +) + +add_library(libsox INTERFACE) +add_dependencies(libsox sox) +target_include_directories(libsox INTERFACE ${INSTALL_DIR}/include) +target_link_libraries(libsox INTERFACE ${SOX_LIBRARIES}) \ No newline at end of file diff --git a/audio/paddleaudio/utils/sox_utils.py b/audio/paddleaudio/utils/sox_utils.py new file mode 100644 index 000000000..5a529f95f --- /dev/null +++ b/audio/paddleaudio/utils/sox_utils.py @@ -0,0 +1,101 @@ +from typing import Dict, List + +from paddleaudio._internal import module_utils as _mod_utils +from paddleaudio import _paddleaudio + +@_mod_utils.requires_sox() +def set_seed(seed: int): + """Set libsox's PRNG + + Args: + seed (int): seed value. valid range is int32. + + See Also: + http://sox.sourceforge.net/sox.html + """ + _paddleaudio.sox_utils_set_seed(seed) + + +@_mod_utils.requires_sox() +def set_verbosity(verbosity: int): + """Set libsox's verbosity + + Args: + verbosity (int): Set verbosity level of libsox. + + * ``1`` failure messages + * ``2`` warnings + * ``3`` details of processing + * ``4``-``6`` increasing levels of debug messages + + See Also: + http://sox.sourceforge.net/sox.html + """ + _paddleaudio.sox_utils_set_verbosity(verbosity) + + +@_mod_utils.requires_sox() +def set_buffer_size(buffer_size: int): + """Set buffer size for sox effect chain + + Args: + buffer_size (int): Set the size in bytes of the buffers used for processing audio. + + See Also: + http://sox.sourceforge.net/sox.html + """ + _paddleaudio.sox_utils_set_buffer_size(buffer_size) + + +@_mod_utils.requires_sox() +def set_use_threads(use_threads: bool): + """Set multithread option for sox effect chain + + Args: + use_threads (bool): When ``True``, enables ``libsox``'s parallel effects channels processing. + To use mutlithread, the underlying ``libsox`` has to be compiled with OpenMP support. + + See Also: + http://sox.sourceforge.net/sox.html + """ + _paddleaudio.sox_utils_set_use_threads(use_threads) + + +@_mod_utils.requires_sox() +def list_effects() -> Dict[str, str]: + """List the available sox effect names + + Returns: + Dict[str, str]: Mapping from ``effect name`` to ``usage`` + """ + return dict(_paddleaudio.sox_utils_list_effects()) + + +@_mod_utils.requires_sox() +def list_read_formats() -> List[str]: + """List the supported audio formats for read + + Returns: + List[str]: List of supported audio formats + """ + return _paddleaudio.sox_utils_list_read_formats() + + +@_mod_utils.requires_sox() +def list_write_formats() -> List[str]: + """List the supported audio formats for write + + Returns: + List[str]: List of supported audio formats + """ + return _paddleaudio.sox_utils_list_write_formats() + + +@_mod_utils.requires_sox() +def get_buffer_size() -> int: + """Get buffer size for sox effect chain + + Returns: + int: size in bytes of buffers used for processing audio. + """ + return _paddleaudio.sox_utils_get_buffer_size() diff --git a/audio/setup.py b/audio/setup.py index 3f64b52f2..8b56b8823 100644 --- a/audio/setup.py +++ b/audio/setup.py @@ -1,4 +1,4 @@ -# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -11,89 +11,263 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import glob +import contextlib +import inspect +import io import os +import subprocess as sp +import sys +from pathlib import Path +from typing import List +from typing import Tuple +from typing import Union -import setuptools -from setuptools.command.install import install +import distutils.command.clean +from setuptools import Command +from setuptools import find_packages +from setuptools import setup +from setuptools.command.develop import develop from setuptools.command.test import test -# set the version here -VERSION = '1.0.2' +from tools import setup_helpers + +ROOT_DIR = Path(__file__).parent.resolve() + +VERSION = '1.1.0' +COMMITID = 'none' + +base = [ + "kaldiio", + "librosa==0.8.1", + "scipy>=1.0.0", + "soundfile~=0.10", + "colorlog", + "pathos == 0.2.8", + "pybind11", + "Ninja", + "tqdm" +] + +requirements = { + "install": + base, + "develop": [ + "sox", + "soxbindings", + "pre-commit", + ], +} + +def check_call(cmd: str, shell=False, executable=None): + try: + sp.check_call( + cmd.split(), + shell=shell, + executable="/bin/bash" if shell else executable) + except sp.CalledProcessError as e: + print( + f"{__file__}:{inspect.currentframe().f_lineno}: CMD: {cmd}, Error:", + e.output, + file=sys.stderr) + raise e + + +def check_output(cmd: Union[str, List[str], Tuple[str]], shell=False): + try: + + if isinstance(cmd, (list, tuple)): + cmds = cmd + else: + cmds = cmd.split() + out_bytes = sp.check_output(cmds) + + except sp.CalledProcessError as e: + out_bytes = e.output # Output generated before error + code = e.returncode # Return code + print( + f"{__file__}:{inspect.currentframe().f_lineno}: CMD: {cmd}, Error:", + out_bytes, + file=sys.stderr) + return out_bytes.strip().decode('utf8') + +def _run_cmd(cmd): + try: + return subprocess.check_output( + cmd, cwd=ROOT_DIR, + stderr=subprocess.DEVNULL).decode("ascii").strip() + except Exception: + return None + +@contextlib.contextmanager +def pushd(new_dir): + old_dir = os.getcwd() + os.chdir(new_dir) + print(new_dir) + yield + os.chdir(old_dir) + print(old_dir) + +def read(*names, **kwargs): + with io.open( + os.path.join(os.path.dirname(__file__), *names), + encoding=kwargs.get("encoding", "utf8")) as fp: + return fp.read() + +def _remove(files: str): + for f in files: + f.unlink() + +################################# Install ################################## + + +def _post_install(install_lib_dir): + pass + +class DevelopCommand(develop): + def run(self): + develop.run(self) + # must after develop.run, or pkg install by shell will not see + self.execute(_post_install, (self.install_lib, ), msg="Post Install...") -# Inspired by the example at https://pytest.org/latest/goodpractises.html class TestCommand(test): def finalize_options(self): test.finalize_options(self) self.test_args = [] self.test_suite = True - def run(self): - self.run_benchmark() - super(TestCommand, self).run() - def run_tests(self): # Run nose ensuring that argv simulates running nosetests directly import nose nose.run_exit(argv=['nosetests', '-w', 'tests']) - + def run_benchmark(self): for benchmark_item in glob.glob('tests/benchmark/*py'): os.system(f'pytest {benchmark_item}') -class InstallCommand(install): +# cmd: python setup.py upload +class UploadCommand(Command): + description = "Build and publish the package." + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + def run(self): - install.run(self) - - -def write_version_py(filename='paddleaudio/__init__.py'): - with open(filename, "a") as f: - f.write(f"__version__ = '{VERSION}'") - - -def remove_version_py(filename='paddleaudio/__init__.py'): - with open(filename, "r") as f: - lines = f.readlines() - with open(filename, "w") as f: - for line in lines: - if "__version__" not in line: - f.write(line) - - -remove_version_py() -write_version_py() - -setuptools.setup( - name="paddleaudio", - version=VERSION, - author="", - author_email="", - description="PaddleAudio, in development", - long_description="", - long_description_content_type="text/markdown", - url="", - packages=setuptools.find_packages(include=['paddleaudio*']), - classifiers=[ - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - ], - python_requires='>=3.6', - install_requires=[ - 'numpy >= 1.15.0', 'scipy >= 1.0.0', 'resampy >= 0.2.2', - 'soundfile >= 0.9.0', 'colorlog', 'pathos == 0.2.8' - ], - extras_require={ - 'test': [ - 'nose', 'librosa==0.8.1', 'soundfile==0.10.3.post1', - 'torchaudio==0.10.2', 'pytest-benchmark' + try: + print("Removing previous dist/ ...") + shutil.rmtree(str(ROOT_DIR / "dist")) + except OSError: + pass + print("Building source distribution...") + sp.check_call([sys.executable, "setup.py", "sdist"]) + print("Uploading package to PyPi...") + sp.check_call(["twine", "upload", "dist/*"]) + sys.exit() + + +################################# Version ################################## +def _get_version(sha): + version = VERSION + if os.getenv("BUILD_VERSION"): + version = os.getenv("BUILD_VERSION") + elif sha is not None: + version += "+" + sha[:7] + return version + + +def _make_version_file(version, sha): + sha = "Unknown" if sha is None else sha + version_path = ROOT_DIR / "paddleaudio" / "version.py" + with open(version_path, "w") as f: + f.write(f"__version__ = '{version}'\n") + f.write(f"__commit__ = '{sha}'\n") + + +################################# Steup ################################## +class clean(distutils.command.clean.clean): + def run(self): + # Run default behavior first + distutils.command.clean.clean.run(self) + + # Remove paddleaudio extension + for path in (ROOT_DIR / "paddleaudio").glob("**/*.so"): + print(f"removing '{path}'") + path.unlink() + # Remove build directory + build_dirs = [ + ROOT_DIR / "build", + ] + for path in build_dirs: + if path.exists(): + print(f"removing '{path}' (and everything under it)") + shutil.rmtree(str(path), ignore_errors=True) + + +def main(): + + sha = _run_cmd(["git", "rev-parse", "HEAD"]) # commit id + branch = _run_cmd(["git", "rev-parse", "--abbrev-ref", "HEAD"]) + tag = _run_cmd(["git", "describe", "--tags", "--exact-match", "@"]) + print("-- Git branch:", branch) + print("-- Git SHA:", sha) + print("-- Git tag:", tag) + version = _get_version(sha) + print("-- Building version", version) + _make_version_file(version, sha) + + setup_info = dict( + # Metadata + name='paddleaudio', + version=VERSION, + author='PaddlePaddle Speech and Language Team', + author_email='paddlesl@baidu.com', + url='https://github.com/PaddlePaddle/PaddleSpeech/audio', + license='Apache 2.0', + description='Speech audio tools based on Paddlepaddle', + keywords=[ + "audio process" + "paddlepaddle", + ], + python_requires='>=3.7', + install_requires=requirements["install"], + extras_require={ + 'develop': + requirements["develop"], + #'test': ["nose", "torchaudio==0.10.2", "pytest-benchmark", "librosa=0.8.1", "parameterized", "paddlepaddle"], + }, + cmdclass={ + "build_ext": setup_helpers.CMakeBuild, + 'develop': DevelopCommand, + 'test': TestCommand, + 'upload': UploadCommand, + "clean": clean, + }, + + # Package info + packages=find_packages(include=('paddleaudio*')), + ext_modules=setup_helpers.get_ext_modules(), + zip_safe=True, + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'Intended Audience :: Science/Research', + 'Topic :: Scientific/Engineering :: Artificial Intelligence', + 'License :: OSI Approved :: Apache Software License', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', ], - }, - cmdclass={ - 'install': InstallCommand, - 'test': TestCommand, - }, ) + ) + + setup(**setup_info) + -remove_version_py() +if __name__ == '__main__': + main() diff --git a/audio/tests/backends/__init__.py b/audio/tests/backends/__init__.py deleted file mode 100644 index 97043fd7b..000000000 --- a/audio/tests/backends/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/audio/tests/backends/base.py b/audio/tests/backends/base.py new file mode 100644 index 000000000..a67191887 --- /dev/null +++ b/audio/tests/backends/base.py @@ -0,0 +1,34 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import os +import unittest +import urllib.request + +mono_channel_wav = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav' +multi_channels_wav = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/cat.wav' + + +class BackendTest(unittest.TestCase): + def setUp(self): + self.initWavInput() + + def initWavInput(self): + self.files = [] + for url in [mono_channel_wav, multi_channels_wav]: + if not os.path.isfile(os.path.basename(url)): + urllib.request.urlretrieve(url, os.path.basename(url)) + self.files.append(os.path.basename(url)) + + def initParmas(self): + raise NotImplementedError diff --git a/audio/tests/backends/soundfile/__init__.py b/audio/tests/backends/soundfile/__init__.py deleted file mode 100644 index 97043fd7b..000000000 --- a/audio/tests/backends/soundfile/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/audio/tests/backends/soundfile/common.py b/audio/tests/backends/soundfile/common.py index 1aaed913e..eecead97f 100644 --- a/audio/tests/backends/soundfile/common.py +++ b/audio/tests/backends/soundfile/common.py @@ -55,3 +55,35 @@ def fetch_wav_subtype(dtype, encoding, bits_per_sample): if subtype: return subtype raise ValueError(f"wav does not support ({encoding}, {bits_per_sample}).") + +def get_encoding(ext, dtype): + exts = { + "mp3", + "flac", + "vorbis", + } + encodings = { + "float32": "PCM_F", + "int32": "PCM_S", + "int16": "PCM_S", + "uint8": "PCM_U", + } + return ext.upper() if ext in exts else encodings[dtype] + + +def get_bit_depth(dtype): + bit_depths = { + "float32": 32, + "int32": 32, + "int16": 16, + "uint8": 8, + } + return bit_depths[dtype] + +def get_bits_per_sample(ext, dtype): + bits_per_samples = { + "flac": 24, + "mp3": 0, + "vorbis": 0, + } + return bits_per_samples.get(ext, get_bit_depth(dtype)) diff --git a/audio/tests/backends/soundfile/common_utils b/audio/tests/backends/soundfile/common_utils new file mode 120000 index 000000000..3ff3cef8c --- /dev/null +++ b/audio/tests/backends/soundfile/common_utils @@ -0,0 +1 @@ +../../common_utils \ No newline at end of file diff --git a/audio/tests/backends/soundfile/info_test.py b/audio/tests/backends/soundfile/info_test.py index ffaccebb1..661965d41 100644 --- a/audio/tests/backends/soundfile/info_test.py +++ b/audio/tests/backends/soundfile/info_test.py @@ -10,12 +10,12 @@ from common import parameterize from common import skipIfFormatNotSupported from paddleaudio.backends import soundfile_backend -from tests.backends.common import get_bits_per_sample -from tests.backends.common import get_encoding -from tests.common_utils import get_wav_data -from tests.common_utils import nested_params -from tests.common_utils import save_wav -from tests.common_utils import TempDirMixin +from common import get_bits_per_sample +from common import get_encoding +from common_utils import get_wav_data +from common_utils import nested_params +from common_utils import save_wav +from common_utils import TempDirMixin class TestInfo(TempDirMixin, unittest.TestCase): diff --git a/audio/tests/backends/soundfile/load_test.py b/audio/tests/backends/soundfile/load_test.py index db2f28458..c67e04f40 100644 --- a/audio/tests/backends/soundfile/load_test.py +++ b/audio/tests/backends/soundfile/load_test.py @@ -13,11 +13,11 @@ from common import skipIfFormatNotSupported from paddleaudio.backends import soundfile_backend from parameterized import parameterized -from tests.common_utils import get_wav_data -from tests.common_utils import load_wav -from tests.common_utils import normalize_wav -from tests.common_utils import save_wav -from tests.common_utils import TempDirMixin +from common_utils import get_wav_data +from common_utils import load_wav +from common_utils import normalize_wav +from common_utils import save_wav +from common_utils import TempDirMixin def _get_mock_path( diff --git a/audio/tests/backends/soundfile/save_test.py b/audio/tests/backends/soundfile/save_test.py index 50c21a673..78aca01ea 100644 --- a/audio/tests/backends/soundfile/save_test.py +++ b/audio/tests/backends/soundfile/save_test.py @@ -10,10 +10,10 @@ from common import parameterize from common import skipIfFormatNotSupported from paddleaudio.backends import soundfile_backend -from tests.common_utils import get_wav_data -from tests.common_utils import load_wav -from tests.common_utils import nested_params -from tests.common_utils import TempDirMixin +from common_utils import get_wav_data +from common_utils import load_wav +from common_utils import nested_params +from common_utils import TempDirMixin class MockedSaveTest(unittest.TestCase): diff --git a/audio/tests/backends/sox_io/common.py b/audio/tests/backends/sox_io/common.py new file mode 100644 index 000000000..eecead97f --- /dev/null +++ b/audio/tests/backends/sox_io/common.py @@ -0,0 +1,89 @@ +import itertools +from unittest import skipIf + +from paddleaudio._internal.module_utils import is_module_available +from parameterized import parameterized + + +def name_func(func, _, params): + return f'{func.__name__}_{"_".join(str(arg) for arg in params.args)}' + + +def dtype2subtype(dtype): + return { + "float64": "DOUBLE", + "float32": "FLOAT", + "int32": "PCM_32", + "int16": "PCM_16", + "uint8": "PCM_U8", + "int8": "PCM_S8", + }[dtype] + + +def skipIfFormatNotSupported(fmt): + fmts = [] + if is_module_available("soundfile"): + import soundfile + + fmts = soundfile.available_formats() + return skipIf(fmt not in fmts, f'"{fmt}" is not supported by soundfile') + return skipIf(True, '"soundfile" not available.') + + +def parameterize(*params): + return parameterized.expand( + list(itertools.product(*params)), name_func=name_func) + + +def fetch_wav_subtype(dtype, encoding, bits_per_sample): + subtype = { + (None, None): dtype2subtype(dtype), + (None, 8): "PCM_U8", + ("PCM_U", None): "PCM_U8", + ("PCM_U", 8): "PCM_U8", + ("PCM_S", None): "PCM_32", + ("PCM_S", 16): "PCM_16", + ("PCM_S", 32): "PCM_32", + ("PCM_F", None): "FLOAT", + ("PCM_F", 32): "FLOAT", + ("PCM_F", 64): "DOUBLE", + ("ULAW", None): "ULAW", + ("ULAW", 8): "ULAW", + ("ALAW", None): "ALAW", + ("ALAW", 8): "ALAW", + }.get((encoding, bits_per_sample)) + if subtype: + return subtype + raise ValueError(f"wav does not support ({encoding}, {bits_per_sample}).") + +def get_encoding(ext, dtype): + exts = { + "mp3", + "flac", + "vorbis", + } + encodings = { + "float32": "PCM_F", + "int32": "PCM_S", + "int16": "PCM_S", + "uint8": "PCM_U", + } + return ext.upper() if ext in exts else encodings[dtype] + + +def get_bit_depth(dtype): + bit_depths = { + "float32": 32, + "int32": 32, + "int16": 16, + "uint8": 8, + } + return bit_depths[dtype] + +def get_bits_per_sample(ext, dtype): + bits_per_samples = { + "flac": 24, + "mp3": 0, + "vorbis": 0, + } + return bits_per_samples.get(ext, get_bit_depth(dtype)) diff --git a/audio/tests/backends/sox_io/common_utils b/audio/tests/backends/sox_io/common_utils new file mode 120000 index 000000000..3ff3cef8c --- /dev/null +++ b/audio/tests/backends/sox_io/common_utils @@ -0,0 +1 @@ +../../common_utils \ No newline at end of file diff --git a/audio/tests/backends/sox_io/info_test.py b/audio/tests/backends/sox_io/info_test.py new file mode 100644 index 000000000..b016987a6 --- /dev/null +++ b/audio/tests/backends/sox_io/info_test.py @@ -0,0 +1,288 @@ +import unittest +import itertools +import tarfile +from contextlib import contextmanager + +import numpy as np +import paddle +import os +import io + +from parameterized import parameterized +from common import get_bits_per_sample, get_encoding +from paddleaudio.backends import sox_io_backend + +from common_utils import ( + get_wav_data, + load_wav, + save_wav, + TempDirMixin, + sox_utils, +) + +#code is from:https://github.com/pytorch/audio/blob/main/torchaudio/test/torchaudio_unittest/backend/sox_io/info_test.py + +class TestInfo(TempDirMixin, unittest.TestCase): + @parameterized.expand( + list( + itertools.product( + ["float32", "int32",], + [8000, 16000], + [1, 2], + ) + ), + ) + def test_wav(self, dtype, sample_rate, num_channels): + """`sox_io_backend.info` can check wav file correctly""" + duration = 1 + path = self.get_temp_path("data.wav") + data = get_wav_data(dtype, num_channels, normalize=False, num_frames=duration * sample_rate) + save_wav(path, data, sample_rate) + info = sox_io_backend.info(path) + assert info.sample_rate == sample_rate + assert info.num_frames == sample_rate * duration + assert info.num_channels == num_channels + assert info.bits_per_sample == sox_utils.get_bit_depth(dtype) + assert info.encoding == get_encoding("wav", dtype) + + @parameterized.expand( + list( + itertools.product( + ["float32", "int32"], + [8000, 16000], + [4, 8, 16, 32], + ) + ), + ) + def test_wav_multiple_channels(self, dtype, sample_rate, num_channels): + """`sox_io_backend.info` can check wav file with channels more than 2 correctly""" + duration = 1 + path = self.get_temp_path("data.wav") + data = get_wav_data(dtype, num_channels, normalize=False, num_frames=duration * sample_rate) + save_wav(path, data, sample_rate) + info = sox_io_backend.info(path) + assert info.sample_rate == sample_rate + assert info.num_frames == sample_rate * duration + assert info.num_channels == num_channels + assert info.bits_per_sample == sox_utils.get_bit_depth(dtype) + + def test_ulaw(self): + """`sox_io_backend.info` can check ulaw file correctly""" + duration = 1 + num_channels = 1 + sample_rate = 8000 + path = self.get_temp_path("data.wav") + sox_utils.gen_audio_file( + path, sample_rate=sample_rate, num_channels=num_channels, bit_depth=8, encoding="u-law", duration=duration + ) + info = sox_io_backend.info(path) + assert info.sample_rate == sample_rate + assert info.num_frames == sample_rate * duration + assert info.num_channels == num_channels + assert info.bits_per_sample == 8 + assert info.encoding == "ULAW" + + def test_alaw(self): + """`sox_io_backend.info` can check alaw file correctly""" + duration = 1 + num_channels = 1 + sample_rate = 8000 + path = self.get_temp_path("data.wav") + sox_utils.gen_audio_file( + path, sample_rate=sample_rate, num_channels=num_channels, bit_depth=8, encoding="a-law", duration=duration + ) + info = sox_io_backend.info(path) + assert info.sample_rate == sample_rate + assert info.num_frames == sample_rate * duration + assert info.num_channels == num_channels + assert info.bits_per_sample == 8 + assert info.encoding == "ALAW" + +#class TestInfoOpus(unittest.TestCase): + #@parameterized.expand( + #list( + #itertools.product( + #["96k"], + #[1, 2], + #[0, 5, 10], + #) + #), + #) + #def test_opus(self, bitrate, num_channels, compression_level): + #"""`sox_io_backend.info` can check opus file correcty""" + #path = data_utils.get_asset_path("io", f"{bitrate}_{compression_level}_{num_channels}ch.opus") + #info = sox_io_backend.info(path) + #assert info.sample_rate == 48000 + #assert info.num_frames == 32768 + #assert info.num_channels == num_channels + #assert info.bits_per_sample == 0 # bit_per_sample is irrelevant for compressed formats + #assert info.encoding == "OPUS" + +class FileObjTestBase(TempDirMixin): + def _gen_file(self, ext, dtype, sample_rate, num_channels, num_frames, *, comments=None): + path = self.get_temp_path(f"test.{ext}") + bit_depth = sox_utils.get_bit_depth(dtype) + duration = num_frames / sample_rate + comment_file = self._gen_comment_file(comments) if comments else None + + sox_utils.gen_audio_file( + path, + sample_rate, + num_channels=num_channels, + encoding=sox_utils.get_encoding(dtype), + bit_depth=bit_depth, + duration=duration, + comment_file=comment_file, + ) + return path + + def _gen_comment_file(self, comments): + comment_path = self.get_temp_path("comment.txt") + with open(comment_path, "w") as file_: + file_.writelines(comments) + return comment_path + +class Unseekable: + def __init__(self, fileobj): + self.fileobj = fileobj + + def read(self, n): + return self.fileobj.read(n) + +class TestFileObject(FileObjTestBase, unittest.TestCase): + def _query_fileobj(self, ext, dtype, sample_rate, num_channels, num_frames, *, comments=None): + path = self._gen_file(ext, dtype, sample_rate, num_channels, num_frames, comments=comments) + format_ = ext if ext in ["mp3"] else None + with open(path, "rb") as fileobj: + return sox_io_backend.info(fileobj, format_) + + def _query_bytesio(self, ext, dtype, sample_rate, num_channels, num_frames): + path = self._gen_file(ext, dtype, sample_rate, num_channels, num_frames) + format_ = ext if ext in ["mp3"] else None + with open(path, "rb") as file_: + fileobj = io.BytesIO(file_.read()) + return sox_io_backend.info(fileobj, format_) + + def _query_tarfile(self, ext, dtype, sample_rate, num_channels, num_frames): + audio_path = self._gen_file(ext, dtype, sample_rate, num_channels, num_frames) + audio_file = os.path.basename(audio_path) + archive_path = self.get_temp_path("archive.tar.gz") + with tarfile.TarFile(archive_path, "w") as tarobj: + tarobj.add(audio_path, arcname=audio_file) + format_ = ext if ext in ["mp3"] else None + with tarfile.TarFile(archive_path, "r") as tarobj: + fileobj = tarobj.extractfile(audio_file) + return sox_io_backend.info(fileobj, format_) + + @contextmanager + def _set_buffer_size(self, buffer_size): + try: + original_buffer_size = get_buffer_size() + set_buffer_size(buffer_size) + yield + finally: + set_buffer_size(original_buffer_size) + + @parameterized.expand( + [ + ("wav", "float32"), + ("wav", "int32"), + ("wav", "int16"), + ("wav", "uint8"), + ] + ) + def test_fileobj(self, ext, dtype): + """Querying audio via file object works""" + sample_rate = 16000 + num_frames = 3 * sample_rate + num_channels = 2 + sinfo = self._query_fileobj(ext, dtype, sample_rate, num_channels, num_frames) + + bits_per_sample = get_bits_per_sample(ext, dtype) + num_frames = 0 if ext in ["mp3", "vorbis"] else num_frames + + assert sinfo.sample_rate == sample_rate + assert sinfo.num_channels == num_channels + assert sinfo.num_frames == num_frames + assert sinfo.bits_per_sample == bits_per_sample + assert sinfo.encoding == get_encoding(ext, dtype) + + @parameterized.expand( + [ + ("wav", "float32"), + ("wav", "int32"), + ("wav", "int16"), + ("wav", "uint8"), + ] + ) + def test_bytesio(self, ext, dtype): + """Querying audio via ByteIO object works for small data""" + sample_rate = 16000 + num_frames = 3 * sample_rate + num_channels = 2 + sinfo = self._query_bytesio(ext, dtype, sample_rate, num_channels, num_frames) + + bits_per_sample = get_bits_per_sample(ext, dtype) + num_frames = 0 if ext in ["mp3", "vorbis"] else num_frames + + assert sinfo.sample_rate == sample_rate + assert sinfo.num_channels == num_channels + assert sinfo.num_frames == num_frames + assert sinfo.bits_per_sample == bits_per_sample + assert sinfo.encoding == get_encoding(ext, dtype) + + @parameterized.expand( + [ + ("wav", "float32"), + ("wav", "int32"), + ("wav", "int16"), + ("wav", "uint8"), + ] + ) + def test_bytesio_tiny(self, ext, dtype): + """Querying audio via ByteIO object works for small data""" + sample_rate = 8000 + num_frames = 4 + num_channels = 2 + sinfo = self._query_bytesio(ext, dtype, sample_rate, num_channels, num_frames) + + bits_per_sample = get_bits_per_sample(ext, dtype) + num_frames = 0 if ext in ["mp3", "vorbis"] else num_frames + + assert sinfo.sample_rate == sample_rate + assert sinfo.num_channels == num_channels + assert sinfo.num_frames == num_frames + assert sinfo.bits_per_sample == bits_per_sample + assert sinfo.encoding == get_encoding(ext, dtype) + + @parameterized.expand( + [ + ("wav", "float32"), + ("wav", "int32"), + ("wav", "int16"), + ("wav", "uint8"), + ("flac", "float32"), + ("vorbis", "float32"), + ("amb", "int16"), + ] + ) + def test_tarfile(self, ext, dtype): + """Querying compressed audio via file-like object works""" + sample_rate = 16000 + num_frames = 3.0 * sample_rate + num_channels = 2 + sinfo = self._query_tarfile(ext, dtype, sample_rate, num_channels, num_frames) + + bits_per_sample = get_bits_per_sample(ext, dtype) + num_frames = 0 if ext in ["vorbis"] else num_frames + + assert sinfo.sample_rate == sample_rate + assert sinfo.num_channels == num_channels + assert sinfo.num_frames == num_frames + assert sinfo.bits_per_sample == bits_per_sample + assert sinfo.encoding == get_encoding(ext, dtype) + + + +if __name__ == '__main__': + unittest.main() diff --git a/audio/tests/backends/sox_io/load_test.py b/audio/tests/backends/sox_io/load_test.py new file mode 100644 index 000000000..dc3d1efdd --- /dev/null +++ b/audio/tests/backends/sox_io/load_test.py @@ -0,0 +1,47 @@ +import unittest +import itertools + +from parameterized import parameterized +import numpy as np +from paddleaudio._internal import module_utils as _mod_utils +from paddleaudio.backends import sox_io_backend + +from common_utils import ( + get_wav_data, + load_wav, + save_wav, +) + +#code is from:https://github.com/pytorch/audio/blob/main/torchaudio/test/torchaudio_unittest/backend/sox_io/load_test.py + +class TestLoad(unittest.TestCase): + + def assert_wav(self, dtype, sample_rate, num_channels, normalize, duration): + """`sox_io_backend.load` can load wav format correctly. + + Wav data loaded with sox_io backend should match those with scipy + """ + path = 'testdata/reference.wav' + data = get_wav_data(dtype, num_channels, normalize=normalize, num_frames=duration * sample_rate) + save_wav(path, data, sample_rate) + expected = load_wav(path, normalize=normalize)[0] + data, sr = sox_io_backend.load(path, normalize=normalize) + assert sr == sample_rate + np.testing.assert_array_almost_equal(data, expected, decimal=4) + + @parameterized.expand( + list( + itertools.product( + ["float64", "float32", "int32",], + [8000, 16000], + [1, 2], + [False, True], + ) + ), + ) + def test_wav(self, dtype, sample_rate, num_channels, normalize): + """`sox_io_backend.load` can load wav format correctly.""" + self.assert_wav(dtype, sample_rate, num_channels, normalize, duration=1) + +if __name__ == '__main__': + unittest.main() diff --git a/audio/tests/backends/sox_io/save_test.py b/audio/tests/backends/sox_io/save_test.py new file mode 100644 index 000000000..459ec7833 --- /dev/null +++ b/audio/tests/backends/sox_io/save_test.py @@ -0,0 +1,175 @@ +import io +import os +import unittest + +import numpy as np +import paddle +from parameterized import parameterized +from paddleaudio.backends import sox_io_backend + +from common_utils import ( + get_wav_data, + load_wav, + save_wav, + nested_params, + TempDirMixin, + sox_utils +) + +#code is from:https://github.com/pytorch/audio/blob/main/torchaudio/test/torchaudio_unittest/backend/sox_io/save_test.py + +def _get_sox_encoding(encoding): + encodings = { + "PCM_F": "floating-point", + "PCM_S": "signed-integer", + "PCM_U": "unsigned-integer", + "ULAW": "u-law", + "ALAW": "a-law", + } + return encodings.get(encoding) + +class TestSaveBase(TempDirMixin): + def assert_save_consistency( + self, + format: str, + *, + compression: float = None, + encoding: str = None, + bits_per_sample: int = None, + sample_rate: float = 8000, + num_channels: int = 2, + num_frames: float = 3 * 8000, + src_dtype: str = "int32", + test_mode: str = "path", + ): + """`save` function produces file that is comparable with `sox` command + + To compare that the file produced by `save` function agains the file produced by + the equivalent `sox` command, we need to load both files. + But there are many formats that cannot be opened with common Python modules (like + SciPy). + So we use `sox` command to prepare the original data and convert the saved files + into a format that SciPy can read (PCM wav). + The following diagram illustrates this process. The difference is 2.1. and 3.1. + + This assumes that + - loading data with SciPy preserves the data well. + - converting the resulting files into WAV format with `sox` preserve the data well. + + x + | 1. Generate source wav file with SciPy + | + v + -------------- wav ---------------- + | | + | 2.1. load with scipy | 3.1. Convert to the target + | then save it into the target | format depth with sox + | format with paddleaudio | + v v + target format target format + | | + | 2.2. Convert to wav with sox | 3.2. Convert to wav with sox + | | + v v + wav wav + | | + | 2.3. load with scipy | 3.3. load with scipy + | | + v v + tensor -------> compare <--------- tensor + + """ + cmp_encoding = "floating-point" + cmp_bit_depth = 32 + + src_path = self.get_temp_path("1.source.wav") + tgt_path = self.get_temp_path(f"2.1.paddleaudio.{format}") + tst_path = self.get_temp_path("2.2.result.wav") + sox_path = self.get_temp_path(f"3.1.sox.{format}") + ref_path = self.get_temp_path("3.2.ref.wav") + + # 1. Generate original wav + data = get_wav_data(src_dtype, num_channels, normalize=False, num_frames=num_frames) + save_wav(src_path, data, sample_rate) + + # 2.1. Convert the original wav to target format with paddleaudio + data = load_wav(src_path, normalize=False)[0] + if test_mode == "path": + sox_io_backend.save( + tgt_path, data, sample_rate, compression=compression, encoding=encoding, bits_per_sample=bits_per_sample + ) + elif test_mode == "fileobj": + with open(tgt_path, "bw") as file_: + sox_io_backend.save( + file_, + data, + sample_rate, + format=format, + compression=compression, + encoding=encoding, + bits_per_sample=bits_per_sample, + ) + elif test_mode == "bytesio": + file_ = io.BytesIO() + sox_io_backend.save( + file_, + data, + sample_rate, + format=format, + compression=compression, + encoding=encoding, + bits_per_sample=bits_per_sample, + ) + file_.seek(0) + with open(tgt_path, "bw") as f: + f.write(file_.read()) + else: + raise ValueError(f"Unexpected test mode: {test_mode}") + # 2.2. Convert the target format to wav with sox + sox_utils.convert_audio_file(tgt_path, tst_path, encoding=cmp_encoding, bit_depth=cmp_bit_depth) + # 2.3. Load with SciPy + found = load_wav(tst_path, normalize=False)[0] + + # 3.1. Convert the original wav to target format with sox + sox_encoding = _get_sox_encoding(encoding) + sox_utils.convert_audio_file( + src_path, sox_path, compression=compression, encoding=sox_encoding, bit_depth=bits_per_sample + ) + # 3.2. Convert the target format to wav with sox + sox_utils.convert_audio_file(sox_path, ref_path, encoding=cmp_encoding, bit_depth=cmp_bit_depth) + # 3.3. Load with SciPy + expected = load_wav(ref_path, normalize=False)[0] + + np.testing.assert_array_almost_equal(found, expected) + +class TestSave(TestSaveBase, unittest.TestCase): + @nested_params( + ["path",], + [ + ("PCM_U", 8), + ("PCM_S", 16), + ("PCM_S", 32), + ("PCM_F", 32), + ("PCM_F", 64), + ("ULAW", 8), + ("ALAW", 8), + ], + ) + def test_save_wav(self, test_mode, enc_params): + encoding, bits_per_sample = enc_params + self.assert_save_consistency("wav", encoding=encoding, bits_per_sample=bits_per_sample, test_mode=test_mode) + + @nested_params( + ["path", ], + [ + ("float32",), + ("int32",), + ], + ) + def test_save_wav_dtype(self, test_mode, params): + (dtype,) = params + self.assert_save_consistency("wav", src_dtype=dtype, test_mode=test_mode) + + +if __name__ == '__main__': + unittest.main() diff --git a/audio/tests/backends/sox_io/smoke_test.py b/audio/tests/backends/sox_io/smoke_test.py new file mode 100644 index 000000000..3cc0f5493 --- /dev/null +++ b/audio/tests/backends/sox_io/smoke_test.py @@ -0,0 +1,183 @@ +import io +import itertools +import unittest + +from parameterized import parameterized +from paddleaudio.backends import sox_io_backend +from common_utils import ( + get_wav_data, + TempDirMixin, + name_func +) + +class SmokeTest(TempDirMixin, unittest.TestCase): + """Run smoke test on various audio format + + The purpose of this test suite is to verify that sox_io_backend functionalities do not exhibit + abnormal behaviors. + + This test suite should be able to run without any additional tools (such as sox command), + however without such tools, the correctness of each function cannot be verified. + """ + + def run_smoke_test(self, ext, sample_rate, num_channels, *, compression=None, dtype="float32"): + duration = 1 + num_frames = sample_rate * duration + #path = self.get_temp_path(f"test.{ext}") + path = self.get_temp_path(f"test.{ext}") + original = get_wav_data(dtype, num_channels, normalize=False, num_frames=num_frames) + + # 1. run save + sox_io_backend.save(path, original, sample_rate, compression=compression) + # 2. run info + info = sox_io_backend.info(path) + assert info.sample_rate == sample_rate + assert info.num_channels == num_channels + # 3. run load + loaded, sr = sox_io_backend.load(path, normalize=False) + assert sr == sample_rate + assert loaded.shape[0] == num_channels + + @parameterized.expand( + list( + itertools.product( + ["float32", "int32" ], + #["float32", "int32", "int16", "uint8"], + [8000, 16000], + [1, 2], + ) + ), + name_func=name_func, + ) + def test_wav(self, dtype, sample_rate, num_channels): + """Run smoke test on wav format""" + self.run_smoke_test("wav", sample_rate, num_channels, dtype=dtype) + + #@parameterized.expand( + #list( + #itertools.product( + #[8000, 16000], + #[1, 2], + #[-4.2, -0.2, 0, 0.2, 96, 128, 160, 192, 224, 256, 320], + #) + #) + #) + #def test_mp3(self, sample_rate, num_channels, bit_rate): + #"""Run smoke test on mp3 format""" + #self.run_smoke_test("mp3", sample_rate, num_channels, compression=bit_rate) + + #@parameterized.expand( + #list( + #itertools.product( + #[8000, 16000], + #[1, 2], + #[-1, 0, 1, 2, 3, 3.6, 5, 10], + #) + #) + #) + #def test_vorbis(self, sample_rate, num_channels, quality_level): + #"""Run smoke test on vorbis format""" + #self.run_smoke_test("vorbis", sample_rate, num_channels, compression=quality_level) + + @parameterized.expand( + list( + itertools.product( + [8000, 16000], + [1, 2], + list(range(9)), + ) + ), + name_func=name_func, + ) + def test_flac(self, sample_rate, num_channels, compression_level): + """Run smoke test on flac format""" + self.run_smoke_test("flac", sample_rate, num_channels, compression=compression_level) + + +class SmokeTestFileObj(unittest.TestCase): + """Run smoke test on various audio format + + The purpose of this test suite is to verify that sox_io_backend functionalities do not exhibit + abnormal behaviors. + + This test suite should be able to run without any additional tools (such as sox command), + however without such tools, the correctness of each function cannot be verified. + """ + + def run_smoke_test(self, ext, sample_rate, num_channels, *, compression=None, dtype="float32"): + duration = 1 + num_frames = sample_rate * duration + original = get_wav_data(dtype, num_channels, normalize=False, num_frames=num_frames) + + fileobj = io.BytesIO() + # 1. run save + sox_io_backend.save(fileobj, original, sample_rate, compression=compression, format=ext) + # 2. run info + fileobj.seek(0) + info = sox_io_backend.info(fileobj, format=ext) + assert info.sample_rate == sample_rate + assert info.num_channels == num_channels + # 3. run load + fileobj.seek(0) + loaded, sr = sox_io_backend.load(fileobj, normalize=False, format=ext) + assert sr == sample_rate + assert loaded.shape[0] == num_channels + + @parameterized.expand( + list( + itertools.product( + ["float32", "int32"], + [8000, 16000], + [1, 2], + ) + ), + name_func=name_func, + ) + def test_wav(self, dtype, sample_rate, num_channels): + """Run smoke test on wav format""" + self.run_smoke_test("wav", sample_rate, num_channels, dtype=dtype) + + # not support yet + #@parameterized.expand( + #list( + #itertools.product( + #[8000, 16000], + #[1, 2], + #[-4.2, -0.2, 0, 0.2, 96, 128, 160, 192, 224, 256, 320], + #) + #) + #) + #def test_mp3(self, sample_rate, num_channels, bit_rate): + #"""Run smoke test on mp3 format""" + #self.run_smoke_test("mp3", sample_rate, num_channels, compression=bit_rate) + + #@parameterized.expand( + #list( + #itertools.product( + #[8000, 16000], + #[1, 2], + #[-1, 0, 1, 2, 3, 3.6, 5, 10], + #) + #) + #) + #def test_vorbis(self, sample_rate, num_channels, quality_level): + #"""Run smoke test on vorbis format""" + #self.run_smoke_test("vorbis", sample_rate, num_channels, compression=quality_level) + + @parameterized.expand( + list( + itertools.product( + [8000, 16000], + [1, 2], + list(range(9)), + ) + ), + name_func=name_func, + ) + def test_flac(self, sample_rate, num_channels, compression_level): + #"""Run smoke test on flac format""" + self.run_smoke_test("flac", sample_rate, num_channels, compression=compression_level) + +if __name__ == '__main__': + #test_func() + unittest.main() diff --git a/audio/tests/backends/sox_io/sox_effect_test.py b/audio/tests/backends/sox_io/sox_effect_test.py new file mode 100644 index 000000000..f7a3ecbf6 --- /dev/null +++ b/audio/tests/backends/sox_io/sox_effect_test.py @@ -0,0 +1,347 @@ +#code is from: https://github.com/pytorch/audio/blob/main/test/torchaudio_unittest/sox_effect/sox_effect_test.py +import io +import itertools +import tarfile +import unittest +from pathlib import Path +import numpy as np + +from parameterized import parameterized +from paddleaudio import sox_effects +from paddleaudio._internal import module_utils as _mod_utils +from common_utils import ( + get_sinusoid, + get_wav_data, + load_wav, + save_wav, + sox_utils, + TempDirMixin, + name_func, + load_effects_params +) + +if _mod_utils.is_module_available("requests"): + import requests + + +class TestSoxEffects(unittest.TestCase): + def test_init(self): + """Calling init_sox_effects multiple times does not crush""" + for _ in range(3): + sox_effects.init_sox_effects() + + +class TestSoxEffectsTensor(TempDirMixin, unittest.TestCase): + """Test suite for `apply_effects_tensor` function""" + + @parameterized.expand( + list(itertools.product(["float32", "int32"], [8000, 16000], [1, 2, 4, 8], [True, False])), + ) + def test_apply_no_effect(self, dtype, sample_rate, num_channels, channels_first): + """`apply_effects_tensor` without effects should return identical data as input""" + original = get_wav_data(dtype, num_channels, channels_first=channels_first) + expected = original.clone() + + found, output_sample_rate = sox_effects.apply_effects_tensor(expected, sample_rate, [], channels_first) + + assert (output_sample_rate == sample_rate) + # SoxEffect should not alter the input Tensor object + #self.assertEqual(original, expected) + np.testing.assert_array_almost_equal(original.numpy(), expected.numpy()) + + # SoxEffect should not return the same Tensor object + assert expected is not found + # Returned Tensor should equal to the input Tensor + #self.assertEqual(expected, found) + np.testing.assert_array_almost_equal(expected.numpy(), found.numpy()) + + @parameterized.expand( + load_effects_params("sox_effect_test_args.jsonl"), + name_func=lambda f, i, p: f'{f.__name__}_{i}_{p.args[0]["effects"][0][0]}', + ) + def test_apply_effects(self, args): + """`apply_effects_tensor` should return identical data as sox command""" + effects = args["effects"] + num_channels = args.get("num_channels", 2) + input_sr = args.get("input_sample_rate", 8000) + output_sr = args.get("output_sample_rate") + + input_path = self.get_temp_path("input.wav") + reference_path = self.get_temp_path("reference.wav") + + original = get_sinusoid(frequency=800, sample_rate=input_sr, n_channels=num_channels, dtype="float32") + save_wav(input_path, original, input_sr) + sox_utils.run_sox_effect(input_path, reference_path, effects, output_sample_rate=output_sr) + + expected, expected_sr = load_wav(reference_path) + found, sr = sox_effects.apply_effects_tensor(original, input_sr, effects) + + assert sr == expected_sr + #self.assertEqual(expected, found) + np.testing.assert_array_almost_equal(expected.numpy(), found.numpy()) + + +class TestSoxEffectsFile(TempDirMixin, unittest.TestCase): + """Test suite for `apply_effects_file` function""" + + @parameterized.expand( + list( + itertools.product( + ["float32", "int32"], + [8000, 16000], + [1, 2, 4, 8], + [False, True], + ) + ), + #name_func=name_func, + ) + def test_apply_no_effect(self, dtype, sample_rate, num_channels, channels_first): + """`apply_effects_file` without effects should return identical data as input""" + path = self.get_temp_path("input.wav") + expected = get_wav_data(dtype, num_channels, channels_first=channels_first) + save_wav(path, expected, sample_rate, channels_first=channels_first) + + found, output_sample_rate = sox_effects.apply_effects_file( + path, [], normalize=False, channels_first=channels_first + ) + + assert output_sample_rate == sample_rate + #self.assertEqual(expected, found) + np.testing.assert_array_almost_equal(expected.numpy(), found.numpy()) + + @parameterized.expand( + load_effects_params("sox_effect_test_args.jsonl"), + #name_func=lambda f, i, p: f'{f.__name__}_{i}_{p.args[0]["effects"][0][0]}', + ) + def test_apply_effects_str(self, args): + """`apply_effects_file` should return identical data as sox command""" + dtype = "int32" + channels_first = True + effects = args["effects"] + num_channels = args.get("num_channels", 2) + input_sr = args.get("input_sample_rate", 8000) + output_sr = args.get("output_sample_rate") + + input_path = self.get_temp_path("input.wav") + reference_path = self.get_temp_path("reference.wav") + data = get_wav_data(dtype, num_channels, channels_first=channels_first) + save_wav(input_path, data, input_sr, channels_first=channels_first) + sox_utils.run_sox_effect(input_path, reference_path, effects, output_sample_rate=output_sr) + + expected, expected_sr = load_wav(reference_path) + found, sr = sox_effects.apply_effects_file(input_path, effects, normalize=False, channels_first=channels_first) + + assert sr == expected_sr + #self.assertEqual(found, expected) + np.testing.assert_array_almost_equal(expected.numpy(), found.numpy()) + + + def test_apply_effects_path(self): + """`apply_effects_file` should return identical data as sox command when file path is given as a Path Object""" + dtype = "int32" + channels_first = True + effects = [["hilbert"]] + num_channels = 2 + input_sr = 8000 + output_sr = 8000 + + input_path = self.get_temp_path("input.wav") + reference_path = self.get_temp_path("reference.wav") + data = get_wav_data(dtype, num_channels, channels_first=channels_first) + save_wav(input_path, data, input_sr, channels_first=channels_first) + sox_utils.run_sox_effect(input_path, reference_path, effects, output_sample_rate=output_sr) + + expected, expected_sr = load_wav(reference_path) + found, sr = sox_effects.apply_effects_file( + Path(input_path), effects, normalize=False, channels_first=channels_first + ) + + assert sr == expected_sr + #self.assertEqual(found, expected) + np.testing.assert_array_almost_equal(expected.numpy(), found.numpy()) + + +class TestFileFormats(TempDirMixin, unittest.TestCase): + """`apply_effects_file` gives the same result as sox on various file formats""" + + @parameterized.expand( + list( + itertools.product( + ["float32", "int32"], + [8000, 16000], + [1, 2], + ) + ), + #name_func=lambda f, _, p: f'{f.__name__}_{"_".join(str(arg) for arg in p.args)}', + ) + def test_wav(self, dtype, sample_rate, num_channels): + """`apply_effects_file` works on various wav format""" + channels_first = True + effects = [["band", "300", "10"]] + + input_path = self.get_temp_path("input.wav") + reference_path = self.get_temp_path("reference.wav") + data = get_wav_data(dtype, num_channels, channels_first=channels_first) + save_wav(input_path, data, sample_rate, channels_first=channels_first) + sox_utils.run_sox_effect(input_path, reference_path, effects) + + expected, expected_sr = load_wav(reference_path) + found, sr = sox_effects.apply_effects_file(input_path, effects, normalize=False, channels_first=channels_first) + + assert sr == expected_sr + #self.assertEqual(found, expected) + np.testing.assert_array_almost_equal(found.numpy(), expected.numpy()) + + #not support now + #@parameterized.expand( + #list( + #itertools.product( + #[8000, 16000], + #[1, 2], + #) + #), + ##name_func=lambda f, _, p: f'{f.__name__}_{"_".join(str(arg) for arg in p.args)}', + #) + #def test_flac(self, sample_rate, num_channels): + #"""`apply_effects_file` works on various flac format""" + #channels_first = True + #effects = [["band", "300", "10"]] + + #input_path = self.get_temp_path("input.flac") + #reference_path = self.get_temp_path("reference.wav") + #sox_utils.gen_audio_file(input_path, sample_rate, num_channels) + #sox_utils.run_sox_effect(input_path, reference_path, effects, output_bitdepth=32) + + #expected, expected_sr = load_wav(reference_path) + #found, sr = sox_effects.apply_effects_file(input_path, effects, channels_first=channels_first) + #save_wav(self.get_temp_path("result.wav"), found, sr, channels_first=channels_first) + + #assert sr == expected_sr + ##self.assertEqual(found, expected) + #np.testing.assert_array_almost_equal(found.numpy(), expected.numpy()) + + #@parameterized.expand( + #list( + #itertools.product( + #[8000, 16000], + #[1, 2], + #) + #), + ##name_func=lambda f, _, p: f'{f.__name__}_{"_".join(str(arg) for arg in p.args)}', + #) + #def test_vorbis(self, sample_rate, num_channels): + #"""`apply_effects_file` works on various vorbis format""" + #channels_first = True + #effects = [["band", "300", "10"]] + + #input_path = self.get_temp_path("input.vorbis") + #reference_path = self.get_temp_path("reference.wav") + #sox_utils.gen_audio_file(input_path, sample_rate, num_channels) + #sox_utils.run_sox_effect(input_path, reference_path, effects, output_bitdepth=32) + + #expected, expected_sr = load_wav(reference_path) + #found, sr = sox_effects.apply_effects_file(input_path, effects, channels_first=channels_first) + #save_wav(self.get_temp_path("result.wav"), found, sr, channels_first=channels_first) + + #assert sr == expected_sr + ##self.assertEqual(found, expected) + #np.testing.assert_array_almost_equal(found.numpy(), expected.numpy()) + + +#@skipIfNoExec("sox") +#@skipIfNoSox +class TestFileObject(TempDirMixin, unittest.TestCase): + @parameterized.expand( + [ + ("wav", None), + ] + ) + def test_fileobj(self, ext, compression): + """Applying effects via file object works""" + sample_rate = 16000 + channels_first = True + effects = [["band", "300", "10"]] + input_path = self.get_temp_path(f"input.{ext}") + reference_path = self.get_temp_path("reference.wav") + + #sox_utils.gen_audio_file(input_path, sample_rate, num_channels=2, compression=compression) + data = get_wav_data("int32", 2, channels_first=channels_first) + save_wav(input_path, data, sample_rate, channels_first=channels_first) + + sox_utils.run_sox_effect(input_path, reference_path, effects, output_bitdepth=32) + expected, expected_sr = load_wav(reference_path) + + with open(input_path, "rb") as fileobj: + found, sr = sox_effects.apply_effects_file(fileobj, effects, channels_first=channels_first) + save_wav(self.get_temp_path("result.wav"), found, sr, channels_first=channels_first) + assert sr == expected_sr + #self.assertEqual(found, expected) + np.testing.assert_array_almost_equal(found.numpy(), expected.numpy()) + + @parameterized.expand( + [ + ("wav", None), + ] + ) + def test_bytesio(self, ext, compression): + """Applying effects via BytesIO object works""" + sample_rate = 16000 + channels_first = True + effects = [["band", "300", "10"]] + input_path = self.get_temp_path(f"input.{ext}") + reference_path = self.get_temp_path("reference.wav") + + #sox_utils.gen_audio_file(input_path, sample_rate, num_channels=2, compression=compression) + data = get_wav_data("int32", 2, channels_first=channels_first) + save_wav(input_path, data, sample_rate, channels_first=channels_first) + sox_utils.run_sox_effect(input_path, reference_path, effects, output_bitdepth=32) + expected, expected_sr = load_wav(reference_path) + + with open(input_path, "rb") as file_: + fileobj = io.BytesIO(file_.read()) + found, sr = sox_effects.apply_effects_file(fileobj, effects, channels_first=channels_first) + save_wav(self.get_temp_path("result.wav"), found, sr, channels_first=channels_first) + assert sr == expected_sr + #self.assertEqual(found, expected) + print("found") + print(found) + print("expected") + print(expected) + np.testing.assert_array_almost_equal(found.numpy(), expected.numpy()) + + @parameterized.expand( + [ + ("wav", None), + ] + ) + def test_tarfile(self, ext, compression): + """Applying effects to compressed audio via file-like file works""" + sample_rate = 16000 + channels_first = True + effects = [["band", "300", "10"]] + audio_file = f"input.{ext}" + + input_path = self.get_temp_path(audio_file) + reference_path = self.get_temp_path("reference.wav") + archive_path = self.get_temp_path("archive.tar.gz") + data = get_wav_data("int32", 2, channels_first=channels_first) + save_wav(input_path, data, sample_rate, channels_first=channels_first) + + # sox_utils.gen_audio_file(input_path, sample_rate, num_channels=2, compression=compression) + sox_utils.run_sox_effect(input_path, reference_path, effects, output_bitdepth=32) + + expected, expected_sr = load_wav(reference_path) + + with tarfile.TarFile(archive_path, "w") as tarobj: + tarobj.add(input_path, arcname=audio_file) + with tarfile.TarFile(archive_path, "r") as tarobj: + fileobj = tarobj.extractfile(audio_file) + found, sr = sox_effects.apply_effects_file(fileobj, effects, channels_first=channels_first) + save_wav(self.get_temp_path("result.wav"), found, sr, channels_first=channels_first) + assert sr == expected_sr + #self.assertEqual(found, expected) + np.testing.assert_array_almost_equal(found.numpy(), expected.numpy()) + + +if __name__ == '__main__': + unittest.main() diff --git a/audio/tests/backends/sox_io/sox_effect_test_args.jsonl b/audio/tests/backends/sox_io/sox_effect_test_args.jsonl new file mode 100644 index 000000000..c1b5d19b5 --- /dev/null +++ b/audio/tests/backends/sox_io/sox_effect_test_args.jsonl @@ -0,0 +1,77 @@ +{"effects": [["allpass", "300", "10"]]} +{"effects": [["band", "300", "10"]]} +{"effects": [["bandpass", "300", "10"]]} +{"effects": [["bandreject", "300", "10"]]} +{"effects": [["bass", "-10"]]} +{"effects": [["biquad", "0.4", "0.2", "0.9", "0.7", "0.2", "0.6"]]} +{"effects": [["chorus", "0.7", "0.9", "55", "0.4", "0.25", "2", "-t"]]} +{"effects": [["chorus", "0.6", "0.9", "50", "0.4", "0.25", "2", "-t", "60", "0.32", "0.4", "1.3", "-s"]]} +{"effects": [["chorus", "0.5", "0.9", "50", "0.4", "0.25", "2", "-t", "60", "0.32", "0.4", "2.3", "-t", "40", "0.3", "0.3", "1.3", "-s"]]} +{"effects": [["channels", "1"]]} +{"effects": [["channels", "2"]]} +{"effects": [["channels", "3"]]} +{"effects": [["compand", "0.3,1", "6:-70,-60,-20", "-5", "-90", "0.2"]]} +{"effects": [["compand", ".1,.2", "-inf,-50.1,-inf,-50,-50", "0", "-90", ".1"]]} +{"effects": [["compand", ".1,.1", "-45.1,-45,-inf,0,-inf", "45", "-90", ".1"]]} +{"effects": [["contrast", "0"]]} +{"effects": [["contrast", "25"]]} +{"effects": [["contrast", "50"]]} +{"effects": [["contrast", "75"]]} +{"effects": [["contrast", "100"]]} +{"effects": [["dcshift", "1.0"]]} +{"effects": [["dcshift", "-1.0"]]} +{"effects": [["deemph"]], "input_sample_rate": 44100} +{"effects": [["dither", "-s"]]} +{"effects": [["dither", "-S"]]} +{"effects": [["divide"]]} +{"effects": [["downsample", "2"]], "input_sample_rate": 8000, "output_sample_rate": 4000} +{"effects": [["earwax"]], "input_sample_rate": 44100} +{"effects": [["echo", "0.8", "0.88", "60", "0.4"]]} +{"effects": [["echo", "0.8", "0.88", "6", "0.4"]]} +{"effects": [["echo", "0.8", "0.9", "1000", "0.3"]]} +{"effects": [["echo", "0.8", "0.9", "1000", "0.3", "1800", "0.25"]]} +{"effects": [["echos", "0.8", "0.7", "700", "0.25", "700", "0.3"]]} +{"effects": [["echos", "0.8", "0.7", "700", "0.25", "900", "0.3"]]} +{"effects": [["echos", "0.8", "0.7", "40", "0.25", "63", "0.3"]]} +{"effects": [["equalizer", "300", "10", "5"]]} +{"effects": [["fade", "q", "3"]]} +{"effects": [["fade", "h", "3"]]} +{"effects": [["fade", "t", "3"]]} +{"effects": [["fade", "l", "3"]]} +{"effects": [["fade", "p", "3"]]} +{"effects": [["fir", "0.0195", "-0.082", "0.234", "0.891", "-0.145", "0.043"]]} +{"effects": [["flanger"]]} +{"effects": [["gain", "-l", "-6"]]} +{"effects": [["highpass", "-1", "300"]]} +{"effects": [["highpass", "-2", "300"]]} +{"effects": [["hilbert"]]} +{"effects": [["loudness"]]} +{"effects": [["lowpass", "-1", "300"]]} +{"effects": [["lowpass", "-2", "300"]]} +{"effects": [["mcompand", "0.005,0.1 -47,-40,-34,-34,-17,-33", "100", "0.003,0.05 -47,-40,-34,-34,-17,-33", "400", "0.000625,0.0125 -47,-40,-34,-34,-15,-33", "1600", "0.0001,0.025 -47,-40,-34,-34,-31,-31,-0,-30", "6400", "0,0.025 -38,-31,-28,-28,-0,-25"]], "input_sample_rate": 44100} +{"effects": [["oops"]]} +{"effects": [["overdrive"]]} +{"effects": [["pad"]]} +{"effects": [["phaser"]]} +{"effects": [["remix", "6", "7", "8", "0"]], "num_channels": 8} +{"effects": [["remix", "1-3,7", "3"]], "num_channels": 8} +{"effects": [["repeat"]]} +{"effects": [["reverb"]]} +{"effects": [["reverse"]]} +{"effects": [["riaa"]], "input_sample_rate": 44100} +{"effects": [["silence", "0"]]} +{"effects": [["speed", "1.3"]], "input_sample_rate": 4000, "output_sample_rate": 5200} +{"effects": [["speed", "0.7"]], "input_sample_rate": 4000, "output_sample_rate": 2800} +{"effects": [["stat"]]} +{"effects": [["stats"]]} +{"effects": [["stretch"]]} +{"effects": [["swap"]]} +{"effects": [["synth"]]} +{"effects": [["tempo", "0.9"]]} +{"effects": [["tempo", "1.1"]]} +{"effects": [["treble", "3"]]} +{"effects": [["tremolo", "300", "40"]]} +{"effects": [["tremolo", "300", "50"]]} +{"effects": [["trim", "0", "0.1"]]} +{"effects": [["upsample", "2"]], "input_sample_rate": 8000, "output_sample_rate": 16000} +{"effects": [["vol", "3"]]} diff --git a/audio/tests/common_utils/__init__.py b/audio/tests/common_utils/__init__.py index efa206a89..7bc718f38 100644 --- a/audio/tests/common_utils/__init__.py +++ b/audio/tests/common_utils/__init__.py @@ -1,12 +1,19 @@ -from .case_utils import name_func -from .case_utils import TempDirMixin -from .parameterized_utils import nested_params -from .wav_utils import get_wav_data -from .wav_utils import load_wav -from .wav_utils import normalize_wav -from .wav_utils import save_wav +from .wav_utils import get_wav_data, load_wav, save_wav, normalize_wav +from .parameterized_utils import nested_params +from .data_utils import get_sinusoid, load_params, load_effects_params +from .case_utils import ( + TempDirMixin, + name_func +) __all__ = [ - "get_wav_data", "load_wav", "save_wav", "normalize_wav", "get_sinusoid", - "name_func", "nested_params", "TempDirMixin" + "get_wav_data", + "load_wav", + "save_wav", + "normalize_wav", + "load_params", + "nested_params", + "get_sinusoid", + "name_func", + "load_effects_params" ] diff --git a/audio/tests/common_utils/data_utils.py b/audio/tests/common_utils/data_utils.py new file mode 100644 index 000000000..1ff9430cd --- /dev/null +++ b/audio/tests/common_utils/data_utils.py @@ -0,0 +1,136 @@ +import os.path +from typing import Optional, Union + +import paddle +import json + +from parameterized import param, parameterized +#code is from:https://github.com/pytorch/audio/blob/main/test/torchaudio_unittest/common_utils/data_utils.py with modification. + +_TEST_DIR_PATH = os.path.realpath(os.path.join(os.path.dirname(__file__), "..")) + + +def get_asset_path(*paths): + """Return full path of a test asset""" + return os.path.join(_TEST_DIR_PATH, "assets", *paths) + +def load_params(*paths): + with open(get_asset_path(*paths), "r") as file: + return [param(json.loads(line)) for line in file] + +def load_effects_params(*paths): + params = [] + with open(*paths, "r") as file: + for line in file: + data = json.loads(line) + for effect in data["effects"]: + for i, arg in enumerate(effect): + if arg.startswith(""): + effect[i] = arg.replace("", get_asset_path()) + params.append(param(data)) + return params + +def convert_tensor_encoding( + tensor: paddle.tensor, + dtype: paddle.dtype, +): + """Convert input tensor with values between -1 and 1 to integer encoding + Args: + tensor: input tensor, assumed between -1 and 1 + dtype: desired output tensor dtype + Returns: + Tensor: shape of (n_channels, sample_rate * duration) + """ + if dtype == paddle.int32: + tensor *= (tensor > 0) * 2147483647 + (tensor < 0) * 2147483648 + if dtype == paddle.int16: + tensor *= (tensor > 0) * 32767 + (tensor < 0) * 32768 + if dtype == paddle.uint8: + tensor *= (tensor > 0) * 127 + (tensor < 0) * 128 + tensor += 128 + tensor = paddle.to_tensor(tensor, dtype) + return tensor + + +#def get_whitenoise( + #*, + #sample_rate: int = 16000, + #duration: float = 1, # seconds + #n_channels: int = 1, + #seed: int = 0, + #dtype: Union[str, paddle.dtype] = "float32", + #device: Union[str, paddle.device] = "cpu", + #channels_first=True, + #scale_factor: float = 1, +#): + #"""Generate pseudo audio data with whitenoise + #Args: + #sample_rate: Sampling rate + #duration: Length of the resulting Tensor in seconds. + #n_channels: Number of channels + #seed: Seed value used for random number generation. + #Note that this function does not modify global random generator state. + #dtype: Torch dtype + #device: device + #channels_first: whether first dimension is n_channels + #scale_factor: scale the Tensor before clamping and quantization + #Returns: + #Tensor: shape of (n_channels, sample_rate * duration) + #""" + #if isinstance(dtype, str): + #dtype = getattr(paddle, dtype) + #if dtype not in [paddle.float64, paddle.float32, paddle.int32, paddle.int16, paddle.uint8]: + #raise NotImplementedError(f"dtype {dtype} is not supported.") + ## According to the doc, folking rng on all CUDA devices is slow when there are many CUDA devices, + ## so we only fork on CPU, generate values and move the data to the given device + #with paddle.random.fork_rng([]): + #paddle.random.manual_seed(seed) + #tensor = paddle.randn([n_channels, int(sample_rate * duration)], dtype=paddle.float32, device="cpu") + #tensor /= 2.0 + #tensor *= scale_factor + #tensor.clamp_(-1.0, 1.0) + #if not channels_first: + #tensor = tensor.t() + + #tensor = tensor.to(device) + + #return convert_tensor_encoding(tensor, dtype) + + +def get_sinusoid( + *, + frequency: float = 300, + sample_rate: int = 16000, + duration: float = 1, # seconds + n_channels: int = 1, + dtype: str = "float32", + device: str = "cpu", + channels_first: bool = True, +): + """Generate pseudo audio data with sine wave. + + Args: + frequency: Frequency of sine wave + sample_rate: Sampling rate + duration: Length of the resulting Tensor in seconds. + n_channels: Number of channels + dtype: Torch dtype + device: device + + Returns: + Tensor: shape of (n_channels, sample_rate * duration) + """ + if isinstance(dtype, str): + dtype = getattr(paddle, dtype) + pie2 = 2 * 3.141592653589793 + end = pie2 * frequency * duration + num_frames = int(sample_rate * duration) + # Randomize the initial phase. (except the first channel) + theta0 = pie2 * paddle.randn([n_channels, 1], dtype=paddle.float32) + theta0[0, :] = 0 + theta = paddle.linspace(0, end, num_frames, dtype=paddle.float32) + theta = theta0 + theta + tensor = paddle.sin(theta) + if not channels_first: + tensor = paddle.t(tensor) + return convert_tensor_encoding(tensor, dtype) diff --git a/audio/tests/common_utils/sox_utils.py b/audio/tests/common_utils/sox_utils.py new file mode 100644 index 000000000..6ceae081e --- /dev/null +++ b/audio/tests/common_utils/sox_utils.py @@ -0,0 +1,116 @@ +import subprocess +import sys +import warnings + + +def get_encoding(dtype): + encodings = { + "float32": "floating-point", + "int32": "signed-integer", + "int16": "signed-integer", + "uint8": "unsigned-integer", + } + return encodings[dtype] + + +def get_bit_depth(dtype): + bit_depths = { + "float32": 32, + "int32": 32, + "int16": 16, + "uint8": 8, + } + return bit_depths[dtype] + + +def gen_audio_file( + path, + sample_rate, + num_channels, + *, + encoding=None, + bit_depth=None, + compression=None, + attenuation=None, + duration=1, + comment_file=None, +): + """Generate synthetic audio file with `sox` command.""" + if path.endswith(".wav"): + warnings.warn("Use get_wav_data and save_wav to generate wav file for accurate result.") + command = [ + "sox", + "-V3", # verbose + "--no-dither", # disable automatic dithering + "-R", + # -R is supposed to be repeatable, though the implementation looks suspicious + # and not setting the seed to a fixed value. + # https://fossies.org/dox/sox-14.4.2/sox_8c_source.html + # search "sox_globals.repeatable" + ] + if bit_depth is not None: + command += ["--bits", str(bit_depth)] + command += [ + "--rate", + str(sample_rate), + "--null", # no input + "--channels", + str(num_channels), + ] + if compression is not None: + command += ["--compression", str(compression)] + if bit_depth is not None: + command += ["--bits", str(bit_depth)] + if encoding is not None: + command += ["--encoding", str(encoding)] + if comment_file is not None: + command += ["--comment-file", str(comment_file)] + command += [ + str(path), + "synth", + str(duration), # synthesizes for the given duration [sec] + "sawtooth", + "1", + # saw tooth covers the both ends of value range, which is a good property for test. + # similar to linspace(-1., 1.) + # this introduces bigger boundary effect than sine when converted to mp3 + ] + if attenuation is not None: + command += ["vol", f"-{attenuation}dB"] + print(" ".join(command), file=sys.stderr) + subprocess.run(command, check=True) + + +def convert_audio_file(src_path, dst_path, *, encoding=None, bit_depth=None, compression=None): + """Convert audio file with `sox` command.""" + command = ["sox", "-V3", "--no-dither", "-R", str(src_path)] + if encoding is not None: + command += ["--encoding", str(encoding)] + if bit_depth is not None: + command += ["--bits", str(bit_depth)] + if compression is not None: + command += ["--compression", str(compression)] + command += [dst_path] + print(" ".join(command), file=sys.stderr) + subprocess.run(command, check=True) + + +def _flattern(effects): + if not effects: + return effects + if isinstance(effects[0], str): + return effects + return [item for sublist in effects for item in sublist] + + +def run_sox_effect(input_file, output_file, effect, *, output_sample_rate=None, output_bitdepth=None): + """Run sox effects""" + effect = _flattern(effect) + command = ["sox", "-V", "--no-dither", input_file] + if output_bitdepth: + command += ["--bits", str(output_bitdepth)] + command += [output_file] + effect + if output_sample_rate: + command += ["rate", str(output_sample_rate)] + print(" ".join(command)) + subprocess.run(command, check=True) diff --git a/tests/unit/audio/features/test_istft.py b/audio/tests/features/test_istft.py similarity index 100% rename from tests/unit/audio/features/test_istft.py rename to audio/tests/features/test_istft.py diff --git a/audio/tests/features/test_kaldi_feat.py b/audio/tests/features/test_kaldi_feat.py new file mode 100644 index 000000000..4bf17b15b --- /dev/null +++ b/audio/tests/features/test_kaldi_feat.py @@ -0,0 +1,56 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import unittest + +import numpy as np +import paddle + +from paddleaudio.kaldi import fbank as fbank +from paddleaudio.kaldi import pitch as pitch +import kaldiio +from kaldiio import ReadHelper + +# the groundtruth feats computed in kaldi command below. +#compute-fbank-feats --dither=0 scp:$wav_scp ark,t:fbank_feat.ark +#compute-kaldi-pitch-feats --sample-frequency=16000 scp:$wav_scp ark,t:pitch_feat.ark + +class TestKaldiFbank(unittest.TestCase): + + def test_fbank(self): + fbank_groundtruth = {} + with ReadHelper('ark:testdata/fbank_feat.ark') as reader: + for key, feat in reader: + fbank_groundtruth[key] = feat + + wav_rate, wav = kaldiio.wavio.read_wav('testdata/test.wav') + fbank_feat = fbank(wav) + fbank_check = fbank_groundtruth['test_wav'] + np.testing.assert_array_almost_equal( + fbank_feat, fbank_check, decimal=4) + + def test_pitch(self): + pitch_groundtruth = {} + with ReadHelper('ark:testdata/pitch_feat.ark') as reader: + for key, feat in reader: + pitch_groundtruth[key] = feat + + wav_rate, wav = kaldiio.wavio.read_wav('testdata/test.wav') + pitch_feat = pitch(wav) + pitch_check = pitch_groundtruth['test_wav'] + np.testing.assert_array_almost_equal( + pitch_feat, pitch_check, decimal=4) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/unit/audio/features/test_log_melspectrogram.py b/audio/tests/features/test_log_melspectrogram.py similarity index 100% rename from tests/unit/audio/features/test_log_melspectrogram.py rename to audio/tests/features/test_log_melspectrogram.py diff --git a/tests/unit/audio/features/test_spectrogram.py b/audio/tests/features/test_spectrogram.py similarity index 100% rename from tests/unit/audio/features/test_spectrogram.py rename to audio/tests/features/test_spectrogram.py diff --git a/tests/unit/audio/features/test_stft.py b/audio/tests/features/test_stft.py similarity index 100% rename from tests/unit/audio/features/test_stft.py rename to audio/tests/features/test_stft.py diff --git a/audio/tests/features/testdata/fbank_feat.ark b/audio/tests/features/testdata/fbank_feat.ark new file mode 100644 index 0000000000000000000000000000000000000000..73b061882a96cb1708b2fb28c11d58dc81ac4145 GIT binary patch literal 86596 zcmWKXRX|ls6o$b-ln}*02}wx-Q9+QHPe4ULL>g%XK~f13Q0Y=Y#qRF7w%%)ZcXt;y zcHVhAFK5T>S!?|@*$G+M(PLwC^%eRL@YQdzp}B%Wi_QuP3a?+PVR8O}xF)WO;A7h8=8kaR@lco~ycB9aE$RLAr*QVu#vFbDnE${<9~=e^%k_q_%1&0dM|n! zJQtTzUyJXj-ibdtE!azYp1*2~+l-F%ans;>QAhq9?2fOgAvvYp2@2?rSFI7c(a(kc zwj1Jl=~-cB@UuAXbg%3mMF^A?JHdeM^mJ%5Rfnayz7_C{p-Jr)Hk|B8Wee?-Aw zMf^XuqTL;3p4zBlbf6tmCv;}9t|88w4S64-O>CJt{j05c^WeG&*mO&@>8MEAfluOO z>I3n}`ilq{-i(0-3fwh$Bnp2tqgwB~c+y3clYwoB4Qj>WMc+j2&Nc)O>&TiZ?I_ai z%(C9yu=-`llQuRCI@1ToE>A?jp)cZdv-2YNRfQrAvjJ4{{e=y>1&Q( zxFs3crc8+FNVeTuQNRAA7h&yma9PIyCc**CgZ+amzBOizb%f5<#PAH<0`$J4E z&?IMo3TFeAQ9i4QvwM3=bGlJ)Wk_b0KE2IMSWqqZpJ#Urzqe-mlq=%Z$3vnl_<&e> z@SaFI_+HpJd=ghIZ;65xXT;+_Z-l$}q z!a1=iYnNCy@32twxFQrUT@n-Se-^z%eu^RQ-iho}m&C{&??wH`<|uvnAyl=SbID(o ztuH$B@6=92e(M6gI`D2@R|W@lqsJ(79<{aMV@yX*w*4$r)?XA)M$QlsS^I=m?JF_1 z?;UZr=CfGgtAKjRH{ml*k?l&KMXi+*Z||ux`FUIPCuwkPk}eCzbS3b1S9Yc7QTf@7 zm%D6edr8)3xf+)Xe~5pd-W6kC-4vYyn#9<~CgDH!rI@GtO1xb4Mf6_Kg4WaDiX%V1 zie)=n(rJ+r7YbCFbgCU6qE%V6SBrFwj!fyPgR@+hLm!Md5pPaRl`fGlKZ!%3H^hHo zXT|q|^CJFtbMz0lg*M+s_Iw4ruKX2e_e}v-mmS}!$#i~w6uQSEgdMw?qPxcujzE>M@`hf)}mm70bs~gj9To(paPsEZt4@F$bGdT|waLoEF z^gn+UKYbsF+v}c*Z?P}Lwd$7mUr-{;OpV9W+LBeFhg+mJ?KWz0M!yqh0(9AW*O-(4 z+R*Q<4Qrj-(d^_)k!kr*EY>(KS{*nqG#ajmwU=99eytgSi@t~z|NRn}4Tj~}#?C-)E)$>BX_iYjP=D9eL za9Pyvcq;Zgd=y26KgGXFzr~!Puf({yuf@ZeN}PSH%>LC%lzO)ySXqs$9vVEW)}(%` z8sD{bQM0z->23?gY&Ye6sJ!=o_r$(tkHn|9x5VlT7ln)K3(=^e$>i?MdHMc>c<1y^ z6ncIXRdy;Iny5m$r3xM!x{y1q6VbanlX0~(D@N*5J<^DL*#oVc8xxV&odIX{iF*52 z9EepW==FCI-{FzC)B3H*yQ4;oxf1p+Dg>&25Kisxi^%FW+!(9Q)TxRX+-lBI<4*XU zmfunK*2qGzp|2i_mgirIn(`Jr9`#u$ zG`l6X?s+acG(HsmD_cgCL7t{IkHU0Nn$(p~z4U0Ipv{+`26*l_!@bay zT~9R0)lxtwPk|jX9*K))*TjW;uf&I`r$o@Vuj0MoGhwx=N!V@uC=&fuXldMrH)fy3 z=i%zi7^lM5B`S1W*oCpSI_S;R!zI|7-&$5Ub~Po-NP}%YU&Q2#3jFi%m>4$Yz8Ku@ zn^@lBiD+k}z@jc~u(SFi8tUE%Cj&*SpZpdVlHZA+TEB#zjS9~bx)86U%l$rG*)q(K zKc`GF*<-Cw|Gf)=&2Fj90?>?>(Wn_pcc9N`WmIa^G&bA{;ge7bQ3L%G%l6kaf9XBP{?@2fH4 z+Z!>VS4$41HY0!icX4sjGofqoL&R@W;@bd48s>f%x^iZY_fsISsTEr9Te3euowvW$ zP+Y6UgOy#F-cOsmL0b6Q7;t5>5%ujYsh#{wXf6061_!AyB}_}!x!#TrolaE z*V!7~TkR#*x+rS4{}ij+y%PER-w2COZ^fB8uS9meA|3iFQzGcfF4rS{Zg-x(F=t~NE8cxnW!;LWV*R4# zJUAk;Ws5svyU9c0J*gRO7OJB5>92To@2j}>=z-||=atwrSe2U(R9N?{Ef%}f8P}sN z&rfyW=+Lh86CK(5P@g;hn&UXYn9pmK*mUoWuy<=tQqw2#dFDH@v+}JNcJsSv%9TCF z?5{X1ubu1pPP~ZzB8q3K@M^z0#_QX2VL(SlSZShR+nI;+IxhqL*EoNp0sX>qRwrRbYrV%{PtA5 zKh}zWue9LW@}DB#_q#Zj`&HaKr^tibtvH$gLv(RgBC1h7e?)t3Z8V@ygAp6jOb8xl z!0bh)G?)1B`H)Xyum2fg^`SW?`tOCfcVDcZAhBTNJ5l5HLnKaa5*_dT6af|rbV&Rw zwmkePu3k~5eTq6m?{%P6P8-&EX`;PMn<-~anc;23=w61TF7Hk!Z)N7s`zgBAD{#=U zISUtE6~jV4ic9;NA$*%rBYVO019!#mA78{q?{DJa9*Ni2{SbYuG#GKB4gcNKr2A(B zq92*j*}#ltL(SQ(W<^A+s?+YJ_&WGQNjZyD~=E3GPDJoOlQGv@le~X2s5@+sEqrF0FI$l=8>4PS9 zYMmL;Sz-r0eO76AA!2AZEH|0)%cnaZZ&;zFrNfs0&ImufCZW0HlW4K?iI`IOSlpkd z#I#Y(7}52&uvU=0Wnm{)DfcAA(h`eM3k+=Sd6?ac=zr~4xy^#*JM`$|V}tIQ-b~+Z zM{J!9%Vu}Rbmwmx=Eo&~?5dTXb*WR)Z-+m`DX5SQDKAaTQ1<%By z3knntZqBF_RTi556*`jteUJDm4o*;I=H_+`h*PENRWmmIRVI3r9(GrCnEcKN?GuL7 z1{pCW&6F!v#_UjOfo7kVqPF)taiy_QM6bRt+Mjj8SAxL@okwR`{g$cd(j59<(=isSLe}P9d5rc!*R2zDEolh4>3y4^$n+$=p?Z~p41ic zE!wi~ff^>iI^yclfon~jnP;ufoOUL-!jw)z5PX0wEiRh-SkELlr!FY)o*cR^-mEQ_C>^9QDw#x`OXV;Sb0l}y3bvBm1TtA zDm|=Iy7T6R73~L{7b}ativNDJMD4{r5$>wUh7PT`KjWA9R;t9jF29B6AVu0py`*Z} zcd_uqZK2t-6`hW#acinNg^Hb7xuQL1%yelZ_r|D$ra0zXG3UD-u6H^yH`J7fwZ>c- zt4&~qCR?l8a6I*9vC-tiQ0!z~V_F!c}I2$V}`Dk0j z(iKxlxLe6Q=LjmN_h-C*Pb%Ly^KqXyp8xu>Id=$gN+VFJam7;d)Awsq+2C5pv%y0d zzGnz`HbxNdZBK_hTk5s#*mp3H%LP@WY%b!k$8?fr)Kb|inrX!Y$i3=D!7FcO?T=uL zRy;iu61WkSE^$sE3Fcl@DHpM9ZzWy>qUAlJnX)5^Y1Yu-=*YU?4s=&@=H%cqrv5EO zXZu{Pbeh537g4N?cH*Rq6WVM2&{K_Ka#1=XW5;m$cNX`WC6c;*I0IMZ^8NP&_TES( z=|e2a!;&fO>Q2l^xjqfB$9)jLx#l&v{8vVg z6)Wlg&oYkoiDAr=L0ohSr-xk{BR8aSA}E*f+(sy4n940YiW;rLCuVkU!QX0(C7}7J0ipVI;9;I>r!&v62 z6)^u)A>Gc7!@ffa=A+ZNXi~;!ohjryXHuD!L%LxR7A|pYRU1WZus15lhw=Wu$wX|e zPu%hIKk8_#9;#cU3a9Kp7(G1&f!L3dd+ zmOFDf*QXTIK}DE*q+@<6iAv@1yx3iidT}xZIt5HwUByq^EY|JIq3~`vm91iUx4aJS zRN*>nDFu_~@-evxXR8ssav4tHk4P*%!`Nt(M(ncjlrJbJY)1h%!=vdjKApeUb8+~a zP3!Cld}&_EbcH;w8jmF_IvPjoWW4v*@y?)vg=^;V`t3A+J<6fAN(i5(4#)CNx}1#( zXef^0Kwv&jgXNy{7|CJvAVO-B@O?Xu-9^bnJu77WpekPGXCPuT*?TL5ob)X2=T0R| z)P5RI~)r){6el}FR5 zyIW1#`so<7ts`UkDE_{8X2GtZ7~jprcVhsre|XS8GMo{S(dc&em!4>GAN3H z;ezc!{h0s4m+9A|n64AR{lyOSOtvLLX()-$hVtq`G=pEKlYJ_Py7ykVD);8dph~`$ z%w?ljJq5rCa+9kv3)Z{|W!vIDp#}Im5U_Qi(==MVxTOEkGv76)?wgf5K;iTt7 z$U{MsPY^W*v0QCGfSbkr`0uhUg+Vp6&tHJJRm+@fH5~LU#vmn*nxj2ACVSyld9C8+ zy|`l1lLN~K5tcWUQ9WH*V`j=n3p*AB_^@rCU{k6u3wjOVd!jQjdG^fzYR2RH)l$!z zN9Q%wBrU8Yvuz0`?onL5?SS1xXTFBpF+}2ZMX3R#TpY-(^Bi-35ANP_;3gy-M>DNS+0u)O)_sX6@McZpFw*)vvqX0QV;%aTt64yj zO+Br@7cgyl2A>;}@EPsKQB8?+yR>IYfeq^UHZ9l8i)N&4vf|(4W`wxd zGSbqDv2x#}IP~Smk{)D7x^nhnPhws~;yb^LYWr-S>`uc%B;q>G8;?VFSZLZZ^P>~1 zH3I3p+lvJ=yqNd~W@Qecn?^Jadg06|3}C|}!DY1}9IQ%b$HoE{*%wi+UV#0jFno@c zppu(Tol`oOlM@Me5rY3gFSef_%Jt*J$x$t2{=;lutdn!%WHb*=$8&C331tUM`QEV% z)g@6FeNAEWT`b^%(=kR?;9Dlvsh}daO&rv;zXy(k^ zM*&RT>r3AlKeA68=>UeD%ZO*Szzhw<)o0#6TB^CYZ+z4PXwFn|RP*=Rtzk2SA10EJ zr!IicZDX;&UWS)#J@tuGIn;6r=Z_R~%WN8!el?^loJ?X&HaRbYI9lG9{Y_3>UE7C= zM_g$W>&c83{=_>E)1G}fr}e+$*YWD-3||;69>~+)r-*W_Pp)vL};Tm`di(2xH$>;)x{i~P{Nd% zW4Y|^LqGFjtoF^OSKVm7o5gZ5Z6sGlmh(1nI^AAQ=1ay@=0}d@-jGOwZn-cp#*PGW6Vgl+%OR!HK%k3xLZ1Rlf(#Hbg4vt1)Y!Wx#kHo8M z1*^7C=Xg;qXVy=}^Kl_vnxZ)t)gQ}agV-~^2ROrU?Oblf`?)8kJm<68T3^hYdO{qs;6F_z69nY^1M zv5I{e#d%Zl=u*o}t!W&3Q;u#(4yUXxW3zW)9=Zm>dRp=d-k9DhoReK>KDekvC%q zj49w&K`}Yrq4gOS4g*pFvP{1t>N!^jRKv19Ld6R!?F;iPWxQ={!E3 zR}ud7(~z?wDvkliQ^;O4l-1Au8Co5~_@E57-Y#X}pio{}$MVKFhi8{k`PeZL1BEmq zR#$S_bp|u_CQv;pjp+Mzu0n}*{k_+E%jMkPy+PbZ+bm}@(VX{@Uwc4raBBSuiT zKNf}JXm&cpk+d@bZKYADRk;(i%AN_^oN3j|n}0e*Gd&`X=j|khiiu^|=yp=eIF8H_b`W22`Nov+BA z@XLo*&k`BhFA2M-SgK}5v8Evu)%Xf7*q2bbKaZA06=a?$L;ZaPlmA9ZZGI31=|lN% zU>M6RMqyu_$*U!qRDDciLxLNr$Lz>B){Az_C4QIdJ>zvUYbV6mSP7cNvB3&kTV5Y^lOe8)$z+&PX_LsMANBM$X@qge2%gk7x?=yGC&tc!Sh4e}z{ zO7fsbLwGXSo#J(2T#rnpuzj4w?*g5{FeciUoiSdN?hd1%a~LC+hvIUlkjI6Ul+UZ; zM3++T&4|TtZXT>k!2f&#Uq^?aeNS@kDZMG*;>@yNzFhz5!HrI`#;+!GF3yvwMt*qJ zMUWXVly&OC#2$jR@lK%R$U_>rI88 zDT4=EQGL~yu}23p|b~c~Sm6ijUY7)Z{9XHJWb;mZ#pJRJ% z$QvK1{V5O#BmH9)7nbL#YQpW9_kZ9ggkWEEcrL=6U%9wr}!4o|7d!F3sV3R5Xh%<5=?}p6*){7$CXq>x>MX`=^obT8-=Y zdh9pV^FE=TPWeu(=orB2g?({RA3$QQpT5rJT%(J z5;rM;jtZfuBnC5~O)gVA$$8d2jojl!JeyL=;rpfhkbSRpTn}tBhOjKW7h`%m;Cf&n z8Kr~qb%=qqbONgr`PF|6?KD!jJu`uOpF@c}5x^5ifA($&TM4;4;V=9it3-N-a63)B05Q-lR zWX>ixjLQcwab!g4}5Z5<`&M+z?S zqd31Nk$?IoQa&aPoq?0NtXae~uX39GO2Kwq60P(`qGFMR-qH*bP%29v(s z8TTDlY_2wDQKF^f{=Oui8ph1MAzXN$i0u_Qe=bMiV;siL8(GY2sw41Y3CsRebKg9h z{`$$%cT8mEfEfB}jKQk+DD;&>d9rpG77^Asj5XuHRWq7RGGmXaNWM8jKP2$wRQV2Mzl$fkn@cV~ zF&uaI7;^mb$#_>ruIfzAdY1Dgw}{w}rA*cuORFbRxBD?1k1Yk<6GiwBAIPE>4h;S! zX!g^duY(-roV20WKi=#%31sK90UYlT!qGFss5>4;!-Y(I@+)wjH50?iGU7uf;AC3L zj;CpC5~1w>6~@ttg*fC+q~U--@rXN$u`pH7nRSDl@Lgid*HHs_U+96&IuA^`MDuQ3 zFshy9ymy!Y9m{#Vb~@T^%DHg3l!Uz%L@LO>H!+dQp3!7Vy{oz6IP7`_Go;avX&TNL zZSGA*w<#^w{Uw`CS{`fDw%<`;8veKB#4)kJ9L z(ioOW+rBAONo{V=kSr!n3*&zGq1d(;ge`LAx{o_g_uA8#*`J+b1ErttPQi}|rdkBh zp=uQEK1|?|Sw3FtD`>fXB4Z4SSpTS;tC1OGduMU;c?Rib+3eLAOMFHYPA!IUP~V-a zx`L{G{aAOk56h+YS~)s^g$V;WT^UBUh9CV7B%^mh>fWLGC}>q;<5|q$)Do&J(ny`- zgQa02Mi1gqPR${I<2Y8ekEf|T1kbAuH12mI^=2QY8207s87DU07|gCQa=pKX@grv- zQpuF~Hi`NtMO4nKWnEJlFV)KV+cAkUjiFq8Ig&g3Vi7^9+;A(RbH@~%nj)Dn-igd8 zXO!*wapk`Bva9;iPGSLr3O6(dg>!hF8`o_{pr}P_g}cb3JVKg4u#sI_r#R@T@9((F0;0(+H~3NMp3Po>~Z}#^vwq~B^NBN z3$~pbf>A*(hh*JsC@EyAb1@5Ajlo>ipE)MMge?qY>u3ke+Imp*)16sD zoGA_I`C~;FOC)UrE-fE&0QREx#`B{RXI$!RLxV(bi^E~L23B&+Qx(v ziN*}+X2R)BMugon$NH=`jxPGV3YK}QeI5C$r^VD=UAZ&JkkVueUOzIGI=eX&Q%!Ij zWrz0$Ywn*+q0`w?vWle!-Fi5^76$X|bx&+9Ea-O5NcJfs4*YAyUUdV>OAMG{)`9lf z?QoXazBwoK*wL0biDo>T-eW!-3Qw+?6S<6vg?8^&1I z-mKeZ$^AX1Y>=7K0~0JbD))wKZ+%QHKZ|xUJ5g5K7WHf`6lC`9#!^$BwKrnd4` z8^{@E%su(NZ5CN@VmK6-N<4s^MLpa(-_DSU?|PxVuNT+LGzcv+;U5QW_J8d{db}FN zi`%lsM2Q>eYHat>Vs2A+u0J*8?GHWX{xYWFw;6AxUlw^ymq&;D@KDVYqut(2f8or8 zdVL1XvB7GN6*0;>m?g>FZ3*LRhP1?vXpMmatMx$ zps!vwJCd?!2u~s@C6Mn6{MaEeWW(ZQQXZAiVp%mS1L}C+X9y2_jAT%SJ64j*70i#O zx8%f?&)vBvvDBY+BdD|+$1my0UDhi`y>U2YpVL^ldICM9X8JZjV&yiG6vRiOxUig% zuTxQaDLudV1!%MsOjOF{uSFs1>*8@AIF#{={81P$`@;hdQl<9e_pp?kj(BfFL^7N}l>5nrlT7yb2sb^K-8F>xFRq zcRYRSWIcAurkRcdhp(0MRihfecQd6{xtJu=A{1{AW0>S_3l>(h_P+|Y&ycwDUIfN< z{YW(T=S@f?Z!@FWJ~DtTscZU{x^X370N2J0VZX%CXDxM47uSC$d{G>t&JuqPGn z_T)7=FmHV%%_<5ho!p(H?)ChrZ=lEYX>8J7f^SI;5v{6F^7hB?LLfKNBJg+-#^y8^ z!iV&fp0@?Df1Idq?Z%)ULHt)5K;AM(=KbqK+FJ{3bHdTF&BwmNg`lb_Y}!793g@XD zFkUQs&?I!kByRKzqU2ZTw-A0qR*AB%F4LpjT&EKL1%H5Xo-hMK#$JStwD9ASo=4Mh1O(Xs2mDGzE zU0e40I`epAU+j$gVfVH_Vt62p-`(+h@57m0(l0p@%HrASn4NUyjbj70!E*>}+rX{K zOE|Sk`cn>N_J?DOmSF)j-t2gamg~{x@CpTY6 zuVhU>)a5Ks{xp)rMSWTA(tzQtIs6QpO#GWU#A}ps-Yt*0iH>}>^P;%SPi9{{$ed(| zPPqk#PFT_9w*?Ksmb~#F#HQe3JTiA>xx8jwsViec!$>fR<#J;$B8;Z~Y$Y#vjN`7q|!==mPXg$W2c}E8ll{S=LN9FJP zMl_q#m;95q%r`P5R?(VOcoJ^p&;9Fm=&bQX>#98}za%bO5<;R^A1r%Kr%V62Y_QH{ z@YPDP52y0dd^CmMdy{?Fm)0ACn4Zyx(`wylxz7Q`&OIo3+YRjs8(z(Xb~*!TEoblD zUIWNC=t;l*fmnYEW6$H>oM_iTM#nk4@l52&ixPUiOGD{l28UH#(Ngv1hgTrlBOIt- zu1stnGwP~(FgL`Qk`N0Vm&$wjxnVoNoZ}X~DfEB^GF#+Y`Oggl$hJ(`xt>n#E3_bV5Dpe{%^xoz8`UHoUwo^SP^gvTU`? z0{g3?drFHhR-JKgFl3lKchFs8f^HWq=yJiB{>jD^KQrf4cu(r5I`OodIqOm?7?CrH zYa?=4XFmyJbIH4pMDWYhL}s#Nrb(VP^O&zi)H`K*^;Ko(+fHa%>#|Ox8y!N77Y%g10zJ82y+bY8e!~W}HkLe%oyd{l zEBk7HT&L)%umXE)aXQ?PwIpRcEa7f z8}_|)=>3l&jtMf;`^}tLp=M0lZovCJQY*_T#KjwZ)LJCHWhh@1n4gwEIFkd`Tft2MUl>?fbIe3y znVpX0U9_NB=ATNPda*v%iwm2AnVV@t`u(xk>X-5&G#RfwMFhN!CE5BG#=3-m>;}8>M!hs83R# z3}$KMOaAT7&GljY-8+;WKL?`j*%dKJ@`N^q{B+l)%O?%isJ6oDfW(JJ?Rn;_!Rby$ zY?dD0gxh8)^fW=QWe+TqdrHmKi^>C?*xfmWnQ__7P94l_yJ&v=@#Adoemt?&ljncB zuzIoq-<3Mz@1etSla8G0qAqb*OG0v#DGt)1V2n8nj_Gh@qA>&CT4HzKQl6cVz2CeK z?cZeLq@RsdrwPm%G@1;ZIG!r|AZq*Yx}+;>3$?l9(~+v^)|CBeNAFK+GOyE$YBzNr zckV{xDO1{QH6rG-F)lwWQ26UWN=jd*ON}q2T|SE5HIyHnOIeFLytUJbzMYNfra-P= zu!Hl4jC(ILkcujt@Kj|;#uG8-*Dn!PDA%P?mzi08NN~3xS<#$bAFa6_(Ob?q7ba9C z(jvJM`cLD*$VF%*PNK%N4C4fuZQ2{jQ4?8TI@bIhugjK3Ws;p`_Pa$ZtP9mylcq_& z%m9ou>BWup5*KHf@bFqs3@RNt+-xx0Ek={`q?)KNGx*1EG3%C0<)4`~*e1JjOM??KB&HyNB^W2IpydGrhiYz zbz&|Ntta7RI1SaNIUEk0!?xG;v^`nI%%l_|Z~O9Mv*6K%eliEA&FQF)v_IPphZbFF zTG^eKVZrjuh4cx_JQyu?CKs8r+cq|w+kPXk9h6UsNiC5xs%c#^iJ2Y?S-z)1&ZlD3 zWZqzXVid>9edYNAZx$7p^7D2l$+L9uZ6j+%+mWNn{=A$m>-n3&_T&KOduE~ba0~@Y zaw&<(W8|h9E|t~sBz=a=4=v@$(FPu`C}y8hDL3)cjm zM!IQxu()3wXauqSs28>?hT``#i^3Y2Bbz;e#)=d^{gQbWyGgWnnZoywMYLh6T$c*U ztt#2Ee;T#2uZND0;BuG?&gv!QAIgQ^L=F{tWI;?>uzw4QIsEn)oCUM4Q5t<8X*z#-?Z*O|@=&vP@Wu|7? zLN|{8klyLnOhQ${S^3$UoEvdWTOELv{b*8-=TqC(jg)Wk)Xb{p)sQ;uUe0FUx_T;K z)}TNgze?tFBfNnTnd4~{9m?1ny(Rv!lV`XFkTE2UGb6K@{Ym2dIr03sFqS>WDXhDn zjKYT;49-bEAt#3(##OY+oJ8J#^%Pmx%QIn<7;IfhP4Y~BSS?_%WgTe?BDf&?%#(F4 zoYDb!x_npRi)kVzBZ=kP8XGx7e55IX)k{d^9zY;c4!Qy(EOZ+^7f*Tb){$7so zj$)E^CMlKy9J-iG+A6LSoV(9~zC$ea`^y5xQ|5Ij@ z{#_b~h0IX}Zw};OaxNbgtLPV7&H|muSp2L*>1;JhZ6=VOUQ9(`Eo)<@F+8J!5bt=> zWe?U(Oygs-a;js;qqQ=fx%V^Vx$!ED=S=3TUpCp@CNg@V7n8@PlW`%R-)qZpsI4UD zbD7Mu7O_Wi$7xR|vgk(*T90Z83#p-p%o{H5=0RzfSk_vNWv}}L5>*oE7aUHfGkLTP zok+_jnI&s83h%rSbZe!4yr7ab|+3-ws^~bSmpS+fGJSB0X*)w?@ZmlB8Tb_YQMHHtia%i|)EYCqyqbxDd zy|Xnk(^1Sz?;Or~jKd;fB0=McAk~YL7@?b$1TibJLhRJe6gsSsd#d&gJehud7r|gJKPj zXH4d$oDCIQQkgqAfy%^OZYbvP*e`_??>wq|WMRIcKl3{e;H~7GKYC>HWkw|OfE{j) z6ZvbL#kdg#1nezjd3r3tW3t(jAUy%CN!+?QiLYPBa@Kbg|GbE1nNlo^#%0h_jO44s zXm+p8qG*fMMy@*ZWp@ZIYe&k=eIO=wk+|;4Bl*cFE|wPJb1sij??WkBm&c@wat#(2 z@kTw14*}_nXpp{iUNEjvUK}6ijha&^22u+d`Dr+3#>*LfydQfcCiIV|mL;4Bk{g~(OjN|ft{4jK8v8@wo)fyD&wV~@{d0y;-Gd(JM zqb9TBQ=jx>h^x#gzL8pmnFH$E2U43GjfG7Hp0nc7nw%ofD5S8rs~}g;iL&Po+=&^0 z<7-D6h1C6}XYZA%Ew#CBZ0KRikT6GXMOa}JXU~nDy>Y$a%*$Z|`LooI74K|hj%y%& zRz@)~P;z&39~$QP@%XF-BWCyJ!d+XcS2*$Pe~!*Ntm?Gu!gjaVih(GKfTT3sbc1wv zcXx+?fPmfI9oXHYj_ugpIy&PxwxfRg{r;TmV(@Uz`906xYu{__<+=n+0CmxDb*ekE z*0euAwhrf_=&7^sE3xe5L}vY%NI;bqrD+qTj!+hFl0J!>+;P!y<8ZpnxVB6pyVitl zjTS6Fr-@Rf8BH>0nSaKWkVm$ROfi&v0vi_0bmQ(RZ$`9oVCD%U)b7g9-g3cjc@&+W zNDrBlO81*%(1>(mi#rrAv_nxeomH327_VhPC*faJPuue1raKAaycu}e7K_0q^4)W! zO_>`@hPd-!vy-sLW-Rcw!#Xe-C(kM_=S}0%-8vfnG2!7-FDegNaYO2WEd#vSk!QhM zXL%p>$1!5xByQ|B#KcRDGVw!cy`DhjE_;6Z1aQ7a=G9%@+4#FP>)Hnq`>~uyvzy78 zIiKz+^XT}+h^#7^WrdrN@Ku8WqD$H- z57mxI;%`del4y#vZwGV7E{ni*4fH!UpX=7E*;=!fJ9Av9IvC9SRrZ_|oonqJUD_-) zWZ9i@ycJD&Zlx*F^JK>L)*ip#98v#ag}y;Pfm=makaKE(a}uf*sjQq<#m*lyS>0nb z$sXHSzkD<222bMrd3Wk|o3b!Qk2SsIdHNvwv9l&>i`8i_`p%VC^7)mT;gje{(^#4J zt1t4cm3apL<(8w=wT=t- zM1T2J#aF|68h4t~xLrQqTg`Yen;(^{Ipx+w5MDTJ=d`a`$Q;%oJ8jwTzZ)wd}Y!flEUgIsbDy-4`sx`uu7x zCRP)_FIHw-VH`LRN18<cy2j+Np^NZ%!aKIKO=9U%Kjt3r z69y*@cmGUQ`4q8tTDi0l6qM&^tDzM6^lc-0Ny?yZO`Cv{4w>Ixbr;!r<^? zsTKdn_N4L5K8%iCh4H--$IbPj^zirLd7T*p#@WyuVawUq*5q9cU`UcDW+$C7TOY>n zodYG)!V|@`91?xQxq4$7a}}!4p4A}UvpP;h#_(Dg%FVV>yuT64=fqGlio7@+;DG8K zLwc%%j+-7|2AE^6;>NiVlbIntr77`2e9dv=@%%tM%2Qc)G+K0@M(LNPFkbY6l%G@C z*f&PbB75$+c=Owg6k2OXGiR#>d3~)}_*$Dy9Sym=#*qK?Owijab7iSb+77hE=D7J7F{W8DU(<%C_k8$P;fl>amJA$bhPMKY()D8XZ{AG2=fvXJK)SvP#CDX8Fg1Rd zSGe(Jn;V7~-RY1V#bx16YAxlw36u9j^oPB|wX`qr#&UElUF17-;AsWMdx}sS8j8Yz zKosw|G3Ty3yP}1ys12v%u^4`MP3GylNS;Ima(jjk`mbWRH!OyOpQ`yjxsaNNHDnuA zGS(=Xj>4(5^bN!0VHHJFrtw<%k!?CL6rA%S_kkIHD=dghvSVg15Ahm$v0i5LpBto4 z{uDvs$#8Uv3t1Hx%E0wCm{sQCE`Ftcr-k$V7D21!K1^L3Mp$|sd#dN~W^xUhS7J%H zX+`&AhA0_WaOsB;uddr-*v)~%r|pF?mi~Hf42plm&@;b^mQ$`Q%&*|YrA$_s6v@mx zpNDUQc_Es`1=CPW3Z}BzvPSxtQu5W~c`Llr0uwuiC<$+VLx(X1HXQnF#Yxx6bQQg# z-7Dce6cQQotdchmtof`R&&Z!nd@&IIUNMkTJ9)kPeKgE<~FC`{(?8kxDtJ-YXl8#&S&|0cZDg^4K)v#e&yJ5$mSubF}?=}jr9_Kf8P zQV1=uXQOy722QVIm17;tx@X`zSNP=HR=9|c_SDiGmGzbk8s?SVR4HK?s|5_E%d>BNI4rr{_z@zM%vSNW*_t069OiI2E7F;;?YJZxRSOA}nU# zc>dXzO;mIUQ-zgi_BEFtWE`pkhM+Q}KQs0W;^|!_oYujjKMk-KhUCyYnTtC+5pv8G zE182`wYH=Xp9r$4o&8|8^ph?d2NE^DFKv{E z@YzI_>4A2ftF-0&Eep;{&)5EM4{plq8Fe|3;uFRw%eiU4F$q26A|_p{qWu@~m|CO> z)0@Yj`%&x`{w?dM4S8-8nfP`f3l{g4x_cN2zm(-%&=W05kHfj<46F&H(^f~`U7bw3 zZt}cbhicad`Z<;G)3cB+{Yq#&mCDvcifGLTwP{A97vmA3bYjV zCvlYuE4{>u^2n5uaw}FYj-tUhh!5f&>uQ;Xse$yIZ#?j75$$JtDl_}%@WC~TF@qEM zv_se;w<>0wE5gS!Ky)iTejOf;Nq+@me13v8X*{@F&2;@d6na)OX;~i4ZM-By zNBU$%VerHYb~-nOwqZ`pY8gjrqawpxHL3H`Vq}FoS1vly*W8x7ZsA-kiR1pwxc@)H zwYr#Kwjzq5XN$<~n9bN3#gfAk%Vte;4sR8{wov+e{Y)x1h7&x)o_$GUS+u@4Q%m|{ zH*px*SuR|bJEwaaGbWtz{|=ygw#n|6v^GH=W8#oci~F@)1QHK{GtBdk%IfNPV`8E1m3yDpBx zl^<&F%gNvvF1-n0?xaA<BG7|tg&jG%+|lG`B)&I%`ZE0a>vj!Z7{=>6zI-i zTJ0Z;aa%p+EzsfqSR=mLTM+-ZDQgzEuwa@k}8oH*DinBo;xnEoh5^+f=)1!Ok1FTnxl(?#F2#39 z8g{PP!U&d2u7q&h(;C=vFabr;Z#*h|c>Ps8>;@?~XT>o7br8od7t=eTkP*_y<;6(< ztL!7W6ftc1B3`Tx#f-czywaLd&gzu&yYxV-vkP$5oWk$J>R8{Vo=3__Tw3MA`H!wx z*ZVR%KY;_CV!0?i&fn(?IWsJmaK}Ux)T)@36G6gX@$y;ZV5D5Y_Jm@tv@c~zW*NHA zD_PsMkZs9TOt@ChrIxAW4vMFZ=)F^h`jU6q6W^IJbnX>~?|?{5LWIdyEv48nhObkF z{dW##$5iplhs(YpF!w>CRC4P&{bwdop%QC z@sK~y#T$6*b1057e@OXK%2bU?lv<*3)i2|y+=a(hM-putNnl_$^CQdfZdXEP^%M-Q zOl7BY4S$TUXVaQ_j6OPxRtvJR9P23>W++MDVo(>~gwyOeR_se=-S6cjO|HhpQ2ssX zFRv^JX2hsyRQl$lE1$(9gJP#pK%i)LyR*5hD$n5Ea3|Sy-#cZy3OQcJNA4$t& zSS2iNhH?p!(zEoQ7lXshasq`XpD$jho}!TK6JM`|)S8AvsyKVHjQPU!?_U^!yGK3D zZluGq2A*AS5^?^R%s}C}+D&a>T~Gtls~ZW}JO_`Zv#9PMI=-9K+5e`{ zG^d1#Q8kS8&Bf|gHXRZxF>I_QMJb6|;hWpPjU}LM9vvpt(f4Q}4m%`IT!v(wdl7@Nf=(a}FVN@C~hshpJO<$Awr29ByA|ANfH4o)NTbROE;!X1AK zk!-O{4tYsN!SguEOv71tGMCKCLPlTlMeRSifW*4=uy*b|y#L#?d+<9-I1d z0raa-O)h7pUllf%wX}OQl|6kW6Qid;jt>LrSW!lNTsiLof~aWrC(tgL4uOesuG?|Z zHimcK+;H#>A#!a36M}PDF;ULm3yG{3s2SH zEkBpXitnXpl?Jg(IQV6rxtPoIVX)Ji!CskM`XGHnr9T%wi7)%FG`6-)rH`@jpg(ij zvmlqHWqGXXBXy@)0s1Ga2v`|OV?Q}ZOoUC8zk76C8p=Jr*|pMxrsbKax8yQPYQZjU z#VkG{*$?7Ni_{LsLot~i`%`eO5nXLz4xt(e?AJ*lt#vAGpNUV~K8-qyaPEjNbM28J z4%YNK36OY_-AGSm+Q*dSP@3khd@sJ7sjf2>9pA7vaD^QXqTC6 z+aJY(m`G+^i{oucr1acr!jJ@^7wyTC7494s&s_eNBpj84nAlTZW2WS$T#gg2Ty&cH zWGoJcv+sQ`Km`b|9NZ%1&VV-go~;+T`>j%9)! zd9QrA?jto?rWcDun+dKJ59EYI9*22Qd@73LV_bPlD48~O@tEt=|S(Qvi}v1E1t z8#{y&^Cp2Y86onV2eCtXiJpyCScuo+r>8&JNtRrQbmdTnKV=cVM2r?zv9|%|ze(=U z5eM?rT^TJNlL@WN_+51FZR;Hv>+4PCF%Qh7U)oa|&k6BxZ5B`6rqQdMb6N$dqPnL7S&4XUrTJ#(s4Bl?xH_y1SWt=m2iY>YEB#g2pqEYtE=K1vu z+PWY*>~Af$=4GE;l)Vvk;>d|od?@oVozfb`{o=GH9gwf>9^0DvuvX#DM!@VI%kydPU4gA zVJN{e|cst6+0} zIbFKT%xjeeFTP7whqXSHBaP{@O@j=>NgO(DjKdr~zFtxz(O*x_Dr2^nDPgjA6xQ7} z*#Da_DXTsBQWZ>9f0^m7svuLlo@X5;_ux$0*k7 zy*FPk6i_Djd7*U!lUCOd-DxJz7cJ!PAIng`v|Kz{=3=F?q%eLoJraju^kNi4qK1+Y zGnA6$YWzFKfORijY2OsUG#x+5%CRP7vyFIx<5^=`0al`Q)im;9Kn<6R7h)5?f+e@s zlHs|M{1vABSYk<=2P5(8V1$9I5B=6yutT`2&f*(M9qhrqz+i5l$q+^-gKkfK>G3R{ zqPRlZ%Y9bTwU)B|Q_nP-3hEwDVq3N7_*F?)p;dZWw4lnoXQK?1Cvzyqzs-BFqHK@kU=H~SU zm{_cm?2sk&zOKfC1HEy(F_4doOog?v!TqqXgW|28t{%h3D)GY&pUUNwMl?@NVgpx(TQXW*hto6EX_oAt z_v)s+AMH$|q8+XGq>=G^Es5XdJ3M3tS_`KV?3%}{Kf=kFl+M9AVRp}!(Np}8uTsl! zUN;qwC)GT(tzx?{A&DbxNPeM?>xVI{?<#X#@wrclH)XoCi1tYAxGt0?r>kcVoK^{yf(q3hZz?)#bW3;oen)05Yw@m z6BCnBOmIi}q7`p+yeXU+#CNHEc6uerPKN|`uPI?|_iQHY4rNnm8Exlz(XlF#3en#p zPPn60>qNYRBUhYk*}OlRm$`MUENW(g%nV+1iKX_16W>}a__4zpvwbr6o*g2dr)Y{q zuRV7=i2)l!@qg@z;|}Tl>w;-znnA62e^NTd({51!H%o$86g(S~++!VsHTK;=IWk7f0aI zbY}UaGWbUb-R}m_;Frubc?M&@G_iL@J)?DmyGxUrGSpa}9X(WoCQvPPh23Efvd%`Z z^FSyX;yHcuT72fAc6^cy9D`(gOj^sF)~*V}elmMi3L)T}ypMB|(R`STQ@QkuGs?*^ zOrhbWJIgzp(EFnyheZ=A`d0%tCkGO)2cx+sghh7~=x7zkiJoC{E+p_K8`>8K(fWm) z|0l~N-!G1?nyK^j-rr!nPj8Jh+cOU^{Jcs6W^x}i(kg_7@ZK!ZMQ#A2Ps9b|yEK5K(J|sD_eH-G>0{)E+UE!!TIce^xEi~@SxiyQXYhh#VVYbRp&f{woP(c7L{j-O ziZ9~b+c^nJ#Dn^7*(P8Vtc7Jy z3l@BojJ2Z@|K)2$#c&%8*ZK3xtepGT8kzBD7E3N>QY3Xq%FAH!gZ4H^duc zREqNA0wx0<=%Zb#$*7o(;)-&9niaD)Bn;QvE|gAkBcm>iDF;It`#)X% zfgQJkEcm%siRggw)E-wMq(Pb7_TmfOZ^H9#l8q-^Noo%R{!n*h#shcuy_mu>t2u1^ zSjDNwm23_Vpw9&})W2Kvr$sQs{R7F<4yE-JNAU^R)0nL;na)bIX;en<$ruhbiN7J( z6zyxe{Fr1*kmMtr^mJn98*gE1Own7-$O zDO2zy^{43EuBvRgH-_KcB}@2{20`xHv`DY@Uw9#^L!;&F6b8(9GT&8VcqE+GW$|xD7?`6pUXOt7%EZ4=<^~#oZ-ma#JbR7n`}@Uy6%*I*F6*S?*&>ws<_;%Ejj=z4!s= z2&&^uI6qa3=;+}@=qO`-WH?@G<1rs3jG~u4byBZR>TSeyZ&Q|tW}kNCf0>W@7*tJT zeMey=R*N>=kVKyeI;gKSCrNta2Sda8yVjGB@!B{yjAXCFaN)o4u= zr&$x=pn~~h4KAKHV6@cLcB=w-dQG&jzoszKKaZ04u`Jn@z%4DASt+WqeVLie{XOt# z?MVDq@gd9`!`F&I#3?Be?mr04Cj+su9?!eE78KZyDqpy`K|78uQdFe>H-5X9- z?I1>P9Yk|!KRmkiW#X;w#7pmbWLFPj0{YV6I+D~qYBcp4!N5nu*nLBp3o3d<-!){b zX%asMOrhB&0qql_L#>f4z@Ed|HE;;Usw(((8;fdRC9X~pk9b8dR-Wm}*2~@5R@Wc* zGyU10I*2W^$8b$NTG#gt#kXY?x1_clzE_{7g-N0ZR&)PxI=fGJ@-xH>+ppq%sqVwO z?xS%wROaOBeq3tmCI8)z(!qWC?Q1Xbrw(MC(I75(iQnPU5T5A`M)TKDGM|m+f`;s^ zdL-FHT@&Pd6CR-;lTjCwh#!`W*Bw1d>xbdKLz6YP)NxZ*qVs>_&=Q|W`+h2H`%96_ z|7h`OgR%J39b~4g$&io3nKDQR?J*O0en>J!u1e15{CL!Irl9jAndEzEl8+UI`5W=9 zhA6Ue?ilVXh)3<`Kpt5SqaaR&stxKad9KS~>7^(Anv8m>AIbgnIU6&9Q8O(tZJ0=G z8&59Bc@divPR!SG_CF4xQb97mWKMW}r9GwJMv+}4pH)FW+#dDk_68Lm9aTZUyDCK= z9Qmu-lalrc4DKlzuyXz#>nxdVcbrMsCmGPE!r0d{kUvGU-y-weV=Xe=egxVQ3B?4rBB{b2c1T6s}J8#~kR(y@DPrl{xP0`3gLl zE1%_NP3CkJo_LnbwbbQI5T0@EM%lF`jB0$b1|RLrP%76)N#B7TmC-!xD7yRSbmDwN znd5DV$M2))zJ83b;XPRJz6ZB|AHnW_hmn701S7sle&RSS_Ak>SJ=2kgLp9hOC!d40 z5p&K=Vq&x~p2m9e*$*IaTQKG$v$5WuNpT0!aDUk2q@cw2vSIj{^>TI_|^#n1=#~Ju@}SM_F!`Fo|FZ4L4DC+tekA9{u+SJAQv zgBhWg1ozfv=_O&!#~9+WM8Yy|y$pcI4&F9&EbZ zmHk(Gv7l>P%-Sp9rzoDs|K-G#I}qn!%9pKLblh!2K-NU=Dp_-Sl|H579qnOP%*_wE ze0@_v!OLRO9b}IBrnfMS9VPoh0k1ZLg>~v9e0Lwh6Fak_r?$*W#6wV>hD9$wN^Y8Q z=7s^&{Tyf-pvp=^2X-r(vM)fF@1slEA=-%7E%Be9u3^GhGdhY#Zmjum>YGR7|BvL& z&K*tbegoOKOJ2L1BQ25{*iIvxic=AcJ?emUogNcZOj$Z#jU5L}X?|yn@pDuDs;@$& zPaT@k4H!Ld#AT+ZczPty;rket@02W7A7f4^OAp>(i)Ewq=>D&;4lh!u-dsYcV+t33 zxw3PiczR#DptEE&y(^XS)qZ^`W)E8|nLX!(ldJN1J zZM%;LpRQXo>YbHnDWSrN1`sngTjpW$(i4g{y4svkU0r#&T%A1z9^4YHFu!mTeY(~$ zeBLzSJElu*wupwm3UE9inMqd+xFTBb@4+cd3{92Y52Df9TGJvkgus4Yl9?CH0mAXo zb;PWn86PFf&NN+vGyTG_6^7{GNXZouy`zo%?wFIai2t>W={mwdNIseOGRZRSCX9z| z85WVnyqe_9sbXU`cXE_nM3T4rL^3RuVuV|8=I;hDZS8>Os)=;Bl>CSp@|-UnO2e&s zS}khi_?NjDzgUjWCh@1*#&X}sjF$r>r&4MF7mqx=n0T6qo&6z4JPSUS~fqEOf_zjM9^v(3C{>*~w}MMHwts-bvUn{&%0FFM9V?sD-* z*!!|2-&Qi-tjU$SqgO*18Cx?%1C~6!Q6;?lyO5wabFf-5mj{KCi7GRhNkhU({!6&F z$szPqL$%~fB@Ndmf3+^DR`z_4bK+#4zRcHE=_Q=OwvACV$LF)IjUC%= zR!c5xIesoPQFLiSKRXE%)p%a54WZ|G4|FAy!C}7_c0ZwE@C5N3N&Wtp1|RmT3fpHz z!)-SdFBs!`$Ar2#eFnxy;&Y>v;V;7&*`*%pD;OZU*0FuF_~VM?RSnL?t+ULS>nzEW z&+5-!{!5N&GekzvS@!i!+68K@9oV59QvI(fHS#uQ$e!_J=B;jV6+!sm_OB zL;40t=23S;^qmbTvDD|y1z~D;%I<@8xwN`Cjf3~9WmlZ!EWB#K<7qk#avtu8mW+)5 zLOI;xEAu5Qdgbb~`j#@gO>{^N)5RoInVa9t>D$492iiKsbTJ}TxT4-qg?AW{&++0? z!hbgMUa6Xk{Uo<{qiBo@#b`ZFrcJdscV@<+CpuF5N@4GFwNUG#L~WQFqcycqQc~lh zWC}J4`&MUY$_D9~XMT0VXKNhas?)jXQNhyBvn2by7L~=~NmZ|vJqZPDklAs_IIVULcV_BT#UP<+uHn zblf(bA>ra7`=93ev5~-+X>|GFFPwq+qaTOUb6X1g*9D+_TKqEGG-)NCUk5ieysgAL zYhjD}P&;Mtf=v2Xs$&%slqJ|Xj8cwA)@L067n9n}kobO1N z0B3%C=}Fkw7-m%YviiC?MavvRN-jb2lOapXn|)|Z00DcKD@4%!mh$3b$XA@G)Dg_POK4mwqu{Kj)(oC>G2 zROCFdM02H;?9G+jg%`dgh~_i$wkNHRMd3BPh^^b}h#HYg^d`xzF3shao8)aC^WmL* zXXmtNQ?}Ls^*7p_$dtUzSCYNnX%sL18-}adaIVR$rd%?mq9avhx2c>nznfAknWclq zy7R?Y=KZ2|wn)~Y;qiQS8YJR#(-&_s^o+YIIS~Cuh~6`r?Nik#m^6ky{f7vnJzoA! zH5QMX!0JAddve|ooxS5^50DNin~mw|Z^6uCR&>}d`wMO~@bGy)LB`2UZ{%>=VXuMC#_>AN1hmbp>{44JPaRSavPZ=D^Vjd|fvJ+W>twKhO{z zREN=r3`9T5BPhF$-JepiX&sA0mk@ei(-cpW3YR}9@hne`ANQ0bOL(~G!9z(8>co|7 z*>{^EyCtu8C;a3vzPBEQ(W#MaKz5~!SK-5S(MCUN5PmF~l|yRyN4UOIl`(XPknHY` zmQ+5_rg@(Zt6j`7k-4k)vk;PGZmuQuNcUNu{2@Amw|f%%F300_#)HPKx{|4Ghkg5S zo*QMOb~B#g!LkFuz6{@vk-S+Rz=1vD1MDk#^GgiKZkfQaX~t+~_~5cMkzQfxM7jj9 zN1P|tA7k0~x*Yf58Yb;3#-e``S#M?Tu&5cIHVX*8Fq2N*{qPd4d0c`&S~ulx++fWy zsS)ERDA77~2;UXdrN?t3uvHejeM?Cmm&SgXbNYWOXIAP=JTEW8?pQNl2TRtx(=0|N zFCZ{#9fOXp=jCT7GDarJjyxB-%S^Y=Do2vXD)K~YB&!u=_s@5I)?M*KPo)wM@y@P3 zQp99k@lBNH^JU*sc)pP^tN9EuYbIBDA*m%xxzv9hY8KmQv%-d{uY)BFQF`AT(TwJa zcH}&fo#EpcE;F{LzpOC$J&|IosW|qo=d*A!#THQ<8I{lHk!x6Hy@~j}vl*^5gB4NY zbtzpgEW$?q>9~y=Vdkvm|2-Y*$oTc1{M}V%@;~+Q`*SQq){GNRn6TK}GFkXRa(ODJ zQ!ucaw_$1A6Bb5SZ3W?>>*(~?0u1H+{62I(JE~UEaAOP4mTYFr`^myD#$yt1!Qw5t zSRWVd$xDN~wK@b}H(>uFXW6Gx%J#4(X1AL~?z?K{d`hQybUofb7o*c|4O3q&ke$Yj zt4XBfn~fqI*+s=t0a4TvCxD~_{p8Pq-7axV;J}E4vrwXwYVmI;EmN`faO~ zGk-pDM;Aygt9a8*M8AG0S+{cD_jX!<-;73#TVw{=u8OOdr&AF+mr&!mjI%Ic;T>TJ zzq%0jQHx9`*;U(R9GjXnWG{r&)vv_=a-bM@EiAW=lw5@z z>K97}l~Nt)oFe4(Et#rg81Jmgf(kXJ|2L7)40jAY#Up&bj%!`Za4L@B)&YCI%$B?Y`)q!0nnK!x zLXr;0a`cS1%!tD9YA%-y>U1&_wWtZ6%-Z|fjP5;wDIq$N>!`*H(T3b}R5_mNNY3dZ z{t_+jO;HxFBZDw_EBfCo7iN1$uxe^{^~L2tYw`ogta-_Bs!fIOZQ#ZlZ}cD95_q_;5ecJ4t$-OfQr zG=LuM{P^r+&-GU>c*Uf%#W`A7ddXI_7A{CWw@FfO?3-=OU9ilK5U9JMi~&nY&CBU(^^Aa(l^+hYr~+om0u9ex)SJy)~%G8FS%>qDqta z!>ODz!5L&9@}~K-Df+iYqEx8C6X7@-UIj}Ya3BNEIC6V|FZU|~Sydx*iiUj7uhC-t zsyu$SBom<9z}{Bk7aSGBTk#Jc7qWaUWNF7>dfb3lPc``DWGLLaa7M+syp~*pJ8GUXua0Ehn^+z`E2rGNj&EgB z=btF$?#gtW&o#3&a2h$e#OgFhM$s*lJ8T|^B4c#{X7;ONDxj_ zJcC8EvCxvU@ZTJM+DgXiph=WmmO4Xbqg!95(;*`XLo;6r-p4V_(+_*;&4&0-q07=S zG&C3RGBlmx>l+xhyhi+D4UE+-7Un4)x9oayzRbqwtZ)!t@^I*6A)Y-$G`Csev&f5K zRicHyiy`WL5GI)^c$P_St3OgTIcWnt>p2W?^yLaA+BdBPHIwTDa+oL8Il3A zMYPUCvTH%UlSYLznJ#_WwkehPN>1b-Eh%IaR-+O=6PNC@xwdBt|B2sjnS;#l+Y9UV z*_#753psK$UwmoNbRSTG*B9YMA7t`RyE10K(8Bj;CI;tHNKKf{p;k@&E8j!6uCm)= zn$$OemF)GO#enW}uzMy{pSvS$Lht!C5hN+U-Cn%UK(ir00;_{9{mscsgh|C`O{1YyZ6!uWV!Sffpj zym}RaWnr59Ofm+qWxnz$pV%d$A5AKv+q)WmTsFb*yX0?{$C1}#1_nwEoVrub((`4w zT+OE4wIbn#>bMtF&x=^enzt4Aw2C#h!ee}X7Rba1*<)i|K)~`iRE`u1Z&=BKqcNP{ zUB-*!M*Olakp10BY{;F4#jk4O)`%}Kwh-5xRLOypXWFR--P^T%f1JqOg`Oy_(ZlAF zJ^QP@a81m?qFp8>H{$5noP)xZBGTT9&uG2uX6dPhnQ+k6g~F7SPNk@K1%t% zqu&bnGp-V|Ud@d5o%#R1_EpP;RqZ044e5o|OC@vWV<~Tr<*?|AWc@U!Fs)rS{l=!T zwtX=#v`4d0{@oW+|1a8GD_Uc zTf4LOLYU+=NJg5juxw-EsSA-a=ur;qoda>%E*T%Hs7utQ!@yD(uE=NtVJh?XQV2Nr6XmgU69QE z)Ma(cv<9oMI zHdKexWE{_jf5odIJCja4l`}xNmCWzz96vUZkMnd`lH@6Oq-6Jhh#+Q!BY&>&rhTRd z|Liqpj%f6o$D5EL-arilM~)VRvoa!t!Iy>SHkFLCOR=0=CU^XoN*1R|KG&mY)W;c+ zILU+|*^{{4T6Vof`Ett3gAIGcPj}E&qUjuIZDua}cEUK{*970}P`P6qcsfu#R6df? zTkOvFNa6Da2BMKJ&vBjXDzp(l+>AgT>zhdqzdC=kww342krCm6EPN|{dX?Tu$~Uz(@AMY_Y|1OaPy52@{>+!nndf=EaO<$qY|a*0?hAOB`M< zvJZ5emF$LsEs`^Hvv)B502$#p!D6rqI>OfWw&@_$BM7^=1gZU<3~z)Hf}9>OqKKVf$Th* zSp+MDjnJ4snUAuIWvyx~+F7Ao=pjt8Ry=2<_Q-!4#Fs^hZ0@bZ-BAhXe+Wk5oi+XU zNlr@4c-p+Q;GK`Vuq*L&vrL!#w@mI13BjP2EBq>YWmWVkCw zzfGbd!iWH4dj|Fs|IsNw6osFdx6GTp`m$GJO$-JBQ6w1^GRjs-GV)z$X>=gvx(y$n zn=tQ!vUt$cX*p-Xob)8@HkXpxRn8YH2TpA>Vr3^Iemu0p%+`@=$zk|W=1);q$racx z9M0ts)(WRJ*Q<>FC;M~U$&uB?!Yd1Ru<@x9Z**l}{c}C`2v_;~w`9qnD&_Ui7W<(oyz@Odr~Z z#}$%+eq$8IiKdiV+MsNkOQ*e6c-Cj4kl`(JAU$^6)D`wjn6%a2EOw9`Hu`}~+byrR zRSMS<5*U3-SgxN!{B|G6&fViM_f?=@?hyXkJeX%`Dy)gtBiUY$%iAO~KV7nls#1C4 z@6U{@I<)$z%0DrZlk(1wWh8gI(H^>%Ltx1EGr^H@3u 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 rEFg?4Y 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 XE*_JI$aX~p-BQF`>Or`l*2n(=g3RXx literal 0 HcmV?d00001 diff --git a/tests/unit/audio/features/testdata/fbank_feat.ark b/audio/tests/features/testdata/fbank_feat_txt.ark similarity index 100% rename from tests/unit/audio/features/testdata/fbank_feat.ark rename to audio/tests/features/testdata/fbank_feat_txt.ark diff --git a/audio/tests/features/testdata/pitch_feat.ark b/audio/tests/features/testdata/pitch_feat.ark new file mode 100644 index 0000000000000000000000000000000000000000..ee7d4c7fcde24f6dbf74fcbde386e94924f1ae07 GIT binary patch literal 7552 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 literal 0 HcmV?d00001 diff --git a/tests/unit/audio/features/testdata/pitch_feat.ark b/audio/tests/features/testdata/pitch_feat_txt.ark similarity index 100% rename from tests/unit/audio/features/testdata/pitch_feat.ark rename to audio/tests/features/testdata/pitch_feat_txt.ark diff --git a/tests/unit/audio/features/testdata/test.wav b/audio/tests/features/testdata/test.wav similarity index 100% rename from tests/unit/audio/features/testdata/test.wav rename to audio/tests/features/testdata/test.wav diff --git a/tools/setup_helpers/__init__.py b/audio/tools/setup_helpers/__init__.py similarity index 100% rename from tools/setup_helpers/__init__.py rename to audio/tools/setup_helpers/__init__.py diff --git a/tools/setup_helpers/extension.py b/audio/tools/setup_helpers/extension.py similarity index 88% rename from tools/setup_helpers/extension.py rename to audio/tools/setup_helpers/extension.py index fd7d1ae6b..b7f32198e 100644 --- a/tools/setup_helpers/extension.py +++ b/audio/tools/setup_helpers/extension.py @@ -14,7 +14,7 @@ __all__ = [ _THIS_DIR = Path(__file__).parent.resolve() _ROOT_DIR = _THIS_DIR.parent.parent.resolve() -_PADDLESPEECH_DIR = _ROOT_DIR / "paddlespeech" +_PADDLESPEECH_DIR = _ROOT_DIR / "paddleaudio" def _get_build(var, default=False): @@ -37,20 +37,14 @@ _BUILD_SOX = False if platform.system() == "Windows" else _get_build( _BUILD_MAD = _get_build("BUILD_MAD", False) _BUILD_KALDI = False if platform.system() == "Windows" else _get_build( "BUILD_KALDI", True) -# _BUILD_RNNT = _get_build("BUILD_RNNT", True) -# _BUILD_CTC_DECODER = False if platform.system() == "Windows" else _get_build("BUILD_CTC_DECODER", True) -# _USE_FFMPEG = _get_build("USE_FFMPEG", False) -# _USE_ROCM = _get_build("USE_ROCM", torch.cuda.is_available() and torch.version.hip is not None) -# _USE_CUDA = _get_build("USE_CUDA", torch.cuda.is_available() and torch.version.hip is None) -# _USE_OPENMP = _get_build("USE_OPENMP", True) and "ATen parallel backend: OpenMP" in torch.__config__.parallel_info() _PADDLESPEECH_CUDA_ARCH_LIST = os.environ.get("PADDLESPEECH_CUDA_ARCH_LIST", None) def get_ext_modules(): modules = [ - Extension(name="paddlespeech.audio.lib.libpaddleaudio", sources=[]), - Extension(name="paddlespeech.audio._paddleaudio", sources=[]), + Extension(name="paddleaudio.lib.libpaddleaudio", sources=[]), + Extension(name="paddleaudio._paddleaudio", sources=[]), ] return modules @@ -72,7 +66,7 @@ class CMakeBuild(build_ext): # However, the following `cmake` command will build all of them at the same time, # so, we do not need to perform `cmake` twice. # Therefore we call `cmake` only for `paddleaudio._paddleaudio`. - if ext.name != "paddlespeech.audio._paddleaudio": + if ext.name != "paddleaudio._paddleaudio": return extdir = os.path.abspath( diff --git a/cmake/external/openblas.cmake b/cmake/external/openblas.cmake deleted file mode 100644 index c93549703..000000000 --- a/cmake/external/openblas.cmake +++ /dev/null @@ -1,66 +0,0 @@ -include(FetchContent) -include(ExternalProject) - -set(OpenBLAS_SOURCE_DIR ${fc_patch}/OpenBLAS-src) -set(OpenBLAS_PREFIX ${fc_patch}/OpenBLAS-prefix) - -# ###################################################################################################################### -# OPENBLAS https://github.com/lattice/quda/blob/develop/CMakeLists.txt#L575 -# ###################################################################################################################### -enable_language(Fortran) - -include(FortranCInterface) - -# # Clang doesn't have a Fortran compiler in its suite (yet), -# # so detect libraries for gfortran; we need equivalents to -# # libgfortran and libquadmath, which are implicitly -# # linked by flags in CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES -# include(FindGFortranLibs REQUIRED) -# # Add directory containing libgfortran and libquadmath to -# # linker. Should also contain libgomp, if not using -# # Intel OpenMP runtime -# link_directories(${GFORTRAN_LIBRARIES_DIR}) -# # gfortan dir in the docker. -# link_directories(/usr/local/gcc-8.2/lib64) -# # if you are working with C and Fortran -# FortranCInterface_VERIFY() - -# # if you are working with C++ and Fortran -# FortranCInterface_VERIFY(CXX) - - -#TODO: switch to CPM -include(GNUInstallDirs) -ExternalProject_Add( - OPENBLAS - GIT_REPOSITORY https://github.com/xianyi/OpenBLAS.git - GIT_TAG v0.3.10 - GIT_SHALLOW YES - PREFIX ${OpenBLAS_PREFIX} - SOURCE_DIR ${OpenBLAS_SOURCE_DIR} - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= - CMAKE_GENERATOR "Unix Makefiles") - - -# https://cmake.org/cmake/help/latest/module/ExternalProject.html?highlight=externalproject_get_property#external-project-definition -ExternalProject_Get_Property(OPENBLAS INSTALL_DIR) -set(OpenBLAS_INSTALL_PREFIX ${INSTALL_DIR}) -add_library(openblas STATIC IMPORTED) -add_dependencies(openblas OPENBLAS) -set_target_properties(openblas PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES Fortran) - -set_target_properties(openblas PROPERTIES IMPORTED_LOCATION ${OpenBLAS_INSTALL_PREFIX}/lib/libopenblas.a) - - -link_directories(${OpenBLAS_INSTALL_PREFIX}/lib) -include_directories(${OpenBLAS_INSTALL_PREFIX}/include/openblas) - - -set(OPENBLAS_LIBRARIES - ${OpenBLAS_INSTALL_PREFIX}/lib/libopenblas.a -) - -add_library(libopenblas INTERFACE) -add_dependencies(libopenblas openblas) -target_include_directories(libopenblas INTERFACE ${OpenBLAS_INSTALL_PREFIX}/include/openblas) -target_link_libraries(libopenblas INTERFACE ${OPENBLAS_LIBRARIES}) \ No newline at end of file diff --git a/speechx/speechx/kaldi/matrix/kaldi-blas.h b/speechx/speechx/kaldi/matrix/kaldi-blas.h index 143781c8e..e8a703c08 100644 --- a/speechx/speechx/kaldi/matrix/kaldi-blas.h +++ b/speechx/speechx/kaldi/matrix/kaldi-blas.h @@ -96,6 +96,12 @@ #elif defined(HAVE_OPENBLAS) // getting cblas.h and lapacke.h from /. // putting in "" not <> to search -I before system libraries. + #if defined(_MSC_VER) + #include + #define LAPACK_COMPLEX_CUSTOM + #define lapack_complex_float _Fcomplex + #define lapack_complex_double _Dcomplex + #endif #include "cblas.h" #include "lapacke.h" #undef I diff --git a/tests/unit/audio/features/base.py b/tests/unit/audio/features/base.py deleted file mode 100644 index d183b72ad..000000000 --- a/tests/unit/audio/features/base.py +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -import os -import unittest -import urllib.request - -import numpy as np -import paddle -from paddleaudio.backends import soundfile_load as load - -wav_url = 'https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav' - - -class FeatTest(unittest.TestCase): - def setUp(self): - self.initParmas() - self.initWavInput() - self.setUpDevice() - - def setUpDevice(self, device='cpu'): - paddle.set_device(device) - - def initWavInput(self, url=wav_url): - if not os.path.isfile(os.path.basename(url)): - urllib.request.urlretrieve(url, os.path.basename(url)) - self.waveform, self.sr = load(os.path.abspath(os.path.basename(url))) - self.waveform = self.waveform.astype( - np.float32 - ) # paddlespeech.s2t.transform.spectrogram only supports float32 - dim = len(self.waveform.shape) - - assert dim in [1, 2] - if dim == 1: - self.waveform = np.expand_dims(self.waveform, 0) - - def initParmas(self): - raise NotImplementedError diff --git a/tests/unit/audio/features/testdata/wav.ark b/tests/unit/audio/features/testdata/wav.ark deleted file mode 100644 index 5d6884212..000000000 --- a/tests/unit/audio/features/testdata/wav.ark +++ /dev/null @@ -1 +0,0 @@ -test_wav [ -1.0 2.0 4.0 2.0 6.0 9.0 12.0 11.0 13.0 16.0 16.0 19.0 15.0 16.0 19.0 20.0 22.0 23.0 24.0 23.0 31.0 28.0 30.0 31.0 27.0 28.0 28.0 30.0 28.0 29.0 32.0 32.0 29.0 28.0 30.0 32.0 39.0 39.0 38.0 43.0 42.0 45.0 44.0 47.0 45.0 43.0 46.0 41.0 42.0 42.0 44.0 40.0 41.0 45.0 42.0 41.0 43.0 45.0 47.0 45.0 44.0 46.0 48.0 52.0 48.0 51.0 54.0 52.0 54.0 53.0 53.0 52.0 52.0 54.0 54.0 49.0 49.0 50.0 50.0 53.0 52.0 55.0 49.0 52.0 52.0 50.0 47.0 49.0 49.0 46.0 49.0 47.0 46.0 48.0 48.0 52.0 54.0 47.0 55.0 52.0 53.0 57.0 54.0 54.0 55.0 55.0 52.0 53.0 48.0 49.0 50.0 46.0 45.0 43.0 42.0 46.0 44.0 44.0 43.0 43.0 40.0 44.0 42.0 38.0 41.0 40.0 41.0 37.0 34.0 41.0 42.0 36.0 38.0 42.0 45.0 46.0 45.0 46.0 51.0 47.0 48.0 47.0 47.0 48.0 46.0 46.0 45.0 48.0 46.0 47.0 46.0 44.0 42.0 41.0 44.0 45.0 45.0 43.0 43.0 49.0 46.0 44.0 48.0 45.0 47.0 47.0 47.0 46.0 48.0 54.0 54.0 52.0 56.0 55.0 54.0 59.0 53.0 53.0 52.0 53.0 55.0 52.0 56.0 57.0 57.0 58.0 62.0 63.0 64.0 65.0 67.0 66.0 63.0 64.0 62.0 63.0 61.0 60.0 59.0 59.0 61.0 60.0 59.0 65.0 61.0 62.0 66.0 63.0 64.0 64.0 66.0 58.0 62.0 61.0 61.0 57.0 57.0 59.0 58.0 61.0 57.0 58.0 59.0 61.0 59.0 62.0 62.0 61.0 59.0 60.0 58.0 57.0 58.0 58.0 57.0 58.0 59.0 57.0 62.0 60.0 60.0 65.0 64.0 63.0 65.0 64.0 63.0 62.0 59.0 61.0 56.0 55.0 57.0 57.0 56.0 57.0 55.0 56.0 59.0 55.0 61.0 57.0 55.0 54.0 53.0 56.0 57.0 55.0 55.0 54.0 53.0 52.0 50.0 50.0 51.0 51.0 47.0 47.0 46.0 45.0 46.0 44.0 44.0 43.0 45.0 45.0 44.0 41.0 38.0 38.0 35.0 34.0 32.0 33.0 35.0 32.0 31.0 30.0 33.0 31.0 31.0 34.0 29.0 28.0 29.0 29.0 26.0 25.0 27.0 23.0 22.0 24.0 24.0 20.0 21.0 20.0 17.0 15.0 13.0 13.0 11.0 8.0 11.0 9.0 6.0 12.0 14.0 14.0 11.0 8.0 11.0 13.0 11.0 15.0 16.0 11.0 14.0 14.0 16.0 15.0 13.0 13.0 10.0 8.0 13.0 13.0 13.0 17.0 13.0 14.0 15.0 16.0 19.0 20.0 21.0 20.0 21.0 23.0 21.0 21.0 22.0 20.0 25.0 23.0 23.0 20.0 19.0 24.0 21.0 17.0 20.0 21.0 20.0 19.0 21.0 15.0 17.0 21.0 17.0 16.0 13.0 13.0 12.0 13.0 13.0 15.0 18.0 17.0 20.0 18.0 20.0 22.0 23.0 21.0 19.0 16.0 15.0 15.0 17.0 16.0 10.0 10.0 13.0 11.0 13.0 14.0 12.0 13.0 16.0 18.0 15.0 17.0 15.0 14.0 14.0 15.0 14.0 13.0 12.0 6.0 10.0 7.0 7.0 6.0 5.0 9.0 4.0 5.0 4.0 3.0 3.0 4.0 5.0 3.0 5.0 3.0 1.0 4.0 4.0 1.0 1.0 4.0 5.0 2.0 3.0 10.0 7.0 4.0 5.0 6.0 5.0 5.0 3.0 2.0 3.0 3.0 2.0 0.0 -1.0 0.0 1.0 -3.0 -2.0 -2.0 -6.0 -4.0 -3.0 -1.0 -4.0 -3.0 -5.0 -8.0 -6.0 -6.0 -4.0 -5.0 -4.0 -6.0 -4.0 -5.0 -3.0 -3.0 -6.0 -1.0 -1.0 -2.0 -3.0 -5.0 -5.0 -3.0 -8.0 -6.0 -5.0 -6.0 -8.0 -11.0 -6.0 -6.0 -2.0 -7.0 -9.0 -4.0 -12.0 -12.0 -13.0 -9.0 -7.0 -9.0 -12.0 -13.0 -12.0 -13.0 -12.0 -11.0 -10.0 -12.0 -7.0 -9.0 -8.0 -4.0 -4.0 -1.0 -3.0 -2.0 -6.0 -4.0 -5.0 -6.0 -6.0 -8.0 -9.0 -10.0 -7.0 -6.0 -6.0 -5.0 -9.0 -4.0 -3.0 -4.0 -1.0 -4.0 -6.0 -1.0 -5.0 -5.0 -2.0 -2.0 -1.0 0.0 -2.0 -2.0 -1.0 -1.0 3.0 3.0 6.0 7.0 7.0 10.0 6.0 4.0 6.0 6.0 0.0 1.0 1.0 -1.0 -1.0 1.0 -3.0 1.0 0.0 -1.0 3.0 1.0 -1.0 -1.0 -2.0 -2.0 -4.0 -7.0 -8.0 -9.0 -8.0 -9.0 -9.0 -12.0 -7.0 -6.0 -9.0 -2.0 -2.0 -3.0 -2.0 -4.0 -8.0 -2.0 0.0 -6.0 -6.0 -8.0 -6.0 -8.0 -10.0 -6.0 -9.0 -9.0 -7.0 -9.0 -6.0 -3.0 -1.0 -1.0 -1.0 0.0 -1.0 -4.0 -4.0 -6.0 -4.0 -3.0 -7.0 -6.0 -8.0 -5.0 -6.0 -5.0 -4.0 -5.0 -3.0 -3.0 -1.0 -1.0 -2.0 -3.0 -5.0 -5.0 -4.0 -6.0 -4.0 -7.0 -10.0 -7.0 -6.0 -7.0 -6.0 -3.0 -4.0 1.0 0.0 2.0 3.0 2.0 4.0 2.0 2.0 1.0 -1.0 -1.0 -1.0 1.0 5.0 0.0 0.0 4.0 2.0 3.0 7.0 6.0 7.0 10.0 11.0 10.0 8.0 11.0 11.0 8.0 11.0 13.0 11.0 15.0 16.0 15.0 18.0 23.0 19.0 19.0 21.0 19.0 24.0 22.0 22.0 21.0 26.0 26.0 24.0 25.0 24.0 24.0 21.0 24.0 23.0 21.0 24.0 21.0 21.0 21.0 20.0 22.0 20.0 22.0 24.0 24.0 27.0 28.0 30.0 27.0 32.0 31.0 30.0 28.0 26.0 24.0 25.0 21.0 18.0 17.0 15.0 17.0 14.0 15.0 14.0 17.0 20.0 20.0 22.0 18.0 15.0 12.0 14.0 12.0 15.0 14.0 12.0 11.0 9.0 13.0 10.0 11.0 10.0 7.0 6.0 4.0 4.0 6.0 4.0 2.0 3.0 3.0 3.0 6.0 6.0 5.0 7.0 8.0 8.0 9.0 7.0 7.0 5.0 4.0 5.0 3.0 7.0 4.0 3.0 5.0 4.0 2.0 4.0 4.0 1.0 0.0 -1.0 1.0 -1.0 0.0 -3.0 -1.0 0.0 -1.0 -3.0 -2.0 1.0 -3.0 -4.0 -2.0 -5.0 -8.0 -6.0 -9.0 -9.0 -11.0 -12.0 -12.0 -15.0 -14.0 -15.0 -13.0 -16.0 -12.0 -14.0 -15.0 -13.0 -14.0 -12.0 -11.0 -8.0 -11.0 -13.0 -8.0 -11.0 -14.0 -14.0 -15.0 -14.0 -15.0 -14.0 -16.0 -14.0 -14.0 -18.0 -17.0 -18.0 -15.0 -13.0 -13.0 -13.0 -16.0 -18.0 -22.0 -22.0 -21.0 -20.0 -26.0 -21.0 -24.0 -24.0 -21.0 -20.0 -23.0 -26.0 -22.0 -27.0 -27.0 -27.0 -25.0 -28.0 -30.0 -26.0 -29.0 -28.0 -29.0 -30.0 -24.0 -26.0 -19.0 -21.0 -20.0 -18.0 -16.0 -12.0 -14.0 -13.0 -15.0 -13.0 -14.0 -17.0 -17.0 -18.0 -20.0 -19.0 -21.0 -20.0 -23.0 -26.0 -21.0 -25.0 -24.0 -25.0 -22.0 -23.0 -27.0 -25.0 -24.0 -28.0 -27.0 -23.0 -23.0 -24.0 -23.0 -21.0 -21.0 -27.0 -26.0 -27.0 -25.0 -26.0 -28.0 -30.0 -28.0 -32.0 -30.0 -33.0 -38.0 -36.0 -33.0 -33.0 -37.0 -34.0 -35.0 -30.0 -29.0 -28.0 -27.0 -26.0 -23.0 -28.0 -26.0 -24.0 -20.0 -25.0 -23.0 -24.0 -24.0 -21.0 -21.0 -20.0 -18.0 -18.0 -20.0 -15.0 -18.0 -15.0 -14.0 -13.0 -14.0 -17.0 -18.0 -22.0 -20.0 -22.0 -24.0 -24.0 -25.0 -22.0 -26.0 -26.0 -28.0 -32.0 -28.0 -32.0 -32.0 -31.0 -29.0 -29.0 -30.0 -30.0 -31.0 -32.0 -28.0 -30.0 -31.0 -32.0 -33.0 -30.0 -31.0 -27.0 -23.0 -23.0 -23.0 -23.0 -27.0 -25.0 -24.0 -27.0 -25.0 -28.0 -25.0 -27.0 -27.0 -26.0 -28.0 -28.0 -28.0 -27.0 -28.0 -24.0 -27.0 -26.0 -27.0 -27.0 -26.0 -29.0 -29.0 -29.0 -31.0 -31.0 -33.0 -34.0 -35.0 -32.0 -30.0 -31.0 -29.0 -27.0 -28.0 -29.0 -30.0 -29.0 -29.0 -29.0 -32.0 -28.0 -30.0 -29.0 -33.0 -35.0 -33.0 -38.0 -31.0 -34.0 -29.0 -29.0 -31.0 -29.0 -26.0 -30.0 -26.0 -25.0 -25.0 -19.0 -28.0 -24.0 -27.0 -22.0 -25.0 -24.0 -20.0 -22.0 -20.0 -24.0 -22.0 -23.0 -18.0 -21.0 -19.0 -20.0 -19.0 -19.0 -17.0 -17.0 -21.0 -15.0 -21.0 -20.0 -19.0 -16.0 -14.0 -15.0 -10.0 -17.0 -18.0 -18.0 -23.0 -21.0 -23.0 -20.0 -21.0 -24.0 -23.0 -22.0 -22.0 -18.0 -18.0 -17.0 -16.0 -16.0 -16.0 -21.0 -20.0 -16.0 -18.0 -19.0 -16.0 -19.0 -20.0 -18.0 -20.0 -22.0 -20.0 -24.0 -25.0 -20.0 -21.0 -20.0 -20.0 -21.0 -22.0 -19.0 -18.0 -21.0 -19.0 -16.0 -18.0 -19.0 -23.0 -22.0 -25.0 -24.0 -23.0 -24.0 -22.0 -23.0 -19.0 -26.0 -21.0 -21.0 -25.0 -24.0 -23.0 -26.0 -25.0 -23.0 -24.0 -21.0 -24.0 -23.0 -26.0 -25.0 -24.0 -20.0 -18.0 -17.0 -15.0 -19.0 -13.0 -14.0 -11.0 -13.0 -16.0 -13.0 -16.0 -12.0 -13.0 -11.0 -10.0 -12.0 -11.0 -11.0 -8.0 -8.0 -7.0 -8.0 -9.0 -9.0 -5.0 -14.0 -14.0 -13.0 -12.0 -11.0 -15.0 -11.0 -11.0 -12.0 -13.0 -12.0 -15.0 -10.0 -11.0 -12.0 -8.0 -10.0 -11.0 -12.0 -14.0 -11.0 -12.0 -12.0 -10.0 -11.0 -15.0 -15.0 -16.0 -18.0 -15.0 -15.0 -15.0 -18.0 -15.0 -18.0 -18.0 -15.0 -16.0 -17.0 -20.0 -20.0 -20.0 -19.0 -20.0 -18.0 -18.0 -15.0 -18.0 -17.0 -17.0 -19.0 -16.0 -18.0 -18.0 -18.0 -19.0 -17.0 -19.0 -17.0 -19.0 -13.0 -14.0 -18.0 -13.0 -12.0 -12.0 -15.0 -13.0 -11.0 -11.0 -10.0 -10.0 -9.0 -5.0 -8.0 -9.0 -7.0 -8.0 -9.0 -8.0 -6.0 -3.0 -4.0 -8.0 -11.0 -8.0 -7.0 -9.0 -3.0 -1.0 2.0 1.0 1.0 0.0 0.0 1.0 2.0 3.0 1.0 5.0 6.0 6.0 1.0 2.0 4.0 2.0 2.0 1.0 1.0 -1.0 2.0 3.0 0.0 -2.0 0.0 -2.0 4.0 2.0 1.0 2.0 0.0 0.0 -1.0 -1.0 -4.0 -1.0 -1.0 1.0 2.0 2.0 5.0 4.0 3.0 7.0 7.0 7.0 6.0 10.0 13.0 12.0 12.0 13.0 16.0 14.0 19.0 19.0 16.0 19.0 21.0 22.0 24.0 20.0 23.0 27.0 25.0 24.0 26.0 25.0 26.0 27.0 26.0 26.0 26.0 27.0 30.0 31.0 29.0 35.0 31.0 31.0 31.0 28.0 31.0 29.0 30.0 32.0 30.0 27.0 29.0 30.0 29.0 29.0 29.0 28.0 26.0 22.0 23.0 19.0 20.0 22.0 20.0 22.0 23.0 19.0 21.0 24.0 20.0 22.0 23.0 21.0 24.0 23.0 21.0 18.0 18.0 21.0 17.0 17.0 15.0 14.0 16.0 15.0 17.0 21.0 19.0 19.0 22.0 19.0 23.0 21.0 19.0 22.0 19.0 16.0 17.0 19.0 21.0 19.0 19.0 22.0 22.0 23.0 19.0 19.0 20.0 17.0 23.0 21.0 22.0 20.0 25.0 24.0 23.0 20.0 20.0 25.0 22.0 22.0 24.0 26.0 23.0 25.0 28.0 29.0 30.0 29.0 28.0 29.0 28.0 31.0 30.0 28.0 30.0 24.0 27.0 24.0 24.0 23.0 23.0 26.0 22.0 21.0 22.0 22.0 20.0 17.0 22.0 18.0 18.0 19.0 17.0 18.0 13.0 17.0 18.0 15.0 15.0 14.0 16.0 14.0 16.0 17.0 17.0 20.0 19.0 23.0 24.0 24.0 27.0 26.0 25.0 25.0 28.0 27.0 29.0 33.0 32.0 36.0 38.0 35.0 38.0 38.0 35.0 38.0 39.0 39.0 41.0 43.0 42.0 44.0 43.0 42.0 40.0 43.0 43.0 45.0 50.0 50.0 50.0 47.0 49.0 45.0 44.0 44.0 46.0 46.0 47.0 43.0 47.0 48.0 44.0 44.0 43.0 45.0 42.0 43.0 43.0 44.0 40.0 40.0 40.0 37.0 40.0 38.0 34.0 37.0 36.0 35.0 38.0 35.0 35.0 33.0 35.0 30.0 30.0 30.0 26.0 31.0 29.0 27.0 32.0 31.0 28.0 32.0 32.0 34.0 34.0 29.0 34.0 35.0 33.0 34.0 35.0 33.0 33.0 34.0 34.0 31.0 30.0 33.0 30.0 29.0 31.0 33.0 35.0 35.0 35.0 38.0 40.0 43.0 40.0 40.0 40.0 39.0 38.0 38.0 37.0 33.0 35.0 34.0 32.0 32.0 30.0 31.0 29.0 29.0 33.0 29.0 30.0 29.0 25.0 28.0 27.0 28.0 30.0 26.0 26.0 27.0 24.0 22.0 23.0 22.0 19.0 21.0 22.0 20.0 21.0 22.0 23.0 22.0 23.0 21.0 20.0 17.0 16.0 18.0 12.0 14.0 17.0 17.0 11.0 10.0 8.0 8.0 11.0 9.0 15.0 12.0 13.0 12.0 10.0 14.0 13.0 16.0 12.0 10.0 12.0 11.0 13.0 11.0 14.0 14.0 13.0 13.0 10.0 10.0 12.0 12.0 13.0 15.0 8.0 8.0 12.0 10.0 11.0 6.0 7.0 10.0 5.0 3.0 6.0 8.0 5.0 4.0 5.0 1.0 -1.0 1.0 3.0 8.0 8.0 1.0 4.0 3.0 0.0 -2.0 -2.0 -2.0 -6.0 -3.0 -4.0 -7.0 -8.0 -5.0 -4.0 -6.0 -5.0 -5.0 -6.0 -8.0 -7.0 -10.0 -7.0 -7.0 -7.0 -13.0 -16.0 -17.0 -17.0 -19.0 -23.0 -21.0 -24.0 -22.0 -20.0 -21.0 -23.0 -25.0 -24.0 -28.0 -28.0 -29.0 -31.0 -31.0 -32.0 -33.0 -35.0 -37.0 -35.0 -38.0 -38.0 -38.0 -41.0 -42.0 -43.0 -44.0 -42.0 -46.0 -46.0 -47.0 -45.0 -48.0 -48.0 -46.0 -50.0 -48.0 -48.0 -47.0 -48.0 -50.0 -50.0 -50.0 -50.0 -52.0 -53.0 -52.0 -55.0 -55.0 -52.0 -53.0 -55.0 -56.0 -57.0 -57.0 -56.0 -59.0 -57.0 -59.0 -60.0 -56.0 -57.0 -57.0 -58.0 -62.0 -60.0 -61.0 -59.0 -60.0 -55.0 -57.0 -58.0 -57.0 -61.0 -68.0 -67.0 -62.0 -65.0 -67.0 -68.0 -67.0 -71.0 -69.0 -69.0 -67.0 -67.0 -67.0 -66.0 -67.0 -66.0 -66.0 -63.0 -63.0 -64.0 -62.0 -63.0 -64.0 -65.0 -65.0 -67.0 -69.0 -69.0 -70.0 -70.0 -71.0 -68.0 -70.0 -72.0 -76.0 -72.0 -72.0 -73.0 -71.0 -72.0 -75.0 -74.0 -75.0 -75.0 -73.0 -73.0 -75.0 -77.0 -76.0 -79.0 -76.0 -78.0 -77.0 -78.0 -76.0 -77.0 -76.0 -72.0 -75.0 -71.0 -73.0 -75.0 -76.0 -76.0 -74.0 -70.0 -75.0 -73.0 -71.0 -76.0 -76.0 -75.0 -76.0 -74.0 -73.0 -76.0 -72.0 -70.0 -75.0 -75.0 -70.0 -72.0 -72.0 -68.0 -68.0 -71.0 -70.0 -69.0 -70.0 -70.0 -73.0 -70.0 -70.0 -73.0 -72.0 -71.0 -69.0 -73.0 -71.0 -74.0 -73.0 -70.0 -72.0 -71.0 -75.0 -71.0 -71.0 -74.0 -71.0 -74.0 -75.0 -76.0 -75.0 -76.0 -74.0 -73.0 -70.0 -68.0 -74.0 -69.0 -73.0 -73.0 -69.0 -73.0 -72.0 -76.0 -75.0 -74.0 -74.0 -74.0 -70.0 -74.0 -74.0 -70.0 -71.0 -69.0 -69.0 -70.0 -67.0 -69.0 -71.0 -65.0 -66.0 -66.0 -70.0 -71.0 -66.0 -66.0 -63.0 -62.0 -62.0 -67.0 -65.0 -63.0 -64.0 -66.0 -67.0 -64.0 -61.0 -61.0 -60.0 -61.0 -59.0 -58.0 -58.0 -57.0 -57.0 -54.0 -56.0 -54.0 -50.0 -52.0 -52.0 -53.0 -49.0 -48.0 -45.0 -45.0 -44.0 -38.0 -38.0 -42.0 -41.0 -40.0 -36.0 -36.0 -41.0 -41.0 -42.0 -43.0 -44.0 -40.0 -40.0 -43.0 -41.0 -40.0 -41.0 -42.0 -42.0 -41.0 -39.0 -38.0 -42.0 -41.0 -41.0 -40.0 -40.0 -44.0 -43.0 -42.0 -45.0 -46.0 -43.0 -41.0 -42.0 -44.0 -44.0 -41.0 -43.0 -43.0 -41.0 -42.0 -41.0 -40.0 -39.0 -38.0 -41.0 -41.0 -41.0 -37.0 -42.0 -42.0 -41.0 -42.0 -42.0 -39.0 -40.0 -39.0 -37.0 -38.0 -39.0 -39.0 -38.0 -40.0 -39.0 -39.0 -37.0 -36.0 -38.0 -40.0 -35.0 -33.0 -31.0 -36.0 -35.0 -36.0 -36.0 -31.0 -35.0 -33.0 -33.0 -33.0 -33.0 -33.0 -34.0 -35.0 -31.0 -34.0 -33.0 -31.0 -33.0 -32.0 -33.0 -31.0 -30.0 -31.0 -32.0 -29.0 -26.0 -26.0 -28.0 -23.0 -25.0 -24.0 -21.0 -20.0 -17.0 -18.0 -18.0 -18.0 -19.0 -23.0 -19.0 -21.0 -22.0 -20.0 -19.0 -22.0 -20.0 -17.0 -20.0 -19.0 -20.0 -22.0 -20.0 -16.0 -18.0 -17.0 -16.0 -15.0 -12.0 -14.0 -15.0 -13.0 -11.0 -13.0 -13.0 -10.0 -15.0 -9.0 -12.0 -9.0 -10.0 -9.0 -6.0 -7.0 -3.0 -4.0 -1.0 -4.0 -1.0 -2.0 -3.0 -3.0 -2.0 -1.0 -1.0 -3.0 -5.0 -2.0 -2.0 -2.0 -2.0 2.0 3.0 6.0 5.0 3.0 6.0 6.0 8.0 9.0 7.0 7.0 8.0 8.0 9.0 9.0 9.0 11.0 12.0 17.0 13.0 14.0 14.0 18.0 16.0 16.0 16.0 16.0 15.0 13.0 19.0 17.0 20.0 17.0 17.0 21.0 22.0 21.0 23.0 26.0 27.0 24.0 24.0 26.0 27.0 28.0 24.0 28.0 27.0 33.0 31.0 29.0 31.0 26.0 30.0 30.0 35.0 35.0 35.0 35.0 38.0 37.0 38.0 38.0 39.0 43.0 44.0 45.0 44.0 44.0 45.0 43.0 43.0 46.0 47.0 50.0 53.0 56.0 54.0 53.0 59.0 62.0 61.0 57.0 59.0 62.0 61.0 61.0 57.0 58.0 58.0 61.0 64.0 64.0 67.0 64.0 66.0 68.0 68.0 73.0 66.0 68.0 68.0 64.0 70.0 67.0 70.0 71.0 69.0 75.0 69.0 71.0 73.0 70.0 72.0 70.0 68.0 68.0 70.0 67.0 69.0 69.0 72.0 71.0 71.0 71.0 76.0 77.0 78.0 80.0 78.0 81.0 78.0 81.0 80.0 77.0 79.0 81.0 80.0 84.0 87.0 84.0 84.0 85.0 87.0 88.0 86.0 91.0 94.0 92.0 97.0 93.0 97.0 102.0 101.0 99.0 99.0 103.0 100.0 99.0 102.0 104.0 104.0 105.0 104.0 103.0 105.0 104.0 106.0 110.0 112.0 112.0 108.0 107.0 111.0 110.0 110.0 105.0 107.0 111.0 109.0 112.0 111.0 111.0 112.0 107.0 106.0 108.0 106.0 106.0 104.0 102.0 106.0 108.0 106.0 109.0 106.0 106.0 107.0 107.0 106.0 106.0 105.0 106.0 106.0 104.0 106.0 105.0 108.0 102.0 103.0 102.0 99.0 101.0 101.0 100.0 102.0 101.0 98.0 101.0 102.0 98.0 98.0 100.0 99.0 97.0 98.0 100.0 98.0 97.0 99.0 101.0 96.0 95.0 96.0 94.0 97.0 97.0 94.0 93.0 92.0 89.0 92.0 91.0 91.0 92.0 91.0 87.0 89.0 90.0 88.0 90.0 85.0 86.0 87.0 86.0 87.0 84.0 88.0 92.0 89.0 91.0 89.0 86.0 84.0 87.0 86.0 87.0 84.0 85.0 84.0 78.0 83.0 79.0 84.0 83.0 81.0 82.0 82.0 85.0 80.0 82.0 80.0 77.0 76.0 75.0 77.0 76.0 75.0 74.0 73.0 76.0 77.0 75.0 74.0 74.0 73.0 73.0 72.0 71.0 73.0 75.0 78.0 76.0 74.0 76.0 75.0 77.0 75.0 79.0 77.0 80.0 80.0 82.0 82.0 84.0 85.0 84.0 84.0 84.0 81.0 83.0 84.0 81.0 81.0 82.0 83.0 80.0 82.0 82.0 80.0 78.0 81.0 82.0 84.0 87.0 86.0 89.0 90.0 87.0 88.0 88.0 86.0 88.0 85.0 86.0 83.0 85.0 81.0 80.0 78.0 77.0 76.0 74.0 76.0 70.0 72.0 72.0 73.0 73.0 70.0 70.0 70.0 71.0 69.0 68.0 66.0 65.0 66.0 67.0 68.0 70.0 68.0 65.0 66.0 66.0 66.0 61.0 62.0 61.0 59.0 58.0 56.0 56.0 55.0 58.0 61.0 57.0 54.0 54.0 53.0 55.0 52.0 46.0 46.0 45.0 45.0 43.0 44.0 44.0 44.0 41.0 45.0 44.0 41.0 40.0 37.0 42.0 40.0 40.0 42.0 43.0 40.0 38.0 39.0 40.0 39.0 39.0 39.0 36.0 37.0 35.0 37.0 42.0 41.0 40.0 44.0 44.0 39.0 39.0 38.0 39.0 40.0 41.0 41.0 42.0 41.0 42.0 41.0 41.0 42.0 40.0 42.0 39.0 40.0 37.0 35.0 40.0 37.0 36.0 35.0 36.0 35.0 35.0 33.0 34.0 37.0 33.0 33.0 34.0 31.0 32.0 34.0 32.0 32.0 29.0 25.0 26.0 26.0 22.0 21.0 19.0 18.0 20.0 19.0 17.0 22.0 23.0 22.0 26.0 24.0 23.0 24.0 22.0 22.0 18.0 20.0 19.0 21.0 18.0 18.0 20.0 17.0 17.0 14.0 18.0 14.0 18.0 17.0 17.0 17.0 18.0 20.0 18.0 21.0 19.0 14.0 13.0 11.0 8.0 8.0 3.0 3.0 1.0 1.0 4.0 0.0 3.0 5.0 4.0 3.0 2.0 6.0 6.0 7.0 2.0 2.0 0.0 -2.0 -3.0 -6.0 -4.0 -11.0 -12.0 -13.0 -15.0 -13.0 -15.0 -18.0 -20.0 -21.0 -21.0 -20.0 -19.0 -22.0 -20.0 -24.0 -29.0 -29.0 -31.0 -30.0 -33.0 -32.0 -36.0 -34.0 -38.0 -40.0 -39.0 -41.0 -43.0 -44.0 -47.0 -46.0 -43.0 -46.0 -44.0 -47.0 -49.0 -50.0 -52.0 -53.0 -55.0 -53.0 -53.0 -53.0 -53.0 -52.0 -53.0 -53.0 -51.0 -53.0 -52.0 -53.0 -53.0 -57.0 -57.0 -58.0 -59.0 -62.0 -61.0 -60.0 -61.0 -57.0 -57.0 -59.0 -56.0 -56.0 -58.0 -60.0 -61.0 -59.0 -58.0 -62.0 -64.0 -63.0 -69.0 -67.0 -62.0 -66.0 -65.0 -63.0 -62.0 -61.0 -62.0 -62.0 -61.0 -64.0 -59.0 -64.0 -60.0 -59.0 -60.0 -61.0 -61.0 -59.0 -61.0 -57.0 -58.0 -56.0 -57.0 -56.0 -58.0 -60.0 -57.0 -59.0 -63.0 -63.0 -60.0 -63.0 -64.0 -65.0 -66.0 -62.0 -64.0 -64.0 -64.0 -62.0 -62.0 -61.0 -59.0 -65.0 -62.0 -62.0 -63.0 -64.0 -63.0 -61.0 -66.0 -64.0 -70.0 -69.0 -70.0 -70.0 -70.0 -71.0 -71.0 -69.0 -71.0 -73.0 -71.0 -72.0 -69.0 -73.0 -73.0 -68.0 -72.0 -70.0 -67.0 -67.0 -67.0 -67.0 -64.0 -65.0 -65.0 -63.0 -62.0 -60.0 -64.0 -66.0 -59.0 -64.0 -62.0 -61.0 -63.0 -62.0 -60.0 -62.0 -66.0 -63.0 -67.0 -67.0 -66.0 -64.0 -71.0 -68.0 -71.0 -70.0 -66.0 -69.0 -66.0 -72.0 -70.0 -72.0 -74.0 -72.0 -72.0 -71.0 -73.0 -76.0 -76.0 -75.0 -80.0 -77.0 -75.0 -80.0 -82.0 -81.0 -80.0 -81.0 -78.0 -81.0 -77.0 -79.0 -81.0 -80.0 -85.0 -84.0 -81.0 -77.0 -80.0 -79.0 -80.0 -81.0 -81.0 -84.0 -84.0 -83.0 -88.0 -89.0 -88.0 -88.0 -85.0 -86.0 -86.0 -89.0 -90.0 -88.0 -89.0 -86.0 -87.0 -88.0 -90.0 -90.0 -91.0 -90.0 -88.0 -86.0 -86.0 -87.0 -87.0 -83.0 -84.0 -85.0 -83.0 -82.0 -81.0 -82.0 -79.0 -78.0 -83.0 -78.0 -77.0 -85.0 -86.0 -87.0 -86.0 -89.0 -88.0 -86.0 -87.0 -88.0 -86.0 -88.0 -87.0 -90.0 -91.0 -91.0 -92.0 -89.0 -92.0 -92.0 -86.0 -88.0 -90.0 -92.0 -91.0 -90.0 -89.0 -91.0 -93.0 -89.0 -94.0 -94.0 -93.0 -96.0 -98.0 -103.0 -103.0 -104.0 -102.0 -103.0 -105.0 -101.0 -99.0 -101.0 -99.0 -100.0 -101.0 -99.0 -99.0 -101.0 -102.0 -104.0 -107.0 -105.0 -106.0 -109.0 -107.0 -104.0 -105.0 -103.0 -102.0 -101.0 -106.0 -108.0 -106.0 -106.0 -103.0 -107.0 -105.0 -107.0 -106.0 -104.0 -109.0 -108.0 -106.0 -109.0 -109.0 -111.0 -110.0 -107.0 -110.0 -108.0 -112.0 -111.0 -114.0 -121.0 -117.0 -114.0 -116.0 -118.0 -115.0 -116.0 -114.0 -112.0 -113.0 -117.0 -117.0 -121.0 -119.0 -118.0 -120.0 -121.0 -124.0 -125.0 -122.0 -119.0 -122.0 -122.0 -121.0 -120.0 -121.0 -122.0 -119.0 -120.0 -121.0 -122.0 -124.0 -123.0 -126.0 -129.0 -124.0 -124.0 -124.0 -128.0 -126.0 -123.0 -121.0 -120.0 -123.0 -121.0 -119.0 -117.0 -114.0 -113.0 -115.0 -116.0 -116.0 -115.0 -113.0 -115.0 -112.0 -114.0 -115.0 -117.0 -118.0 -117.0 -118.0 -114.0 -116.0 -116.0 -116.0 -115.0 -112.0 -113.0 -112.0 -115.0 -108.0 -107.0 -106.0 -104.0 -110.0 -103.0 -105.0 -106.0 -101.0 -104.0 -104.0 -103.0 -104.0 -107.0 -104.0 -104.0 -103.0 -99.0 -102.0 -100.0 -100.0 -93.0 -96.0 -99.0 -94.0 -94.0 -87.0 -91.0 -91.0 -89.0 -86.0 -84.0 -83.0 -83.0 -83.0 -81.0 -79.0 -77.0 -80.0 -75.0 -75.0 -77.0 -77.0 -78.0 -76.0 -75.0 -76.0 -75.0 -72.0 -73.0 -74.0 -71.0 -73.0 -69.0 -68.0 -69.0 -69.0 -74.0 -70.0 -71.0 -71.0 -71.0 -70.0 -66.0 -68.0 -69.0 -72.0 -70.0 -69.0 -66.0 -66.0 -61.0 -59.0 -60.0 -55.0 -55.0 -52.0 -53.0 -49.0 -48.0 -51.0 -49.0 -50.0 -46.0 -44.0 -46.0 -46.0 -49.0 -43.0 -41.0 -40.0 -39.0 -44.0 -37.0 -40.0 -39.0 -36.0 -37.0 -33.0 -32.0 -34.0 -32.0 -34.0 -34.0 -32.0 -29.0 -28.0 -27.0 -27.0 -27.0 -21.0 -25.0 -24.0 -20.0 -17.0 -17.0 -16.0 -14.0 -20.0 -17.0 -16.0 -17.0 -19.0 -18.0 -13.0 -14.0 -11.0 -8.0 -9.0 -10.0 -9.0 -4.0 -10.0 -8.0 -9.0 -9.0 -10.0 -10.0 -10.0 -9.0 -7.0 -13.0 -8.0 -7.0 -2.0 -2.0 -4.0 -2.0 -2.0 1.0 -1.0 -1.0 -4.0 -3.0 -3.0 -3.0 -3.0 -4.0 -3.0 -3.0 -1.0 0.0 1.0 -1.0 -1.0 0.0 0.0 1.0 4.0 6.0 6.0 7.0 10.0 10.0 14.0 12.0 12.0 15.0 14.0 13.0 17.0 17.0 17.0 20.0 20.0 19.0 23.0 21.0 20.0 25.0 26.0 29.0 29.0 29.0 29.0 27.0 27.0 26.0 25.0 24.0 26.0 28.0 28.0 30.0 29.0 32.0 33.0 33.0 35.0 33.0 33.0 31.0 29.0 34.0 33.0 31.0 32.0 31.0 29.0 31.0 30.0 32.0 32.0 30.0 33.0 36.0 35.0 37.0 39.0 39.0 38.0 34.0 36.0 35.0 38.0 40.0 34.0 40.0 38.0 38.0 39.0 39.0 40.0 39.0 39.0 38.0 39.0 37.0 41.0 43.0 43.0 40.0 40.0 43.0 46.0 42.0 41.0 44.0 41.0 42.0 40.0 45.0 43.0 45.0 44.0 43.0 45.0 45.0 49.0 48.0 50.0 51.0 50.0 46.0 47.0 49.0 48.0 50.0 48.0 48.0 50.0 48.0 49.0 55.0 57.0 59.0 63.0 63.0 65.0 65.0 65.0 68.0 68.0 69.0 70.0 69.0 69.0 70.0 71.0 70.0 69.0 70.0 70.0 73.0 76.0 73.0 79.0 79.0 75.0 77.0 77.0 76.0 77.0 79.0 80.0 83.0 81.0 79.0 81.0 82.0 81.0 80.0 83.0 82.0 82.0 83.0 84.0 86.0 87.0 89.0 93.0 96.0 99.0 98.0 101.0 100.0 101.0 103.0 104.0 100.0 104.0 106.0 104.0 111.0 108.0 107.0 113.0 110.0 114.0 111.0 108.0 113.0 110.0 112.0 111.0 111.0 112.0 113.0 113.0 117.0 117.0 116.0 122.0 118.0 121.0 119.0 120.0 122.0 123.0 126.0 125.0 124.0 125.0 124.0 125.0 126.0 127.0 133.0 130.0 131.0 129.0 128.0 131.0 131.0 131.0 129.0 131.0 130.0 133.0 131.0 132.0 132.0 134.0 132.0 133.0 135.0 132.0 133.0 131.0 133.0 132.0 134.0 133.0 132.0 133.0 131.0 130.0 131.0 130.0 131.0 134.0 134.0 135.0 133.0 131.0 128.0 130.0 128.0 129.0 130.0 128.0 128.0 127.0 125.0 129.0 133.0 133.0 130.0 130.0 130.0 131.0 132.0 131.0 130.0 126.0 130.0 132.0 130.0 132.0 133.0 133.0 136.0 132.0 130.0 134.0 134.0 134.0 132.0 134.0 135.0 135.0 133.0 135.0 132.0 139.0 136.0 135.0 141.0 140.0 142.0 137.0 139.0 137.0 137.0 136.0 138.0 137.0 137.0 137.0 133.0 135.0 137.0 136.0 138.0 139.0 141.0 140.0 139.0 137.0 138.0 137.0 133.0 134.0 138.0 136.0 137.0 137.0 138.0 139.0 140.0 141.0 140.0 140.0 136.0 139.0 139.0 140.0 138.0 135.0 133.0 135.0 134.0 133.0 136.0 135.0 135.0 131.0 133.0 136.0 133.0 134.0 138.0 137.0 140.0 143.0 141.0 134.0 135.0 137.0 141.0 141.0 138.0 136.0 132.0 137.0 137.0 135.0 132.0 131.0 135.0 133.0 136.0 136.0 134.0 135.0 139.0 135.0 134.0 138.0 132.0 128.0 128.0 124.0 125.0 127.0 124.0 127.0 127.0 125.0 127.0 126.0 128.0 129.0 131.0 130.0 128.0 129.0 131.0 129.0 125.0 127.0 125.0 121.0 120.0 120.0 117.0 117.0 115.0 117.0 118.0 115.0 118.0 116.0 117.0 113.0 115.0 117.0 114.0 115.0 113.0 108.0 106.0 104.0 100.0 102.0 104.0 104.0 103.0 106.0 105.0 105.0 106.0 112.0 113.0 109.0 115.0 113.0 112.0 111.0 107.0 108.0 107.0 105.0 106.0 104.0 101.0 103.0 99.0 102.0 101.0 105.0 106.0 102.0 103.0 106.0 101.0 99.0 98.0 97.0 100.0 95.0 91.0 89.0 87.0 86.0 85.0 85.0 83.0 80.0 79.0 76.0 71.0 69.0 69.0 69.0 70.0 67.0 65.0 69.0 67.0 68.0 63.0 64.0 64.0 63.0 59.0 53.0 55.0 52.0 53.0 53.0 56.0 57.0 59.0 58.0 60.0 60.0 60.0 59.0 60.0 61.0 55.0 58.0 57.0 53.0 54.0 55.0 60.0 58.0 60.0 57.0 59.0 60.0 58.0 56.0 54.0 52.0 51.0 56.0 48.0 51.0 50.0 49.0 46.0 45.0 45.0 42.0 40.0 38.0 41.0 40.0 36.0 36.0 40.0 36.0 39.0 34.0 36.0 33.0 32.0 31.0 31.0 33.0 29.0 32.0 27.0 27.0 31.0 32.0 31.0 30.0 32.0 31.0 28.0 29.0 31.0 28.0 26.0 26.0 21.0 16.0 13.0 12.0 13.0 11.0 12.0 9.0 3.0 8.0 7.0 0.0 0.0 1.0 4.0 0.0 -4.0 -4.0 -2.0 -2.0 -8.0 -6.0 -6.0 -9.0 -2.0 -9.0 -11.0 -9.0 -11.0 -10.0 -12.0 -11.0 -11.0 -12.0 -18.0 -21.0 -21.0 -22.0 -20.0 -20.0 -20.0 -24.0 -25.0 -24.0 -26.0 -24.0 -27.0 -23.0 -27.0 -27.0 -28.0 -31.0 -31.0 -33.0 -33.0 -34.0 -33.0 -35.0 -33.0 -36.0 -38.0 -37.0 -38.0 -39.0 -40.0 -44.0 -43.0 -45.0 -48.0 -50.0 -48.0 -48.0 -53.0 -52.0 -54.0 -52.0 -53.0 -55.0 -57.0 -60.0 -61.0 -57.0 -60.0 -61.0 -60.0 -59.0 -57.0 -61.0 -61.0 -64.0 -61.0 -59.0 -56.0 -59.0 -61.0 -57.0 -56.0 -56.0 -55.0 -54.0 -51.0 -51.0 -51.0 -52.0 -56.0 -52.0 -55.0 -55.0 -55.0 -57.0 -60.0 -59.0 -59.0 -64.0 -62.0 -62.0 -61.0 -64.0 -64.0 -64.0 -70.0 -67.0 -70.0 -71.0 -69.0 -73.0 -75.0 -81.0 -83.0 -80.0 -85.0 -87.0 -90.0 -91.0 -88.0 -89.0 -90.0 -89.0 -91.0 -89.0 -87.0 -87.0 -87.0 -86.0 -91.0 -93.0 -92.0 -90.0 -93.0 -97.0 -101.0 -99.0 -100.0 -103.0 -103.0 -103.0 -102.0 -107.0 -105.0 -107.0 -106.0 -109.0 -109.0 -107.0 -111.0 -111.0 -110.0 -111.0 -116.0 -115.0 -114.0 -116.0 -118.0 -121.0 -118.0 -116.0 -113.0 -115.0 -117.0 -115.0 -116.0 -119.0 -119.0 -121.0 -122.0 -123.0 -122.0 -123.0 -127.0 -125.0 -124.0 -123.0 -126.0 -128.0 -131.0 -128.0 -128.0 -129.0 -127.0 -127.0 -129.0 -132.0 -130.0 -133.0 -132.0 -134.0 -132.0 -129.0 -132.0 -133.0 -134.0 -133.0 -133.0 -132.0 -130.0 -129.0 -131.0 -136.0 -136.0 -139.0 -141.0 -137.0 -139.0 -140.0 -138.0 -140.0 -141.0 -140.0 -142.0 -145.0 -144.0 -147.0 -145.0 -149.0 -150.0 -148.0 -153.0 -149.0 -146.0 -150.0 -150.0 -152.0 -149.0 -150.0 -153.0 -145.0 -147.0 -149.0 -145.0 -144.0 -148.0 -146.0 -146.0 -145.0 -141.0 -143.0 -140.0 -135.0 -139.0 -136.0 -134.0 -133.0 -129.0 -131.0 -130.0 -130.0 -128.0 -130.0 -130.0 -129.0 -129.0 -125.0 -124.0 -124.0 -125.0 -129.0 -126.0 -128.0 -126.0 -123.0 -125.0 -123.0 -123.0 -124.0 -124.0 -125.0 -126.0 -123.0 -121.0 -122.0 -118.0 -118.0 -121.0 -118.0 -119.0 -117.0 -120.0 -119.0 -117.0 -120.0 -118.0 -117.0 -120.0 -119.0 -120.0 -119.0 -114.0 -115.0 -115.0 -114.0 -113.0 -115.0 -111.0 -113.0 -108.0 -111.0 -112.0 -112.0 -112.0 -107.0 -110.0 -110.0 -111.0 -108.0 -109.0 -109.0 -110.0 -114.0 -113.0 -116.0 -118.0 -112.0 -118.0 -117.0 -112.0 -116.0 -113.0 -113.0 -111.0 -110.0 -111.0 -111.0 -111.0 -110.0 -111.0 -112.0 -114.0 -112.0 -111.0 -112.0 -113.0 -112.0 -110.0 -110.0 -107.0 -109.0 -111.0 -108.0 -107.0 -105.0 -103.0 -104.0 -103.0 -102.0 -99.0 -101.0 -96.0 -93.0 -93.0 -92.0 -87.0 -85.0 -88.0 -85.0 -88.0 -82.0 -84.0 -82.0 -84.0 -84.0 -81.0 -84.0 -82.0 -84.0 -79.0 -81.0 -78.0 -80.0 -80.0 -79.0 -80.0 -75.0 -79.0 -77.0 -72.0 -75.0 -76.0 -75.0 -76.0 -74.0 -74.0 -76.0 -75.0 -79.0 -76.0 -79.0 -81.0 -76.0 -78.0 -76.0 -76.0 -74.0 -73.0 -72.0 -71.0 -70.0 -68.0 -72.0 -68.0 -69.0 -69.0 -67.0 -66.0 -62.0 -62.0 -58.0 -60.0 -56.0 -55.0 -57.0 -57.0 -60.0 -56.0 -53.0 -51.0 -53.0 -49.0 -46.0 -47.0 -49.0 -49.0 -44.0 -45.0 -44.0 -42.0 -44.0 -45.0 -44.0 -44.0 -46.0 -45.0 -45.0 -45.0 -46.0 -43.0 -45.0 -43.0 -39.0 -45.0 -41.0 -42.0 -42.0 -43.0 -48.0 -50.0 -48.0 -48.0 -48.0 -46.0 -46.0 -41.0 -41.0 -43.0 -42.0 -36.0 -40.0 -42.0 -37.0 -40.0 -41.0 -42.0 -42.0 -42.0 -41.0 -40.0 -39.0 -38.0 -37.0 -41.0 -40.0 -42.0 -42.0 -42.0 -43.0 -41.0 -45.0 -44.0 -37.0 -38.0 -36.0 -34.0 -35.0 -28.0 -33.0 -34.0 -33.0 -31.0 -32.0 -35.0 -33.0 -31.0 -34.0 -35.0 -33.0 -35.0 -34.0 -33.0 -34.0 -30.0 -31.0 -33.0 -30.0 -30.0 -34.0 -31.0 -27.0 -29.0 -25.0 -26.0 -26.0 -27.0 -27.0 -27.0 -27.0 -29.0 -31.0 -30.0 -30.0 -31.0 -35.0 -31.0 -32.0 -32.0 -32.0 -32.0 -31.0 -34.0 -30.0 -35.0 -35.0 -37.0 -38.0 -35.0 -36.0 -37.0 -39.0 -39.0 -37.0 -35.0 -37.0 -37.0 -34.0 -30.0 -33.0 -37.0 -34.0 -35.0 -36.0 -32.0 -32.0 -33.0 -34.0 -31.0 -34.0 -33.0 -29.0 -29.0 -26.0 -27.0 -25.0 -24.0 -24.0 -23.0 -21.0 -27.0 -25.0 -21.0 -20.0 -21.0 -21.0 -19.0 -22.0 -19.0 -22.0 -18.0 -18.0 -14.0 -15.0 -15.0 -17.0 -20.0 -15.0 -22.0 -19.0 -21.0 -18.0 -17.0 -21.0 -18.0 -20.0 -15.0 -17.0 -15.0 -16.0 -16.0 -14.0 -15.0 -11.0 -11.0 -11.0 -9.0 -8.0 -10.0 -8.0 -6.0 -7.0 -3.0 -1.0 1.0 0.0 3.0 8.0 5.0 6.0 9.0 10.0 10.0 11.0 8.0 11.0 12.0 10.0 12.0 11.0 11.0 14.0 15.0 15.0 20.0 18.0 22.0 21.0 21.0 21.0 26.0 26.0 25.0 26.0 25.0 28.0 27.0 28.0 28.0 29.0 34.0 35.0 35.0 35.0 30.0 31.0 34.0 33.0 36.0 35.0 31.0 36.0 38.0 36.0 36.0 37.0 41.0 42.0 42.0 40.0 39.0 41.0 45.0 43.0 45.0 46.0 45.0 45.0 45.0 46.0 46.0 45.0 47.0 51.0 49.0 51.0 52.0 49.0 51.0 48.0 50.0 52.0 52.0 52.0 51.0 53.0 54.0 54.0 55.0 55.0 58.0 56.0 55.0 58.0 57.0 59.0 59.0 59.0 62.0 64.0 66.0 63.0 69.0 68.0 69.0 72.0 75.0 78.0 75.0 75.0 77.0 76.0 76.0 80.0 78.0 78.0 82.0 80.0 84.0 82.0 80.0 86.0 83.0 83.0 85.0 88.0 87.0 84.0 88.0 87.0 83.0 84.0 80.0 81.0 84.0 79.0 82.0 83.0 82.0 83.0 87.0 84.0 88.0 88.0 85.0 89.0 88.0 91.0 91.0 87.0 93.0 96.0 94.0 95.0 99.0 99.0 100.0 103.0 97.0 102.0 106.0 102.0 102.0 103.0 102.0 105.0 105.0 104.0 101.0 98.0 95.0 96.0 97.0 96.0 96.0 98.0 99.0 96.0 97.0 95.0 93.0 95.0 96.0 97.0 97.0 92.0 96.0 97.0 91.0 91.0 89.0 86.0 85.0 86.0 89.0 86.0 84.0 85.0 88.0 85.0 83.0 87.0 81.0 82.0 83.0 87.0 81.0 84.0 86.0 84.0 85.0 86.0 87.0 84.0 90.0 91.0 87.0 89.0 86.0 89.0 88.0 87.0 88.0 90.0 92.0 90.0 90.0 92.0 92.0 91.0 93.0 91.0 92.0 89.0 85.0 82.0 82.0 79.0 78.0 81.0 78.0 83.0 79.0 80.0 80.0 77.0 77.0 76.0 75.0 77.0 77.0 71.0 71.0 73.0 70.0 71.0 73.0 75.0 74.0 71.0 74.0 73.0 80.0 75.0 75.0 77.0 75.0 73.0 66.0 68.0 68.0 66.0 66.0 67.0 67.0 65.0 64.0 62.0 64.0 65.0 68.0 66.0 68.0 71.0 66.0 66.0 65.0 66.0 67.0 71.0 67.0 64.0 65.0 61.0 61.0 63.0 66.0 65.0 65.0 65.0 65.0 63.0 64.0 65.0 64.0 66.0 63.0 62.0 63.0 61.0 58.0 58.0 56.0 55.0 53.0 58.0 63.0 64.0 64.0 67.0 65.0 67.0 67.0 67.0 68.0 67.0 69.0 67.0 67.0 68.0 69.0 64.0 65.0 65.0 64.0 66.0 65.0 63.0 59.0 58.0 58.0 59.0 55.0 54.0 53.0 51.0 52.0 52.0 52.0 53.0 52.0 53.0 54.0 55.0 56.0 57.0 56.0 57.0 58.0 63.0 61.0 65.0 65.0 64.0 67.0 63.0 66.0 65.0 66.0 68.0 67.0 65.0 66.0 67.0 67.0 65.0 68.0 66.0 64.0 65.0 65.0 62.0 64.0 68.0 64.0 66.0 65.0 63.0 64.0 64.0 68.0 65.0 62.0 63.0 61.0 63.0 59.0 60.0 57.0 60.0 61.0 57.0 55.0 53.0 53.0 51.0 50.0 55.0 54.0 53.0 51.0 51.0 54.0 55.0 53.0 54.0 56.0 56.0 55.0 54.0 54.0 53.0 53.0 54.0 54.0 55.0 55.0 58.0 58.0 59.0 58.0 61.0 62.0 58.0 57.0 56.0 59.0 58.0 55.0 57.0 58.0 56.0 58.0 59.0 59.0 63.0 65.0 63.0 61.0 57.0 55.0 55.0 51.0 50.0 50.0 49.0 47.0 43.0 46.0 44.0 46.0 46.0 45.0 44.0 46.0 49.0 46.0 47.0 47.0 48.0 45.0 50.0 47.0 45.0 42.0 41.0 47.0 46.0 47.0 45.0 47.0 44.0 42.0 43.0 43.0 41.0 41.0 41.0 39.0 40.0 37.0 35.0 35.0 27.0 29.0 26.0 25.0 27.0 24.0 25.0 26.0 20.0 18.0 24.0 19.0 21.0 15.0 17.0 18.0 18.0 18.0 18.0 20.0 18.0 21.0 18.0 20.0 17.0 19.0 20.0 21.0 17.0 19.0 19.0 19.0 17.0 19.0 17.0 13.0 14.0 9.0 11.0 10.0 14.0 11.0 11.0 13.0 14.0 16.0 14.0 10.0 10.0 12.0 11.0 9.0 8.0 10.0 12.0 10.0 12.0 14.0 13.0 10.0 8.0 6.0 6.0 1.0 -2.0 -4.0 -5.0 -2.0 -4.0 -6.0 -9.0 -5.0 -4.0 -6.0 -8.0 -10.0 -14.0 -18.0 -17.0 -20.0 -23.0 -19.0 -18.0 -21.0 -19.0 -16.0 -15.0 -16.0 -14.0 -11.0 -10.0 -11.0 -8.0 -9.0 -8.0 -6.0 -2.0 -8.0 -6.0 -1.0 -2.0 2.0 -3.0 0.0 -1.0 -3.0 1.0 1.0 -4.0 -3.0 -3.0 -3.0 -2.0 -4.0 -1.0 -7.0 -2.0 -2.0 -3.0 -4.0 -4.0 -3.0 -10.0 -8.0 -9.0 -9.0 -10.0 -11.0 -14.0 -13.0 -11.0 -9.0 -10.0 -11.0 -6.0 -10.0 -11.0 -7.0 -14.0 -10.0 -11.0 -11.0 -12.0 -11.0 -9.0 -13.0 -11.0 -16.0 -12.0 -11.0 -14.0 -11.0 -14.0 -18.0 -14.0 -10.0 -10.0 -10.0 -10.0 -10.0 -7.0 -4.0 -9.0 -13.0 -8.0 -8.0 -13.0 -9.0 -11.0 -11.0 -16.0 -18.0 -15.0 -17.0 -13.0 -14.0 -11.0 -10.0 -11.0 -14.0 -14.0 -15.0 -18.0 -22.0 -20.0 -19.0 -24.0 -24.0 -25.0 -20.0 -21.0 -22.0 -22.0 -22.0 -20.0 -19.0 -20.0 -22.0 -22.0 -22.0 -26.0 -26.0 -24.0 -22.0 -24.0 -21.0 -16.0 -19.0 -21.0 -17.0 -18.0 -22.0 -20.0 -26.0 -27.0 -27.0 -32.0 -32.0 -33.0 -29.0 -29.0 -27.0 -28.0 -33.0 -32.0 -33.0 -37.0 -38.0 -37.0 -36.0 -37.0 -34.0 -37.0 -41.0 -39.0 -39.0 -39.0 -42.0 -42.0 -42.0 -42.0 -47.0 -46.0 -48.0 -49.0 -49.0 -48.0 -46.0 -50.0 -48.0 -45.0 -45.0 -44.0 -43.0 -41.0 -39.0 -40.0 -42.0 -42.0 -41.0 -45.0 -42.0 -42.0 -46.0 -43.0 -45.0 -47.0 -47.0 -45.0 -43.0 -45.0 -49.0 -42.0 -46.0 -52.0 -48.0 -47.0 -48.0 -47.0 -49.0 -49.0 -45.0 -49.0 -52.0 -51.0 -51.0 -53.0 -52.0 -52.0 -54.0 -56.0 -55.0 -52.0 -54.0 -58.0 -59.0 -56.0 -54.0 -59.0 -60.0 -62.0 -63.0 -62.0 -66.0 -65.0 -63.0 -62.0 -64.0 -65.0 -60.0 -64.0 -66.0 -61.0 -61.0 -63.0 -61.0 -62.0 -63.0 -65.0 -63.0 -65.0 -66.0 -64.0 -61.0 -64.0 -66.0 -66.0 -67.0 -71.0 -73.0 -70.0 -69.0 -71.0 -75.0 -75.0 -78.0 -82.0 -82.0 -83.0 -79.0 -80.0 -82.0 -84.0 -86.0 -85.0 -93.0 -95.0 -95.0 -97.0 -95.0 -95.0 -92.0 -96.0 -95.0 -96.0 -97.0 -94.0 -96.0 -94.0 -93.0 -95.0 -96.0 -96.0 -94.0 -95.0 -98.0 -98.0 -100.0 -103.0 -101.0 -100.0 -99.0 -106.0 -104.0 -105.0 -105.0 -108.0 -108.0 -108.0 -110.0 -110.0 -111.0 -108.0 -112.0 -112.0 -109.0 -113.0 -110.0 -112.0 -108.0 -109.0 -109.0 -106.0 -104.0 -110.0 -106.0 -107.0 -108.0 -108.0 -111.0 -111.0 -111.0 -112.0 -115.0 -112.0 -114.0 -114.0 -114.0 -115.0 -117.0 -114.0 -116.0 -112.0 -114.0 -117.0 -111.0 -110.0 -106.0 -107.0 -107.0 -105.0 -107.0 -107.0 -106.0 -106.0 -105.0 -104.0 -103.0 -104.0 -102.0 -99.0 -100.0 -97.0 -96.0 -97.0 -94.0 -96.0 -98.0 -99.0 -97.0 -100.0 -103.0 -103.0 -102.0 -104.0 -105.0 -104.0 -108.0 -102.0 -108.0 -108.0 -104.0 -105.0 -103.0 -105.0 -104.0 -105.0 -107.0 -104.0 -103.0 -104.0 -102.0 -98.0 -99.0 -99.0 -90.0 -87.0 -84.0 -79.0 -76.0 -79.0 -78.0 -75.0 -72.0 -71.0 -74.0 -75.0 -75.0 -75.0 -74.0 -72.0 -71.0 -72.0 -74.0 -71.0 -70.0 -71.0 -68.0 -68.0 -69.0 -70.0 -70.0 -70.0 -68.0 -72.0 -68.0 -66.0 -69.0 -70.0 -68.0 -68.0 -69.0 -69.0 -68.0 -68.0 -68.0 -70.0 -65.0 -62.0 -64.0 -65.0 -62.0 -59.0 -57.0 -54.0 -59.0 -56.0 -55.0 -53.0 -55.0 -54.0 -56.0 -58.0 -57.0 -56.0 -56.0 -57.0 -53.0 -52.0 -51.0 -50.0 -49.0 -49.0 -51.0 -51.0 -46.0 -50.0 -50.0 -52.0 -53.0 -51.0 -53.0 -53.0 -52.0 -54.0 -48.0 -50.0 -51.0 -50.0 -53.0 -54.0 -53.0 -54.0 -57.0 -57.0 -59.0 -55.0 -56.0 -58.0 -55.0 -55.0 -55.0 -58.0 -55.0 -57.0 -55.0 -52.0 -55.0 -51.0 -49.0 -53.0 -51.0 -50.0 -47.0 -43.0 -43.0 -42.0 -39.0 -36.0 -38.0 -35.0 -33.0 -30.0 -30.0 -28.0 -29.0 -29.0 -26.0 -23.0 -21.0 -26.0 -21.0 -24.0 -26.0 -24.0 -28.0 -26.0 -26.0 -22.0 -25.0 -20.0 -24.0 -24.0 -19.0 -20.0 -18.0 -22.0 -20.0 -21.0 -21.0 -21.0 -19.0 -22.0 -18.0 -17.0 -18.0 -15.0 -18.0 -14.0 -12.0 -7.0 -5.0 -7.0 -8.0 -5.0 -8.0 -11.0 -11.0 -12.0 -12.0 -14.0 -8.0 -9.0 -8.0 -4.0 -6.0 -7.0 -7.0 -8.0 -6.0 -14.0 -15.0 -14.0 -14.0 -13.0 -14.0 -14.0 -14.0 -11.0 -13.0 -14.0 -10.0 -8.0 -8.0 -10.0 -11.0 -11.0 -10.0 -12.0 -12.0 -12.0 -14.0 -12.0 -15.0 -14.0 -9.0 -12.0 -11.0 -11.0 -8.0 -8.0 -11.0 -11.0 -11.0 -10.0 -9.0 -9.0 -6.0 -5.0 -4.0 -5.0 -4.0 -2.0 -8.0 -4.0 -5.0 -9.0 -6.0 -6.0 -4.0 -4.0 -3.0 -3.0 -4.0 0.0 -1.0 -1.0 -3.0 -2.0 -4.0 -2.0 -2.0 -1.0 -1.0 0.0 5.0 2.0 4.0 6.0 6.0 9.0 7.0 10.0 9.0 7.0 10.0 8.0 9.0 7.0 6.0 6.0 7.0 8.0 10.0 12.0 11.0 14.0 13.0 11.0 11.0 14.0 13.0 12.0 12.0 8.0 9.0 12.0 12.0 12.0 11.0 14.0 14.0 14.0 14.0 17.0 22.0 21.0 25.0 26.0 28.0 30.0 32.0 32.0 34.0 33.0 31.0 33.0 34.0 33.0 38.0 37.0 37.0 39.0 41.0 44.0 44.0 42.0 46.0 42.0 43.0 45.0 46.0 44.0 42.0 39.0 37.0 37.0 38.0 39.0 39.0 35.0 37.0 38.0 38.0 41.0 39.0 39.0 37.0 39.0 38.0 33.0 32.0 34.0 37.0 38.0 38.0 40.0 40.0 38.0 43.0 47.0 45.0 46.0 47.0 45.0 47.0 44.0 48.0 50.0 47.0 47.0 46.0 49.0 52.0 51.0 50.0 51.0 51.0 48.0 50.0 48.0 48.0 45.0 49.0 47.0 45.0 43.0 41.0 42.0 42.0 47.0 46.0 51.0 51.0 50.0 51.0 52.0 54.0 56.0 54.0 55.0 55.0 54.0 52.0 49.0 55.0 53.0 58.0 56.0 54.0 59.0 55.0 60.0 59.0 58.0 59.0 56.0 58.0 59.0 57.0 61.0 60.0 64.0 70.0 68.0 71.0 65.0 65.0 65.0 68.0 67.0 66.0 63.0 63.0 65.0 59.0 59.0 59.0 61.0 59.0 58.0 58.0 57.0 58.0 60.0 61.0 56.0 58.0 58.0 63.0 61.0 59.0 61.0 62.0 62.0 59.0 61.0 59.0 61.0 62.0 59.0 59.0 63.0 64.0 64.0 64.0 65.0 66.0 65.0 70.0 70.0 73.0 74.0 73.0 74.0 74.0 77.0 76.0 75.0 75.0 72.0 76.0 76.0 77.0 81.0 82.0 83.0 80.0 82.0 81.0 79.0 78.0 76.0 74.0 73.0 71.0 73.0 74.0 72.0 70.0 69.0 70.0 68.0 67.0 70.0 67.0 67.0 69.0 69.0 67.0 70.0 66.0 66.0 68.0 69.0 70.0 69.0 68.0 65.0 67.0 66.0 72.0 72.0 68.0 67.0 69.0 70.0 68.0 68.0 64.0 68.0 64.0 64.0 63.0 60.0 56.0 56.0 58.0 56.0 58.0 56.0 59.0 56.0 58.0 61.0 59.0 59.0 58.0 55.0 56.0 53.0 49.0 57.0 52.0 53.0 51.0 51.0 55.0 53.0 56.0 56.0 53.0 51.0 54.0 53.0 54.0 52.0 50.0 52.0 51.0 52.0 50.0 51.0 52.0 48.0 50.0 50.0 48.0 48.0 45.0 47.0 43.0 44.0 43.0 39.0 41.0 41.0 39.0 38.0 36.0 38.0 39.0 39.0 42.0 36.0 37.0 32.0 32.0 36.0 36.0 38.0 33.0 33.0 35.0 35.0 37.0 37.0 40.0 40.0 42.0 43.0 42.0 45.0 44.0 47.0 47.0 49.0 52.0 50.0 50.0 49.0 53.0 49.0 50.0 53.0 54.0 54.0 50.0 53.0 49.0 54.0 50.0 50.0 54.0 53.0 51.0 54.0 56.0 52.0 53.0 50.0 49.0 44.0 43.0 41.0 40.0 41.0 35.0 38.0 43.0 40.0 40.0 38.0 40.0 35.0 39.0 43.0 40.0 38.0 37.0 36.0 36.0 32.0 30.0 31.0 32.0 34.0 31.0 36.0 34.0 38.0 39.0 39.0 43.0 41.0 47.0 44.0 43.0 45.0 47.0 49.0 44.0 48.0 45.0 42.0 42.0 43.0 42.0 50.0 46.0 47.0 52.0 50.0 52.0 49.0 54.0 52.0 51.0 55.0 52.0 49.0 49.0 46.0 48.0 50.0 48.0 46.0 44.0 43.0 44.0 40.0 38.0 36.0 41.0 39.0 36.0 36.0 34.0 37.0 31.0 31.0 33.0 35.0 31.0 30.0 30.0 31.0 28.0 27.0 29.0 23.0 22.0 22.0 22.0 21.0 16.0 15.0 17.0 17.0 20.0 17.0 16.0 20.0 20.0 20.0 22.0 23.0 20.0 20.0 21.0 22.0 20.0 20.0 23.0 22.0 24.0 24.0 22.0 25.0 27.0 32.0 33.0 31.0 37.0 35.0 33.0 36.0 37.0 38.0 36.0 38.0 39.0 38.0 35.0 35.0 36.0 35.0 34.0 31.0 34.0 34.0 31.0 34.0 34.0 32.0 31.0 32.0 29.0 28.0 32.0 28.0 25.0 25.0 20.0 21.0 19.0 20.0 18.0 17.0 21.0 19.0 20.0 21.0 20.0 19.0 20.0 21.0 19.0 18.0 18.0 15.0 13.0 10.0 8.0 10.0 11.0 9.0 11.0 9.0 11.0 11.0 14.0 14.0 13.0 15.0 13.0 9.0 7.0 10.0 9.0 7.0 10.0 12.0 10.0 10.0 7.0 9.0 9.0 8.0 8.0 13.0 14.0 6.0 7.0 10.0 7.0 6.0 6.0 6.0 7.0 5.0 8.0 8.0 4.0 7.0 7.0 2.0 0.0 0.0 -6.0 -5.0 -7.0 -6.0 -5.0 -5.0 -6.0 -9.0 -9.0 -11.0 -11.0 -12.0 -16.0 -20.0 -17.0 -19.0 -22.0 -18.0 -18.0 -21.0 -16.0 -18.0 -20.0 -19.0 -20.0 -18.0 -23.0 -23.0 -24.0 -19.0 -19.0 -17.0 -16.0 -18.0 -16.0 -16.0 -17.0 -17.0 -17.0 -20.0 -16.0 -14.0 -15.0 -18.0 -15.0 -17.0 -17.0 -18.0 -17.0 -16.0 -18.0 -14.0 -14.0 -12.0 -15.0 -13.0 -16.0 -15.0 -19.0 -17.0 -17.0 -17.0 -19.0 -19.0 -20.0 -22.0 -23.0 -21.0 -21.0 -22.0 -23.0 -25.0 -22.0 -22.0 -20.0 -21.0 -23.0 -25.0 -22.0 -25.0 -21.0 -19.0 -21.0 -20.0 -18.0 -20.0 -23.0 -17.0 -20.0 -18.0 -15.0 -15.0 -19.0 -16.0 -15.0 -15.0 -13.0 -15.0 -15.0 -15.0 -11.0 -11.0 -12.0 -14.0 -16.0 -15.0 -14.0 -14.0 -14.0 -16.0 -14.0 -11.0 -15.0 -18.0 -20.0 -21.0 -20.0 -22.0 -23.0 -23.0 -23.0 -23.0 -20.0 -19.0 -21.0 -15.0 -16.0 -14.0 -11.0 -12.0 -11.0 -13.0 -9.0 -10.0 -9.0 -7.0 -11.0 -9.0 -9.0 -10.0 -14.0 -13.0 -8.0 -10.0 -7.0 -7.0 -9.0 -6.0 -5.0 -5.0 -5.0 -4.0 -5.0 -8.0 -6.0 -5.0 -6.0 -3.0 -8.0 -7.0 -2.0 -4.0 -2.0 -1.0 -3.0 -5.0 -4.0 -5.0 -4.0 -8.0 -9.0 -8.0 -10.0 -8.0 -8.0 -6.0 -5.0 -6.0 -10.0 -4.0 -3.0 -4.0 -2.0 -3.0 -1.0 -4.0 -3.0 -3.0 -7.0 -5.0 -4.0 -3.0 -3.0 -1.0 -1.0 -3.0 1.0 2.0 5.0 4.0 2.0 5.0 3.0 6.0 5.0 3.0 6.0 6.0 3.0 0.0 2.0 -4.0 -8.0 -7.0 -10.0 -9.0 -11.0 -12.0 -8.0 -13.0 -11.0 -14.0 -17.0 -16.0 -15.0 -17.0 -18.0 -16.0 -17.0 -20.0 -22.0 -24.0 -19.0 -19.0 -20.0 -18.0 -16.0 -20.0 -17.0 -17.0 -14.0 -19.0 -18.0 -14.0 -16.0 -15.0 -16.0 -14.0 -16.0 -13.0 -15.0 -14.0 -16.0 -18.0 -20.0 -19.0 -16.0 -18.0 -20.0 -19.0 -16.0 -20.0 -20.0 -19.0 -18.0 -20.0 -22.0 -21.0 -18.0 -25.0 -21.0 -22.0 -28.0 -26.0 -22.0 -24.0 -25.0 -22.0 -22.0 -21.0 -21.0 -16.0 -21.0 -18.0 -17.0 -21.0 -22.0 -16.0 -22.0 -23.0 -20.0 -18.0 -19.0 -23.0 -26.0 -26.0 -27.0 -28.0 -27.0 -33.0 -31.0 -35.0 -32.0 -30.0 -36.0 -34.0 -30.0 -37.0 -37.0 -37.0 -37.0 -36.0 -41.0 -41.0 -43.0 -46.0 -49.0 -49.0 -53.0 -52.0 -52.0 -49.0 -48.0 -49.0 -50.0 -50.0 -47.0 -46.0 -47.0 -46.0 -46.0 -51.0 -52.0 -51.0 -50.0 -53.0 -53.0 -49.0 -52.0 -49.0 -49.0 -49.0 -46.0 -49.0 -48.0 -49.0 -52.0 -52.0 -54.0 -53.0 -55.0 -56.0 -48.0 -52.0 -52.0 -49.0 -48.0 -46.0 -48.0 -42.0 -44.0 -48.0 -49.0 -51.0 -49.0 -50.0 -53.0 -51.0 -54.0 -55.0 -55.0 -56.0 -51.0 -61.0 -58.0 -57.0 -57.0 -58.0 -62.0 -62.0 -59.0 -57.0 -60.0 -60.0 -59.0 -54.0 -58.0 -55.0 -56.0 -54.0 -57.0 -58.0 -58.0 -56.0 -53.0 -57.0 -58.0 -53.0 -51.0 -51.0 -50.0 -51.0 -47.0 -49.0 -51.0 -49.0 -50.0 -52.0 -48.0 -52.0 -50.0 -52.0 -50.0 -51.0 -50.0 -49.0 -50.0 -48.0 -46.0 -42.0 -44.0 -41.0 -41.0 -39.0 -40.0 -38.0 -37.0 -35.0 -36.0 -35.0 -33.0 -34.0 -32.0 -33.0 -29.0 -30.0 -30.0 -28.0 -25.0 -23.0 -30.0 -27.0 -26.0 -28.0 -28.0 -30.0 -29.0 -32.0 -31.0 -33.0 -31.0 -28.0 -33.0 -32.0 -29.0 -28.0 -29.0 -26.0 -24.0 -26.0 -24.0 -19.0 -21.0 -19.0 -18.0 -25.0 -24.0 -25.0 -21.0 -19.0 -24.0 -20.0 -23.0 -23.0 -25.0 -24.0 -28.0 -28.0 -27.0 -30.0 -29.0 -33.0 -31.0 -35.0 -36.0 -31.0 -36.0 -34.0 -34.0 -35.0 -31.0 -32.0 -34.0 -32.0 -34.0 -33.0 -36.0 -36.0 -36.0 -37.0 -38.0 -40.0 -38.0 -40.0 -37.0 -37.0 -35.0 -36.0 -36.0 -38.0 -37.0 -35.0 -35.0 -33.0 -37.0 -35.0 -38.0 -37.0 -39.0 -39.0 -37.0 -39.0 -42.0 -39.0 -38.0 -39.0 -38.0 -37.0 -40.0 -44.0 -42.0 -43.0 -44.0 -41.0 -43.0 -43.0 -42.0 -42.0 -42.0 -43.0 -41.0 -40.0 -41.0 -42.0 -43.0 -43.0 -44.0 -41.0 -39.0 -38.0 -38.0 -35.0 -36.0 -41.0 -41.0 -43.0 -40.0 -42.0 -40.0 -41.0 -37.0 -36.0 -34.0 -31.0 -30.0 -30.0 -34.0 -29.0 -29.0 -31.0 -32.0 -30.0 -29.0 -33.0 -37.0 -38.0 -35.0 -31.0 -36.0 -34.0 -31.0 -32.0 -32.0 -30.0 -31.0 -29.0 -29.0 -30.0 -24.0 -27.0 -26.0 -26.0 -29.0 -29.0 -28.0 -31.0 -28.0 -25.0 -28.0 -25.0 -28.0 -28.0 -26.0 -29.0 -26.0 -25.0 -28.0 -31.0 -29.0 -31.0 -28.0 -32.0 -33.0 -30.0 -28.0 -26.0 -28.0 -24.0 -23.0 -23.0 -25.0 -24.0 -28.0 -27.0 -31.0 -27.0 -32.0 -35.0 -30.0 -34.0 -31.0 -32.0 -32.0 -34.0 -32.0 -34.0 -36.0 -38.0 -37.0 -36.0 -38.0 -35.0 -37.0 -39.0 -41.0 -40.0 -42.0 -42.0 -39.0 -41.0 -36.0 -36.0 -36.0 -37.0 -36.0 -33.0 -33.0 -32.0 -32.0 -32.0 -33.0 -30.0 -32.0 -35.0 -36.0 -37.0 -39.0 -40.0 -41.0 -42.0 -39.0 -40.0 -41.0 -40.0 -37.0 -37.0 -37.0 -36.0 -41.0 -39.0 -34.0 -36.0 -39.0 -40.0 -40.0 -39.0 -38.0 -37.0 -36.0 -36.0 -32.0 -33.0 -27.0 -30.0 -30.0 -31.0 -30.0 -26.0 -26.0 -29.0 -36.0 -42.0 -38.0 -36.0 -32.0 -30.0 -42.0 -29.0 -34.0 -30.0 -22.0 -31.0 -47.0 -47.0 -23.0 -18.0 -15.0 -27.0 -38.0 -35.0 -33.0 -39.0 -30.0 -21.0 -20.0 -20.0 -28.0 -29.0 -27.0 -30.0 -22.0 -19.0 -14.0 -8.0 -10.0 -12.0 -16.0 -18.0 -17.0 -14.0 -17.0 -15.0 -11.0 -11.0 -13.0 -17.0 -17.0 -14.0 -9.0 -8.0 -11.0 -13.0 -14.0 -13.0 -12.0 -11.0 -11.0 -8.0 -4.0 -8.0 -8.0 -9.0 -5.0 -1.0 -3.0 -4.0 -1.0 1.0 -1.0 2.0 2.0 3.0 2.0 4.0 10.0 13.0 11.0 11.0 12.0 12.0 18.0 16.0 16.0 18.0 19.0 25.0 24.0 22.0 23.0 21.0 25.0 26.0 27.0 30.0 27.0 27.0 28.0 27.0 27.0 31.0 30.0 31.0 33.0 33.0 32.0 33.0 37.0 36.0 37.0 39.0 40.0 37.0 35.0 34.0 35.0 34.0 34.0 35.0 37.0 39.0 40.0 32.0 32.0 47.0 45.0 45.0 40.0 31.0 46.0 53.0 50.0 54.0 50.0 53.0 57.0 57.0 58.0 56.0 57.0 57.0 64.0 62.0 61.0 64.0 65.0 70.0 65.0 69.0 71.0 69.0 72.0 66.0 65.0 67.0 70.0 70.0 70.0 71.0 75.0 73.0 72.0 72.0 74.0 76.0 77.0 78.0 77.0 78.0 77.0 74.0 71.0 69.0 70.0 73.0 71.0 67.0 68.0 72.0 71.0 72.0 69.0 73.0 72.0 62.0 63.0 63.0 64.0 68.0 68.0 64.0 66.0 68.0 71.0 71.0 68.0 68.0 72.0 72.0 71.0 71.0 70.0 74.0 74.0 77.0 80.0 79.0 77.0 78.0 77.0 74.0 72.0 78.0 78.0 77.0 77.0 77.0 77.0 73.0 76.0 75.0 75.0 78.0 77.0 78.0 78.0 78.0 78.0 70.0 73.0 74.0 69.0 72.0 72.0 72.0 73.0 76.0 76.0 71.0 71.0 73.0 71.0 68.0 62.0 60.0 56.0 51.0 54.0 51.0 48.0 52.0 51.0 51.0 56.0 52.0 55.0 57.0 59.0 60.0 58.0 59.0 60.0 57.0 50.0 52.0 52.0 50.0 49.0 50.0 52.0 53.0 50.0 53.0 52.0 49.0 50.0 50.0 52.0 47.0 47.0 49.0 50.0 48.0 45.0 44.0 44.0 43.0 40.0 40.0 42.0 43.0 41.0 34.0 38.0 35.0 32.0 33.0 31.0 33.0 28.0 27.0 23.0 22.0 25.0 23.0 22.0 22.0 21.0 24.0 23.0 21.0 23.0 24.0 22.0 23.0 21.0 17.0 21.0 19.0 20.0 21.0 17.0 18.0 14.0 16.0 14.0 10.0 11.0 13.0 12.0 9.0 13.0 17.0 14.0 15.0 18.0 15.0 14.0 17.0 13.0 11.0 16.0 14.0 11.0 9.0 12.0 15.0 18.0 17.0 16.0 19.0 15.0 16.0 15.0 18.0 17.0 15.0 16.0 16.0 16.0 16.0 17.0 17.0 21.0 20.0 23.0 24.0 26.0 27.0 27.0 26.0 23.0 22.0 23.0 23.0 21.0 19.0 19.0 18.0 17.0 20.0 20.0 24.0 28.0 26.0 26.0 24.0 27.0 24.0 24.0 29.0 29.0 30.0 28.0 25.0 22.0 23.0 24.0 26.0 25.0 25.0 27.0 20.0 22.0 24.0 23.0 24.0 23.0 19.0 19.0 23.0 22.0 19.0 20.0 24.0 24.0 21.0 26.0 28.0 26.0 25.0 25.0 24.0 25.0 25.0 25.0 26.0 24.0 29.0 27.0 28.0 28.0 26.0 28.0 25.0 24.0 25.0 25.0 26.0 31.0 29.0 33.0 31.0 30.0 29.0 30.0 33.0 31.0 33.0 33.0 30.0 28.0 28.0 26.0 31.0 29.0 29.0 32.0 30.0 29.0 29.0 27.0 27.0 28.0 27.0 21.0 19.0 26.0 24.0 27.0 22.0 24.0 25.0 19.0 19.0 21.0 18.0 17.0 12.0 9.0 9.0 10.0 7.0 7.0 11.0 10.0 6.0 4.0 4.0 1.0 4.0 3.0 8.0 7.0 9.0 9.0 4.0 2.0 3.0 8.0 9.0 13.0 11.0 14.0 12.0 7.0 5.0 6.0 10.0 7.0 4.0 6.0 4.0 3.0 2.0 1.0 1.0 2.0 4.0 4.0 2.0 3.0 3.0 3.0 -4.0 -3.0 -2.0 -5.0 -5.0 -4.0 -1.0 -5.0 -3.0 -1.0 -3.0 -1.0 -1.0 -1.0 -3.0 -2.0 -4.0 -5.0 -1.0 -2.0 -3.0 -4.0 -3.0 -4.0 -2.0 -4.0 -5.0 -4.0 -4.0 -3.0 -5.0 -3.0 -6.0 -6.0 -8.0 -10.0 -8.0 -10.0 -10.0 -12.0 -9.0 -9.0 -9.0 -10.0 -8.0 -7.0 -7.0 -7.0 -9.0 -12.0 -14.0 -11.0 -12.0 -12.0 -12.0 -16.0 -16.0 -16.0 -19.0 -17.0 -14.0 -15.0 -12.0 -13.0 -13.0 -8.0 -11.0 -14.0 -11.0 -13.0 -13.0 -14.0 -12.0 -11.0 -11.0 -12.0 -14.0 -14.0 -15.0 -14.0 -14.0 -13.0 -16.0 -16.0 -17.0 -15.0 -14.0 -18.0 -18.0 -14.0 -13.0 -17.0 -14.0 -16.0 -17.0 -16.0 -21.0 -28.0 -26.0 -23.0 -25.0 -30.0 -32.0 -32.0 -28.0 -30.0 -33.0 -31.0 -38.0 -35.0 -41.0 -41.0 -40.0 -41.0 -40.0 -40.0 -39.0 -42.0 -40.0 -39.0 -42.0 -43.0 -42.0 -44.0 -40.0 -38.0 -39.0 -42.0 -45.0 -39.0 -38.0 -41.0 -40.0 -40.0 -42.0 -45.0 -44.0 -43.0 -43.0 -44.0 -45.0 -45.0 -42.0 -41.0 -43.0 -41.0 -45.0 -42.0 -37.0 -38.0 -36.0 -36.0 -38.0 -40.0 -42.0 -41.0 -40.0 -42.0 -48.0 -48.0 -48.0 -49.0 -49.0 -51.0 -50.0 -49.0 -42.0 -46.0 -49.0 -47.0 -44.0 -46.0 -46.0 -46.0 -44.0 -43.0 -45.0 -43.0 -48.0 -48.0 -48.0 -47.0 -44.0 -41.0 -42.0 -44.0 -47.0 -46.0 -49.0 -49.0 -49.0 -50.0 -49.0 -51.0 -49.0 -48.0 -49.0 -52.0 -51.0 -50.0 -47.0 -53.0 -49.0 -51.0 -56.0 -54.0 -51.0 -53.0 -57.0 -56.0 -55.0 -57.0 -60.0 -58.0 -58.0 -57.0 -57.0 -60.0 -59.0 -61.0 -59.0 -60.0 -66.0 -60.0 -60.0 -61.0 -58.0 -61.0 -58.0 -58.0 -59.0 -58.0 -53.0 -54.0 -60.0 -56.0 -56.0 -53.0 -47.0 -46.0 -42.0 -43.0 -45.0 -45.0 -45.0 -43.0 -43.0 -46.0 -46.0 -47.0 -49.0 -47.0 -45.0 -43.0 -41.0 -33.0 -32.0 -33.0 -32.0 -34.0 -31.0 -34.0 -31.0 -34.0 -34.0 -34.0 -37.0 -33.0 -35.0 -35.0 -34.0 -33.0 -32.0 -31.0 -34.0 -30.0 -33.0 -33.0 -35.0 -34.0 -30.0 -32.0 -30.0 -27.0 -23.0 -27.0 -26.0 -26.0 -20.0 -20.0 -23.0 -26.0 -28.0 -26.0 -22.0 -24.0 -27.0 -22.0 -27.0 -25.0 -27.0 -26.0 -26.0 -27.0 -24.0 -20.0 -19.0 -20.0 -24.0 -23.0 -26.0 -25.0 -23.0 -25.0 -22.0 -23.0 -25.0 -25.0 -23.0 -18.0 -25.0 -31.0 -30.0 -28.0 -32.0 -31.0 -29.0 -29.0 -25.0 -27.0 -24.0 -27.0 -26.0 -24.0 -26.0 -25.0 -28.0 -25.0 -27.0 -26.0 -24.0 -24.0 -24.0 -29.0 -25.0 -21.0 -22.0 -21.0 -26.0 -23.0 -22.0 -24.0 -25.0 -27.0 -28.0 -30.0 -30.0 -31.0 -35.0 -33.0 -32.0 -33.0 -34.0 -33.0 -32.0 -36.0 -33.0 -34.0 -30.0 -32.0 -33.0 -34.0 -39.0 -36.0 -36.0 -38.0 -37.0 -34.0 -35.0 -34.0 -36.0 -37.0 -38.0 -37.0 -35.0 -34.0 -34.0 -33.0 -33.0 -28.0 -23.0 -26.0 -25.0 -26.0 -29.0 -27.0 -25.0 -29.0 -30.0 -29.0 -29.0 -27.0 -24.0 -24.0 -23.0 -22.0 -19.0 -18.0 -20.0 -18.0 -17.0 -17.0 -16.0 -13.0 -16.0 -14.0 -8.0 -8.0 -6.0 -9.0 -8.0 -4.0 -4.0 -3.0 -1.0 -6.0 -7.0 -10.0 -10.0 -12.0 -12.0 -14.0 -15.0 -12.0 -11.0 -10.0 -13.0 -15.0 -13.0 -12.0 -14.0 -12.0 -13.0 -14.0 -13.0 -13.0 -15.0 -16.0 -18.0 -16.0 -16.0 -17.0 -13.0 -13.0 -13.0 -14.0 -14.0 -14.0 -14.0 -13.0 -13.0 -12.0 -8.0 -9.0 -10.0 -10.0 -10.0 -5.0 -10.0 -9.0 -6.0 -6.0 -3.0 -4.0 1.0 1.0 4.0 2.0 2.0 3.0 3.0 8.0 9.0 5.0 5.0 4.0 4.0 3.0 4.0 10.0 8.0 9.0 14.0 16.0 15.0 15.0 16.0 20.0 20.0 16.0 15.0 15.0 14.0 13.0 17.0 13.0 14.0 19.0 17.0 21.0 22.0 22.0 22.0 24.0 24.0 25.0 26.0 25.0 29.0 31.0 26.0 30.0 32.0 31.0 34.0 32.0 38.0 38.0 40.0 38.0 39.0 45.0 44.0 43.0 43.0 45.0 44.0 47.0 46.0 44.0 46.0 48.0 48.0 48.0 48.0 45.0 45.0 47.0 45.0 47.0 47.0 49.0 49.0 47.0 47.0 48.0 43.0 43.0 43.0 42.0 40.0 39.0 41.0 42.0 43.0 44.0 46.0 45.0 49.0 48.0 48.0 48.0 48.0 52.0 51.0 52.0 49.0 49.0 46.0 47.0 42.0 41.0 44.0 43.0 38.0 42.0 39.0 39.0 41.0 37.0 39.0 38.0 36.0 39.0 38.0 37.0 37.0 37.0 39.0 39.0 35.0 37.0 39.0 36.0 35.0 37.0 40.0 39.0 40.0 40.0 41.0 43.0 44.0 45.0 47.0 47.0 44.0 46.0 48.0 47.0 48.0 50.0 50.0 53.0 52.0 50.0 51.0 50.0 48.0 47.0 46.0 43.0 42.0 44.0 44.0 44.0 44.0 43.0 46.0 44.0 47.0 47.0 49.0 51.0 49.0 47.0 44.0 41.0 36.0 40.0 34.0 33.0 35.0 31.0 33.0 30.0 28.0 30.0 29.0 25.0 28.0 27.0 29.0 31.0 27.0 30.0 27.0 30.0 30.0 33.0 36.0 35.0 35.0 32.0 31.0 30.0 30.0 31.0 31.0 27.0 28.0 26.0 28.0 30.0 28.0 29.0 24.0 24.0 22.0 20.0 19.0 17.0 16.0 14.0 17.0 16.0 13.0 17.0 13.0 13.0 16.0 13.0 12.0 10.0 13.0 10.0 9.0 9.0 6.0 8.0 8.0 7.0 9.0 11.0 9.0 14.0 11.0 11.0 11.0 11.0 17.0 16.0 14.0 10.0 10.0 11.0 11.0 13.0 12.0 13.0 9.0 10.0 10.0 8.0 6.0 4.0 8.0 6.0 4.0 9.0 6.0 6.0 7.0 5.0 6.0 4.0 4.0 4.0 4.0 6.0 4.0 1.0 1.0 3.0 2.0 1.0 3.0 3.0 3.0 1.0 -1.0 2.0 3.0 3.0 0.0 1.0 6.0 9.0 6.0 8.0 5.0 3.0 7.0 3.0 8.0 8.0 9.0 12.0 14.0 11.0 11.0 10.0 7.0 8.0 6.0 6.0 6.0 7.0 6.0 5.0 8.0 7.0 4.0 6.0 4.0 4.0 5.0 2.0 6.0 1.0 0.0 0.0 -2.0 2.0 3.0 3.0 2.0 3.0 2.0 4.0 3.0 -2.0 0.0 3.0 2.0 1.0 5.0 4.0 3.0 8.0 7.0 8.0 8.0 6.0 9.0 8.0 12.0 14.0 14.0 17.0 19.0 20.0 17.0 16.0 19.0 18.0 18.0 20.0 17.0 19.0 18.0 14.0 15.0 17.0 19.0 19.0 22.0 24.0 24.0 26.0 24.0 23.0 23.0 26.0 27.0 21.0 24.0 22.0 20.0 20.0 20.0 24.0 22.0 23.0 22.0 28.0 28.0 25.0 28.0 26.0 26.0 27.0 26.0 26.0 26.0 28.0 27.0 27.0 29.0 27.0 28.0 25.0 24.0 27.0 28.0 28.0 26.0 27.0 27.0 28.0 28.0 30.0 29.0 28.0 27.0 27.0 22.0 21.0 21.0 14.0 15.0 16.0 18.0 21.0 18.0 20.0 20.0 21.0 23.0 23.0 24.0 21.0 24.0 21.0 20.0 25.0 21.0 20.0 19.0 23.0 21.0 17.0 20.0 20.0 23.0 23.0 22.0 21.0 23.0 25.0 25.0 28.0 30.0 28.0 27.0 31.0 28.0 30.0 30.0 28.0 27.0 31.0 33.0 33.0 34.0 35.0 37.0 41.0 43.0 37.0 39.0 39.0 40.0 37.0 38.0 42.0 46.0 42.0 41.0 42.0 42.0 43.0 40.0 43.0 45.0 42.0 41.0 42.0 38.0 39.0 38.0 37.0 35.0 36.0 38.0 35.0 37.0 37.0 37.0 36.0 40.0 38.0 40.0 38.0 38.0 39.0 37.0 34.0 34.0 34.0 32.0 31.0 29.0 30.0 28.0 25.0 26.0 26.0 23.0 25.0 21.0 20.0 22.0 21.0 17.0 18.0 19.0 19.0 18.0 21.0 14.0 14.0 13.0 6.0 10.0 4.0 8.0 4.0 4.0 3.0 4.0 2.0 -2.0 -2.0 -3.0 -1.0 -4.0 0.0 -1.0 3.0 4.0 8.0 9.0 10.0 12.0 10.0 16.0 13.0 17.0 16.0 18.0 15.0 17.0 15.0 15.0 15.0 11.0 11.0 10.0 13.0 11.0 15.0 11.0 12.0 14.0 13.0 9.0 8.0 8.0 9.0 11.0 10.0 10.0 7.0 8.0 10.0 5.0 6.0 4.0 2.0 4.0 0.0 0.0 -2.0 1.0 0.0 -2.0 -6.0 -4.0 -2.0 -6.0 -5.0 -8.0 -4.0 -5.0 -4.0 -4.0 -9.0 -8.0 -2.0 -8.0 -3.0 -6.0 -2.0 0.0 -3.0 -1.0 -2.0 -2.0 -5.0 -4.0 -7.0 -2.0 -6.0 -6.0 -7.0 -5.0 -3.0 0.0 0.0 3.0 5.0 1.0 6.0 4.0 3.0 0.0 0.0 -2.0 -3.0 -4.0 -2.0 -5.0 -7.0 -6.0 -6.0 -3.0 -1.0 0.0 -2.0 -4.0 -7.0 -2.0 -9.0 -8.0 -5.0 -10.0 -8.0 -6.0 -3.0 -4.0 -4.0 -2.0 -7.0 -4.0 0.0 -6.0 -4.0 -3.0 -5.0 -6.0 -4.0 -6.0 -6.0 -7.0 -9.0 -12.0 -12.0 -10.0 -11.0 -8.0 -8.0 -3.0 -6.0 -3.0 -3.0 -4.0 -2.0 -3.0 -5.0 -2.0 0.0 -2.0 -3.0 -1.0 -4.0 -10.0 -10.0 -13.0 -11.0 -16.0 -15.0 -16.0 -13.0 -16.0 -17.0 -18.0 -19.0 -18.0 -20.0 -14.0 -13.0 -14.0 -16.0 -14.0 -14.0 -11.0 -12.0 -17.0 -13.0 -12.0 -8.0 -11.0 -7.0 -6.0 -11.0 -8.0 -13.0 -10.0 -9.0 -10.0 -9.0 -11.0 -10.0 -6.0 -5.0 -7.0 -3.0 -7.0 -9.0 -6.0 -11.0 -6.0 -6.0 -10.0 -9.0 -8.0 -8.0 -12.0 -11.0 -15.0 -18.0 -17.0 -21.0 -19.0 -18.0 -21.0 -23.0 -24.0 -24.0 -24.0 -29.0 -29.0 -26.0 -26.0 -27.0 -31.0 -25.0 -27.0 -30.0 -28.0 -32.0 -33.0 -30.0 -31.0 -32.0 -36.0 -36.0 -34.0 -35.0 -31.0 -33.0 -34.0 -35.0 -35.0 -33.0 -34.0 -35.0 -35.0 -33.0 -34.0 -32.0 -33.0 -31.0 -27.0 -31.0 -31.0 -31.0 -33.0 -33.0 -36.0 -33.0 -30.0 -36.0 -34.0 -36.0 -36.0 -42.0 -42.0 -41.0 -45.0 -46.0 -46.0 -41.0 -46.0 -45.0 -50.0 -49.0 -47.0 -47.0 -46.0 -46.0 -47.0 -44.0 -49.0 -49.0 -47.0 -47.0 -45.0 -43.0 -41.0 -42.0 -41.0 -42.0 -41.0 -44.0 -40.0 -43.0 -38.0 -38.0 -43.0 -42.0 -44.0 -43.0 -41.0 -45.0 -49.0 -48.0 -47.0 -43.0 -45.0 -40.0 -52.0 -52.0 -50.0 -55.0 -54.0 -59.0 -56.0 -56.0 -57.0 -58.0 -55.0 -57.0 -61.0 -58.0 -59.0 -58.0 -58.0 -61.0 -59.0 -57.0 -60.0 -61.0 -56.0 -57.0 -56.0 -57.0 -57.0 -61.0 -65.0 -63.0 -65.0 -66.0 -70.0 -72.0 -70.0 -69.0 -70.0 -66.0 -71.0 -70.0 -67.0 -69.0 -68.0 -68.0 -67.0 -68.0 -65.0 -66.0 -66.0 -67.0 -70.0 -70.0 -68.0 -69.0 -69.0 -61.0 -50.0 -44.0 -48.0 -47.0 -40.0 -29.0 -23.0 -22.0 -9.0 2.0 17.0 17.0 21.0 28.0 38.0 44.0 46.0 49.0 54.0 58.0 54.0 48.0 35.0 31.0 18.0 7.0 -7.0 -27.0 -41.0 -53.0 -71.0 -94.0 -109.0 -122.0 -141.0 -161.0 -174.0 -185.0 -196.0 -209.0 -221.0 -233.0 -239.0 -238.0 -243.0 -255.0 -259.0 -258.0 -266.0 -276.0 -293.0 -300.0 -305.0 -316.0 -326.0 -340.0 -353.0 -364.0 -376.0 -398.0 -411.0 -411.0 -410.0 -402.0 -370.0 -312.0 -283.0 -305.0 -325.0 -282.0 -227.0 -192.0 -150.0 -80.0 11.0 91.0 128.0 140.0 200.0 289.0 351.0 371.0 391.0 429.0 464.0 474.0 448.0 424.0 432.0 436.0 394.0 327.0 267.0 253.0 243.0 179.0 112.0 79.0 70.0 39.0 -8.0 -44.0 -62.0 -51.0 -38.0 -69.0 -93.0 -72.0 -41.0 -35.0 -37.0 -7.0 27.0 56.0 55.0 46.0 64.0 92.0 100.0 79.0 61.0 49.0 26.0 -19.0 -63.0 -95.0 -118.0 -162.0 -240.0 -324.0 -383.0 -433.0 -487.0 -544.0 -594.0 -622.0 -648.0 -671.0 -690.0 -693.0 -659.0 -609.0 -579.0 -578.0 -544.0 -460.0 -365.0 -279.0 -186.0 -68.0 68.0 177.0 229.0 291.0 395.0 506.0 573.0 611.0 640.0 680.0 706.0 692.0 655.0 634.0 627.0 595.0 528.0 444.0 374.0 331.0 283.0 199.0 122.0 82.0 48.0 -13.0 -73.0 -113.0 -129.0 -125.0 -135.0 -164.0 -183.0 -168.0 -151.0 -148.0 -131.0 -92.0 -35.0 4.0 14.0 32.0 75.0 124.0 154.0 174.0 183.0 197.0 201.0 176.0 131.0 95.0 70.0 31.0 -25.0 -107.0 -186.0 -254.0 -341.0 -448.0 -523.0 -596.0 -684.0 -766.0 -833.0 -889.0 -908.0 -895.0 -916.0 -908.0 -856.0 -834.0 -844.0 -809.0 -701.0 -581.0 -458.0 -348.0 -235.0 -80.0 52.0 126.0 212.0 348.0 471.0 556.0 614.0 646.0 696.0 754.0 762.0 726.0 709.0 700.0 678.0 617.0 526.0 463.0 430.0 397.0 312.0 236.0 203.0 169.0 125.0 82.0 44.0 25.0 32.0 28.0 -1.0 -4.0 31.0 67.0 78.0 97.0 133.0 179.0 212.0 219.0 243.0 281.0 304.0 312.0 297.0 266.0 249.0 219.0 160.0 100.0 52.0 -3.0 -97.0 -209.0 -319.0 -411.0 -496.0 -610.0 -715.0 -780.0 -843.0 -919.0 -960.0 -963.0 -959.0 -936.0 -918.0 -929.0 -932.0 -862.0 -761.0 -667.0 -548.0 -416.0 -257.0 -107.0 -15.0 62.0 194.0 356.0 475.0 554.0 626.0 696.0 753.0 781.0 772.0 753.0 762.0 754.0 708.0 627.0 547.0 502.0 465.0 394.0 304.0 274.0 262.0 203.0 123.0 83.0 74.0 67.0 68.0 57.0 53.0 72.0 103.0 125.0 139.0 185.0 248.0 294.0 317.0 330.0 368.0 412.0 435.0 430.0 417.0 406.0 388.0 343.0 278.0 228.0 180.0 100.0 -15.0 -124.0 -222.0 -330.0 -451.0 -575.0 -676.0 -748.0 -821.0 -915.0 -990.0 -977.0 -923.0 -889.0 -914.0 -938.0 -862.0 -790.0 -791.0 -752.0 -553.0 -333.0 -191.0 -88.0 -7.0 131.0 312.0 402.0 403.0 479.0 628.0 710.0 708.0 684.0 661.0 690.0 706.0 599.0 458.0 401.0 387.0 317.0 181.0 67.0 56.0 83.0 22.0 -108.0 -148.0 -102.0 -75.0 -81.0 -97.0 -76.0 13.0 103.0 111.0 106.0 206.0 337.0 394.0 417.0 449.0 527.0 614.0 632.0 604.0 599.0 621.0 590.0 521.0 455.0 415.0 388.0 305.0 161.0 35.0 -56.0 -173.0 -293.0 -416.0 -516.0 -584.0 -646.0 -749.0 -866.0 -933.0 -966.0 -963.0 -906.0 -821.0 -774.0 -789.0 -782.0 -722.0 -626.0 -510.0 -368.0 -204.0 -42.0 88.0 165.0 250.0 344.0 458.0 564.0 636.0 668.0 683.0 718.0 732.0 703.0 649.0 607.0 562.0 491.0 376.0 274.0 218.0 196.0 160.0 71.0 -12.0 -58.0 -71.0 -100.0 -138.0 -139.0 -96.0 -39.0 -21.0 -13.0 37.0 133.0 208.0 254.0 293.0 348.0 400.0 439.0 445.0 448.0 479.0 478.0 440.0 378.0 328.0 279.0 206.0 109.0 -2.0 -93.0 -167.0 -271.0 -390.0 -508.0 -608.0 -706.0 -793.0 -888.0 -943.0 -928.0 -916.0 -828.0 -698.0 -641.0 -671.0 -637.0 -497.0 -375.0 -235.0 -38.0 174.0 374.0 533.0 640.0 751.0 890.0 1005.0 1076.0 1170.0 1207.0 1165.0 1156.0 1145.0 1058.0 931.0 826.0 711.0 557.0 375.0 193.0 38.0 -93.0 -213.0 -327.0 -433.0 -556.0 -628.0 -640.0 -659.0 -662.0 -616.0 -521.0 -420.0 -319.0 -246.0 -152.0 -2.0 167.0 294.0 413.0 538.0 654.0 753.0 815.0 844.0 869.0 899.0 850.0 753.0 674.0 600.0 499.0 355.0 158.0 -46.0 -195.0 -325.0 -495.0 -660.0 -803.0 -940.0 -1055.0 -1175.0 -1294.0 -1347.0 -1352.0 -1337.0 -1273.0 -1117.0 -940.0 -823.0 -721.0 -590.0 -426.0 -235.0 -40.0 182.0 429.0 654.0 838.0 944.0 1062.0 1206.0 1316.0 1363.0 1381.0 1403.0 1362.0 1284.0 1189.0 1066.0 916.0 749.0 575.0 373.0 168.0 6.0 -127.0 -281.0 -470.0 -628.0 -705.0 -739.0 -761.0 -728.0 -687.0 -650.0 -585.0 -493.0 -376.0 -219.0 -39.0 121.0 276.0 436.0 566.0 692.0 813.0 875.0 904.0 937.0 926.0 868.0 805.0 711.0 564.0 397.0 214.0 -14.0 -183.0 -318.0 -508.0 -735.0 -933.0 -1143.0 -1325.0 -1436.0 -1551.0 -1645.0 -1662.0 -1612.0 -1574.0 -1426.0 -1197.0 -1045.0 -948.0 -790.0 -553.0 -295.0 -38.0 216.0 489.0 780.0 1010.0 1139.0 1311.0 1508.0 1635.0 1678.0 1683.0 1668.0 1617.0 1541.0 1432.0 1280.0 1096.0 899.0 668.0 409.0 158.0 -32.0 -162.0 -339.0 -561.0 -730.0 -804.0 -838.0 -850.0 -825.0 -806.0 -759.0 -629.0 -489.0 -341.0 -157.0 40.0 256.0 448.0 594.0 741.0 905.0 1029.0 1081.0 1106.0 1114.0 1074.0 1004.0 880.0 719.0 560.0 337.0 82.0 -172.0 -366.0 -563.0 -810.0 -1030.0 -1254.0 -1457.0 -1629.0 -1780.0 -1897.0 -1965.0 -1940.0 -1861.0 -1750.0 -1542.0 -1268.0 -1024.0 -878.0 -739.0 -474.0 -125.0 212.0 519.0 795.0 1070.0 1318.0 1479.0 1563.0 1652.0 1802.0 1890.0 1871.0 1786.0 1634.0 1488.0 1337.0 1110.0 818.0 564.0 368.0 145.0 -146.0 -419.0 -568.0 -685.0 -859.0 -1024.0 -1047.0 -1014.0 -1021.0 -1019.0 -961.0 -791.0 -566.0 -364.0 -166.0 52.0 287.0 517.0 713.0 894.0 1064.0 1233.0 1352.0 1356.0 1312.0 1289.0 1254.0 1125.0 896.0 696.0 490.0 221.0 -74.0 -347.0 -547.0 -756.0 -1031.0 -1318.0 -1567.0 -1740.0 -1895.0 -2022.0 -2095.0 -2124.0 -2036.0 -1894.0 -1745.0 -1517.0 -1173.0 -849.0 -647.0 -452.0 -129.0 209.0 544.0 892.0 1158.0 1428.0 1685.0 1843.0 1874.0 1895.0 1949.0 1976.0 1927.0 1766.0 1524.0 1305.0 1098.0 772.0 410.0 121.0 -96.0 -321.0 -636.0 -912.0 -1061.0 -1155.0 -1264.0 -1343.0 -1311.0 -1228.0 -1133.0 -1011.0 -886.0 -662.0 -330.0 -10.0 290.0 569.0 848.0 1110.0 1339.0 1536.0 1662.0 1797.0 1908.0 1884.0 1796.0 1672.0 1491.0 1282.0 1014.0 726.0 406.0 63.0 -266.0 -640.0 -942.0 -1208.0 -1508.0 -1767.0 -2007.0 -2224.0 -2394.0 -2455.0 -2454.0 -2482.0 -2392.0 -2173.0 -1940.0 -1629.0 -1282.0 -907.0 -555.0 -239.0 83.0 296.0 604.0 1091.0 1440.0 1614.0 1820.0 2031.0 2109.0 2125.0 2081.0 1917.0 1855.0 1800.0 1462.0 1100.0 872.0 592.0 229.0 -98.0 -378.0 -683.0 -887.0 -1054.0 -1244.0 -1352.0 -1371.0 -1339.0 -1318.0 -1309.0 -1206.0 -934.0 -660.0 -439.0 -161.0 203.0 542.0 818.0 1070.0 1310.0 1535.0 1725.0 1836.0 1866.0 1896.0 1893.0 1785.0 1581.0 1363.0 1139.0 875.0 545.0 200.0 -153.0 -491.0 -822.0 -1172.0 -1438.0 -1617.0 -1783.0 -2006.0 -2231.0 -2341.0 -2362.0 -2364.0 -2344.0 -2251.0 -2018.0 -1743.0 -1487.0 -1208.0 -843.0 -378.0 -58.0 100.0 296.0 618.0 986.0 1277.0 1449.0 1581.0 1774.0 1903.0 1863.0 1705.0 1599.0 1543.0 1415.0 1139.0 818.0 585.0 370.0 107.0 -212.0 -514.0 -705.0 -814.0 -1001.0 -1108.0 -1084.0 -1081.0 -1136.0 -1184.0 -1126.0 -968.0 -691.0 -436.0 -258.0 17.0 344.0 565.0 786.0 1010.0 1204.0 1429.0 1591.0 1633.0 1602.0 1640.0 1623.0 1424.0 1232.0 1087.0 894.0 680.0 365.0 7.0 -275.0 -546.0 -866.0 -1209.0 -1373.0 -1454.0 -1608.0 -1786.0 -1989.0 -2125.0 -2130.0 -2096.0 -2071.0 -2014.0 -1805.0 -1559.0 -1372.0 -1122.0 -797.0 -390.0 -28.0 82.0 146.0 393.0 732.0 1005.0 1130.0 1259.0 1394.0 1480.0 1447.0 1269.0 1183.0 1164.0 1025.0 829.0 583.0 340.0 155.0 -30.0 -224.0 -456.0 -614.0 -694.0 -800.0 -900.0 -892.0 -748.0 -662.0 -715.0 -709.0 -560.0 -328.0 -79.0 126.0 340.0 598.0 826.0 1005.0 1131.0 1226.0 1376.0 1499.0 1489.0 1448.0 1417.0 1393.0 1265.0 1041.0 846.0 676.0 497.0 246.0 -34.0 -281.0 -500.0 -743.0 -1004.0 -1242.0 -1335.0 -1384.0 -1484.0 -1592.0 -1708.0 -1764.0 -1761.0 -1734.0 -1691.0 -1616.0 -1487.0 -1350.0 -1205.0 -1007.0 -745.0 -431.0 -156.0 -52.0 -23.0 140.0 340.0 535.0 714.0 832.0 909.0 972.0 993.0 897.0 785.0 802.0 767.0 605.0 455.0 319.0 234.0 121.0 -24.0 -182.0 -300.0 -341.0 -435.0 -557.0 -581.0 -420.0 -277.0 -296.0 -390.0 -370.0 -190.0 7.0 98.0 204.0 433.0 653.0 746.0 766.0 841.0 950.0 1078.0 1058.0 1006.0 1050.0 1062.0 1027.0 893.0 720.0 621.0 526.0 372.0 138.0 -61.0 -192.0 -358.0 -556.0 -751.0 -912.0 -1005.0 -1072.0 -1209.0 -1326.0 -1364.0 -1378.0 -1393.0 -1429.0 -1428.0 -1455.0 -1403.0 -1292.0 -1313.0 -1147.0 -864.0 -676.0 -511.0 -348.0 -180.0 -56.0 92.0 274.0 344.0 547.0 744.0 825.0 870.0 843.0 931.0 890.0 767.0 691.0 635.0 597.0 545.0 425.0 277.0 165.0 39.0 -125.0 -274.0 -293.0 -342.0 -276.0 -179.0 -294.0 -443.0 -420.0 -312.0 -275.0 -121.0 38.0 155.0 311.0 421.0 431.0 525.0 717.0 812.0 867.0 970.0 1042.0 1033.0 1066.0 1018.0 918.0 872.0 774.0 606.0 418.0 263.0 105.0 -61.0 -238.0 -474.0 -698.0 -888.0 -1078.0 -1222.0 -1259.0 -1344.0 -1470.0 -1582.0 -1676.0 -1753.0 -1784.0 -1775.0 -1731.0 -1635.0 -1520.0 -1369.0 -1193.0 -944.0 -737.0 -492.0 -243.0 -88.0 96.0 320.0 553.0 707.0 876.0 1087.0 1176.0 1218.0 1248.0 1144.0 1066.0 1063.0 1002.0 910.0 793.0 664.0 438.0 209.0 45.0 -178.0 -304.0 -359.0 -499.0 -547.0 -511.0 -590.0 -715.0 -717.0 -626.0 -503.0 -317.0 -198.0 -124.0 124.0 343.0 406.0 572.0 759.0 905.0 1104.0 1232.0 1264.0 1333.0 1423.0 1394.0 1219.0 1102.0 1039.0 903.0 722.0 476.0 240.0 38.0 -214.0 -542.0 -887.0 -1108.0 -1205.0 -1373.0 -1527.0 -1672.0 -1827.0 -1896.0 -1977.0 -2062.0 -2050.0 -1965.0 -1902.0 -1814.0 -1691.0 -1486.0 -1264.0 -1010.0 -722.0 -430.0 -75.0 168.0 343.0 532.0 754.0 1007.0 1187.0 1310.0 1417.0 1468.0 1523.0 1449.0 1243.0 1182.0 1092.0 920.0 745.0 568.0 392.0 176.0 -30.0 -296.0 -545.0 -614.0 -698.0 -731.0 -673.0 -735.0 -776.0 -720.0 -655.0 -565.0 -332.0 -115.0 8.0 268.0 536.0 605.0 754.0 1006.0 1168.0 1317.0 1483.0 1540.0 1504.0 1523.0 1471.0 1284.0 1132.0 1076.0 893.0 606.0 355.0 72.0 -231.0 -454.0 -696.0 -974.0 -1206.0 -1479.0 -1668.0 -1725.0 -1812.0 -1915.0 -1930.0 -1942.0 -2033.0 -2029.0 -1921.0 -1852.0 -1636.0 -1435.0 -1307.0 -1054.0 -818.0 -595.0 -260.0 41.0 307.0 573.0 761.0 892.0 1033.0 1247.0 1287.0 1366.0 1467.0 1387.0 1289.0 1182.0 963.0 794.0 717.0 559.0 352.0 153.0 10.0 -273.0 -492.0 -630.0 -782.0 -776.0 -740.0 -707.0 -646.0 -628.0 -582.0 -468.0 -301.0 -64.0 126.0 358.0 608.0 792.0 943.0 1075.0 1289.0 1445.0 1528.0 1615.0 1604.0 1551.0 1517.0 1422.0 1256.0 1076.0 888.0 670.0 365.0 74.0 -175.0 -354.0 -570.0 -803.0 -1022.0 -1324.0 -1566.0 -1688.0 -1725.0 -1737.0 -1741.0 -1753.0 -1762.0 -1788.0 -1762.0 -1693.0 -1506.0 -1307.0 -1135.0 -1001.0 -851.0 -593.0 -400.0 -154.0 135.0 378.0 573.0 712.0 796.0 922.0 1013.0 1114.0 1168.0 1138.0 1087.0 956.0 836.0 728.0 613.0 465.0 349.0 160.0 -20.0 -160.0 -271.0 -442.0 -578.0 -619.0 -664.0 -662.0 -613.0 -452.0 -311.0 -315.0 -253.0 -9.0 139.0 288.0 531.0 721.0 861.0 1086.0 1194.0 1200.0 1363.0 1472.0 1442.0 1462.0 1467.0 1344.0 1248.0 1136.0 911.0 680.0 553.0 341.0 74.0 -128.0 -319.0 -525.0 -726.0 -898.0 -1047.0 -1218.0 -1392.0 -1542.0 -1606.0 -1554.0 -1565.0 -1540.0 -1445.0 -1393.0 -1390.0 -1350.0 -1277.0 -1156.0 -950.0 -776.0 -684.0 -481.0 -312.0 -238.0 -4.0 184.0 347.0 536.0 668.0 712.0 690.0 752.0 777.0 728.0 747.0 708.0 635.0 548.0 387.0 264.0 162.0 88.0 62.0 -39.0 -141.0 -232.0 -345.0 -424.0 -465.0 -417.0 -353.0 -250.0 -81.0 3.0 22.0 199.0 333.0 426.0 633.0 791.0 843.0 957.0 1148.0 1176.0 1234.0 1360.0 1324.0 1255.0 1254.0 1166.0 1050.0 971.0 871.0 686.0 464.0 318.0 101.0 -99.0 -221.0 -379.0 -533.0 -691.0 -877.0 -1022.0 -1127.0 -1264.0 -1363.0 -1370.0 -1320.0 -1274.0 -1232.0 -1194.0 -1189.0 -1097.0 -979.0 -913.0 -809.0 -686.0 -580.0 -521.0 -423.0 -326.0 -181.0 28.0 158.0 231.0 339.0 414.0 420.0 418.0 413.0 391.0 360.0 387.0 301.0 206.0 169.0 94.0 8.0 -25.0 -52.0 -110.0 -97.0 -115.0 -195.0 -204.0 -191.0 -183.0 -92.0 1.0 89.0 245.0 443.0 549.0 617.0 745.0 849.0 937.0 1062.0 1128.0 1166.0 1300.0 1353.0 1244.0 1222.0 1226.0 1143.0 1088.0 1033.0 905.0 743.0 650.0 469.0 192.0 79.0 -1.0 -168.0 -316.0 -439.0 -549.0 -649.0 -762.0 -847.0 -885.0 -905.0 -939.0 -984.0 -935.0 -829.0 -743.0 -678.0 -619.0 -551.0 -489.0 -433.0 -425.0 -401.0 -294.0 -279.0 -316.0 -284.0 -291.0 -235.0 -169.0 -149.0 -156.0 -134.0 -115.0 -211.0 -253.0 -221.0 -257.0 -286.0 -276.0 -339.0 -314.0 -262.0 -257.0 -241.0 -133.0 -20.0 13.0 96.0 189.0 277.0 370.0 433.0 507.0 639.0 727.0 807.0 924.0 1077.0 1157.0 1187.0 1218.0 1185.0 1182.0 1186.0 1131.0 1066.0 1039.0 974.0 859.0 763.0 677.0 575.0 491.0 416.0 303.0 167.0 53.0 -14.0 -84.0 -161.0 -191.0 -195.0 -216.0 -242.0 -257.0 -251.0 -232.0 -151.0 -68.0 -67.0 -56.0 -55.0 -79.0 -94.0 -60.0 -35.0 2.0 13.0 -85.0 -234.0 -357.0 -495.0 -657.0 -754.0 -871.0 -980.0 -1070.0 -1193.0 -1327.0 -1367.0 -1352.0 -1364.0 -1316.0 -1229.0 -1196.0 -1135.0 -1017.0 -930.0 -788.0 -581.0 -404.0 -210.0 27.0 255.0 447.0 693.0 910.0 1046.0 1213.0 1337.0 1391.0 1459.0 1509.0 1486.0 1476.0 1455.0 1388.0 1300.0 1243.0 1137.0 961.0 855.0 729.0 547.0 394.0 254.0 70.0 -57.0 -85.0 -157.0 -214.0 -164.0 -145.0 -174.0 -139.0 -74.0 -18.0 97.0 236.0 312.0 412.0 547.0 633.0 699.0 810.0 920.0 982.0 1018.0 1010.0 949.0 858.0 737.0 602.0 441.0 250.0 63.0 -138.0 -356.0 -597.0 -845.0 -1103.0 -1315.0 -1555.0 -1823.0 -2019.0 -2187.0 -2311.0 -2391.0 -2411.0 -2411.0 -2322.0 -2139.0 -2013.0 -1838.0 -1541.0 -1299.0 -1076.0 -797.0 -494.0 -196.0 124.0 440.0 664.0 921.0 1176.0 1325.0 1487.0 1671.0 1742.0 1764.0 1767.0 1679.0 1554.0 1441.0 1309.0 1111.0 952.0 789.0 577.0 403.0 284.0 136.0 -22.0 -157.0 -307.0 -406.0 -445.0 -448.0 -443.0 -369.0 -240.0 -175.0 -92.0 98.0 298.0 490.0 705.0 897.0 1054.0 1192.0 1283.0 1334.0 1430.0 1544.0 1566.0 1532.0 1491.0 1403.0 1245.0 1082.0 890.0 642.0 403.0 123.0 -209.0 -570.0 -885.0 -1160.0 -1445.0 -1693.0 -1889.0 -2084.0 -2276.0 -2425.0 -2534.0 -2595.0 -2613.0 -2577.0 -2494.0 -2391.0 -2255.0 -2071.0 -1844.0 -1586.0 -1318.0 -1014.0 -708.0 -398.0 -126.0 91.0 329.0 528.0 671.0 865.0 1033.0 1101.0 1178.0 1243.0 1234.0 1202.0 1206.0 1172.0 1094.0 1026.0 911.0 752.0 647.0 531.0 382.0 307.0 263.0 181.0 147.0 153.0 129.0 126.0 168.0 180.0 195.0 287.0 409.0 510.0 626.0 778.0 888.0 1009.0 1156.0 1226.0 1273.0 1368.0 1409.0 1382.0 1368.0 1324.0 1221.0 1088.0 945.0 781.0 613.0 448.0 259.0 40.0 -181.0 -417.0 -671.0 -914.0 -1127.0 -1339.0 -1525.0 -1661.0 -1781.0 -1875.0 -1912.0 -1920.0 -1951.0 -1940.0 -1872.0 -1795.0 -1722.0 -1606.0 -1483.0 -1369.0 -1249.0 -1082.0 -931.0 -751.0 -543.0 -355.0 -204.0 -107.0 42.0 84.0 180.0 256.0 281.0 340.0 374.0 399.0 401.0 437.0 427.0 457.0 503.0 507.0 513.0 519.0 495.0 496.0 488.0 481.0 508.0 539.0 576.0 573.0 610.0 643.0 671.0 741.0 800.0 833.0 885.0 934.0 927.0 943.0 988.0 996.0 1012.0 1057.0 1055.0 1007.0 989.0 928.0 830.0 768.0 692.0 570.0 464.0 373.0 234.0 90.0 -19.0 -125.0 -242.0 -333.0 -433.0 -554.0 -647.0 -725.0 -811.0 -881.0 -919.0 -969.0 -1010.0 -1010.0 -1005.0 -985.0 -927.0 -885.0 -881.0 -861.0 -830.0 -835.0 -848.0 -838.0 -833.0 -861.0 -868.0 -837.0 -822.0 -814.0 -778.0 -752.0 -726.0 -689.0 -686.0 -656.0 -586.0 -534.0 -507.0 -449.0 -350.0 -260.0 -142.0 18.0 152.0 293.0 443.0 545.0 663.0 799.0 888.0 957.0 1029.0 1077.0 1109.0 1144.0 1175.0 1213.0 1253.0 1264.0 1223.0 1175.0 1147.0 1055.0 945.0 881.0 811.0 735.0 643.0 543.0 459.0 394.0 328.0 262.0 220.0 184.0 129.0 63.0 9.0 -26.0 -47.0 -62.0 -86.0 -89.0 -52.0 -36.0 -46.0 -21.0 1.0 1.0 7.0 9.0 2.0 -17.0 -42.0 -83.0 -123.0 -145.0 -201.0 -276.0 -332.0 -410.0 -517.0 -628.0 -743.0 -854.0 -975.0 -1105.0 -1232.0 -1350.0 -1449.0 -1515.0 -1555.0 -1573.0 -1561.0 -1547.0 -1507.0 -1445.0 -1368.0 -1256.0 -1121.0 -964.0 -805.0 -630.0 -417.0 -248.0 -42.0 219.0 397.0 572.0 773.0 919.0 1033.0 1171.0 1283.0 1342.0 1408.0 1438.0 1384.0 1336.0 1312.0 1218.0 1118.0 1038.0 925.0 794.0 669.0 551.0 440.0 331.0 221.0 122.0 38.0 -1.0 -32.0 -67.0 -62.0 -33.0 -23.0 13.0 71.0 133.0 206.0 294.0 393.0 466.0 544.0 617.0 660.0 726.0 804.0 849.0 878.0 878.0 846.0 780.0 702.0 626.0 532.0 414.0 277.0 98.0 -111.0 -314.0 -522.0 -720.0 -899.0 -1076.0 -1272.0 -1467.0 -1645.0 -1786.0 -1921.0 -2023.0 -2081.0 -2129.0 -2146.0 -2129.0 -2073.0 -1987.0 -1855.0 -1698.0 -1534.0 -1346.0 -1129.0 -928.0 -724.0 -485.0 -272.0 -82.0 142.0 331.0 484.0 670.0 820.0 920.0 1033.0 1122.0 1141.0 1160.0 1170.0 1110.0 1044.0 979.0 874.0 765.0 678.0 586.0 488.0 409.0 304.0 231.0 194.0 143.0 123.0 137.0 150.0 159.0 206.0 269.0 325.0 395.0 502.0 612.0 717.0 842.0 954.0 1053.0 1137.0 1223.0 1287.0 1334.0 1366.0 1361.0 1325.0 1273.0 1208.0 1106.0 994.0 856.0 699.0 518.0 311.0 102.0 -122.0 -350.0 -575.0 -797.0 -1013.0 -1228.0 -1427.0 -1590.0 -1724.0 -1820.0 -1903.0 -1978.0 -2025.0 -2056.0 -2075.0 -2068.0 -2035.0 -1983.0 -1893.0 -1784.0 -1676.0 -1558.0 -1414.0 -1265.0 -1105.0 -921.0 -750.0 -599.0 -463.0 -341.0 -253.0 -165.0 -49.0 42.0 120.0 221.0 304.0 352.0 416.0 480.0 533.0 580.0 605.0 615.0 634.0 646.0 631.0 636.0 656.0 668.0 684.0 712.0 739.0 764.0 802.0 837.0 862.0 916.0 975.0 1022.0 1073.0 1130.0 1197.0 1255.0 1294.0 1323.0 1356.0 1395.0 1406.0 1401.0 1398.0 1361.0 1304.0 1243.0 1164.0 1070.0 983.0 885.0 742.0 602.0 468.0 304.0 132.0 -36.0 -207.0 -392.0 -558.0 -728.0 -912.0 -1079.0 -1236.0 -1381.0 -1516.0 -1633.0 -1718.0 -1798.0 -1874.0 -1937.0 -1989.0 -2033.0 -2067.0 -2079.0 -2072.0 -2069.0 -2041.0 -1986.0 -1954.0 -1898.0 -1799.0 -1693.0 -1570.0 -1437.0 -1296.0 -1147.0 -998.0 -847.0 -698.0 -541.0 -385.0 -225.0 -67.0 68.0 234.0 409.0 539.0 678.0 824.0 940.0 1036.0 1129.0 1188.0 1217.0 1257.0 1264.0 1260.0 1280.0 1294.0 1293.0 1296.0 1289.0 1272.0 1271.0 1262.0 1246.0 1251.0 1272.0 1270.0 1246.0 1231.0 1223.0 1217.0 1216.0 1222.0 1232.0 1230.0 1225.0 1195.0 1144.0 1095.0 1055.0 989.0 899.0 800.0 677.0 545.0 395.0 242.0 95.0 -62.0 -230.0 -409.0 -601.0 -790.0 -971.0 -1149.0 -1323.0 -1491.0 -1654.0 -1807.0 -1935.0 -2044.0 -2140.0 -2209.0 -2249.0 -2284.0 -2308.0 -2303.0 -2275.0 -2228.0 -2157.0 -2083.0 -2004.0 -1903.0 -1791.0 -1679.0 -1546.0 -1400.0 -1243.0 -1086.0 -932.0 -769.0 -617.0 -464.0 -314.0 -180.0 -52.0 67.0 183.0 288.0 396.0 519.0 634.0 732.0 840.0 941.0 1023.0 1106.0 1190.0 1257.0 1305.0 1356.0 1405.0 1440.0 1475.0 1511.0 1537.0 1569.0 1594.0 1611.0 1611.0 1605.0 1605.0 1600.0 1581.0 1548.0 1527.0 1494.0 1436.0 1367.0 1298.0 1238.0 1177.0 1103.0 1015.0 917.0 806.0 682.0 534.0 392.0 268.0 136.0 -13.0 -163.0 -301.0 -453.0 -622.0 -780.0 -917.0 -1048.0 -1176.0 -1310.0 -1434.0 -1539.0 -1647.0 -1731.0 -1795.0 -1843.0 -1877.0 -1902.0 -1914.0 -1920.0 -1907.0 -1876.0 -1857.0 -1824.0 -1771.0 -1730.0 -1681.0 -1621.0 -1560.0 -1511.0 -1451.0 -1371.0 -1296.0 -1212.0 -1122.0 -1026.0 -924.0 -817.0 -699.0 -560.0 -413.0 -274.0 -116.0 38.0 184.0 358.0 531.0 690.0 862.0 1036.0 1197.0 1343.0 1480.0 1591.0 1688.0 1793.0 1870.0 1928.0 1967.0 1978.0 1962.0 1926.0 1884.0 1838.0 1771.0 1701.0 1627.0 1524.0 1425.0 1333.0 1225.0 1122.0 1039.0 948.0 852.0 770.0 702.0 610.0 525.0 453.0 368.0 294.0 229.0 156.0 70.0 -4.0 -91.0 -173.0 -248.0 -326.0 -401.0 -490.0 -576.0 -668.0 -760.0 -861.0 -962.0 -1065.0 -1174.0 -1273.0 -1368.0 -1460.0 -1542.0 -1618.0 -1679.0 -1732.0 -1780.0 -1813.0 -1835.0 -1848.0 -1845.0 -1829.0 -1804.0 -1752.0 -1686.0 -1618.0 -1534.0 -1427.0 -1318.0 -1209.0 -1082.0 -935.0 -778.0 -631.0 -484.0 -324.0 -164.0 -9.0 130.0 274.0 411.0 542.0 674.0 785.0 893.0 963.0 1042.0 1119.0 1173.0 1252.0 1311.0 1353.0 1375.0 1385.0 1406.0 1445.0 1465.0 1473.0 1474.0 1486.0 1500.0 1484.0 1473.0 1445.0 1424.0 1413.0 1378.0 1350.0 1321.0 1259.0 1180.0 1100.0 1043.0 975.0 894.0 812.0 723.0 630.0 519.0 416.0 317.0 211.0 96.0 -25.0 -146.0 -278.0 -404.0 -533.0 -660.0 -777.0 -891.0 -1008.0 -1107.0 -1202.0 -1295.0 -1370.0 -1439.0 -1496.0 -1544.0 -1572.0 -1598.0 -1609.0 -1602.0 -1597.0 -1562.0 -1503.0 -1443.0 -1369.0 -1280.0 -1188.0 -1098.0 -981.0 -863.0 -751.0 -642.0 -529.0 -422.0 -339.0 -262.0 -196.0 -124.0 -49.0 30.0 75.0 112.0 155.0 179.0 220.0 276.0 308.0 312.0 357.0 395.0 405.0 450.0 495.0 537.0 595.0 669.0 731.0 798.0 884.0 941.0 997.0 1083.0 1156.0 1227.0 1299.0 1351.0 1392.0 1416.0 1432.0 1450.0 1445.0 1438.0 1428.0 1392.0 1340.0 1258.0 1170.0 1060.0 942.0 835.0 717.0 595.0 463.0 319.0 172.0 19.0 -123.0 -259.0 -393.0 -508.0 -627.0 -741.0 -840.0 -928.0 -1000.0 -1058.0 -1096.0 -1120.0 -1151.0 -1152.0 -1149.0 -1148.0 -1137.0 -1102.0 -1066.0 -1041.0 -1000.0 -952.0 -915.0 -880.0 -840.0 -814.0 -776.0 -738.0 -695.0 -655.0 -621.0 -583.0 -555.0 -527.0 -487.0 -447.0 -403.0 -359.0 -310.0 -263.0 -198.0 -121.0 -65.0 15.0 88.0 168.0 238.0 317.0 412.0 479.0 567.0 654.0 716.0 776.0 845.0 896.0 942.0 1003.0 1057.0 1083.0 1113.0 1133.0 1133.0 1135.0 1131.0 1131.0 1118.0 1092.0 1059.0 1021.0 981.0 939.0 885.0 835.0 774.0 716.0 637.0 557.0 486.0 407.0 340.0 273.0 212.0 150.0 85.0 14.0 -59.0 -120.0 -167.0 -212.0 -258.0 -296.0 -339.0 -385.0 -434.0 -471.0 -502.0 -526.0 -549.0 -576.0 -610.0 -638.0 -671.0 -713.0 -743.0 -762.0 -780.0 -798.0 -812.0 -840.0 -857.0 -861.0 -852.0 -836.0 -818.0 -795.0 -773.0 -742.0 -701.0 -652.0 -601.0 -535.0 -472.0 -409.0 -336.0 -263.0 -187.0 -103.0 -23.0 52.0 140.0 211.0 283.0 353.0 421.0 480.0 535.0 608.0 657.0 699.0 734.0 753.0 777.0 799.0 824.0 841.0 850.0 854.0 858.0 855.0 855.0 853.0 849.0 850.0 841.0 837.0 818.0 799.0 779.0 754.0 734.0 704.0 683.0 648.0 599.0 568.0 527.0 480.0 436.0 391.0 333.0 264.0 195.0 134.0 76.0 18.0 -45.0 -104.0 -168.0 -242.0 -316.0 -389.0 -443.0 -487.0 -520.0 -561.0 -613.0 -653.0 -691.0 -732.0 -757.0 -763.0 -763.0 -743.0 -723.0 -698.0 -673.0 -647.0 -614.0 -585.0 -548.0 -501.0 -456.0 -411.0 -366.0 -311.0 -255.0 -211.0 -168.0 -129.0 -91.0 -54.0 -20.0 25.0 63.0 99.0 137.0 175.0 217.0 252.0 295.0 336.0 365.0 404.0 440.0 475.0 509.0 532.0 560.0 587.0 613.0 634.0 650.0 670.0 682.0 700.0 718.0 725.0 730.0 736.0 735.0 724.0 707.0 685.0 659.0 626.0 605.0 576.0 544.0 505.0 461.0 410.0 342.0 284.0 225.0 166.0 111.0 55.0 -3.0 -62.0 -113.0 -161.0 -208.0 -252.0 -287.0 -322.0 -354.0 -393.0 -423.0 -434.0 -454.0 -465.0 -468.0 -464.0 -451.0 -443.0 -419.0 -402.0 -386.0 -360.0 -339.0 -315.0 -284.0 -260.0 -235.0 -218.0 -204.0 -197.0 -200.0 -194.0 -183.0 -180.0 -171.0 -172.0 -181.0 -176.0 -180.0 -179.0 -172.0 -162.0 -146.0 -129.0 -99.0 -72.0 -41.0 3.0 43.0 80.0 116.0 160.0 194.0 230.0 278.0 320.0 357.0 397.0 432.0 454.0 472.0 485.0 494.0 493.0 494.0 488.0 477.0 469.0 446.0 429.0 413.0 389.0 373.0 346.0 319.0 295.0 264.0 245.0 222.0 202.0 179.0 154.0 125.0 88.0 58.0 27.0 -9.0 -39.0 -67.0 -96.0 -129.0 -163.0 -202.0 -236.0 -265.0 -297.0 -316.0 -336.0 -357.0 -365.0 -378.0 -390.0 -387.0 -388.0 -388.0 -382.0 -363.0 -350.0 -323.0 -295.0 -266.0 -241.0 -215.0 -175.0 -142.0 -110.0 -76.0 -46.0 -28.0 4.0 41.0 67.0 86.0 105.0 119.0 128.0 138.0 148.0 159.0 166.0 177.0 174.0 171.0 175.0 173.0 168.0 166.0 167.0 163.0 156.0 158.0 150.0 146.0 147.0 142.0 141.0 144.0 141.0 139.0 127.0 125.0 118.0 110.0 115.0 108.0 99.0 79.0 71.0 60.0 46.0 31.0 18.0 -2.0 -15.0 -45.0 -59.0 -88.0 -105.0 -140.0 -155.0 -182.0 -202.0 -228.0 -240.0 -267.0 -295.0 -311.0 -321.0 -351.0 -358.0 -160.0 -391.0 -317.0 -344.0 -491.0 -265.0 -340.0 -324.0 -294.0 -233.0 -223.0 -162.0 -131.0 -157.0 -127.0 -103.0 -75.0 -29.0 17.0 21.0 99.0 74.0 138.0 123.0 170.0 183.0 168.0 205.0 184.0 217.0 236.0 231.0 241.0 266.0 235.0 643.0 309.0 313.0 224.0 -100.0 225.0 67.0 17.0 -32.0 -13.0 8.0 80.0 138.0 58.0 52.0 -76.0 -39.0 -84.0 -88.0 33.0 -54.0 61.0 4.0 130.0 144.0 114.0 -20.0 -92.0 -139.0 -133.0 -52.0 -235.0 -207.0 -74.0 -205.0 -177.0 -268.0 -528.0 -330.0 -463.0 -464.0 -579.0 -610.0 -590.0 -510.0 -531.0 -556.0 -475.0 -590.0 -483.0 -579.0 -570.0 -413.0 -414.0 -340.0 -445.0 -423.0 -414.0 -255.0 -193.0 -327.0 -185.0 -276.0 -131.0 -65.0 -90.0 -39.0 -60.0 52.0 -35.0 50.0 117.0 94.0 265.0 76.0 179.0 93.0 279.0 278.0 209.0 308.0 183.0 371.0 266.0 314.0 283.0 323.0 386.0 304.0 201.0 259.0 179.0 265.0 252.0 145.0 139.0 115.0 102.0 64.0 102.0 -81.0 76.0 -59.0 -130.0 -89.0 -141.0 -161.0 -84.0 -199.0 -343.0 -176.0 -357.0 -274.0 -326.0 -340.0 -377.0 -339.0 -354.0 -465.0 -339.0 -420.0 -364.0 -424.0 -447.0 -391.0 -473.0 -387.0 -407.0 -541.0 -302.0 -476.0 -517.0 -335.0 -500.0 -332.0 -379.0 -419.0 -394.0 -435.0 -270.0 -424.0 -306.0 -324.0 -393.0 -246.0 -278.0 -247.0 -242.0 -121.0 -265.0 -71.0 -153.0 -184.0 19.0 -59.0 55.0 63.0 19.0 98.0 178.0 137.0 225.0 227.0 208.0 336.0 350.0 324.0 437.0 391.0 456.0 428.0 528.0 461.0 594.0 531.0 589.0 490.0 480.0 558.0 295.0 573.0 241.0 364.0 301.0 176.0 251.0 118.0 94.0 78.0 -135.0 104.0 -297.0 -93.0 -223.0 -411.0 -98.0 -518.0 -93.0 -459.0 -300.0 -413.0 -428.0 -360.0 -441.0 -355.0 -479.0 -433.0 -421.0 -470.0 -396.0 -287.0 -510.0 -301.0 -455.0 -512.0 -317.0 -474.0 -325.0 -431.0 -476.0 -394.0 -431.0 -339.0 -440.0 -357.0 -406.0 -355.0 -384.0 -403.0 -329.0 -360.0 -230.0 -165.0 -359.0 -65.0 -125.0 -126.0 141.0 -88.0 3.0 116.0 96.0 195.0 326.0 291.0 400.0 352.0 401.0 416.0 559.0 521.0 569.0 597.0 441.0 641.0 561.0 590.0 604.0 464.0 518.0 438.0 471.0 398.0 396.0 381.0 160.0 372.0 48.0 115.0 233.0 -29.0 120.0 -26.0 -132.0 -54.0 -146.0 -119.0 -190.0 -194.0 -165.0 -234.0 -170.0 -341.0 -150.0 -318.0 -236.0 -238.0 -446.0 -234.0 -381.0 -297.0 -373.0 -438.0 -474.0 -524.0 -468.0 -482.0 -485.0 -504.0 -591.0 -591.0 -612.0 -613.0 -612.0 -584.0 -576.0 -658.0 -564.0 -577.0 -485.0 -446.0 -514.0 -468.0 -466.0 -408.0 -314.0 -248.0 -207.0 -148.0 -59.0 -108.0 99.0 64.0 98.0 247.0 172.0 215.0 300.0 327.0 320.0 500.0 392.0 527.0 540.0 488.0 495.0 521.0 531.0 501.0 584.0 440.0 495.0 544.0 521.0 585.0 544.0 387.0 413.0 408.0 502.0 507.0 517.0 429.0 334.0 490.0 333.0 501.0 418.0 294.0 340.0 178.0 259.0 187.0 185.0 54.0 -26.0 -82.0 -185.0 -144.0 -285.0 -389.0 -523.0 -617.0 -610.0 -691.0 -757.0 -754.0 -888.0 -906.0 -928.0 -952.0 -907.0 -912.0 -952.0 -1006.0 -912.0 -943.0 -765.0 -770.0 -801.0 -611.0 -693.0 -551.0 -455.0 -444.0 -351.0 -292.0 -336.0 -271.0 -184.0 -149.0 -44.0 -26.0 -3.0 42.0 77.0 138.0 256.0 197.0 249.0 211.0 233.0 361.0 448.0 494.0 446.0 513.0 521.0 663.0 715.0 717.0 688.0 703.0 749.0 813.0 870.0 806.0 844.0 820.0 736.0 782.0 769.0 728.0 757.0 664.0 595.0 571.0 572.0 535.0 483.0 396.0 331.0 311.0 294.0 257.0 221.0 168.0 82.0 60.0 15.0 -2.0 5.0 -53.0 -142.0 -144.0 -173.0 -203.0 -263.0 -368.0 -426.0 -438.0 -459.0 -488.0 -565.0 -684.0 -701.0 -772.0 -857.0 -842.0 -891.0 -987.0 -978.0 -1051.0 -1068.0 -987.0 -1043.0 -1086.0 -1100.0 -1086.0 -1030.0 -930.0 -944.0 -935.0 -858.0 -842.0 -731.0 -640.0 -549.0 -434.0 -314.0 -255.0 -190.0 -47.0 74.0 211.0 285.0 321.0 411.0 599.0 751.0 839.0 902.0 884.0 967.0 1103.0 1191.0 1234.0 1223.0 1203.0 1234.0 1262.0 1236.0 1189.0 1169.0 1123.0 1028.0 950.0 851.0 803.0 711.0 618.0 525.0 411.0 376.0 280.0 233.0 115.0 41.0 29.0 -12.0 -34.0 -86.0 -79.0 -95.0 -75.0 -75.0 -118.0 -81.0 -28.0 -41.0 -15.0 -20.0 -1.0 23.0 46.0 -1.0 -42.0 -32.0 -63.0 -60.0 -165.0 -220.0 -260.0 -328.0 -370.0 -500.0 -629.0 -701.0 -743.0 -825.0 -919.0 -1001.0 -1100.0 -1074.0 -1140.0 -1171.0 -1157.0 -1177.0 -1169.0 -1142.0 -1121.0 -1068.0 -963.0 -907.0 -855.0 -783.0 -661.0 -511.0 -374.0 -328.0 -198.0 -64.0 167.0 309.0 351.0 433.0 546.0 707.0 840.0 937.0 950.0 1045.0 1141.0 1233.0 1269.0 1333.0 1382.0 1397.0 1413.0 1403.0 1396.0 1426.0 1439.0 1347.0 1262.0 1206.0 1158.0 1076.0 992.0 826.0 695.0 627.0 528.0 420.0 269.0 163.0 86.0 27.0 -62.0 -160.0 -200.0 -230.0 -249.0 -298.0 -326.0 -327.0 -339.0 -337.0 -337.0 -333.0 -307.0 -277.0 -309.0 -305.0 -274.0 -239.0 -200.0 -245.0 -315.0 -341.0 -314.0 -303.0 -330.0 -434.0 -521.0 -554.0 -571.0 -620.0 -694.0 -741.0 -815.0 -854.0 -886.0 -910.0 -893.0 -887.0 -932.0 -958.0 -972.0 -914.0 -848.0 -851.0 -836.0 -802.0 -692.0 -596.0 -480.0 -411.0 -338.0 -189.0 -2.0 176.0 275.0 352.0 486.0 672.0 858.0 1005.0 1063.0 1136.0 1291.0 1457.0 1554.0 1616.0 1640.0 1659.0 1732.0 1789.0 1757.0 1753.0 1727.0 1624.0 1585.0 1499.0 1351.0 1270.0 1127.0 946.0 827.0 670.0 496.0 381.0 246.0 44.0 -59.0 -150.0 -283.0 -366.0 -453.0 -541.0 -526.0 -532.0 -587.0 -580.0 -569.0 -524.0 -474.0 -434.0 -456.0 -413.0 -320.0 -238.0 -166.0 -168.0 -153.0 -124.0 -45.0 -33.0 -36.0 -63.0 -112.0 -113.0 -149.0 -176.0 -248.0 -336.0 -427.0 -526.0 -594.0 -651.0 -693.0 -794.0 -891.0 -961.0 -969.0 -914.0 -935.0 -994.0 -1020.0 -969.0 -907.0 -835.0 -781.0 -758.0 -686.0 -552.0 -397.0 -277.0 -193.0 -62.0 77.0 276.0 405.0 489.0 644.0 775.0 935.0 1054.0 1137.0 1194.0 1339.0 1481.0 1523.0 1550.0 1575.0 1588.0 1649.0 1696.0 1658.0 1589.0 1555.0 1512.0 1424.0 1346.0 1254.0 1151.0 1026.0 885.0 714.0 616.0 516.0 385.0 230.0 56.0 -41.0 -77.0 -150.0 -267.0 -375.0 -431.0 -436.0 -438.0 -492.0 -549.0 -539.0 -494.0 -460.0 -520.0 -533.0 -537.0 -462.0 -396.0 -445.0 -442.0 -468.0 -429.0 -378.0 -411.0 -455.0 -487.0 -497.0 -532.0 -562.0 -606.0 -670.0 -700.0 -735.0 -786.0 -833.0 -859.0 -882.0 -914.0 -956.0 -918.0 -876.0 -863.0 -824.0 -874.0 -831.0 -724.0 -621.0 -594.0 -601.0 -522.0 -451.0 -299.0 -197.0 -141.0 -58.0 53.0 178.0 335.0 464.0 509.0 624.0 741.0 832.0 985.0 1075.0 1095.0 1221.0 1362.0 1404.0 1482.0 1554.0 1529.0 1576.0 1665.0 1643.0 1608.0 1628.0 1541.0 1464.0 1431.0 1337.0 1244.0 1130.0 987.0 842.0 744.0 595.0 473.0 334.0 141.0 26.0 -47.0 -154.0 -279.0 -379.0 -482.0 -526.0 -520.0 -567.0 -654.0 -675.0 -679.0 -649.0 -663.0 -660.0 -649.0 -625.0 -555.0 -549.0 -542.0 -535.0 -494.0 -476.0 -502.0 -496.0 -478.0 -497.0 -513.0 -581.0 -636.0 -648.0 -674.0 -725.0 -797.0 -872.0 -912.0 -915.0 -921.0 -963.0 -991.0 -995.0 -968.0 -927.0 -932.0 -883.0 -842.0 -783.0 -703.0 -619.0 -540.0 -444.0 -362.0 -248.0 -105.0 14.0 126.0 249.0 459.0 592.0 708.0 798.0 934.0 1083.0 1202.0 1326.0 1345.0 1428.0 1589.0 1651.0 1660.0 1693.0 1689.0 1699.0 1777.0 1736.0 1611.0 1593.0 1542.0 1446.0 1345.0 1218.0 1075.0 972.0 823.0 619.0 501.0 345.0 196.0 69.0 -130.0 -246.0 -324.0 -390.0 -509.0 -622.0 -661.0 -692.0 -662.0 -714.0 -760.0 -763.0 -703.0 -642.0 -675.0 -650.0 -614.0 -547.0 -507.0 -500.0 -483.0 -471.0 -400.0 -408.0 -447.0 -468.0 -455.0 -441.0 -495.0 -567.0 -647.0 -663.0 -697.0 -774.0 -855.0 -918.0 -925.0 -946.0 -979.0 -1034.0 -1043.0 -991.0 -980.0 -941.0 -931.0 -882.0 -797.0 -729.0 -644.0 -609.0 -497.0 -362.0 -276.0 -199.0 -114.0 17.0 158.0 269.0 383.0 516.0 657.0 744.0 837.0 933.0 1018.0 1153.0 1206.0 1224.0 1273.0 1381.0 1463.0 1492.0 1500.0 1464.0 1493.0 1558.0 1514.0 1451.0 1395.0 1331.0 1287.0 1216.0 1091.0 968.0 872.0 708.0 568.0 452.0 297.0 154.0 22.0 -132.0 -277.0 -373.0 -443.0 -555.0 -676.0 -743.0 -798.0 -794.0 -819.0 -891.0 -920.0 -899.0 -860.0 -853.0 -845.0 -826.0 -768.0 -710.0 -678.0 -665.0 -630.0 -575.0 -552.0 -532.0 -559.0 -533.0 -509.0 -537.0 -570.0 -619.0 -628.0 -644.0 -644.0 -730.0 -793.0 -788.0 -795.0 -802.0 -879.0 -888.0 -868.0 -838.0 -815.0 -817.0 -782.0 -713.0 -643.0 -617.0 -571.0 -473.0 -381.0 -289.0 -247.0 -179.0 -40.0 83.0 188.0 261.0 455.0 562.0 654.0 722.0 796.0 962.0 1070.0 1156.0 1112.0 1196.0 1331.0 1400.0 1452.0 1394.0 1380.0 1427.0 1448.0 1400.0 1322.0 1243.0 1190.0 1141.0 961.0 821.0 761.0 633.0 475.0 313.0 105.0 -21.0 -90.0 -249.0 -404.0 -521.0 -612.0 -644.0 -711.0 -821.0 -814.0 -819.0 -808.0 -803.0 -814.0 -793.0 -724.0 -644.0 -661.0 -580.0 -505.0 -482.0 -418.0 -380.0 -331.0 -285.0 -284.0 -317.0 -346.0 -328.0 -337.0 -388.0 -483.0 -572.0 -613.0 -675.0 -721.0 -803.0 -883.0 -955.0 -1023.0 -1065.0 -1077.0 -1084.0 -1100.0 -1081.0 -1102.0 -1057.0 -962.0 -906.0 -838.0 -814.0 -729.0 -618.0 -501.0 -386.0 -317.0 -202.0 -68.0 57.0 169.0 259.0 380.0 604.0 676.0 696.0 805.0 900.0 1020.0 1130.0 1153.0 1115.0 1231.0 1372.0 1345.0 1373.0 1365.0 1307.0 1362.0 1357.0 1258.0 1183.0 1153.0 1073.0 953.0 828.0 696.0 603.0 491.0 291.0 151.0 20.0 -120.0 -190.0 -338.0 -493.0 -527.0 -617.0 -672.0 -684.0 -787.0 -777.0 -728.0 -700.0 -718.0 -672.0 -597.0 -588.0 -500.0 -492.0 -442.0 -343.0 -310.0 -283.0 -269.0 -216.0 -213.0 -229.0 -273.0 -318.0 -331.0 -372.0 -427.0 -538.0 -624.0 -682.0 -737.0 -834.0 -931.0 -986.0 -1052.0 -1054.0 -1089.0 -1159.0 -1137.0 -1120.0 -1081.0 -1044.0 -1031.0 -944.0 -856.0 -760.0 -699.0 -608.0 -497.0 -408.0 -287.0 -227.0 -156.0 4.0 145.0 206.0 265.0 389.0 616.0 748.0 745.0 741.0 824.0 1002.0 1122.0 1136.0 1074.0 1122.0 1286.0 1318.0 1314.0 1305.0 1279.0 1323.0 1346.0 1244.0 1132.0 1142.0 1119.0 995.0 825.0 693.0 625.0 548.0 386.0 174.0 26.0 -68.0 -150.0 -297.0 -476.0 -536.0 -588.0 -647.0 -689.0 -795.0 -785.0 -677.0 -611.0 -677.0 -731.0 -653.0 -563.0 -460.0 -442.0 -460.0 -377.0 -314.0 -271.0 -261.0 -269.0 -243.0 -261.0 -305.0 -362.0 -409.0 -433.0 -477.0 -569.0 -698.0 -778.0 -809.0 -839.0 -922.0 -1024.0 -1081.0 -1090.0 -1086.0 -1137.0 -1108.0 -1114.0 -1085.0 -972.0 -953.0 -879.0 -760.0 -670.0 -606.0 -522.0 -412.0 -318.0 -187.0 -104.0 -72.0 59.0 196.0 303.0 371.0 432.0 545.0 748.0 859.0 828.0 875.0 973.0 1062.0 1165.0 1209.0 1131.0 1198.0 1319.0 1296.0 1281.0 1270.0 1227.0 1211.0 1168.0 1041.0 949.0 920.0 826.0 690.0 520.0 362.0 290.0 195.0 3.0 -154.0 -240.0 -344.0 -405.0 -488.0 -603.0 -624.0 -618.0 -629.0 -645.0 -661.0 -563.0 -430.0 -353.0 -345.0 -325.0 -239.0 -162.0 -71.0 -79.0 -105.0 -61.0 -49.0 -57.0 -109.0 -135.0 -186.0 -279.0 -383.0 -518.0 -613.0 -683.0 -772.0 -915.0 -1068.0 -1132.0 -1160.0 -1211.0 -1282.0 -1334.0 -1316.0 -1264.0 -1240.0 -1229.0 -1150.0 -1049.0 -956.0 -850.0 -776.0 -621.0 -476.0 -411.0 -328.0 -253.0 -143.0 -66.0 16.0 37.0 48.0 148.0 191.0 234.0 250.0 276.0 356.0 466.0 526.0 509.0 564.0 645.0 725.0 809.0 843.0 841.0 952.0 1060.0 1072.0 1107.0 1125.0 1129.0 1166.0 1186.0 1085.0 1041.0 1051.0 985.0 861.0 755.0 647.0 560.0 469.0 304.0 182.0 79.0 -11.0 -91.0 -169.0 -285.0 -320.0 -348.0 -373.0 -345.0 -369.0 -347.0 -299.0 -238.0 -226.0 -161.0 -92.0 -106.0 -105.0 -117.0 -116.0 -103.0 -115.0 -198.0 -290.0 -336.0 -421.0 -505.0 -582.0 -704.0 -797.0 -879.0 -945.0 -1016.0 -1074.0 -1091.0 -1135.0 -1151.0 -1191.0 -1193.0 -1118.0 -1073.0 -1029.0 -995.0 -908.0 -804.0 -724.0 -618.0 -524.0 -418.0 -316.0 -250.0 -177.0 -138.0 -92.0 -45.0 -20.0 -16.0 -22.0 -3.0 53.0 85.0 110.0 121.0 172.0 311.0 376.0 420.0 499.0 574.0 647.0 752.0 814.0 803.0 916.0 1049.0 1061.0 1106.0 1114.0 1092.0 1170.0 1170.0 1064.0 1033.0 1045.0 961.0 885.0 767.0 654.0 619.0 545.0 407.0 305.0 248.0 200.0 107.0 44.0 -51.0 -99.0 38.0 8.0 52.0 66.0 30.0 66.0 9.0 1.0 -19.0 7.0 12.0 10.0 38.0 -38.0 -96.0 -246.0 -459.0 -582.0 -718.0 -804.0 -867.0 -907.0 -943.0 -982.0 -1030.0 -1126.0 -1190.0 -1250.0 -1300.0 -1298.0 -1254.0 -1194.0 -1113.0 -994.0 -910.0 -826.0 -735.0 -679.0 -610.0 -512.0 -422.0 -352.0 -255.0 -142.0 -89.0 -33.0 14.0 -3.0 40.0 59.0 -4.0 -20.0 15.0 58.0 85.0 140.0 166.0 288.0 485.0 509.0 544.0 604.0 706.0 844.0 916.0 918.0 998.0 1140.0 1191.0 1216.0 1197.0 1198.0 1211.0 1234.0 1151.0 1079.0 1056.0 1003.0 930.0 791.0 725.0 643.0 578.0 462.0 362.0 294.0 260.0 248.0 133.0 86.0 60.0 66.0 61.0 68.0 65.0 78.0 111.0 114.0 150.0 176.0 135.0 35.0 -16.0 -97.0 -161.0 -226.0 -352.0 -456.0 -540.0 -638.0 -765.0 -870.0 -960.0 -1026.0 -1085.0 -1159.0 -1212.0 -1208.0 -1198.0 -1207.0 -1220.0 -1198.0 -1138.0 -1075.0 -1022.0 -947.0 -854.0 -779.0 -725.0 -688.0 -558.0 -438.0 -378.0 -329.0 -265.0 -210.0 -169.0 -162.0 -171.0 -132.0 -79.0 -50.0 -86.0 -67.0 -13.0 82.0 135.0 142.0 254.0 434.0 594.0 673.0 742.0 839.0 983.0 1089.0 1130.0 1175.0 1273.0 1372.0 1368.0 1364.0 1365.0 1363.0 1338.0 1296.0 1233.0 1177.0 1154.0 1052.0 912.0 793.0 728.0 640.0 566.0 458.0 390.0 375.0 297.0 229.0 152.0 132.0 110.0 91.0 65.0 127.0 163.0 166.0 185.0 172.0 163.0 180.0 163.0 -35.0 -71.0 -112.0 -222.0 -297.0 -421.0 -537.0 -607.0 -688.0 -858.0 -975.0 -1026.0 -1078.0 -1146.0 -1179.0 -1164.0 -1151.0 -1141.0 -1150.0 -1161.0 -1115.0 -1046.0 -993.0 -945.0 -846.0 -749.0 -656.0 -604.0 -582.0 -492.0 -428.0 -382.0 -292.0 -241.0 -189.0 -168.0 -159.0 -141.0 -133.0 -83.0 -118.0 -96.0 -50.0 14.0 80.0 94.0 167.0 249.0 394.0 543.0 704.0 819.0 894.0 1031.0 1110.0 1142.0 1243.0 1286.0 1302.0 1381.0 1413.0 1417.0 1394.0 1385.0 1314.0 1268.0 1241.0 1142.0 1111.0 1027.0 949.0 846.0 719.0 663.0 601.0 544.0 490.0 454.0 417.0 378.0 346.0 302.0 272.0 295.0 318.0 322.0 358.0 393.0 373.0 304.0 209.0 89.0 -4.0 -51.0 -147.0 -252.0 -366.0 -506.0 -648.0 -800.0 -927.0 -1032.0 -1106.0 -1159.0 -1233.0 -1254.0 -1265.0 -1312.0 -1342.0 -1361.0 -1316.0 -1258.0 -1185.0 -1092.0 -1019.0 -894.0 -824.0 -760.0 -694.0 -653.0 -555.0 -485.0 -350.0 -256.0 -164.0 -82.0 -73.0 -21.0 -38.0 -24.0 -7.0 3.0 31.0 42.0 111.0 155.0 216.0 280.0 365.0 508.0 610.0 815.0 930.0 1027.0 1143.0 1224.0 1320.0 1341.0 1435.0 1481.0 1560.0 1615.0 1624.0 1619.0 1576.0 1528.0 1429.0 1419.0 1354.0 1261.0 1214.0 1146.0 1035.0 929.0 818.0 703.0 661.0 568.0 525.0 462.0 435.0 378.0 306.0 269.0 192.0 190.0 150.0 183.0 143.0 100.0 105.0 36.0 -17.0 -99.0 -185.0 -272.0 -371.0 -514.0 -625.0 -766.0 -873.0 -972.0 -1068.0 -1121.0 -1197.0 -1221.0 -1263.0 -1233.0 -1274.0 -1269.0 -1220.0 -1223.0 -1120.0 -1103.0 -1020.0 -952.0 -867.0 -746.0 -684.0 -590.0 -533.0 -465.0 -416.0 -372.0 -292.0 -224.0 -186.0 -118.0 -94.0 -27.0 -9.0 -9.0 2.0 -27.0 48.0 5.0 90.0 157.0 214.0 327.0 388.0 531.0 598.0 786.0 929.0 1019.0 1152.0 1244.0 1381.0 1377.0 1399.0 1481.0 1493.0 1549.0 1539.0 1531.0 1517.0 1499.0 1438.0 1321.0 1293.0 1188.0 1098.0 1029.0 937.0 859.0 757.0 682.0 609.0 521.0 467.0 443.0 363.0 304.0 254.0 202.0 123.0 46.0 31.0 -13.0 -14.0 -87.0 -125.0 -160.0 -253.0 -300.0 -481.0 -555.0 -683.0 -836.0 -929.0 -1062.0 -1124.0 -1259.0 -1300.0 -1348.0 -1391.0 -1384.0 -1419.0 -1357.0 -1326.0 -1290.0 -1222.0 -1158.0 -1033.0 -957.0 -856.0 -703.0 -615.0 -515.0 -418.0 -330.0 -259.0 -214.0 -159.0 -125.0 -117.0 -61.0 -37.0 -9.0 35.0 25.0 44.0 21.0 2.0 -38.0 -67.0 -43.0 -51.0 31.0 88.0 164.0 275.0 302.0 454.0 524.0 617.0 802.0 903.0 1080.0 1175.0 1304.0 1362.0 1374.0 1439.0 1384.0 1443.0 1416.0 1398.0 1444.0 1378.0 1362.0 1249.0 1159.0 1089.0 957.0 895.0 809.0 743.0 685.0 573.0 503.0 394.0 319.0 276.0 163.0 132.0 73.0 23.0 -31.0 -138.0 -185.0 -271.0 -303.0 -349.0 -450.0 -456.0 -538.0 -610.0 -717.0 -854.0 -921.0 -1083.0 -1152.0 -1227.0 -1287.0 -1302.0 -1372.0 -1349.0 -1363.0 -1327.0 -1296.0 -1257.0 -1156.0 -1124.0 -1006.0 -924.0 -826.0 -693.0 -605.0 -526.0 -425.0 -321.0 -262.0 -235.0 -202.0 -170.0 -134.0 -130.0 -154.0 -74.0 -77.0 -30.0 -19.0 -19.0 -22.0 -43.0 -47.0 -75.0 -16.0 -30.0 60.0 97.0 180.0 276.0 326.0 470.0 521.0 643.0 779.0 916.0 1048.0 1111.0 1243.0 1290.0 1284.0 1339.0 1298.0 1329.0 1262.0 1236.0 1262.0 1137.0 1157.0 1056.0 1005.0 920.0 788.0 760.0 589.0 567.0 434.0 356.0 344.0 233.0 220.0 129.0 102.0 6.0 -74.0 -138.0 -242.0 -294.0 -379.0 -428.0 -476.0 -507.0 -570.0 -610.0 -711.0 -762.0 -823.0 -885.0 -929.0 -1065.0 -1120.0 -1211.0 -1232.0 -1316.0 -1324.0 -1284.0 -1289.0 -1173.0 -1139.0 -1056.0 -995.0 -907.0 -837.0 -795.0 -688.0 -600.0 -480.0 -388.0 -309.0 -235.0 -195.0 -161.0 -130.0 -161.0 -130.0 -115.0 -120.0 -128.0 -150.0 -92.0 -97.0 -71.0 -61.0 -63.0 -47.0 -73.0 -59.0 -72.0 -31.0 37.0 75.0 182.0 275.0 374.0 463.0 537.0 612.0 688.0 815.0 907.0 974.0 1077.0 1161.0 1190.0 1186.0 1168.0 1161.0 1124.0 1065.0 1025.0 995.0 969.0 932.0 888.0 809.0 754.0 679.0 554.0 493.0 399.0 307.0 253.0 173.0 85.0 32.0 -17.0 -121.0 -181.0 -287.0 -402.0 -452.0 -580.0 -646.0 -685.0 -787.0 -840.0 -906.0 -978.0 -1029.0 -1091.0 -1130.0 -1172.0 -1232.0 -1285.0 -1322.0 -1322.0 -1352.0 -1304.0 -1249.0 -1185.0 -1058.0 -1020.0 -902.0 -806.0 -749.0 -675.0 -623.0 -508.0 -405.0 -328.0 -231.0 -171.0 -119.0 -98.0 -99.0 -89.0 -138.0 -116.0 -140.0 -182.0 -171.0 -190.0 -156.0 -184.0 -164.0 -126.0 -82.0 -68.0 -82.0 -42.0 -29.0 3.0 19.0 86.0 169.0 256.0 335.0 444.0 571.0 639.0 761.0 838.0 893.0 963.0 1015.0 1039.0 1051.0 1041.0 995.0 995.0 954.0 913.0 921.0 902.0 831.0 758.0 705.0 624.0 519.0 408.0 340.0 270.0 180.0 123.0 53.0 -22.0 -69.0 -181.0 -260.0 -316.0 -412.0 -490.0 -563.0 -631.0 -741.0 -798.0 -872.0 -930.0 -964.0 -1039.0 -1035.0 -1042.0 -1100.0 -1147.0 -1106.0 -1092.0 -1127.0 -1129.0 -1138.0 -1100.0 -1116.0 -1033.0 -980.0 -925.0 -764.0 -736.0 -582.0 -542.0 -427.0 -358.0 -352.0 -199.0 -242.0 -116.0 -69.0 -19.0 6.0 -16.0 52.0 -26.0 -34.0 -37.0 -56.0 -92.0 -125.0 -133.0 -116.0 -138.0 -141.0 -88.0 -63.0 -18.0 -61.0 -40.0 -5.0 -9.0 35.0 78.0 165.0 239.0 318.0 406.0 469.0 491.0 597.0 642.0 697.0 802.0 839.0 940.0 896.0 925.0 863.0 826.0 821.0 677.0 736.0 681.0 645.0 633.0 555.0 543.0 438.0 341.0 278.0 181.0 109.0 -1.0 -56.0 -101.0 -217.0 -265.0 -343.0 -388.0 -460.0 -596.0 -629.0 -695.0 -781.0 -859.0 -935.0 -896.0 -915.0 -923.0 -893.0 -949.0 -901.0 -966.0 -995.0 -1032.0 -1100.0 -1010.0 -1050.0 -928.0 -866.0 -737.0 -571.0 -570.0 -463.0 -470.0 -397.0 -381.0 -376.0 -284.0 -233.0 -159.0 -94.0 -40.0 25.0 12.0 -7.0 4.0 -63.0 -43.0 -103.0 -93.0 -125.0 -210.0 -169.0 -219.0 -158.0 -168.0 -127.0 -74.0 -82.0 -22.0 -74.0 -53.0 -57.0 -26.0 54.0 83.0 202.0 286.0 383.0 472.0 487.0 568.0 651.0 686.0 720.0 763.0 858.0 857.0 866.0 859.0 805.0 803.0 724.0 708.0 658.0 638.0 626.0 540.0 497.0 403.0 304.0 210.0 118.0 33.0 -27.0 -84.0 -169.0 -214.0 -257.0 -328.0 -391.0 -452.0 -516.0 -580.0 -622.0 -704.0 -752.0 -771.0 -783.0 -771.0 -787.0 -716.0 -717.0 -730.0 -745.0 -787.0 -800.0 -848.0 -807.0 -783.0 -725.0 -626.0 -538.0 -455.0 -419.0 -370.0 -355.0 -347.0 -306.0 -285.0 -244.0 -185.0 -123.0 -51.0 -39.0 -20.0 -22.0 -40.0 -56.0 -88.0 -61.0 -82.0 -117.0 -144.0 -192.0 -201.0 -217.0 -212.0 -179.0 -136.0 -69.0 -58.0 -44.0 -16.0 -29.0 5.0 -29.0 21.0 112.0 155.0 230.0 274.0 370.0 399.0 452.0 525.0 558.0 635.0 700.0 723.0 777.0 784.0 773.0 766.0 735.0 754.0 698.0 676.0 655.0 590.0 558.0 473.0 420.0 336.0 274.0 251.0 136.0 104.0 39.0 -32.0 -73.0 -184.0 -232.0 -288.0 -337.0 -417.0 -491.0 -506.0 -589.0 -625.0 -637.0 -656.0 -638.0 -660.0 -605.0 -546.0 -560.0 -580.0 -590.0 -599.0 -624.0 -644.0 -597.0 -530.0 -454.0 -347.0 -304.0 -186.0 -171.0 -146.0 -150.0 -161.0 -119.0 -168.0 -71.0 -78.0 -28.0 10.0 34.0 35.0 -39.0 -8.0 -69.0 -64.0 -109.0 -115.0 -117.0 -137.0 -165.0 -230.0 -174.0 -202.0 -179.0 -173.0 -122.0 -60.0 -72.0 -24.0 -19.0 43.0 56.0 111.0 187.0 245.0 320.0 342.0 402.0 416.0 460.0 496.0 553.0 638.0 705.0 742.0 763.0 811.0 784.0 755.0 727.0 737.0 706.0 697.0 693.0 650.0 602.0 539.0 474.0 361.0 323.0 242.0 210.0 167.0 101.0 65.0 -12.0 -56.0 -135.0 -156.0 -224.0 -304.0 -333.0 -371.0 -391.0 -462.0 -451.0 -419.0 -461.0 -467.0 -476.0 -461.0 -484.0 -497.0 -473.0 -482.0 -404.0 -369.0 -330.0 -286.0 -255.0 -194.0 -207.0 -172.0 -147.0 -148.0 -116.0 -119.0 -89.0 -91.0 -82.0 -55.0 -69.0 -48.0 -42.0 -19.0 3.0 -5.0 29.0 -2.0 -49.0 -51.0 -92.0 -91.0 -175.0 -146.0 -106.0 -108.0 -55.0 -46.0 51.0 32.0 63.0 72.0 73.0 138.0 125.0 192.0 242.0 314.0 366.0 374.0 439.0 457.0 477.0 525.0 529.0 608.0 667.0 716.0 756.0 771.0 817.0 781.0 782.0 768.0 754.0 766.0 706.0 702.0 661.0 607.0 562.0 461.0 431.0 372.0 311.0 270.0 206.0 183.0 95.0 49.0 -27.0 -105.0 -135.0 -234.0 -271.0 -324.0 -335.0 -351.0 -384.0 -364.0 -381.0 -360.0 -376.0 -387.0 -385.0 -368.0 -341.0 -347.0 -308.0 -252.0 -224.0 -209.0 -164.0 -136.0 -116.0 -98.0 -89.0 -77.0 -51.0 -37.0 -61.0 -50.0 -57.0 -64.0 -56.0 -49.0 -31.0 -32.0 -8.0 -12.0 -3.0 -4.0 -48.0 -44.0 -74.0 -92.0 -92.0 -74.0 -47.0 -40.0 18.0 38.0 84.0 120.0 154.0 163.0 142.0 178.0 192.0 241.0 272.0 352.0 416.0 439.0 458.0 464.0 505.0 495.0 509.0 546.0 616.0 679.0 739.0 791.0 829.0 841.0 826.0 796.0 760.0 759.0 717.0 683.0 648.0 616.0 561.0 490.0 457.0 380.0 328.0 268.0 197.0 141.0 85.0 47.0 -49.0 -98.0 -134.0 -178.0 -214.0 -258.0 -255.0 -306.0 -319.0 -333.0 -347.0 -338.0 -334.0 -322.0 -337.0 -290.0 -274.0 -266.0 -242.0 -205.0 -180.0 -172.0 -148.0 -133.0 -103.0 -116.0 -138.0 -139.0 -128.0 -166.0 -186.0 -169.0 -158.0 -150.0 -155.0 -139.0 -118.0 -96.0 -81.0 -43.0 -17.0 0.0 -29.0 -44.0 -53.0 -58.0 -67.0 -64.0 -20.0 1.0 65.0 104.0 144.0 158.0 171.0 177.0 165.0 161.0 181.0 214.0 232.0 250.0 276.0 325.0 320.0 347.0 374.0 411.0 427.0 461.0 538.0 561.0 620.0 641.0 688.0 704.0 712.0 714.0 695.0 698.0 663.0 652.0 608.0 572.0 523.0 480.0 428.0 376.0 332.0 263.0 207.0 144.0 102.0 39.0 -5.0 -60.0 -116.0 -161.0 -215.0 -275.0 -318.0 -350.0 -377.0 -385.0 -388.0 -369.0 -343.0 -309.0 -293.0 -271.0 -252.0 -229.0 -216.0 -197.0 -169.0 -145.0 -135.0 -129.0 -120.0 -131.0 -132.0 -143.0 -151.0 -144.0 -131.0 -133.0 -123.0 -100.0 -89.0 -93.0 -79.0 -53.0 -47.0 -23.0 -11.0 12.0 9.0 2.0 5.0 -12.0 -6.0 -6.0 19.0 26.0 63.0 103.0 130.0 171.0 202.0 238.0 231.0 235.0 240.0 258.0 266.0 264.0 264.0 247.0 250.0 246.0 242.0 246.0 266.0 297.0 349.0 388.0 441.0 493.0 483.0 468.0 483.0 497.0 480.0 497.0 529.0 541.0 530.0 501.0 447.0 406.0 379.0 321.0 272.0 242.0 228.0 203.0 151.0 103.0 69.0 5.0 -70.0 -135.0 -180.0 -202.0 -233.0 -278.0 -315.0 -329.0 -355.0 -384.0 -403.0 -405.0 -408.0 -399.0 -395.0 -379.0 -353.0 -347.0 -342.0 -336.0 -330.0 -342.0 -366.0 -385.0 -386.0 -399.0 -399.0 -412.0 -400.0 -386.0 -384.0 -377.0 -349.0 -316.0 -281.0 -229.0 -197.0 -161.0 -124.0 -99.0 -82.0 -62.0 -26.0 3.0 24.0 73.0 92.0 142.0 153.0 147.0 189.0 235.0 215.0 236.0 276.0 279.0 330.0 343.0 350.0 348.0 369.0 326.0 362.0 378.0 380.0 419.0 424.0 454.0 456.0 491.0 497.0 523.0 552.0 573.0 597.0 623.0 610.0 580.0 537.0 481.0 421.0 375.0 351.0 317.0 304.0 265.0 209.0 148.0 73.0 25.0 -49.0 -95.0 -112.0 -153.0 -174.0 -194.0 -212.0 -258.0 -307.0 -342.0 -361.0 -392.0 -394.0 -373.0 -380.0 -353.0 -346.0 -339.0 -334.0 -323.0 -296.0 -322.0 -314.0 -305.0 -343.0 -327.0 -368.0 -374.0 -352.0 -389.0 -318.0 -355.0 -354.0 -328.0 -357.0 -315.0 -337.0 -322.0 -266.0 -279.0 -227.0 -191.0 -184.0 -145.0 -163.0 -123.0 -92.0 -86.0 -71.0 -14.0 11.0 28.0 34.0 61.0 75.0 131.0 158.0 141.0 220.0 198.0 257.0 239.0 210.0 246.0 215.0 195.0 226.0 255.0 291.0 345.0 370.0 398.0 396.0 434.0 385.0 382.0 412.0 411.0 420.0 428.0 427.0 410.0 388.0 288.0 242.0 202.0 149.0 123.0 104.0 91.0 40.0 15.0 -49.0 -105.0 -150.0 -216.0 -253.0 -305.0 -311.0 -340.0 -362.0 -367.0 -380.0 -392.0 -418.0 -434.0 -446.0 -447.0 -448.0 -437.0 -420.0 -381.0 -360.0 -371.0 -379.0 -380.0 -330.0 -414.0 -370.0 -369.0 -412.0 -349.0 -400.0 -345.0 -370.0 -327.0 -332.0 -339.0 -252.0 -270.0 -276.0 -224.0 -263.0 -201.0 -170.0 -140.0 -139.0 -124.0 -82.0 -124.0 -24.0 -65.0 -9.0 -43.0 25.0 29.0 43.0 120.0 58.0 120.0 151.0 110.0 207.0 208.0 178.0 282.0 193.0 229.0 164.0 234.0 212.0 231.0 292.0 250.0 371.0 332.0 303.0 321.0 246.0 264.0 233.0 192.0 261.0 147.0 194.0 107.0 61.0 47.0 -71.0 -58.0 -114.0 -112.0 -106.0 -160.0 -165.0 -188.0 -220.0 -280.0 -323.0 -325.0 -385.0 -302.0 -351.0 -372.0 -245.0 -403.0 -352.0 -337.0 -435.0 -388.0 -358.0 -372.0 -369.0 -213.0 -358.0 -335.0 -246.0 -388.0 -302.0 -271.0 -344.0 -212.0 -319.0 -235.0 -214.0 -310.0 -238.0 -298.0 -279.0 -179.0 -177.0 -218.0 -70.0 -203.0 -237.0 -108.0 -229.0 -196.0 -27.0 -262.0 -49.0 -38.0 -176.0 23.0 -76.0 -92.0 31.0 -8.0 7.0 85.0 -34.0 61.0 68.0 -18.0 59.0 90.0 -7.0 168.0 133.0 140.0 242.0 156.0 172.0 262.0 211.0 226.0 291.0 211.0 296.0 337.0 232.0 317.0 279.0 189.0 215.0 244.0 212.0 90.0 213.0 -61.0 16.0 45.0 -171.0 -60.0 -26.0 -266.0 -129.0 -116.0 -330.0 -228.0 -229.0 -346.0 -369.0 -175.0 -443.0 -253.0 -341.0 -390.0 -311.0 -368.0 -330.0 -311.0 -240.0 -305.0 -212.0 -316.0 -303.0 -267.0 -306.0 -311.0 -219.0 -305.0 -172.0 -207.0 -239.0 -175.0 -177.0 -250.0 -186.0 -144.0 -310.0 -50.0 -169.0 -258.0 -42.0 -145.0 -208.0 -69.0 -148.0 -170.0 -80.0 -67.0 -166.0 2.0 -126.0 -88.0 22.0 -151.0 59.0 -83.0 -57.0 42.0 -28.0 -40.0 54.0 -37.0 -28.0 45.0 27.0 32.0 104.0 112.0 19.0 179.0 35.0 220.0 114.0 146.0 245.0 76.0 285.0 193.0 144.0 251.0 271.0 123.0 336.0 192.0 158.0 242.0 118.0 119.0 96.0 19.0 -9.0 100.0 -120.0 81.0 -85.0 -148.0 -64.0 -148.0 -250.0 -142.0 -103.0 -376.0 -103.0 -211.0 -301.0 -172.0 -191.0 -328.0 -218.0 -214.0 -289.0 -281.0 -97.0 -292.0 -238.0 -90.0 -328.0 -184.0 -267.0 -218.0 -159.0 -235.0 -166.0 -107.0 -236.0 -27.0 -171.0 -190.0 -18.0 -285.0 -134.0 -6.0 -184.0 -24.0 -83.0 -94.0 -25.0 -47.0 -34.0 -77.0 21.0 -71.0 -78.0 15.0 -67.0 -31.0 15.0 -118.0 47.0 -86.0 85.0 -69.0 -13.0 -26.0 -40.0 40.0 -134.0 123.0 -161.0 107.0 -57.0 90.0 52.0 -8.0 223.0 -122.0 192.0 120.0 -52.0 157.0 84.0 1.0 100.0 85.0 160.0 -33.0 233.0 5.0 102.0 196.0 -82.0 183.0 -98.0 160.0 -118.0 6.0 9.0 -110.0 24.0 -80.0 -63.0 -37.0 -44.0 -128.0 -48.0 -206.0 59.0 -256.0 -34.0 -98.0 -240.0 -3.0 -148.0 -121.0 -127.0 -31.0 -286.0 -89.0 -77.0 -310.0 -7.0 -172.0 -274.0 60.0 -233.0 -167.0 -104.0 -149.0 -219.0 -66.0 -97.0 -177.0 1.0 -165.0 -127.0 -60.0 -134.0 -135.0 -42.0 -178.0 19.0 -196.0 13.0 -87.0 -66.0 -9.0 -162.0 0.0 -131.0 -72.0 -17.0 -52.0 -121.0 124.0 -244.0 51.0 -16.0 -159.0 46.0 16.0 -133.0 68.0 41.0 -87.0 171.0 -59.0 121.0 61.0 105.0 55.0 136.0 48.0 107.0 180.0 107.0 140.0 147.0 95.0 146.0 236.0 -35.0 209.0 140.0 29.0 191.0 91.0 89.0 133.0 101.0 25.0 57.0 5.0 -20.0 -10.0 39.0 17.0 -3.0 24.0 -46.0 -38.0 -66.0 3.0 -129.0 -55.0 -81.0 -93.0 -37.0 -82.0 -83.0 -36.0 -113.0 -83.0 24.0 -108.0 36.0 -93.0 -38.0 -66.0 -43.0 -86.0 -59.0 -3.0 -98.0 96.0 -102.0 -4.0 6.0 -228.0 99.0 -178.0 -117.0 -23.0 -199.0 -28.0 -200.0 27.0 -223.0 -8.0 -150.0 -159.0 -56.0 -213.0 26.0 -129.0 -139.0 -38.0 -62.0 -162.0 143.0 -180.0 -53.0 27.0 -93.0 -85.0 2.0 -46.0 -155.0 133.0 -59.0 22.0 153.0 -42.0 199.0 153.0 58.0 94.0 -66.0 204.0 81.0 107.0 235.0 124.0 83.0 295.0 161.0 17.0 375.0 95.0 50.0 459.0 36.0 192.0 287.0 38.0 250.0 112.0 240.0 208.0 36.0 179.0 39.0 97.0 91.0 34.0 87.0 -69.0 245.0 -59.0 80.0 130.0 -152.0 125.0 37.0 -81.0 76.0 -146.0 100.0 -50.0 -7.0 101.0 -57.0 174.0 -185.0 158.0 -204.0 137.0 -100.0 -4.0 92.0 -241.0 181.0 -160.0 -5.0 103.0 -194.0 -39.0 22.0 -352.0 145.0 -202.0 -59.0 -75.0 -70.0 -34.0 -151.0 121.0 -299.0 129.0 -196.0 -57.0 35.0 -116.0 80.0 -54.0 79.0 -132.0 164.0 -116.0 -11.0 287.0 -230.0 176.0 226.0 -191.0 241.0 80.0 -158.0 250.0 68.0 -9.0 183.0 169.0 -16.0 248.0 36.0 118.0 117.0 33.0 239.0 99.0 340.0 15.0 405.0 19.0 187.0 374.0 18.0 402.0 50.0 290.0 57.0 400.0 33.0 167.0 252.0 -196.0 440.0 -101.0 131.0 136.0 56.0 58.0 120.0 78.0 -82.0 75.0 54.0 -153.0 65.0 129.0 -246.0 343.0 -108.0 19.0 10.0 31.0 -2.0 -39.0 146.0 -130.0 153.0 -106.0 166.0 -79.0 -40.0 65.0 -79.0 -181.0 248.0 -231.0 -180.0 445.0 -682.0 252.0 61.0 -420.0 176.0 -123.0 -168.0 -141.0 143.0 -210.0 -34.0 241.0 -344.0 159.0 171.0 -259.0 162.0 13.0 -159.0 275.0 -43.0 -19.0 253.0 147.0 -56.0 236.0 257.0 -148.0 353.0 13.0 6.0 232.0 234.0 124.0 295.0 152.0 211.0 158.0 138.0 292.0 -115.0 529.0 -2.0 160.0 445.0 -129.0 408.0 85.0 215.0 280.0 245.0 230.0 149.0 112.0 -1.0 244.0 -329.0 493.0 -170.0 33.0 368.0 -206.0 202.0 -29.0 -38.0 24.0 110.0 -259.0 177.0 -148.0 -19.0 141.0 -122.0 -12.0 180.0 -87.0 0.0 227.0 -326.0 137.0 -53.0 -152.0 62.0 -37.0 51.0 -113.0 248.0 -251.0 -45.0 157.0 -533.0 228.0 -180.0 -209.0 127.0 -81.0 -38.0 -120.0 129.0 -330.0 -75.0 177.0 -440.0 358.0 17.0 -113.0 140.0 -211.0 144.0 -230.0 244.0 -87.0 30.0 261.0 -32.0 115.0 3.0 187.0 -32.0 157.0 192.0 21.0 95.0 371.0 -123.0 153.0 232.0 129.0 269.0 192.0 338.0 74.0 450.0 155.0 158.0 266.0 298.0 300.0 180.0 279.0 300.0 119.0 390.0 318.0 191.0 192.0 326.0 265.0 -187.0 611.0 -185.0 -150.0 568.0 -279.0 186.0 357.0 -178.0 191.0 63.0 -28.0 -152.0 65.0 -72.0 -124.0 355.0 -443.0 374.0 -28.0 -323.0 548.0 -466.0 187.0 -17.0 -139.0 249.0 -330.0 348.0 -161.0 58.0 418.0 -449.0 280.0 121.0 -406.0 220.0 -80.0 47.0 47.0 106.0 215.0 -334.0 311.0 -229.0 -86.0 118.0 -199.0 226.0 -164.0 224.0 76.0 -157.0 271.0 -82.0 13.0 323.0 -91.0 261.0 -91.0 153.0 6.0 -4.0 419.0 -3.0 449.0 178.0 24.0 309.0 -13.0 66.0 123.0 -93.0 478.0 26.0 262.0 417.0 20.0 220.0 133.0 -19.0 -70.0 179.0 48.0 34.0 302.0 67.0 179.0 291.0 62.0 84.0 182.0 1.0 -93.0 520.0 -166.0 138.0 323.0 -323.0 -13.0 184.0 -327.0 -89.0 479.0 -367.0 118.0 13.0 -240.0 -117.0 128.0 -202.0 -165.0 266.0 -222.0 16.0 66.0 -202.0 -205.0 -35.0 -87.0 10.0 -189.0 206.0 -325.0 65.0 46.0 -369.0 429.0 -216.0 102.0 112.0 -180.0 155.0 -37.0 -29.0 69.0 58.0 178.0 -62.0 262.0 80.0 -173.0 356.0 -265.0 92.0 110.0 -303.0 238.0 -11.0 120.0 8.0 156.0 35.0 33.0 269.0 -148.0 113.0 30.0 8.0 186.0 140.0 148.0 124.0 97.0 77.0 77.0 130.0 15.0 48.0 150.0 73.0 61.0 114.0 61.0 -42.0 110.0 -51.0 -49.0 220.0 -133.0 76.0 -26.0 -27.0 70.0 17.0 61.0 -77.0 187.0 -203.0 9.0 -19.0 -44.0 -205.0 33.0 -89.0 -119.0 243.0 -220.0 258.0 -188.0 62.0 85.0 -385.0 151.0 -286.0 -213.0 87.0 -305.0 68.0 -91.0 -75.0 15.0 -73.0 45.0 -307.0 -110.0 -154.0 -176.0 186.0 -10.0 -1.0 143.0 97.0 167.0 -162.0 108.0 -129.0 -9.0 211.0 -81.0 252.0 54.0 169.0 72.0 -137.0 34.0 -152.0 -145.0 152.0 -117.0 147.0 249.0 -156.0 75.0 -80.0 -85.0 20.0 -47.0 31.0 114.0 294.0 123.0 35.0 195.0 -166.0 143.0 44.0 -6.0 275.0 36.0 264.0 -17.0 235.0 25.0 -138.0 223.0 -36.0 150.0 365.0 98.0 99.0 124.0 -55.0 -60.0 71.0 -39.0 -45.0 260.0 -39.0 49.0 151.0 50.0 2.0 90.0 124.0 -84.0 53.0 105.0 -165.0 71.0 -30.0 -169.0 64.0 -103.0 113.0 26.0 96.0 24.0 -165.0 35.0 -115.0 -91.0 53.0 -75.0 158.0 125.0 -42.0 122.0 -156.0 -102.0 -209.0 -148.0 127.0 -6.0 174.0 33.0 90.0 53.0 -171.0 17.0 -296.0 -150.0 55.0 -170.0 88.0 130.0 28.0 -21.0 9.0 -162.0 -107.0 -121.0 -210.0 -114.0 -163.0 -3.0 -149.0 33.0 -50.0 -17.0 -4.0 -19.0 -41.0 -92.0 105.0 -72.0 1.0 19.0 -28.0 -6.0 131.0 -92.0 33.0 22.0 -82.0 47.0 -144.0 -85.0 53.0 -26.0 40.0 100.0 -78.0 46.0 6.0 -122.0 -210.0 33.0 -62.0 10.0 187.0 -78.0 214.0 142.0 -8.0 51.0 9.0 9.0 -31.0 -80.0 -21.0 71.0 152.0 30.0 43.0 60.0 -25.0 70.0 -120.0 -63.0 46.0 1.0 -70.0 -46.0 26.0 53.0 61.0 -47.0 -100.0 -56.0 -13.0 -205.0 -47.0 -177.0 -128.0 56.0 -151.0 116.0 10.0 78.0 72.0 -119.0 -73.0 -198.0 -216.0 -204.0 -171.0 -67.0 57.0 18.0 -1.0 5.0 -116.0 -236.0 -213.0 -418.0 -304.0 -174.0 -198.0 -40.0 -73.0 -5.0 -20.0 -45.0 -145.0 -92.0 -117.0 -170.0 -222.0 -193.0 -54.0 -124.0 -82.0 -56.0 -41.0 -12.0 -25.0 -179.0 -115.0 -153.0 -146.0 -123.0 -97.0 16.0 15.0 46.0 -45.0 -70.0 -150.0 -45.0 -165.0 -175.0 -76.0 -136.0 -73.0 -56.0 -12.0 -93.0 10.0 -137.0 -149.0 -36.0 -66.0 -11.0 -62.0 -4.0 -58.0 -28.0 -76.0 -77.0 -97.0 -50.0 -53.0 -112.0 23.0 -17.0 36.0 23.0 -31.0 -117.0 -34.0 -128.0 -136.0 -77.0 -108.0 71.0 33.0 72.0 45.0 31.0 -79.0 -120.0 -123.0 -163.0 -77.0 -137.0 -100.0 -80.0 -88.0 -102.0 -130.0 -211.0 -198.0 -135.0 -160.0 -121.0 -83.0 -152.0 -162.0 -125.0 -182.0 -189.0 -174.0 -137.0 -200.0 -171.0 -170.0 -178.0 -141.0 -146.0 -124.0 -114.0 -101.0 -168.0 -126.0 -148.0 -174.0 -104.0 -97.0 -125.0 -109.0 -130.0 -214.0 -162.0 -156.0 -204.0 -76.0 -62.0 -4.0 89.0 22.0 3.0 -42.0 -64.0 -39.0 -29.0 -33.0 -61.0 24.0 66.0 4.0 45.0 33.0 -13.0 11.0 -60.0 -59.0 -19.0 -36.0 11.0 -27.0 5.0 17.0 -43.0 -50.0 -84.0 -82.0 -34.0 -86.0 -87.0 -28.0 -52.0 -96.0 -146.0 -186.0 -180.0 -139.0 -98.0 -36.0 -22.0 1.0 -46.0 -112.0 -196.0 -188.0 -209.0 -179.0 -162.0 -78.0 -33.0 -56.0 29.0 -159.0 -81.0 -160.0 -154.0 -83.0 -114.0 -66.0 -79.0 -62.0 -172.0 -124.0 -176.0 -198.0 -174.0 -196.0 -124.0 -88.0 -87.0 -142.0 -179.0 -172.0 -259.0 -310.0 -256.0 -217.0 -70.0 30.0 22.0 94.0 71.0 30.0 -63.0 -103.0 -83.0 -100.0 -118.0 -76.0 -63.0 -16.0 93.0 30.0 72.0 59.0 58.0 7.0 -5.0 -60.0 -12.0 15.0 17.0 140.0 107.0 167.0 85.0 62.0 -14.0 -55.0 -60.0 -113.0 -59.0 -45.0 15.0 73.0 57.0 51.0 78.0 51.0 8.0 30.0 38.0 59.0 33.0 14.0 -1.0 -33.0 -56.0 -83.0 -114.0 -114.0 46.0 -46.0 15.0 91.0 -21.0 -51.0 -92.0 -117.0 -194.0 -107.0 -107.0 -105.0 -71.0 -93.0 -55.0 -93.0 -98.0 -91.0 -96.0 -127.0 -153.0 -155.0 -174.0 -153.0 -155.0 -134.0 -99.0 -70.0 -100.0 -53.0 -67.0 -142.0 -87.0 -134.0 -86.0 -69.0 -12.0 15.0 -64.0 -12.0 -87.0 -106.0 -74.0 -126.0 -127.0 -52.0 -6.0 -11.0 3.0 75.0 91.0 67.0 119.0 51.0 12.0 24.0 -33.0 -57.0 10.0 38.0 26.0 80.0 74.0 87.0 94.0 48.0 41.0 29.0 49.0 59.0 -19.0 -19.0 -15.0 -33.0 -4.0 15.0 29.0 32.0 48.0 49.0 40.0 58.0 67.0 -2.0 50.0 62.0 31.0 86.0 33.0 43.0 -47.0 -80.0 -83.0 -108.0 -97.0 -101.0 -81.0 -77.0 -15.0 -39.0 -2.0 19.0 27.0 21.0 -7.0 -31.0 -68.0 -71.0 -73.0 -37.0 -62.0 -23.0 -32.0 -57.0 13.0 -66.0 -82.0 -44.0 -44.0 9.0 -33.0 28.0 6.0 7.0 43.0 -46.0 -53.0 -44.0 -20.0 -102.0 -66.0 -27.0 -23.0 -6.0 -4.0 -7.0 -57.0 24.0 13.0 27.0 109.0 70.0 77.0 86.0 23.0 53.0 68.0 61.0 45.0 58.0 108.0 100.0 107.0 114.0 120.0 84.0 91.0 55.0 50.0 74.0 30.0 34.0 12.0 -32.0 -59.0 -92.0 -109.0 -86.0 -119.0 -54.0 -26.0 -7.0 63.0 90.0 94.0 59.0 49.0 0.0 -3.0 -86.0 -80.0 -109.0 -149.0 -102.0 -155.0 -69.0 -89.0 5.0 40.0 20.0 79.0 18.0 23.0 -37.0 -11.0 -118.0 -54.0 -44.0 -101.0 -27.0 -60.0 -12.0 -53.0 -18.0 -36.0 17.0 68.0 53.0 63.0 70.0 95.0 63.0 87.0 55.0 31.0 64.0 40.0 4.0 -9.0 15.0 -5.0 -4.0 19.0 59.0 86.0 126.0 127.0 88.0 160.0 119.0 94.0 76.0 75.0 91.0 107.0 127.0 165.0 195.0 214.0 235.0 218.0 246.0 229.0 231.0 207.0 183.0 185.0 133.0 79.0 94.0 44.0 39.0 63.0 31.0 28.0 33.0 16.0 24.0 20.0 -10.0 -17.0 -61.0 -48.0 -71.0 -45.0 -33.0 -51.0 -3.0 -35.0 -52.0 -65.0 -90.0 -103.0 -139.0 -125.0 -100.0 -94.0 -80.0 -65.0 -29.0 -30.0 0.0 9.0 -30.0 -13.0 -40.0 -66.0 -71.0 -67.0 -47.0 -51.0 -48.0 -15.0 29.0 21.0 16.0 32.0 70.0 95.0 100.0 161.0 191.0 225.0 227.0 235.0 246.0 226.0 237.0 198.0 211.0 235.0 232.0 246.0 247.0 281.0 286.0 291.0 296.0 295.0 304.0 264.0 267.0 259.0 247.0 216.0 236.0 224.0 186.0 202.0 135.0 114.0 118.0 120.0 85.0 75.0 55.0 11.0 -61.0 -142.0 -177.0 -219.0 -205.0 -214.0 -191.0 -157.0 -148.0 -150.0 -132.0 -145.0 -169.0 -172.0 -226.0 -241.0 -228.0 -277.0 -290.0 -274.0 -243.0 -209.0 -191.0 -120.0 -137.0 -101.0 -93.0 -130.0 -127.0 -156.0 -162.0 -160.0 -105.0 -63.0 14.0 77.0 115.0 211.0 244.0 286.0 344.0 363.0 396.0 415.0 429.0 424.0 467.0 489.0 477.0 515.0 523.0 544.0 538.0 523.0 491.0 475.0 460.0 382.0 373.0 357.0 315.0 317.0 291.0 275.0 272.0 237.0 202.0 182.0 186.0 170.0 132.0 112.0 81.0 36.0 -3.0 -23.0 -65.0 -113.0 -153.0 -201.0 -234.0 -252.0 -266.0 -274.0 -267.0 -266.0 -234.0 -240.0 -251.0 -231.0 -248.0 -292.0 -320.0 -334.0 -377.0 -442.0 -496.0 -482.0 -483.0 -455.0 -407.0 -379.0 -327.0 -289.0 -247.0 -207.0 -152.0 -93.0 -12.0 41.0 87.0 185.0 211.0 215.0 248.0 236.0 228.0 259.0 282.0 294.0 340.0 380.0 404.0 430.0 434.0 445.0 473.0 477.0 442.0 453.0 442.0 372.0 393.0 375.0 343.0 371.0 369.0 395.0 420.0 447.0 468.0 499.0 499.0 507.0 517.0 491.0 471.0 433.0 416.0 375.0 359.0 338.0 309.0 281.0 265.0 221.0 155.0 152.0 68.0 10.0 -45.0 -149.0 -217.0 -272.0 -325.0 -382.0 -405.0 -424.0 -441.0 -437.0 -443.0 -462.0 -446.0 -450.0 -499.0 -513.0 -533.0 -563.0 -600.0 -604.0 -571.0 -544.0 -509.0 -486.0 -413.0 -353.0 -310.0 -249.0 -187.0 -112.0 -60.0 -8.0 58.0 124.0 192.0 238.0 285.0 332.0 348.0 347.0 347.0 337.0 299.0 314.0 301.0 293.0 320.0 321.0 345.0 381.0 401.0 422.0 454.0 480.0 491.0 494.0 501.0 476.0 483.0 472.0 456.0 498.0 508.0 542.0 564.0 597.0 609.0 605.0 632.0 596.0 589.0 589.0 547.0 508.0 456.0 406.0 356.0 284.0 204.0 159.0 109.0 27.0 -12.0 -77.0 -146.0 -198.0 -262.0 -340.0 -422.0 -488.0 -568.0 -648.0 -703.0 -736.0 -780.0 -781.0 -783.0 -805.0 -794.0 -786.0 -795.0 -788.0 -765.0 -752.0 -732.0 -699.0 -642.0 -598.0 -508.0 -406.0 -319.0 -204.0 -98.0 3.0 66.0 134.0 188.0 232.0 262.0 283.0 304.0 329.0 345.0 336.0 349.0 341.0 339.0 342.0 336.0 346.0 345.0 338.0 336.0 344.0 368.0 395.0 427.0 463.0 514.0 547.0 559.0 606.0 584.0 565.0 580.0 545.0 526.0 554.0 580.0 583.0 600.0 616.0 598.0 578.0 541.0 495.0 469.0 406.0 342.0 302.0 239.0 181.0 144.0 71.0 21.0 -26.0 -103.0 -166.0 -218.0 -299.0 -404.0 -473.0 -545.0 -650.0 -736.0 -797.0 -849.0 -872.0 -932.0 -948.0 -940.0 -971.0 -987.0 -967.0 -951.0 -938.0 -896.0 -845.0 -803.0 -760.0 -691.0 -615.0 -527.0 -414.0 -269.0 -139.0 -24.0 92.0 159.0 194.0 221.0 232.0 227.0 222.0 251.0 264.0 282.0 326.0 327.0 327.0 339.0 332.0 325.0 336.0 336.0 320.0 361.0 372.0 371.0 424.0 435.0 453.0 477.0 497.0 490.0 514.0 529.0 487.0 512.0 523.0 514.0 534.0 555.0 570.0 578.0 572.0 546.0 524.0 486.0 444.0 408.0 360.0 318.0 275.0 219.0 148.0 70.0 -3.0 -81.0 -178.0 -264.0 -330.0 -399.0 -483.0 -558.0 -619.0 -697.0 -767.0 -835.0 -911.0 -947.0 -996.0 -1035.0 -1048.0 -1073.0 -1072.0 -1060.0 -1051.0 -1025.0 -1002.0 -965.0 -938.0 -883.0 -798.0 -713.0 -592.0 -471.0 -322.0 -194.0 -68.0 44.0 106.0 165.0 188.0 191.0 209.0 232.0 234.0 268.0 300.0 315.0 362.0 360.0 358.0 379.0 355.0 330.0 329.0 316.0 295.0 313.0 301.0 317.0 350.0 351.0 372.0 392.0 415.0 436.0 455.0 455.0 477.0 520.0 524.0 535.0 560.0 604.0 622.0 633.0 646.0 627.0 615.0 546.0 489.0 434.0 353.0 281.0 210.0 139.0 73.0 28.0 -31.0 -84.0 -143.0 -185.0 -267.0 -340.0 -412.0 -542.0 -644.0 -734.0 -845.0 -938.0 -1010.0 -1093.0 -1131.0 -1171.0 -1186.0 -1199.0 -1184.0 -1174.0 -1164.0 -1133.0 -1109.0 -1070.0 -1053.0 -1012.0 -966.0 -889.0 -811.0 -686.0 -562.0 -430.0 -295.0 -187.0 -97.0 2.0 73.0 104.0 181.0 201.0 255.0 293.0 333.0 361.0 384.0 417.0 400.0 398.0 365.0 345.0 321.0 308.0 276.0 269.0 294.0 288.0 316.0 363.0 385.0 406.0 431.0 456.0 479.0 492.0 512.0 532.0 555.0 582.0 621.0 636.0 657.0 673.0 654.0 655.0 647.0 619.0 575.0 538.0 470.0 393.0 329.0 259.0 193.0 117.0 53.0 -18.0 -101.0 -189.0 -261.0 -352.0 -446.0 -542.0 -628.0 -709.0 -805.0 -876.0 -955.0 -1032.0 -1122.0 -1176.0 -1220.0 -1238.0 -1250.0 -1249.0 -1235.0 -1241.0 -1211.0 -1203.0 -1187.0 -1155.0 -1097.0 -1052.0 -985.0 -886.0 -778.0 -634.0 -492.0 -318.0 -189.0 -57.0 30.0 105.0 175.0 210.0 245.0 243.0 301.0 319.0 378.0 380.0 425.0 468.0 436.0 453.0 414.0 403.0 322.0 325.0 286.0 272.0 289.0 280.0 316.0 315.0 361.0 349.0 386.0 403.0 412.0 481.0 500.0 572.0 609.0 655.0 703.0 741.0 783.0 762.0 789.0 732.0 713.0 637.0 592.0 531.0 430.0 380.0 249.0 218.0 102.0 43.0 -66.0 -149.0 -242.0 -358.0 -428.0 -553.0 -583.0 -696.0 -745.0 -808.0 -872.0 -913.0 -988.0 -1023.0 -1114.0 -1170.0 -1238.0 -1283.0 -1309.0 -1335.0 -1325.0 -1326.0 -1293.0 -1280.0 -1236.0 -1220.0 -1180.0 -1130.0 -1093.0 -997.0 -902.0 -763.0 -614.0 -430.0 -262.0 -100.0 23.0 108.0 181.0 227.0 258.0 269.0 293.0 325.0 369.0 414.0 479.0 528.0 586.0 601.0 612.0 610.0 593.0 591.0 536.0 528.0 505.0 488.0 488.0 517.0 533.0 558.0 598.0 593.0 620.0 628.0 635.0 659.0 693.0 724.0 777.0 830.0 870.0 904.0 904.0 894.0 852.0 771.0 682.0 591.0 475.0 391.0 309.0 216.0 140.0 80.0 -18.0 -100.0 -179.0 -302.0 -373.0 -493.0 -588.0 -666.0 -735.0 -805.0 -873.0 -909.0 -975.0 -1001.0 -1069.0 -1116.0 -1165.0 -1244.0 -1286.0 -1324.0 -1337.0 -1352.0 -1318.0 -1299.0 -1278.0 -1229.0 -1204.0 -1162.0 -1111.0 -1036.0 -995.0 -901.0 -804.0 -682.0 -540.0 -395.0 -216.0 -110.0 12.0 99.0 173.0 225.0 266.0 302.0 345.0 420.0 467.0 560.0 640.0 724.0 772.0 801.0 830.0 813.0 789.0 740.0 711.0 697.0 701.0 686.0 712.0 755.0 774.0 794.0 813.0 826.0 820.0 812.0 789.0 797.0 802.0 831.0 857.0 904.0 927.0 939.0 942.0 900.0 851.0 762.0 688.0 575.0 474.0 359.0 252.0 141.0 42.0 -60.0 -172.0 -267.0 -386.0 -489.0 -599.0 -672.0 -763.0 -839.0 -900.0 -958.0 -989.0 -1030.0 -1049.0 -1069.0 -1093.0 -1110.0 -1143.0 -1180.0 -1227.0 -1258.0 -1280.0 -1283.0 -1271.0 -1241.0 -1199.0 -1183.0 -1149.0 -1125.0 -1106.0 -1077.0 -1029.0 -981.0 -914.0 -797.0 -690.0 -544.0 -384.0 -195.0 -6.0 107.0 239.0 327.0 420.0 478.0 527.0 614.0 663.0 774.0 815.0 908.0 994.0 1035.0 1050.0 1061.0 1077.0 1016.0 1020.0 959.0 938.0 926.0 910.0 924.0 932.0 960.0 932.0 950.0 923.0 888.0 864.0 826.0 805.0 764.0 764.0 777.0 816.0 817.0 815.0 802.0 772.0 716.0 616.0 511.0 377.0 260.0 105.0 -16.0 -138.0 -252.0 -345.0 -444.0 -522.0 -606.0 -685.0 -775.0 -847.0 -923.0 -981.0 -1020.0 -1040.0 -1060.0 -1067.0 -1051.0 -1050.0 -1042.0 -1066.0 -1066.0 -1083.0 -1121.0 -1168.0 -1183.0 -1179.0 -1180.0 -1140.0 -1096.0 -1023.0 -988.0 -929.0 -900.0 -863.0 -830.0 -777.0 -727.0 -656.0 -562.0 -463.0 -313.0 -187.0 -14.0 129.0 270.0 359.0 484.0 569.0 640.0 726.0 789.0 870.0 940.0 1041.0 1086.0 1180.0 1232.0 1257.0 1288.0 1278.0 1250.0 1225.0 1223.0 1168.0 1152.0 1145.0 1127.0 1121.0 1100.0 1077.0 1042.0 1021.0 953.0 904.0 864.0 799.0 750.0 697.0 682.0 644.0 648.0 595.0 538.0 489.0 377.0 288.0 159.0 31.0 -107.0 -199.0 -306.0 -398.0 -447.0 -520.0 -582.0 -650.0 -719.0 -790.0 -852.0 -916.0 -999.0 -1030.0 -1055.0 -1065.0 -1051.0 -1043.0 -1001.0 -998.0 -966.0 -970.0 -965.0 -982.0 -1020.0 -1041.0 -1077.0 -1072.0 -1072.0 -1027.0 -988.0 -927.0 -875.0 -841.0 -807.0 -782.0 -754.0 -709.0 -659.0 -581.0 -491.0 -396.0 -259.0 -122.0 57.0 211.0 389.0 494.0 618.0 737.0 809.0 932.0 1000.0 1108.0 1184.0 1320.0 1380.0 1460.0 1537.0 1529.0 1557.0 1510.0 1487.0 1410.0 1376.0 1307.0 1269.0 1250.0 1186.0 1180.0 1114.0 1070.0 987.0 919.0 823.0 724.0 647.0 555.0 499.0 418.0 378.0 328.0 325.0 315.0 299.0 273.0 188.0 163.0 37.0 -57.0 -177.0 -262.0 -361.0 -473.0 -499.0 -600.0 -602.0 -681.0 -710.0 -776.0 -812.0 -857.0 -941.0 -914.0 -978.0 -942.0 -976.0 -945.0 -935.0 -927.0 -906.0 -928.0 -889.0 -931.0 -914.0 -952.0 -957.0 -973.0 -942.0 -899.0 -860.0 -780.0 -733.0 -667.0 -633.0 -588.0 -566.0 -527.0 -482.0 -427.0 -369.0 -251.0 -131.0 10.0 170.0 362.0 531.0 671.0 835.0 930.0 1038.0 1125.0 1213.0 1262.0 1347.0 1433.0 1487.0 1547.0 1591.0 1626.0 1595.0 1578.0 1512.0 1435.0 1347.0 1253.0 1188.0 1105.0 1062.0 982.0 924.0 861.0 772.0 685.0 588.0 498.0 392.0 316.0 227.0 153.0 97.0 40.0 5.0 -14.0 -14.0 -6.0 -19.0 -21.0 -81.0 -131.0 -218.0 -306.0 -394.0 -501.0 -552.0 -652.0 -670.0 -737.0 -762.0 -807.0 -867.0 -887.0 -973.0 -963.0 -1019.0 -1004.0 -990.0 -966.0 -899.0 -875.0 -793.0 -767.0 -695.0 -677.0 -640.0 -622.0 -638.0 -613.0 -651.0 -621.0 -619.0 -583.0 -530.0 -467.0 -385.0 -347.0 -271.0 -232.0 -209.0 -170.0 -156.0 -65.0 -19.0 73.0 179.0 280.0 422.0 535.0 705.0 810.0 931.0 1014.0 1120.0 1188.0 1261.0 1334.0 1368.0 1434.0 1454.0 1505.0 1487.0 1521.0 1451.0 1387.0 1335.0 1207.0 1124.0 1005.0 910.0 794.0 720.0 628.0 543.0 488.0 392.0 335.0 255.0 183.0 126.0 70.0 3.0 -44.0 -59.0 -116.0 -147.0 -177.0 -201.0 -224.0 -196.0 -196.0 -208.0 -227.0 -300.0 -358.0 -447.0 -521.0 -637.0 -677.0 -745.0 -781.0 -795.0 -817.0 -807.0 -840.0 -809.0 -848.0 -831.0 -821.0 -795.0 -752.0 -712.0 -637.0 -592.0 -500.0 -457.0 -409.0 -384.0 -341.0 -320.0 -339.0 -324.0 -365.0 -349.0 -342.0 -317.0 -264.0 -241.0 -160.0 -128.0 -69.0 -46.0 -34.0 -5.0 -18.0 47.0 55.0 140.0 213.0 290.0 435.0 535.0 686.0 781.0 904.0 967.0 1047.0 1108.0 1124.0 1189.0 1200.0 1236.0 1232.0 1265.0 1238.0 1222.0 1171.0 1079.0 1009.0 888.0 781.0 641.0 560.0 448.0 370.0 314.0 234.0 194.0 146.0 81.0 25.0 -28.0 -86.0 -151.0 -199.0 -237.0 -263.0 -287.0 -302.0 -299.0 -320.0 -316.0 -312.0 -253.0 -232.0 -231.0 -250.0 -277.0 -327.0 -426.0 -467.0 -547.0 -593.0 -646.0 -679.0 -680.0 -664.0 -639.0 -659.0 -614.0 -579.0 -574.0 -525.0 -460.0 -400.0 -337.0 -274.0 -213.0 -157.0 -118.0 -103.0 -99.0 -92.0 -108.0 -141.0 -182.0 -230.0 -247.0 -281.0 -261.0 -216.0 -188.0 -149.0 -133.0 -88.0 -91.0 -82.0 -93.0 -88.0 -39.0 -35.0 45.0 88.0 200.0 286.0 384.0 513.0 598.0 721.0 754.0 852.0 875.0 911.0 936.0 950.0 961.0 939.0 950.0 881.0 873.0 787.0 719.0 614.0 531.0 445.0 340.0 306.0 210.0 193.0 139.0 133.0 96.0 73.0 59.0 11.0 28.0 -26.0 -31.0 -64.0 -75.0 -104.0 -121.0 -129.0 -164.0 -179.0 -232.0 -228.0 -252.0 -227.0 -244.0 -250.0 -290.0 -368.0 -397.0 -513.0 -544.0 -628.0 -639.0 -661.0 -667.0 -601.0 -593.0 -484.0 -467.0 -418.0 -370.0 -340.0 -307.0 -282.0 -233.0 -207.0 -169.0 -148.0 -138.0 -142.0 -131.0 -182.0 -197.0 -244.0 -299.0 -339.0 -384.0 -383.0 -366.0 -313.0 -296.0 -244.0 -226.0 -194.0 -203.0 -200.0 -191.0 -188.0 -131.0 -126.0 -30.0 36.0 129.0 232.0 327.0 477.0 547.0 643.0 709.0 773.0 819.0 817.0 819.0 808.0 784.0 731.0 702.0 656.0 615.0 574.0 520.0 485.0 452.0 401.0 338.0 319.0 274.0 228.0 198.0 168.0 133.0 98.0 72.0 44.0 22.0 -20.0 -59.0 -97.0 -129.0 -171.0 -210.0 -242.0 -291.0 -321.0 -359.0 -393.0 -409.0 -420.0 -423.0 -392.0 -362.0 -395.0 -435.0 -470.0 -530.0 -578.0 -595.0 -612.0 -585.0 -556.0 -473.0 -417.0 -369.0 -283.0 -271.0 -242.0 -232.0 -210.0 -202.0 -192.0 -178.0 -179.0 -167.0 -173.0 -184.0 -193.0 -223.0 -277.0 -311.0 -374.0 -435.0 -485.0 -493.0 -471.0 -449.0 -390.0 -344.0 -291.0 -258.0 -257.0 -253.0 -265.0 -262.0 -256.0 -229.0 -159.0 -94.0 -21.0 88.0 183.0 265.0 323.0 392.0 438.0 463.0 507.0 520.0 555.0 578.0 599.0 596.0 623.0 620.0 588.0 576.0 551.0 518.0 465.0 451.0 381.0 350.0 322.0 287.0 261.0 226.0 183.0 121.0 110.0 37.0 -16.0 -47.0 -86.0 -127.0 -155.0 -187.0 -232.0 -256.0 -311.0 -366.0 -419.0 -429.0 -432.0 -406.0 -374.0 -362.0 -358.0 -385.0 -406.0 -447.0 -467.0 -502.0 -520.0 -508.0 -490.0 -449.0 -433.0 -387.0 -368.0 -362.0 -366.0 -360.0 -351.0 -375.0 -364.0 -372.0 -364.0 -367.0 -374.0 -369.0 -365.0 -367.0 -396.0 -408.0 -443.0 -473.0 -510.0 -525.0 -509.0 -501.0 -467.0 -442.0 -421.0 -392.0 -387.0 -370.0 -370.0 -369.0 -329.0 -304.0 -244.0 -181.0 -103.0 -4.0 89.0 217.0 297.0 377.0 455.0 499.0 540.0 549.0 564.0 574.0 584.0 606.0 628.0 657.0 686.0 699.0 711.0 695.0 665.0 625.0 562.0 517.0 465.0 406.0 366.0 327.0 283.0 239.0 191.0 136.0 71.0 20.0 -28.0 -88.0 -139.0 -206.0 -259.0 -315.0 -373.0 -417.0 -453.0 -455.0 -449.0 -418.0 -398.0 -350.0 -353.0 -386.0 -421.0 -480.0 -533.0 -590.0 -604.0 -646.0 -601.0 -593.0 -564.0 -535.0 -514.0 -485.0 -499.0 -462.0 -493.0 -477.0 -482.0 -476.0 -461.0 -450.0 -443.0 -450.0 -441.0 -481.0 -511.0 -557.0 -598.0 -661.0 -678.0 -677.0 -641.0 -589.0 -525.0 -450.0 -409.0 -351.0 -352.0 -322.0 -334.0 -306.0 -272.0 -221.0 -116.0 -64.0 69.0 147.0 244.0 318.0 375.0 458.0 495.0 589.0 638.0 705.0 779.0 833.0 888.0 923.0 964.0 965.0 954.0 936.0 898.0 851.0 805.0 755.0 704.0 654.0 584.0 524.0 475.0 399.0 309.0 232.0 161.0 80.0 3.0 -48.0 -107.0 -153.0 -196.0 -257.0 -290.0 -367.0 -443.0 -505.0 -549.0 -568.0 -573.0 -534.0 -520.0 -530.0 -525.0 -576.0 -612.0 -638.0 -701.0 -714.0 -738.0 -718.0 -715.0 -680.0 -632.0 -632.0 -588.0 -586.0 -568.0 -573.0 -562.0 -560.0 -562.0 -532.0 -529.0 -506.0 -483.0 -441.0 -436.0 -425.0 -437.0 -475.0 -500.0 -539.0 -557.0 -567.0 -507.0 -452.0 -389.0 -304.0 -241.0 -191.0 -168.0 -135.0 -136.0 -105.0 -96.0 -52.0 41.0 124.0 223.0 290.0 404.0 463.0 535.0 627.0 707.0 804.0 871.0 962.0 1035.0 1114.0 1143.0 1160.0 1160.0 1149.0 1133.0 1084.0 1067.0 1013.0 971.0 907.0 859.0 811.0 730.0 650.0 538.0 447.0 334.0 232.0 135.0 51.0 -41.0 -118.0 -156.0 -220.0 -272.0 -354.0 -427.0 -527.0 -612.0 -681.0 -730.0 -702.0 -680.0 -638.0 -629.0 -602.0 -614.0 -656.0 -669.0 -721.0 -745.0 -752.0 -747.0 -732.0 -697.0 -662.0 -654.0 -641.0 -619.0 -598.0 -581.0 -549.0 -528.0 -496.0 -480.0 -458.0 -416.0 -373.0 -329.0 -315.0 -286.0 -287.0 -301.0 -319.0 -352.0 -354.0 -352.0 -312.0 -243.0 -172.0 -80.0 -20.0 38.0 83.0 93.0 112.0 123.0 155.0 175.0 226.0 319.0 408.0 485.0 554.0 628.0 684.0 747.0 797.0 866.0 942.0 1010.0 1075.0 1140.0 1218.0 1256.0 1267.0 1264.0 1255.0 1205.0 1127.0 1074.0 1007.0 922.0 846.0 762.0 683.0 590.0 487.0 404.0 304.0 207.0 94.0 -5.0 -78.0 -175.0 -251.0 -329.0 -387.0 -450.0 -530.0 -577.0 -625.0 -664.0 -672.0 -648.0 -620.0 -605.0 -629.0 -635.0 -644.0 -674.0 -696.0 -710.0 -680.0 -660.0 -634.0 -583.0 -541.0 -517.0 -522.0 -531.0 -523.0 -522.0 -531.0 -503.0 -462.0 -418.0 -395.0 -353.0 -298.0 -264.0 -233.0 -228.0 -186.0 -178.0 -188.0 -192.0 -189.0 -158.0 -160.0 -113.0 -40.0 40.0 117.0 178.0 242.0 273.0 281.0 278.0 293.0 319.0 355.0 409.0 489.0 570.0 629.0 707.0 770.0 834.0 858.0 894.0 957.0 998.0 1046.0 1104.0 1158.0 1198.0 1249.0 1259.0 1236.0 1214.0 1148.0 1049.0 981.0 904.0 812.0 745.0 684.0 615.0 530.0 452.0 355.0 248.0 149.0 38.0 -70.0 -165.0 -245.0 -333.0 -410.0 -462.0 -508.0 -542.0 -584.0 -620.0 -620.0 -608.0 -605.0 -601.0 -610.0 -635.0 -632.0 -639.0 -659.0 -650.0 -633.0 -608.0 -566.0 -505.0 -474.0 -442.0 -428.0 -447.0 -457.0 -454.0 -445.0 -442.0 -384.0 -326.0 -271.0 -208.0 -147.0 -88.0 -57.0 -24.0 -10.0 17.0 39.0 47.0 53.0 62.0 93.0 103.0 126.0 177.0 237.0 276.0 319.0 365.0 384.0 386.0 377.0 389.0 405.0 450.0 496.0 552.0 622.0 661.0 693.0 724.0 754.0 775.0 800.0 848.0 917.0 982.0 1030.0 1072.0 1110.0 1130.0 1118.0 1089.0 1068.0 1044.0 987.0 924.0 877.0 818.0 745.0 659.0 577.0 494.0 402.0 306.0 218.0 154.0 65.0 -28.0 -107.0 -182.0 -258.0 -338.0 -407.0 -447.0 -485.0 -522.0 -528.0 -536.0 -539.0 -546.0 -581.0 -595.0 -607.0 -633.0 -652.0 -640.0 -617.0 -587.0 -535.0 -480.0 -436.0 -398.0 -363.0 -345.0 -325.0 -309.0 -292.0 -272.0 -230.0 -193.0 -146.0 -88.0 -35.0 13.0 62.0 112.0 151.0 182.0 202.0 240.0 256.0 283.0 299.0 324.0 336.0 347.0 362.0 363.0 379.0 381.0 388.0 390.0 403.0 400.0 394.0 388.0 380.0 385.0 389.0 400.0 417.0 438.0 454.0 471.0 499.0 523.0 555.0 582.0 599.0 630.0 656.0 670.0 691.0 719.0 730.0 749.0 773.0 760.0 746.0 727.0 679.0 624.0 575.0 506.0 429.0 382.0 322.0 258.0 210.0 168.0 107.0 38.0 -34.0 -111.0 -176.0 -244.0 -298.0 -343.0 -359.0 -383.0 -407.0 -409.0 -431.0 -435.0 -457.0 -480.0 -475.0 -471.0 -468.0 -462.0 -414.0 -387.0 -356.0 -321.0 -292.0 -260.0 -252.0 -240.0 -237.0 -221.0 -217.0 -213.0 -201.0 -177.0 -142.0 -119.0 -71.0 -35.0 -1.0 21.0 48.0 75.0 93.0 112.0 123.0 140.0 150.0 165.0 175.0 179.0 181.0 182.0 179.0 179.0 191.0 204.0 217.0 225.0 246.0 275.0 295.0 308.0 329.0 362.0 387.0 402.0 430.0 453.0 483.0 510.0 539.0 578.0 614.0 649.0 669.0 696.0 710.0 719.0 729.0 724.0 721.0 704.0 677.0 632.0 579.0 516.0 432.0 369.0 289.0 210.0 140.0 79.0 26.0 -39.0 -79.0 -147.0 -209.0 -262.0 -308.0 -336.0 -362.0 -373.0 -391.0 -395.0 -401.0 -416.0 -426.0 -425.0 -423.0 -423.0 -427.0 -397.0 -374.0 -355.0 -325.0 -292.0 -254.0 -230.0 -199.0 -190.0 -164.0 -154.0 -160.0 -156.0 -159.0 -148.0 -156.0 -142.0 -138.0 -122.0 -103.0 -97.0 -79.0 -77.0 -59.0 -66.0 -59.0 -54.0 -48.0 -40.0 -38.0 -28.0 -45.0 -57.0 -75.0 -76.0 -70.0 -70.0 -61.0 -43.0 -20.0 6.0 32.0 54.0 87.0 112.0 137.0 172.0 221.0 258.0 289.0 332.0 380.0 420.0 467.0 511.0 555.0 606.0 638.0 668.0 691.0 711.0 714.0 708.0 690.0 669.0 627.0 572.0 520.0 455.0 385.0 312.0 248.0 178.0 116.0 62.0 1.0 -57.0 -119.0 -175.0 -220.0 -258.0 -288.0 -313.0 -321.0 -336.0 -358.0 -380.0 -401.0 -407.0 -422.0 -417.0 -404.0 -390.0 -372.0 -357.0 -339.0 -337.0 -322.0 -321.0 -325.0 -325.0 -330.0 -341.0 -356.0 -351.0 -371.0 -387.0 -392.0 -389.0 -390.0 -393.0 -379.0 -371.0 -354.0 -340.0 -326.0 -316.0 -291.0 -272.0 -260.0 -242.0 -224.0 -209.0 -206.0 -209.0 -215.0 -214.0 -202.0 -188.0 -168.0 -145.0 -114.0 -79.0 -55.0 -23.0 12.0 40.0 66.0 111.0 144.0 174.0 216.0 255.0 293.0 327.0 364.0 399.0 448.0 496.0 540.0 580.0 611.0 641.0 655.0 650.0 639.0 620.0 588.0 542.0 506.0 453.0 401.0 339.0 275.0 219.0 157.0 96.0 34.0 -18.0 -74.0 -126.0 -178.0 -212.0 -252.0 -289.0 -313.0 -335.0 -348.0 -374.0 -391.0 -416.0 -429.0 -448.0 -469.0 -475.0 -484.0 -474.0 -490.0 -491.0 -498.0 -503.0 -508.0 -518.0 -515.0 -529.0 -532.0 -552.0 -563.0 -583.0 -601.0 -616.0 -636.0 -631.0 -633.0 -619.0 -605.0 -585.0 -561.0 -544.0 -519.0 -499.0 -465.0 -435.0 -407.0 -374.0 -358.0 -334.0 -315.0 -302.0 -284.0 -261.0 -239.0 -212.0 -181.0 -149.0 -115.0 -87.0 -47.0 -12.0 27.0 65.0 105.0 139.0 166.0 202.0 227.0 267.0 291.0 323.0 359.0 392.0 434.0 473.0 526.0 555.0 585.0 601.0 603.0 597.0 569.0 541.0 503.0 471.0 426.0 387.0 339.0 283.0 228.0 163.0 109.0 40.0 -17.0 -74.0 -130.0 -185.0 -243.0 -277.0 -318.0 -352.0 -386.0 -412.0 -442.0 -470.0 -489.0 -509.0 -529.0 -552.0 -569.0 -580.0 -586.0 -588.0 -598.0 -608.0 -613.0 -623.0 -634.0 -641.0 -657.0 -661.0 -668.0 -674.0 -674.0 -678.0 -678.0 -687.0 -681.0 -669.0 -656.0 -638.0 -619.0 -601.0 -585.0 -568.0 -543.0 -511.0 -486.0 -465.0 -436.0 -407.0 -379.0 -354.0 -325.0 -299.0 -271.0 -240.0 -211.0 -176.0 -140.0 -109.0 -80.0 -44.0 -11.0 25.0 74.0 130.0 175.0 208.0 254.0 291.0 324.0 361.0 390.0 430.0 465.0 507.0 547.0 597.0 644.0 661.0 663.0 657.0 650.0 617.0 594.0 554.0 510.0 475.0 413.0 368.0 321.0 267.0 189.0 114.0 46.0 -39.0 -107.0 -180.0 -245.0 -313.0 -365.0 -420.0 -467.0 -505.0 -548.0 -585.0 -629.0 -660.0 -683.0 -707.0 -729.0 -747.0 -758.0 -755.0 -754.0 -758.0 -758.0 -759.0 -762.0 -753.0 -749.0 -739.0 -741.0 -726.0 -702.0 -691.0 -671.0 -656.0 -640.0 -628.0 -609.0 -585.0 -561.0 -531.0 -503.0 -467.0 -431.0 -392.0 -358.0 -323.0 -289.0 -260.0 -220.0 -181.0 -137.0 -104.0 -75.0 -47.0 -14.0 24.0 49.0 67.0 88.0 108.0 133.0 163.0 196.0 229.0 263.0 294.0 319.0 344.0 354.0 376.0 392.0 409.0 427.0 449.0 476.0 499.0 529.0 546.0 557.0 568.0 567.0 558.0 547.0 534.0 505.0 468.0 449.0 417.0 375.0 329.0 282.0 226.0 157.0 93.0 23.0 -45.0 -112.0 -188.0 -254.0 -316.0 -376.0 -430.0 -488.0 -535.0 -574.0 -612.0 -647.0 -678.0 -700.0 -718.0 -738.0 -751.0 -754.0 -760.0 -764.0 -762.0 -756.0 -747.0 -741.0 -730.0 -711.0 -699.0 -677.0 -647.0 -620.0 -584.0 -560.0 -535.0 -508.0 -475.0 -438.0 -407.0 -375.0 -335.0 -295.0 -262.0 -225.0 -186.0 -145.0 -109.0 -67.0 -18.0 19.0 60.0 101.0 143.0 181.0 211.0 243.0 269.0 304.0 328.0 352.0 372.0 390.0 405.0 419.0 433.0 447.0 459.0 466.0 471.0 476.0 485.0 482.0 484.0 480.0 481.0 477.0 466.0 456.0 438.0 426.0 405.0 381.0 364.0 337.0 306.0 279.0 248.0 212.0 173.0 127.0 80.0 32.0 -17.0 -66.0 -116.0 -161.0 -206.0 -254.0 -305.0 -354.0 -397.0 -435.0 -474.0 -506.0 -536.0 -561.0 -584.0 -601.0 -609.0 -619.0 -621.0 -621.0 -622.0 -617.0 -605.0 -593.0 -582.0 -560.0 -533.0 -512.0 -481.0 -455.0 -427.0 -393.0 -358.0 -320.0 -283.0 -249.0 -215.0 -187.0 -154.0 -124.0 -94.0 -58.0 -34.0 1.0 27.0 58.0 89.0 116.0 155.0 188.0 220.0 254.0 286.0 307.0 333.0 354.0 374.0 396.0 413.0 436.0 455.0 468.0 479.0 489.0 498.0 499.0 500.0 503.0 503.0 498.0 495.0 489.0 483.0 473.0 460.0 441.0 426.0 410.0 390.0 367.0 347.0 321.0 292.0 276.0 254.0 231.0 200.0 170.0 137.0 100.0 59.0 18.0 -15.0 -54.0 -91.0 -133.0 -168.0 -205.0 -246.0 -280.0 -317.0 -353.0 -390.0 -420.0 -443.0 -469.0 -485.0 -496.0 -499.0 -501.0 -493.0 -480.0 -471.0 -457.0 -438.0 -417.0 -398.0 -374.0 -351.0 -318.0 -282.0 -250.0 -218.0 -179.0 -140.0 -101.0 -61.0 -22.0 10.0 41.0 76.0 97.0 123.0 146.0 164.0 188.0 208.0 226.0 237.0 250.0 273.0 290.0 312.0 334.0 353.0 372.0 389.0 405.0 411.0 427.0 436.0 446.0 456.0 467.0 472.0 475.0 477.0 466.0 460.0 454.0 445.0 436.0 425.0 418.0 402.0 394.0 382.0 368.0 358.0 343.0 324.0 313.0 296.0 280.0 266.0 245.0 223.0 200.0 183.0 168.0 152.0 131.0 108.0 88.0 60.0 35.0 9.0 -20.0 -47.0 -69.0 -93.0 -126.0 -153.0 -182.0 -207.0 -238.0 -263.0 -282.0 -300.0 -312.0 -319.0 -326.0 -327.0 -319.0 -311.0 -301.0 -285.0 -268.0 -250.0 -228.0 -199.0 -172.0 -141.0 -107.0 -76.0 -39.0 -9.0 20.0 48.0 78.0 110.0 134.0 157.0 184.0 205.0 223.0 245.0 256.0 273.0 282.0 289.0 297.0 304.0 314.0 325.0 339.0 348.0 364.0 374.0 384.0 386.0 396.0 400.0 401.0 409.0 411.0 422.0 427.0 427.0 425.0 419.0 409.0 399.0 382.0 364.0 351.0 334.0 316.0 303.0 293.0 280.0 261.0 244.0 230.0 218.0 204.0 179.0 163.0 153.0 138.0 123.0 112.0 102.0 88.0 74.0 63.0 47.0 31.0 18.0 7.0 -7.0 -21.0 -33.0 -40.0 -53.0 -73.0 -87.0 -105.0 -122.0 -135.0 -149.0 -156.0 -160.0 -163.0 -162.0 -162.0 -157.0 -151.0 -136.0 -119.0 -104.0 -84.0 -59.0 -37.0 -15.0 10.0 35.0 54.0 77.0 106.0 131.0 155.0 176.0 196.0 214.0 231.0 247.0 263.0 270.0 279.0 284.0 292.0 295.0 291.0 293.0 288.0 285.0 283.0 286.0 286.0 288.0 290.0 288.0 285.0 286.0 281.0 277.0 278.0 278.0 274.0 271.0 263.0 257.0 253.0 240.0 225.0 212.0 205.0 193.0 181.0 173.0 161.0 155.0 150.0 145.0 144.0 137.0 137.0 135.0 131.0 125.0 121.0 116.0 111.0 110.0 104.0 103.0 98.0 92.0 88.0 75.0 64.0 58.0 52.0 43.0 39.0 30.0 22.0 11.0 -2.0 -16.0 -29.0 -44.0 -58.0 -63.0 -71.0 -74.0 -75.0 -69.0 -63.0 -56.0 -47.0 -32.0 -15.0 -1.0 19.0 39.0 58.0 75.0 93.0 112.0 132.0 146.0 165.0 180.0 187.0 193.0 196.0 206.0 207.0 207.0 212.0 216.0 219.0 214.0 210.0 206.0 195.0 180.0 168.0 161.0 150.0 142.0 139.0 130.0 123.0 117.0 109.0 103.0 98.0 96.0 92.0 90.0 86.0 80.0 73.0 70.0 57.0 49.0 40.0 32.0 30.0 27.0 29.0 30.0 36.0 37.0 45.0 54.0 62.0 68.0 67.0 71.0 73.0 73.0 76.0 78.0 84.0 84.0 82.0 87.0 87.0 86.0 84.0 83.0 80.0 74.0 70.0 70.0 67.0 58.0 47.0 36.0 23.0 -1.0 -11.0 -25.0 -31.0 -39.0 -45.0 -41.0 -41.0 -43.0 -37.0 -33.0 -30.0 -18.0 -15.0 -5.0 4.0 15.0 23.0 34.0 42.0 50.0 60.0 68.0 77.0 82.0 90.0 95.0 95.0 100.0 106.0 107.0 106.0 106.0 107.0 100.0 91.0 80.0 65.0 54.0 49.0 41.0 31.0 27.0 23.0 17.0 14.0 9.0 10.0 7.0 3.0 2.0 -3.0 -6.0 -14.0 -11.0 -18.0 -24.0 -27.0 -31.0 -34.0 -32.0 -32.0 -29.0 -25.0 -21.0 -13.0 -10.0 -4.0 5.0 15.0 21.0 24.0 30.0 34.0 35.0 38.0 37.0 38.0 43.0 46.0 52.0 53.0 56.0 55.0 60.0 60.0 57.0 58.0 52.0 45.0 36.0 31.0 20.0 11.0 5.0 -6.0 -12.0 -20.0 -23.0 -26.0 -30.0 -30.0 -28.0 -27.0 -30.0 -29.0 -26.0 -20.0 -13.0 -12.0 -6.0 0.0 2.0 9.0 12.0 19.0 24.0 20.0 21.0 23.0 25.0 21.0 18.0 16.0 21.0 19.0 13.0 7.0 2.0 -3.0 -17.0 -21.0 -32.0 -42.0 -50.0 -57.0 -67.0 -70.0 -71.0 -76.0 -75.0 -77.0 -78.0 -77.0 -83.0 -80.0 -82.0 -84.0 -85.0 -84.0 -87.0 -89.0 -90.0 -90.0 -87.0 -84.0 -80.0 -76.0 -65.0 -64.0 -58.0 -51.0 -49.0 -40.0 -36.0 -31.0 -29.0 -23.0 -21.0 -20.0 -17.0 -13.0 -7.0 -5.0 5.0 6.0 12.0 17.0 17.0 20.0 17.0 13.0 3.0 -6.0 -12.0 -19.0 -33.0 -45.0 -52.0 -58.0 -62.0 -65.0 -71.0 -74.0 -69.0 -65.0 -64.0 -58.0 -56.0 -52.0 -48.0 -43.0 -39.0 -31.0 -22.0 -17.0 -16.0 -14.0 -8.0 -7.0 -8.0 -11.0 -11.0 -11.0 -13.0 -15.0 -12.0 -13.0 -19.0 -24.0 -29.0 -31.0 -39.0 -53.0 -56.0 -69.0 -80.0 -89.0 -94.0 -101.0 -106.0 -104.0 -108.0 -109.0 -108.0 -107.0 -106.0 -107.0 -107.0 -108.0 -105.0 -105.0 -102.0 -105.0 -106.0 -101.0 -105.0 -104.0 -101.0 -95.0 -87.0 -85.0 -80.0 -74.0 -67.0 -60.0 -57.0 -48.0 -44.0 -36.0 -24.0 -26.0 -29.0 -24.0 -21.0 -19.0 -15.0 -15.0 -9.0 -6.0 -7.0 -3.0 -5.0 -7.0 -11.0 -18.0 -21.0 -31.0 -40.0 -52.0 -57.0 -67.0 -78.0 -80.0 -85.0 -89.0 -92.0 -90.0 -89.0 -87.0 -88.0 -82.0 -80.0 -78.0 -72.0 -73.0 -69.0 -62.0 -58.0 -54.0 -50.0 -46.0 -41.0 -42.0 -41.0 -46.0 -45.0 -45.0 -43.0 -51.0 -46.0 -46.0 -52.0 -55.0 -63.0 -70.0 -80.0 -89.0 -100.0 -108.0 -113.0 -121.0 -126.0 -125.0 -124.0 -120.0 -117.0 -110.0 -105.0 -109.0 -106.0 -99.0 -98.0 -90.0 -88.0 -84.0 -76.0 -74.0 -73.0 -69.0 -67.0 -66.0 -59.0 -57.0 -49.0 -45.0 -42.0 -34.0 -31.0 -29.0 -26.0 -22.0 -19.0 -15.0 -20.0 -22.0 -24.0 -24.0 -29.0 -30.0 -26.0 -27.0 -26.0 -26.0 -27.0 -32.0 -34.0 -37.0 -45.0 -51.0 -61.0 -66.0 -77.0 -82.0 -89.0 -98.0 -105.0 -115.0 -117.0 -120.0 -126.0 -125.0 -121.0 -119.0 -119.0 -117.0 -112.0 -109.0 -102.0 -98.0 -95.0 -84.0 -81.0 -76.0 -75.0 -70.0 -66.0 -64.0 -62.0 -56.0 -51.0 -47.0 -45.0 -43.0 -40.0 -41.0 -41.0 -41.0 -45.0 -54.0 -57.0 -67.0 -70.0 -74.0 -80.0 -87.0 -87.0 -87.0 -86.0 -89.0 -90.0 -89.0 -92.0 -90.0 -93.0 -92.0 -92.0 -89.0 -94.0 -90.0 -91.0 -101.0 -100.0 -101.0 -100.0 -101.0 -99.0 -98.0 -97.0 -98.0 -93.0 -94.0 -91.0 -85.0 -84.0 -82.0 -82.0 -81.0 -80.0 -85.0 -89.0 -88.0 -89.0 -95.0 -95.0 -92.0 -92.0 -90.0 -94.0 -93.0 -93.0 -93.0 -93.0 -94.0 -96.0 -101.0 -103.0 -101.0 -102.0 -107.0 -108.0 -104.0 -108.0 -105.0 -98.0 -94.0 -89.0 -82.0 -76.0 -70.0 -60.0 -53.0 -40.0 -32.0 -27.0 -21.0 -19.0 -13.0 -11.0 -11.0 -9.0 -9.0 -5.0 -2.0 -4.0 0.0 3.0 2.0 3.0 -3.0 -5.0 -13.0 -22.0 -26.0 -29.0 -36.0 -44.0 -48.0 -57.0 -59.0 -62.0 -68.0 -70.0 -75.0 -79.0 -83.0 -89.0 -87.0 -90.0 -91.0 -93.0 -97.0 -99.0 -103.0 -108.0 -114.0 -117.0 -119.0 -119.0 -119.0 -118.0 -117.0 -115.0 -114.0 -113.0 -110.0 -107.0 -104.0 -100.0 -99.0 -94.0 -93.0 -90.0 -88.0 -86.0 -80.0 -82.0 -80.0 -76.0 -71.0 -62.0 -58.0 -53.0 -52.0 -47.0 -50.0 -48.0 -42.0 -44.0 -45.0 -46.0 -50.0 -49.0 -48.0 -51.0 -51.0 -48.0 -44.0 -40.0 -40.0 -36.0 -29.0 -24.0 -12.0 -8.0 -1.0 5.0 9.0 12.0 17.0 18.0 22.0 26.0 21.0 20.0 24.0 28.0 23.0 19.0 22.0 21.0 14.0 5.0 0.0 -6.0 -12.0 -19.0 -29.0 -34.0 -46.0 -51.0 -58.0 -66.0 -78.0 -83.0 -96.0 -101.0 -108.0 -110.0 -107.0 -104.0 -94.0 -82.0 -86.0 -67.0 -44.0 -42.0 14.0 -22.0 -35.0 -118.0 -220.0 -286.0 -328.0 -314.0 -307.0 -255.0 -224.0 -154.0 -115.0 -93.0 -136.0 -188.0 -252.0 -281.0 -272.0 -239.0 -177.0 -109.0 -27.0 28.0 76.0 83.0 68.0 45.0 17.0 -5.0 -1.0 17.0 63.0 116.0 170.0 173.0 170.0 130.0 103.0 70.0 51.0 33.0 13.0 16.0 0.0 40.0 33.0 59.0 49.0 29.0 21.0 6.0 32.0 30.0 41.0 24.0 11.0 19.0 33.0 58.0 74.0 71.0 65.0 66.0 73.0 93.0 97.0 84.0 52.0 38.0 40.0 42.0 44.0 28.0 -14.0 -21.0 28.0 95.0 146.0 111.0 -4.0 -132.0 -246.0 -262.0 -313.0 -267.0 -281.0 -209.0 -143.0 -88.0 -55.0 -128.0 -173.0 -403.0 -391.0 -474.0 -385.0 -302.0 -207.0 -202.0 -121.0 -82.0 -63.0 45.0 11.0 31.0 2.0 -62.0 -28.0 85.0 41.0 202.0 37.0 127.0 -51.0 29.0 -116.0 -82.0 -117.0 -183.0 67.0 -67.0 193.0 -120.0 22.0 -71.0 -99.0 -35.0 -139.0 13.0 123.0 84.0 237.0 53.0 76.0 37.0 50.0 208.0 70.0 321.0 70.0 333.0 176.0 151.0 151.0 75.0 73.0 116.0 108.0 107.0 239.0 27.0 83.0 -10.0 -139.0 18.0 47.0 -110.0 144.0 -97.0 23.0 -47.0 13.0 -145.0 -59.0 -47.0 -181.0 106.0 -143.0 -65.0 -67.0 -96.0 -76.0 -36.0 -239.0 26.0 -151.0 -17.0 -97.0 -208.0 -158.0 -161.0 -140.0 -164.0 -204.0 -139.0 -29.0 -86.0 -77.0 -214.0 -178.0 -166.0 -14.0 -196.0 -2.0 -182.0 88.0 -99.0 131.0 -179.0 -99.0 76.0 -181.0 332.0 -60.0 177.0 64.0 71.0 -12.0 167.0 -47.0 194.0 50.0 169.0 244.0 87.0 355.0 -46.0 245.0 65.0 145.0 149.0 193.0 188.0 140.0 187.0 191.0 107.0 298.0 111.0 119.0 319.0 -14.0 344.0 66.0 121.0 261.0 157.0 359.0 150.0 241.0 147.0 141.0 169.0 -16.0 24.0 75.0 125.0 208.0 216.0 147.0 135.0 117.0 103.0 32.0 -72.0 -42.0 -51.0 -18.0 184.0 -66.0 201.0 -51.0 76.0 98.0 0.0 123.0 -154.0 -6.0 -193.0 -8.0 -151.0 -52.0 -214.0 -218.0 -197.0 -148.0 -93.0 -169.0 -142.0 -161.0 -118.0 -183.0 -112.0 -156.0 15.0 -28.0 70.0 -2.0 52.0 -17.0 19.0 35.0 -33.0 61.0 2.0 144.0 126.0 160.0 129.0 99.0 112.0 57.0 38.0 44.0 56.0 155.0 103.0 176.0 196.0 214.0 230.0 162.0 105.0 112.0 205.0 134.0 198.0 121.0 191.0 199.0 201.0 218.0 145.0 202.0 194.0 213.0 166.0 80.0 85.0 108.0 141.0 185.0 81.0 79.0 108.0 151.0 157.0 76.0 63.0 -10.0 45.0 22.0 -6.0 77.0 17.0 47.0 61.0 15.0 9.0 -97.0 -161.0 -167.0 -158.0 -121.0 -103.0 -65.0 -78.0 -37.0 -76.0 -128.0 -194.0 -217.0 -189.0 -168.0 -123.0 -81.0 -3.0 18.0 27.0 -26.0 -63.0 -131.0 -141.0 -179.0 -110.0 -52.0 7.0 153.0 116.0 145.0 123.0 89.0 91.0 58.0 7.0 81.0 143.0 205.0 241.0 243.0 325.0 328.0 358.0 263.0 257.0 260.0 295.0 310.0 268.0 316.0 276.0 348.0 343.0 363.0 387.0 381.0 352.0 347.0 341.0 298.0 315.0 276.0 259.0 272.0 284.0 269.0 300.0 237.0 229.0 123.0 51.0 -66.0 -144.0 -127.0 -182.0 -111.0 -157.0 -94.0 -148.0 -196.0 -282.0 -421.0 -423.0 -441.0 -392.0 -318.0 -308.0 -256.0 -202.0 -168.0 -163.0 -190.0 -201.0 -167.0 -104.0 -76.0 -1.0 45.0 128.0 179.0 247.0 257.0 273.0 281.0 308.0 353.0 365.0 389.0 427.0 508.0 545.0 565.0 566.0 545.0 516.0 465.0 400.0 403.0 382.0 398.0 358.0 355.0 313.0 291.0 262.0 143.0 76.0 20.0 -20.0 -47.0 -64.0 -122.0 -186.0 -238.0 -277.0 -318.0 -289.0 -351.0 -361.0 -396.0 -407.0 -413.0 -411.0 -394.0 -423.0 -392.0 -422.0 -348.0 -321.0 -283.0 -241.0 -209.0 -143.0 -84.0 -19.0 39.0 112.0 221.0 328.0 425.0 507.0 571.0 638.0 632.0 659.0 662.0 692.0 732.0 742.0 750.0 785.0 758.0 699.0 622.0 501.0 397.0 259.0 126.0 34.0 -9.0 -52.0 -72.0 -103.0 -116.0 -106.0 -136.0 -176.0 -205.0 -225.0 -211.0 -163.0 -97.0 -8.0 97.0 183.0 289.0 322.0 332.0 346.0 346.0 371.0 353.0 328.0 278.0 219.0 140.0 56.0 -66.0 -199.0 -331.0 -484.0 -574.0 -663.0 -744.0 -791.0 -836.0 -860.0 -858.0 -830.0 -813.0 -769.0 -709.0 -657.0 -545.0 -419.0 -233.0 -3.0 224.0 487.0 704.0 903.0 1024.0 1106.0 1148.0 1149.0 1174.0 1167.0 1192.0 1209.0 1223.0 1211.0 1139.0 1010.0 821.0 620.0 415.0 195.0 -28.0 -196.0 -327.0 -407.0 -431.0 -458.0 -484.0 -486.0 -498.0 -513.0 -535.0 -513.0 -486.0 -452.0 -362.0 -256.0 -103.0 51.0 209.0 335.0 441.0 499.0 493.0 449.0 362.0 262.0 139.0 29.0 -109.0 -224.0 -348.0 -427.0 -487.0 -593.0 -702.0 -832.0 -918.0 -984.0 -1043.0 -1074.0 -1072.0 -1012.0 -877.0 -691.0 -461.0 -226.0 18.0 239.0 438.0 609.0 750.0 882.0 1004.0 1114.0 1202.0 1277.0 1314.0 1333.0 1312.0 1268.0 1156.0 1002.0 818.0 615.0 396.0 190.0 -8.0 -219.0 -404.0 -537.0 -603.0 -633.0 -648.0 -669.0 -653.0 -614.0 -561.0 -503.0 -455.0 -376.0 -249.0 -108.0 64.0 232.0 379.0 529.0 641.0 703.0 723.0 705.0 619.0 508.0 388.0 247.0 81.0 -121.0 -300.0 -459.0 -599.0 -714.0 -813.0 -900.0 -986.0 -1059.0 -1109.0 -1131.0 -1143.0 -1140.0 -1046.0 -879.0 -636.0 -343.0 -49.0 275.0 561.0 811.0 999.0 1128.0 1226.0 1284.0 1338.0 1374.0 1410.0 1429.0 1406.0 1362.0 1286.0 1165.0 980.0 750.0 502.0 229.0 -27.0 -292.0 -524.0 -674.0 -766.0 -828.0 -859.0 -856.0 -846.0 -806.0 -762.0 -729.0 -649.0 -553.0 -425.0 -242.0 -85.0 101.0 246.0 397.0 542.0 632.0 697.0 704.0 692.0 620.0 504.0 347.0 183.0 -6.0 -226.0 -442.0 -642.0 -777.0 -874.0 -963.0 -1045.0 -1087.0 -1108.0 -1098.0 -1089.0 -1084.0 -1024.0 -900.0 -704.0 -448.0 -154.0 148.0 474.0 768.0 1008.0 1217.0 1349.0 1439.0 1504.0 1530.0 1508.0 1460.0 1422.0 1365.0 1286.0 1157.0 992.0 780.0 546.0 308.0 45.0 -207.0 -439.0 -600.0 -727.0 -805.0 -864.0 -850.0 -818.0 -770.0 -707.0 -670.0 -571.0 -489.0 -395.0 -302.0 -186.0 -72.0 72.0 225.0 340.0 417.0 461.0 461.0 419.0 324.0 142.0 -42.0 -229.0 -437.0 -675.0 -876.0 -1025.0 -1104.0 -1176.0 -1252.0 -1302.0 -1310.0 -1274.0 -1232.0 -1162.0 -1059.0 -883.0 -648.0 -349.0 -21.0 311.0 633.0 952.0 1250.0 1452.0 1582.0 1657.0 1705.0 1715.0 1692.0 1620.0 1542.0 1453.0 1314.0 1151.0 956.0 739.0 498.0 228.0 -56.0 -323.0 -584.0 -748.0 -867.0 -939.0 -979.0 -981.0 -913.0 -836.0 -732.0 -658.0 -545.0 -406.0 -254.0 -109.0 9.0 146.0 261.0 353.0 419.0 465.0 473.0 473.0 416.0 317.0 182.0 6.0 -171.0 -415.0 -678.0 -963.0 -1189.0 -1355.0 -1467.0 -1540.0 -1599.0 -1571.0 -1531.0 -1451.0 -1347.0 -1226.0 -1038.0 -830.0 -579.0 -278.0 38.0 369.0 697.0 1021.0 1286.0 1510.0 1664.0 1760.0 1799.0 1762.0 1688.0 1564.0 1428.0 1268.0 1088.0 911.0 724.0 505.0 289.0 40.0 -188.0 -423.0 -639.0 -784.0 -892.0 -928.0 -954.0 -892.0 -800.0 -686.0 -583.0 -488.0 -352.0 -233.0 -107.0 -11.0 109.0 207.0 314.0 401.0 437.0 490.0 468.0 414.0 299.0 153.0 -41.0 -238.0 -451.0 -692.0 -925.0 -1149.0 -1299.0 -1424.0 -1514.0 -1594.0 -1612.0 -1590.0 -1506.0 -1411.0 -1290.0 -1094.0 -860.0 -580.0 -285.0 38.0 375.0 692.0 985.0 1243.0 1434.0 1591.0 1670.0 1706.0 1668.0 1605.0 1504.0 1379.0 1245.0 1049.0 847.0 640.0 427.0 182.0 -72.0 -327.0 -544.0 -746.0 -892.0 -959.0 -972.0 -946.0 -912.0 -815.0 -719.0 -581.0 -477.0 -370.0 -231.0 -100.0 49.0 157.0 316.0 404.0 496.0 537.0 563.0 556.0 497.0 404.0 246.0 100.0 -132.0 -340.0 -593.0 -844.0 -1105.0 -1324.0 -1484.0 -1614.0 -1697.0 -1757.0 -1734.0 -1664.0 -1541.0 -1402.0 -1214.0 -964.0 -690.0 -376.0 -65.0 279.0 623.0 937.0 1238.0 1471.0 1681.0 1809.0 1895.0 1899.0 1852.0 1762.0 1630.0 1475.0 1258.0 1055.0 825.0 612.0 363.0 97.0 -162.0 -395.0 -599.0 -797.0 -923.0 -1001.0 -1004.0 -984.0 -934.0 -858.0 -754.0 -627.0 -521.0 -375.0 -256.0 -116.0 -6.0 116.0 239.0 326.0 412.0 423.0 468.0 411.0 359.0 240.0 100.0 -80.0 -315.0 -532.0 -790.0 -1030.0 -1288.0 -1464.0 -1618.0 -1694.0 -1782.0 -1772.0 -1710.0 -1607.0 -1474.0 -1321.0 -1077.0 -831.0 -526.0 -231.0 133.0 488.0 815.0 1107.0 1363.0 1596.0 1767.0 1876.0 1914.0 1897.0 1839.0 1736.0 1605.0 1440.0 1224.0 1007.0 761.0 531.0 275.0 28.0 -206.0 -418.0 -604.0 -747.0 -826.0 -885.0 -902.0 -885.0 -822.0 -749.0 -638.0 -557.0 -435.0 -318.0 -200.0 -79.0 12.0 150.0 220.0 311.0 335.0 363.0 356.0 291.0 222.0 80.0 -63.0 -270.0 -476.0 -720.0 -958.0 -1229.0 -1441.0 -1612.0 -1744.0 -1829.0 -1884.0 -1813.0 -1747.0 -1603.0 -1485.0 -1255.0 -999.0 -703.0 -390.0 -79.0 316.0 640.0 996.0 1250.0 1509.0 1702.0 1832.0 1912.0 1901.0 1887.0 1791.0 1669.0 1505.0 1334.0 1117.0 896.0 657.0 412.0 171.0 -68.0 -270.0 -474.0 -603.0 -721.0 -776.0 -831.0 -846.0 -820.0 -795.0 -713.0 -662.0 -539.0 -436.0 -309.0 -186.0 -73.0 56.0 145.0 231.0 282.0 345.0 333.0 299.0 230.0 139.0 10.0 -148.0 -317.0 -520.0 -717.0 -948.0 -1141.0 -1300.0 -1431.0 -1524.0 -1588.0 -1557.0 -1490.0 -1372.0 -1239.0 -1054.0 -781.0 -543.0 -242.0 20.0 351.0 641.0 900.0 1145.0 1322.0 1517.0 1583.0 1667.0 1662.0 1655.0 1573.0 1461.0 1331.0 1157.0 977.0 743.0 547.0 318.0 134.0 -75.0 -224.0 -375.0 -481.0 -560.0 -618.0 -639.0 -661.0 -649.0 -646.0 -594.0 -566.0 -491.0 -442.0 -340.0 -268.0 -165.0 -68.0 0.0 67.0 81.0 116.0 69.0 57.0 -32.0 -114.0 -234.0 -366.0 -511.0 -691.0 -851.0 -1061.0 -1200.0 -1354.0 -1424.0 -1507.0 -1508.0 -1460.0 -1369.0 -1223.0 -1081.0 -847.0 -613.0 -317.0 -51.0 272.0 585.0 876.0 1131.0 1348.0 1534.0 1654.0 1748.0 1762.0 1757.0 1689.0 1607.0 1454.0 1298.0 1116.0 909.0 712.0 502.0 299.0 80.0 -96.0 -261.0 -374.0 -466.0 -508.0 -572.0 -579.0 -575.0 -585.0 -569.0 -570.0 -524.0 -519.0 -449.0 -402.0 -326.0 -231.0 -174.0 -101.0 -66.0 -10.0 -35.0 -63.0 -119.0 -205.0 -299.0 -427.0 -555.0 -711.0 -851.0 -1024.0 -1186.0 -1319.0 -1429.0 -1503.0 -1557.0 -1533.0 -1471.0 -1352.0 -1201.0 -1016.0 -774.0 -506.0 -211.0 71.0 377.0 671.0 939.0 1172.0 1361.0 1510.0 1619.0 1662.0 1673.0 1636.0 1578.0 1472.0 1342.0 1203.0 1016.0 847.0 654.0 502.0 312.0 150.0 11.0 -85.0 -145.0 -209.0 -255.0 -294.0 -274.0 -311.0 -308.0 -345.0 -319.0 -326.0 -333.0 -308.0 -315.0 -236.0 -233.0 -207.0 -196.0 -163.0 -167.0 -210.0 -246.0 -330.0 -423.0 -540.0 -653.0 -791.0 -923.0 -1071.0 -1211.0 -1331.0 -1428.0 -1488.0 -1524.0 -1502.0 -1461.0 -1345.0 -1184.0 -1001.0 -772.0 -524.0 -227.0 41.0 330.0 612.0 883.0 1125.0 1304.0 1453.0 1547.0 1600.0 1587.0 1546.0 1459.0 1358.0 1218.0 1074.0 911.0 732.0 546.0 372.0 219.0 63.0 -55.0 -136.0 -161.0 -187.0 -199.0 -221.0 -187.0 -176.0 -163.0 -172.0 -158.0 -153.0 -168.0 -161.0 -182.0 -131.0 -140.0 -122.0 -148.0 -143.0 -166.0 -222.0 -280.0 -377.0 -460.0 -591.0 -690.0 -817.0 -931.0 -1082.0 -1219.0 -1344.0 -1433.0 -1496.0 -1529.0 -1495.0 -1429.0 -1309.0 -1146.0 -948.0 -711.0 -438.0 -149.0 145.0 449.0 755.0 1030.0 1288.0 1487.0 1650.0 1752.0 1801.0 1792.0 1748.0 1661.0 1539.0 1364.0 1194.0 1013.0 800.0 592.0 375.0 200.0 13.0 -120.0 -224.0 -267.0 -284.0 -295.0 -299.0 -262.0 -231.0 -200.0 -193.0 -162.0 -138.0 -109.0 -70.0 -70.0 -18.0 -31.0 -6.0 -28.0 -18.0 -55.0 -123.0 -191.0 -290.0 -382.0 -529.0 -652.0 -804.0 -931.0 -1093.0 -1252.0 -1399.0 -1511.0 -1589.0 -1661.0 -1672.0 -1643.0 -1540.0 -1396.0 -1210.0 -967.0 -680.0 -351.0 -27.0 327.0 671.0 1007.0 1296.0 1548.0 1779.0 1929.0 2040.0 2060.0 2054.0 1984.0 1891.0 1726.0 1551.0 1366.0 1131.0 895.0 644.0 437.0 205.0 49.0 -96.0 -199.0 -257.0 -314.0 -313.0 -319.0 -291.0 -280.0 -257.0 -228.0 -219.0 -180.0 -165.0 -114.0 -82.0 -59.0 -36.0 -30.0 -28.0 -80.0 -107.0 -195.0 -279.0 -394.0 -525.0 -641.0 -786.0 -910.0 -1074.0 -1215.0 -1369.0 -1504.0 -1607.0 -1672.0 -1687.0 -1678.0 -1602.0 -1463.0 -1279.0 -1043.0 -743.0 -442.0 -108.0 238.0 611.0 949.0 1261.0 1561.0 1788.0 1996.0 2103.0 2175.0 2185.0 2167.0 2076.0 1921.0 1767.0 1550.0 1328.0 1079.0 846.0 607.0 385.0 210.0 59.0 -55.0 -160.0 -232.0 -266.0 -288.0 -293.0 -308.0 -294.0 -278.0 -246.0 -218.0 -182.0 -116.0 -102.0 -59.0 -52.0 -28.0 -55.0 -91.0 -128.0 -209.0 -286.0 -401.0 -495.0 -610.0 -731.0 -866.0 -1019.0 -1163.0 -1302.0 -1433.0 -1520.0 -1583.0 -1610.0 -1604.0 -1512.0 -1387.0 -1217.0 -992.0 -712.0 -404.0 -88.0 275.0 611.0 970.0 1272.0 1562.0 1790.0 2006.0 2145.0 2213.0 2252.0 2223.0 2144.0 1992.0 1842.0 1615.0 1389.0 1135.0 893.0 653.0 454.0 279.0 129.0 24.0 -88.0 -141.0 -200.0 -227.0 -247.0 -241.0 -216.0 -200.0 -145.0 -122.0 -51.0 3.0 39.0 82.0 97.0 102.0 49.0 14.0 -65.0 -144.0 -265.0 -393.0 -511.0 -650.0 -788.0 -950.0 -1102.0 -1262.0 -1396.0 -1506.0 -1593.0 -1648.0 -1677.0 -1659.0 -1572.0 -1447.0 -1263.0 -1031.0 -751.0 -449.0 -116.0 249.0 608.0 966.0 1278.0 1567.0 1819.0 2019.0 2158.0 2261.0 2319.0 2293.0 2222.0 2106.0 1951.0 1734.0 1488.0 1234.0 970.0 735.0 515.0 337.0 182.0 38.0 -66.0 -142.0 -205.0 -247.0 -284.0 -288.0 -284.0 -259.0 -223.0 -158.0 -77.0 -42.0 12.0 53.0 85.0 69.0 33.0 -13.0 -74.0 -158.0 -271.0 -375.0 -496.0 -627.0 -772.0 -916.0 -1060.0 -1192.0 -1317.0 -1414.0 -1476.0 -1537.0 -1539.0 -1520.0 -1439.0 -1329.0 -1146.0 -922.0 -684.0 -381.0 -82.0 277.0 584.0 921.0 1204.0 1487.0 1731.0 1905.0 2077.0 2177.0 2260.0 2240.0 2205.0 2105.0 1951.0 1731.0 1496.0 1251.0 982.0 748.0 533.0 339.0 174.0 35.0 -94.0 -183.0 -255.0 -336.0 -388.0 -391.0 -380.0 -371.0 -328.0 -255.0 -202.0 -128.0 -93.0 -56.0 -37.0 -39.0 -73.0 -116.0 -158.0 -232.0 -303.0 -384.0 -473.0 -580.0 -702.0 -833.0 -952.0 -1057.0 -1149.0 -1241.0 -1298.0 -1327.0 -1309.0 -1275.0 -1203.0 -1083.0 -915.0 -727.0 -526.0 -264.0 16.0 303.0 583.0 874.0 1151.0 1423.0 1627.0 1822.0 1986.0 2109.0 2159.0 2168.0 2164.0 2072.0 1945.0 1765.0 1584.0 1367.0 1147.0 930.0 711.0 531.0 349.0 172.0 41.0 -70.0 -174.0 -277.0 -339.0 -364.0 -406.0 -398.0 -405.0 -384.0 -357.0 -336.0 -313.0 -306.0 -283.0 -300.0 -313.0 -348.0 -396.0 -447.0 -516.0 -577.0 -662.0 -740.0 -814.0 -904.0 -963.0 -1031.0 -1067.0 -1119.0 -1142.0 -1133.0 -1122.0 -1068.0 -991.0 -872.0 -743.0 -566.0 -390.0 -154.0 81.0 327.0 566.0 804.0 1053.0 1263.0 1468.0 1640.0 1806.0 1902.0 1974.0 2004.0 1989.0 1931.0 1828.0 1699.0 1545.0 1381.0 1201.0 993.0 820.0 649.0 466.0 323.0 177.0 59.0 -71.0 -157.0 -241.0 -303.0 -332.0 -375.0 -381.0 -395.0 -396.0 -401.0 -409.0 -412.0 -446.0 -464.0 -499.0 -532.0 -579.0 -629.0 -660.0 -716.0 -748.0 -797.0 -835.0 -855.0 -881.0 -904.0 -920.0 -923.0 -904.0 -881.0 -838.0 -774.0 -695.0 -593.0 -487.0 -336.0 -174.0 3.0 180.0 367.0 561.0 747.0 933.0 1094.0 1264.0 1419.0 1530.0 1631.0 1695.0 1732.0 1716.0 1687.0 1618.0 1516.0 1426.0 1279.0 1137.0 1008.0 847.0 682.0 539.0 399.0 251.0 110.0 4.0 -110.0 -189.0 -275.0 -359.0 -407.0 -459.0 -498.0 -564.0 -600.0 -654.0 -703.0 -753.0 -804.0 -837.0 -886.0 -909.0 -942.0 -960.0 -985.0 -997.0 -984.0 -974.0 -925.0 -906.0 -860.0 -795.0 -740.0 -668.0 -604.0 -508.0 -436.0 -359.0 -272.0 -174.0 -41.0 75.0 208.0 335.0 470.0 607.0 719.0 857.0 978.0 1103.0 1201.0 1294.0 1382.0 1416.0 1450.0 1444.0 1439.0 1403.0 1351.0 1270.0 1175.0 1093.0 965.0 841.0 699.0 571.0 429.0 289.0 173.0 52.0 -43.0 -153.0 -249.0 -334.0 -426.0 -522.0 -621.0 -708.0 -802.0 -898.0 -984.0 -1065.0 -1130.0 -1208.0 -1275.0 -1319.0 -1345.0 -1350.0 -1358.0 -1309.0 -1247.0 -1180.0 -1108.0 -1019.0 -902.0 -816.0 -704.0 -599.0 -475.0 -368.0 -274.0 -159.0 -45.0 95.0 194.0 305.0 418.0 524.0 619.0 698.0 800.0 893.0 976.0 1050.0 1121.0 1201.0 1248.0 1280.0 1306.0 1314.0 1318.0 1283.0 1238.0 1182.0 1116.0 1039.0 942.0 854.0 750.0 642.0 530.0 411.0 301.0 189.0 72.0 -49.0 -152.0 -258.0 -375.0 -484.0 -594.0 -707.0 -824.0 -949.0 -1056.0 -1170.0 -1282.0 -1378.0 -1457.0 -1508.0 -1548.0 -1557.0 -1527.0 -1469.0 -1395.0 -1325.0 -1202.0 -1092.0 -972.0 -835.0 -706.0 -554.0 -434.0 -298.0 -186.0 -51.0 89.0 193.0 310.0 398.0 491.0 565.0 633.0 708.0 768.0 841.0 888.0 949.0 1009.0 1054.0 1097.0 1118.0 1158.0 1162.0 1150.0 1121.0 1090.0 1043.0 973.0 914.0 833.0 756.0 668.0 562.0 470.0 378.0 274.0 152.0 47.0 -56.0 -177.0 -292.0 -408.0 -528.0 -649.0 -770.0 -902.0 -1018.0 -1133.0 -1254.0 -1359.0 -1451.0 -1531.0 -1598.0 -1627.0 -1614.0 -1569.0 -1521.0 -1441.0 -1330.0 -1207.0 -1073.0 -931.0 -787.0 -646.0 -493.0 -359.0 -220.0 -70.0 73.0 193.0 310.0 414.0 492.0 569.0 637.0 702.0 760.0 815.0 860.0 912.0 964.0 996.0 1029.0 1066.0 1091.0 1102.0 1094.0 1082.0 1068.0 1025.0 978.0 920.0 854.0 770.0 680.0 587.0 486.0 400.0 285.0 184.0 80.0 -44.0 -160.0 -289.0 -399.0 -537.0 -666.0 -785.0 -910.0 -1029.0 -1171.0 -1285.0 -1400.0 -1488.0 -1572.0 -1640.0 -1645.0 -1643.0 -1613.0 -1574.0 -1493.0 -1387.0 -1285.0 -1143.0 -1013.0 -855.0 -707.0 -560.0 -395.0 -239.0 -66.0 65.0 203.0 323.0 416.0 503.0 558.0 630.0 682.0 733.0 778.0 823.0 880.0 902.0 937.0 967.0 997.0 1023.0 1015.0 1024.0 1026.0 1020.0 992.0 967.0 945.0 879.0 819.0 730.0 643.0 553.0 444.0 338.0 221.0 123.0 -7.0 -123.0 -243.0 -374.0 -499.0 -635.0 -761.0 -894.0 -1032.0 -1171.0 -1302.0 -1413.0 -1523.0 -1617.0 -1678.0 -1713.0 -1714.0 -1703.0 -1671.0 -1619.0 -1532.0 -1435.0 -1326.0 -1194.0 -1040.0 -881.0 -728.0 -557.0 -390.0 -214.0 -51.0 101.0 231.0 347.0 435.0 507.0 586.0 654.0 701.0 752.0 799.0 843.0 871.0 902.0 926.0 943.0 971.0 961.0 959.0 961.0 948.0 923.0 902.0 879.0 825.0 778.0 711.0 627.0 547.0 458.0 360.0 249.0 150.0 30.0 -85.0 -189.0 -313.0 -435.0 -554.0 -669.0 -795.0 -929.0 -1051.0 -1179.0 -1287.0 -1401.0 -1498.0 -1571.0 -1613.0 -1635.0 -1662.0 -1646.0 -1623.0 -1563.0 -1507.0 -1412.0 -1303.0 -1181.0 -1032.0 -897.0 -723.0 -552.0 -370.0 -203.0 -40.0 112.0 229.0 343.0 430.0 524.0 605.0 660.0 729.0 774.0 831.0 858.0 892.0 926.0 945.0 973.0 957.0 968.0 962.0 944.0 928.0 905.0 883.0 830.0 786.0 726.0 653.0 586.0 482.0 388.0 282.0 180.0 69.0 -45.0 -150.0 -267.0 -371.0 -485.0 -583.0 -689.0 -811.0 -922.0 -1031.0 -1133.0 -1239.0 -1341.0 -1415.0 -1465.0 -1505.0 -1527.0 -1534.0 -1516.0 -1486.0 -1440.0 -1377.0 -1299.0 -1193.0 -1090.0 -962.0 -825.0 -664.0 -499.0 -338.0 -159.0 -17.0 122.0 237.0 342.0 443.0 516.0 601.0 652.0 724.0 786.0 819.0 873.0 901.0 951.0 972.0 991.0 1005.0 1003.0 1006.0 984.0 976.0 940.0 904.0 854.0 787.0 718.0 625.0 537.0 434.0 323.0 216.0 99.0 -13.0 -136.0 -243.0 -354.0 -461.0 -560.0 -668.0 -762.0 -877.0 -973.0 -1062.0 -1152.0 -1231.0 -1306.0 -1346.0 -1377.0 -1394.0 -1396.0 -1385.0 -1348.0 -1313.0 -1262.0 -1202.0 -1116.0 -1021.0 -923.0 -793.0 -660.0 -505.0 -357.0 -207.0 -61.0 77.0 193.0 287.0 387.0 469.0 539.0 610.0 670.0 734.0 781.0 820.0 862.0 907.0 948.0 958.0 979.0 994.0 1004.0 1021.0 1025.0 1020.0 999.0 967.0 920.0 850.0 774.0 680.0 574.0 461.0 341.0 215.0 87.0 -38.0 -165.0 -288.0 -413.0 -533.0 -650.0 -759.0 -871.0 -970.0 -1054.0 -1135.0 -1205.0 -1261.0 -1300.0 -1321.0 -1338.0 -1333.0 -1313.0 -1287.0 -1244.0 -1196.0 -1135.0 -1061.0 -968.0 -874.0 -760.0 -636.0 -506.0 -371.0 -225.0 -81.0 37.0 145.0 244.0 332.0 414.0 482.0 538.0 602.0 656.0 695.0 739.0 787.0 830.0 867.0 895.0 927.0 961.0 986.0 1012.0 1032.0 1052.0 1047.0 1035.0 1014.0 967.0 910.0 832.0 747.0 632.0 510.0 383.0 244.0 107.0 -39.0 -178.0 -315.0 -446.0 -576.0 -702.0 -815.0 -920.0 -1010.0 -1089.0 -1163.0 -1222.0 -1264.0 -1280.0 -1284.0 -1278.0 -1260.0 -1223.0 -1182.0 -1137.0 -1076.0 -1004.0 -914.0 -826.0 -726.0 -615.0 -494.0 -367.0 -239.0 -118.0 -6.0 95.0 179.0 259.0 331.0 388.0 435.0 486.0 531.0 568.0 601.0 639.0 678.0 717.0 747.0 777.0 815.0 856.0 895.0 937.0 975.0 1007.0 1022.0 1028.0 1017.0 991.0 949.0 880.0 796.0 694.0 581.0 452.0 316.0 174.0 33.0 -120.0 -261.0 -399.0 -531.0 -656.0 -770.0 -866.0 -949.0 -1021.0 -1086.0 -1126.0 -1153.0 -1156.0 -1149.0 -1130.0 -1092.0 -1045.0 -993.0 -933.0 -863.0 -796.0 -716.0 -638.0 -548.0 -447.0 -345.0 -235.0 -125.0 -24.0 66.0 149.0 216.0 275.0 320.0 353.0 383.0 408.0 431.0 450.0 487.0 523.0 564.0 607.0 655.0 704.0 754.0 812.0 864.0 917.0 966.0 1009.0 1035.0 1051.0 1055.0 1040.0 1000.0 936.0 857.0 762.0 642.0 511.0 376.0 227.0 87.0 -62.0 -204.0 -341.0 -471.0 -587.0 -697.0 -786.0 -860.0 -913.0 -953.0 -979.0 -991.0 -986.0 -954.0 -922.0 -883.0 -834.0 -774.0 -713.0 -655.0 -583.0 -518.0 -444.0 -363.0 -290.0 -202.0 -118.0 -40.0 27.0 99.0 158.0 202.0 238.0 266.0 293.0 308.0 326.0 346.0 377.0 413.0 447.0 491.0 542.0 601.0 662.0 731.0 799.0 869.0 936.0 1002.0 1058.0 1098.0 1122.0 1132.0 1125.0 1095.0 1034.0 956.0 856.0 743.0 615.0 472.0 324.0 174.0 26.0 -128.0 -272.0 -398.0 -515.0 -623.0 -703.0 -770.0 -815.0 -845.0 -859.0 -860.0 -857.0 -834.0 -800.0 -756.0 -708.0 -652.0 -597.0 -540.0 -486.0 -426.0 -366.0 -312.0 -258.0 -198.0 -144.0 -92.0 -44.0 -1.0 44.0 70.0 94.0 113.0 131.0 148.0 161.0 185.0 207.0 248.0 291.0 340.0 404.0 472.0 546.0 631.0 718.0 801.0 888.0 965.0 1031.0 1087.0 1131.0 1152.0 1153.0 1133.0 1092.0 1021.0 935.0 831.0 711.0 580.0 445.0 313.0 173.0 41.0 -90.0 -199.0 -302.0 -388.0 -468.0 -527.0 -572.0 -610.0 -620.0 -626.0 -613.0 -597.0 -568.0 -538.0 -498.0 -461.0 -424.0 -380.0 -340.0 -293.0 -256.0 -215.0 -179.0 -150.0 -126.0 -103.0 -81.0 -69.0 -61.0 -53.0 -47.0 -36.0 -27.0 -13.0 5.0 25.0 60.0 96.0 138.0 195.0 251.0 336.0 420.0 508.0 599.0 687.0 782.0 869.0 951.0 1014.0 1065.0 1088.0 1100.0 1093.0 1057.0 1005.0 928.0 838.0 733.0 618.0 501.0 380.0 257.0 138.0 30.0 -73.0 -170.0 -249.0 -318.0 -365.0 -408.0 -435.0 -441.0 -448.0 -441.0 -428.0 -408.0 -386.0 -367.0 -342.0 -323.0 -295.0 -265.0 -238.0 -214.0 -187.0 -159.0 -137.0 -117.0 -110.0 -100.0 -94.0 -92.0 -91.0 -84.0 -77.0 -72.0 -59.0 -40.0 -5.0 29.0 68.0 115.0 172.0 230.0 307.0 384.0 464.0 550.0 626.0 702.0 773.0 840.0 896.0 937.0 957.0 965.0 953.0 924.0 879.0 818.0 740.0 652.0 558.0 463.0 366.0 263.0 167.0 78.0 -3.0 -75.0 -142.0 -200.0 -247.0 -278.0 -304.0 -321.0 -329.0 -328.0 -321.0 -311.0 -299.0 -286.0 -267.0 -248.0 -220.0 -207.0 -188.0 -166.0 -147.0 -127.0 -114.0 -100.0 -92.0 -78.0 -78.0 -75.0 -74.0 -67.0 -59.0 -49.0 -29.0 -10.0 24.0 55.0 96.0 142.0 198.0 254.0 317.0 392.0 457.0 533.0 605.0 665.0 722.0 773.0 814.0 840.0 855.0 851.0 832.0 797.0 751.0 691.0 622.0 545.0 461.0 375.0 295.0 209.0 129.0 59.0 -11.0 -73.0 -127.0 -175.0 -209.0 -240.0 -261.0 -271.0 -274.0 -271.0 -262.0 -247.0 -232.0 -218.0 -204.0 -188.0 -170.0 -154.0 -145.0 -131.0 -113.0 -107.0 -103.0 -100.0 -97.0 -99.0 -106.0 -109.0 -112.0 -108.0 -104.0 -94.0 -74.0 -43.0 -13.0 24.0 76.0 124.0 183.0 247.0 310.0 374.0 443.0 504.0 569.0 628.0 680.0 726.0 753.0 785.0 794.0 791.0 774.0 741.0 703.0 646.0 587.0 522.0 454.0 380.0 305.0 229.0 154.0 84.0 13.0 -49.0 -98.0 -143.0 -183.0 -214.0 -234.0 -247.0 -261.0 -269.0 -265.0 -259.0 -250.0 -235.0 -217.0 -202.0 -189.0 -173.0 -160.0 -149.0 -141.0 -137.0 -140.0 -138.0 -138.0 -141.0 -139.0 -144.0 -141.0 -135.0 -123.0 -108.0 -85.0 -58.0 -29.0 13.0 56.0 104.0 155.0 212.0 271.0 332.0 390.0 448.0 500.0 554.0 597.0 631.0 662.0 677.0 684.0 681.0 667.0 644.0 612.0 572.0 525.0 473.0 417.0 360.0 299.0 235.0 173.0 113.0 61.0 3.0 -45.0 -99.0 -138.0 -168.0 -199.0 -220.0 -235.0 -244.0 -250.0 -244.0 -243.0 -235.0 -226.0 -219.0 -210.0 -200.0 -199.0 -202.0 -197.0 -201.0 -209.0 -214.0 -219.0 -227.0 -232.0 -233.0 -234.0 -228.0 -219.0 -203.0 -183.0 -151.0 -121.0 -81.0 -35.0 9.0 62.0 112.0 165.0 214.0 266.0 315.0 361.0 402.0 439.0 464.0 488.0 503.0 506.0 506.0 497.0 483.0 465.0 442.0 415.0 377.0 340.0 292.0 243.0 197.0 145.0 95.0 41.0 -6.0 -48.0 -94.0 -133.0 -164.0 -201.0 -222.0 -245.0 -257.0 -264.0 -269.0 -264.0 -263.0 -262.0 -262.0 -259.0 -258.0 -261.0 -264.0 -274.0 -284.0 -292.0 -302.0 -307.0 -313.0 -316.0 -322.0 -313.0 -305.0 -295.0 -275.0 -249.0 -221.0 -188.0 -146.0 -102.0 -59.0 -20.0 29.0 72.0 115.0 154.0 195.0 234.0 264.0 288.0 306.0 322.0 331.0 333.0 327.0 319.0 305.0 290.0 272.0 249.0 223.0 189.0 159.0 123.0 86.0 50.0 10.0 -33.0 -72.0 -112.0 -149.0 -181.0 -214.0 -237.0 -261.0 -280.0 -292.0 -307.0 -312.0 -318.0 -322.0 -323.0 -328.0 -333.0 -339.0 -348.0 -361.0 -371.0 -386.0 -393.0 -405.0 -415.0 -417.0 -416.0 -411.0 -399.0 -379.0 -357.0 -324.0 -286.0 -245.0 -201.0 -151.0 -102.0 -53.0 -6.0 37.0 83.0 124.0 157.0 190.0 219.0 241.0 257.0 261.0 266.0 267.0 263.0 251.0 237.0 224.0 205.0 185.0 167.0 141.0 114.0 84.0 51.0 19.0 -12.0 -49.0 -87.0 -122.0 -155.0 -187.0 -219.0 -243.0 -268.0 -290.0 -308.0 -321.0 -329.0 -343.0 -358.0 -362.0 -374.0 -386.0 -393.0 -410.0 -427.0 -439.0 -456.0 -472.0 -483.0 -492.0 -498.0 -498.0 -490.0 -476.0 -458.0 -435.0 -406.0 -364.0 -321.0 -276.0 -224.0 -175.0 -117.0 -66.0 -12.0 36.0 76.0 117.0 149.0 180.0 198.0 214.0 222.0 227.0 229.0 221.0 214.0 202.0 183.0 170.0 148.0 128.0 108.0 82.0 57.0 30.0 6.0 -29.0 -57.0 -91.0 -123.0 -152.0 -187.0 -215.0 -243.0 -264.0 -284.0 -302.0 -317.0 -332.0 -343.0 -353.0 -364.0 -375.0 -381.0 -396.0 -410.0 -420.0 -440.0 -458.0 -475.0 -497.0 -510.0 -519.0 -532.0 -533.0 -524.0 -510.0 -488.0 -460.0 -426.0 -386.0 -340.0 -293.0 -235.0 -180.0 -130.0 -78.0 -29.0 20.0 63.0 96.0 123.0 145.0 162.0 174.0 176.0 176.0 176.0 167.0 153.0 142.0 128.0 111.0 89.0 70.0 51.0 24.0 1.0 -26.0 -52.0 -76.0 -111.0 -140.0 -168.0 -192.0 -224.0 -252.0 -273.0 -290.0 -305.0 -324.0 -340.0 -352.0 -364.0 -370.0 -378.0 -384.0 -390.0 -400.0 -410.0 -421.0 -431.0 -442.0 -447.0 -460.0 -469.0 -473.0 -478.0 -469.0 -460.0 -446.0 -423.0 -395.0 -354.0 -318.0 -268.0 -216.0 -169.0 -126.0 -84.0 -39.0 0.0 40.0 69.0 96.0 119.0 133.0 136.0 139.0 140.0 137.0 126.0 116.0 104.0 89.0 76.0 60.0 44.0 23.0 10.0 -10.0 -32.0 -57.0 -82.0 -111.0 -138.0 -164.0 -191.0 -214.0 -241.0 -267.0 -287.0 -310.0 -331.0 -342.0 -361.0 -372.0 -383.0 -398.0 -407.0 -419.0 -431.0 -439.0 -455.0 -463.0 -466.0 -478.0 -487.0 -485.0 -484.0 -482.0 -472.0 -458.0 -441.0 -411.0 -375.0 -339.0 -298.0 -248.0 -202.0 -157.0 -107.0 -63.0 -17.0 19.0 52.0 86.0 109.0 129.0 147.0 157.0 156.0 159.0 159.0 150.0 141.0 133.0 119.0 105.0 94.0 80.0 69.0 55.0 36.0 16.0 -1.0 -24.0 -46.0 -65.0 -93.0 -119.0 -144.0 -172.0 -194.0 -220.0 -240.0 -261.0 -282.0 -296.0 -313.0 -325.0 -341.0 -356.0 -366.0 -381.0 -390.0 -402.0 -409.0 -417.0 -426.0 -432.0 -437.0 -438.0 -437.0 -428.0 -413.0 -399.0 -381.0 -356.0 -327.0 -284.0 -248.0 -206.0 -160.0 -112.0 -64.0 -21.0 23.0 58.0 95.0 125.0 150.0 170.0 188.0 198.0 201.0 204.0 208.0 206.0 201.0 194.0 190.0 189.0 179.0 170.0 159.0 156.0 145.0 139.0 123.0 116.0 101.0 91.0 71.0 65.0 42.0 66.0 85.0 74.0 73.0 9.0 -17.0 -101.0 -176.0 -267.0 -339.0 -405.0 -457.0 -496.0 -521.0 -553.0 -584.0 -597.0 -614.0 -594.0 -604.0 -553.0 -515.0 -450.0 -393.0 -320.0 -243.0 -167.0 -104.0 -44.0 13.0 48.0 85.0 95.0 126.0 125.0 140.0 133.0 133.0 115.0 107.0 103.0 106.0 97.0 94.0 103.0 96.0 107.0 100.0 133.0 135.0 163.0 174.0 204.0 232.0 243.0 263.0 277.0 291.0 277.0 274.0 249.0 238.0 196.0 163.0 122.0 82.0 39.0 -21.0 -62.0 -120.0 -172.0 -229.0 -274.0 -322.0 -373.0 -419.0 -440.0 -471.0 -488.0 -497.0 -494.0 -474.0 -470.0 -432.0 -406.0 -365.0 -326.0 -280.0 -221.0 -172.0 -115.0 -59.0 -2.0 52.0 97.0 142.0 187.0 220.0 244.0 268.0 289.0 284.0 292.0 281.0 276.0 255.0 242.0 225.0 213.0 201.0 182.0 180.0 165.0 166.0 158.0 167.0 164.0 173.0 184.0 195.0 197.0 206.0 207.0 204.0 197.0 185.0 162.0 145.0 126.0 86.0 69.0 36.0 9.0 -26.0 -58.0 -93.0 -126.0 -160.0 -186.0 -216.0 -236.0 -254.0 -267.0 -273.0 -277.0 -270.0 -265.0 -245.0 -232.0 -202.0 -176.0 -133.0 -101.0 -52.0 -11.0 38.0 85.0 132.0 174.0 204.0 243.0 269.0 295.0 299.0 312.0 314.0 320.0 308.0 302.0 292.0 286.0 272.0 266.0 265.0 267.0 269.0 267.0 279.0 278.0 277.0 267.0 270.0 258.0 254.0 231.0 225.0 207.0 185.0 162.0 138.0 122.0 91.0 63.0 24.0 2.0 -30.0 -55.0 -81.0 -104.0 -123.0 -142.0 -161.0 -172.0 -184.0 -185.0 -191.0 -190.0 -184.0 -186.0 -173.0 -164.0 -150.0 -132.0 -110.0 -93.0 -64.0 -40.0 -1.0 28.0 66.0 91.0 129.0 162.0 183.0 217.0 239.0 266.0 271.0 290.0 293.0 312.0 311.0 316.0 314.0 322.0 320.0 326.0 328.0 321.0 330.0 324.0 330.0 325.0 334.0 324.0 325.0 313.0 306.0 294.0 267.0 253.0 224.0 198.0 168.0 144.0 118.0 91.0 65.0 38.0 19.0 -5.0 -31.0 -51.0 -66.0 -74.0 -91.0 -94.0 -90.0 -94.0 -102.0 -104.0 -100.0 -96.0 -92.0 -86.0 -72.0 -62.0 -47.0 -31.0 -12.0 4.0 22.0 46.0 75.0 98.0 131.0 161.0 183.0 211.0 235.0 256.0 266.0 285.0 292.0 301.0 304.0 300.0 301.0 296.0 293.0 285.0 282.0 273.0 274.0 270.0 274.0 272.0 275.0 278.0 277.0 279.0 278.0 272.0 267.0 256.0 246.0 230.0 214.0 201.0 179.0 165.0 138.0 121.0 93.0 71.0 44.0 26.0 0.0 -14.0 -25.0 -37.0 -37.0 -36.0 -26.0 -24.0 -14.0 -6.0 9.0 12.0 17.0 30.0 41.0 47.0 64.0 75.0 90.0 106.0 116.0 137.0 150.0 162.0 176.0 189.0 201.0 211.0 226.0 241.0 252.0 264.0 274.0 285.0 287.0 290.0 288.0 284.0 283.0 266.0 263.0 256.0 246.0 234.0 225.0 217.0 205.0 184.0 172.0 166.0 151.0 142.0 133.0 125.0 119.0 106.0 97.0 93.0 88.0 79.0 79.0 74.0 66.0 52.0 45.0 36.0 23.0 15.0 3.0 -9.0 -27.0 -36.0 -51.0 -53.0 -67.0 -69.0 -69.0 -63.0 -57.0 -48.0 -29.0 -13.0 11.0 31.0 58.0 82.0 115.0 140.0 169.0 194.0 221.0 241.0 261.0 276.0 282.0 290.0 295.0 298.0 295.0 298.0 293.0 294.0 287.0 279.0 262.0 252.0 239.0 224.0 215.0 202.0 196.0 181.0 175.0 161.0 151.0 142.0 125.0 111.0 98.0 82.0 66.0 51.0 28.0 16.0 -1.0 -15.0 -30.0 -38.0 -49.0 -59.0 -70.0 -79.0 -80.0 -84.0 -79.0 -83.0 -77.0 -82.0 -82.0 -93.0 -92.0 -92.0 -92.0 -82.0 -78.0 -64.0 -54.0 -35.0 -17.0 9.0 30.0 65.0 94.0 125.0 156.0 185.0 221.0 240.0 267.0 288.0 309.0 321.0 332.0 330.0 330.0 318.0 302.0 292.0 273.0 254.0 237.0 213.0 195.0 181.0 163.0 155.0 139.0 128.0 119.0 106.0 95.0 89.0 81.0 69.0 60.0 50.0 40.0 31.0 21.0 6.0 -9.0 -15.0 -33.0 -47.0 -57.0 -72.0 -84.0 -101.0 -109.0 -123.0 -136.0 -149.0 -157.0 -159.0 -160.0 -158.0 -154.0 -141.0 -128.0 -111.0 -94.0 -75.0 -58.0 -36.0 -10.0 13.0 39.0 62.0 94.0 116.0 138.0 157.0 178.0 196.0 207.0 216.0 230.0 241.0 236.0 240.0 233.0 234.0 221.0 212.0 198.0 182.0 166.0 142.0 128.0 111.0 96.0 83.0 69.0 63.0 54.0 40.0 34.0 26.0 23.0 20.0 16.0 10.0 4.0 -2.0 -9.0 -14.0 -22.0 -31.0 -38.0 -55.0 -73.0 -75.0 -89.0 -95.0 -105.0 -118.0 -125.0 -140.0 -151.0 -156.0 -162.0 -163.0 -159.0 -153.0 -145.0 -139.0 -122.0 -117.0 -100.0 -88.0 -81.0 -62.0 -44.0 -27.0 -11.0 6.0 22.0 38.0 46.0 59.0 64.0 71.0 70.0 75.0 79.0 76.0 84.0 87.0 94.0 103.0 115.0 124.0 139.0 149.0 166.0 178.0 187.0 201.0 209.0 215.0 206.0 206.0 196.0 185.0 167.0 147.0 127.0 101.0 81.0 56.0 37.0 24.0 14.0 4.0 7.0 5.0 9.0 15.0 24.0 32.0 30.0 38.0 37.0 30.0 25.0 13.0 0.0 -20.0 -40.0 -63.0 -88.0 -114.0 -143.0 -173.0 -203.0 -232.0 -259.0 -283.0 -310.0 -325.0 -336.0 -342.0 -348.0 -345.0 -332.0 -325.0 -307.0 -290.0 -271.0 -247.0 -226.0 -202.0 -178.0 -156.0 -125.0 -99.0 -63.0 -29.0 9.0 60.0 114.0 173.0 230.0 304.0 371.0 435.0 495.0 547.0 592.0 629.0 642.0 645.0 636.0 607.0 565.0 502.0 432.0 348.0 260.0 160.0 65.0 -37.0 -132.0 -221.0 -305.0 -377.0 -441.0 -492.0 -534.0 -551.0 -567.0 -565.0 -543.0 -509.0 -467.0 -405.0 -323.0 -235.0 -139.0 -29.0 92.0 207.0 319.0 427.0 533.0 615.0 681.0 731.0 758.0 759.0 736.0 687.0 626.0 534.0 418.0 300.0 164.0 22.0 -135.0 -281.0 -424.0 -562.0 -690.0 -796.0 -883.0 -954.0 -998.0 -1014.0 -1012.0 -989.0 -944.0 -888.0 -807.0 -720.0 -623.0 -518.0 -402.0 -275.0 -158.0 -22.0 107.0 239.0 369.0 493.0 600.0 695.0 771.0 819.0 860.0 859.0 846.0 802.0 734.0 646.0 531.0 402.0 260.0 108.0 -48.0 -195.0 -341.0 -470.0 -590.0 -688.0 -761.0 -809.0 -839.0 -837.0 -811.0 -768.0 -707.0 -629.0 -533.0 -429.0 -307.0 -183.0 -47.0 87.0 228.0 373.0 502.0 634.0 753.0 866.0 963.0 1035.0 1080.0 1109.0 1104.0 1068.0 1007.0 924.0 814.0 681.0 529.0 368.0 196.0 16.0 -153.0 -327.0 -482.0 -637.0 -776.0 -896.0 -1004.0 -1099.0 -1176.0 -1237.0 -1291.0 -1325.0 -1342.0 -1353.0 -1344.0 -1323.0 -1280.0 -1225.0 -1154.0 -1057.0 -953.0 -813.0 -666.0 -492.0 -305.0 -105.0 106.0 306.0 508.0 684.0 844.0 977.0 1072.0 1132.0 1157.0 1150.0 1107.0 1031.0 934.0 817.0 679.0 529.0 378.0 228.0 82.0 -57.0 -190.0 -302.0 -397.0 -478.0 -544.0 -590.0 -615.0 -627.0 -626.0 -602.0 -557.0 -505.0 -435.0 -351.0 -250.0 -126.0 3.0 148.0 300.0 458.0 619.0 765.0 897.0 1009.0 1100.0 1149.0 1182.0 1167.0 1120.0 1041.0 921.0 782.0 601.0 418.0 218.0 17.0 -191.0 -378.0 -554.0 -714.0 -852.0 -970.0 -1059.0 -1135.0 -1192.0 -1241.0 -1270.0 -1303.0 -1315.0 -1335.0 -1337.0 -1333.0 -1328.0 -1306.0 -1270.0 -1212.0 -1144.0 -1043.0 -922.0 -766.0 -594.0 -394.0 -180.0 51.0 285.0 516.0 732.0 921.0 1081.0 1204.0 1297.0 1327.0 1334.0 1297.0 1226.0 1128.0 996.0 857.0 703.0 548.0 376.0 220.0 74.0 -69.0 -201.0 -315.0 -419.0 -515.0 -596.0 -664.0 -712.0 -753.0 -774.0 -783.0 -766.0 -732.0 -670.0 -587.0 -484.0 -353.0 -209.0 -36.0 138.0 333.0 521.0 705.0 877.0 1024.0 1142.0 1228.0 1275.0 1277.0 1248.0 1181.0 1076.0 935.0 777.0 601.0 415.0 215.0 22.0 -160.0 -339.0 -502.0 -648.0 -775.0 -884.0 -989.0 -1073.0 -1148.0 -1213.0 -1277.0 -1331.0 -1378.0 -1422.0 -1449.0 -1472.0 -1470.0 -1455.0 -1427.0 -1366.0 -1289.0 -1185.0 -1062.0 -910.0 -730.0 -531.0 -302.0 -81.0 162.0 387.0 611.0 814.0 978.0 1121.0 1217.0 1289.0 1300.0 1291.0 1241.0 1164.0 1054.0 927.0 788.0 635.0 477.0 309.0 152.0 -12.0 -164.0 -313.0 -447.0 -578.0 -696.0 -799.0 -883.0 -942.0 -984.0 -996.0 -975.0 -928.0 -850.0 -733.0 -584.0 -411.0 -218.0 -9.0 210.0 424.0 630.0 824.0 996.0 1128.0 1236.0 1303.0 1336.0 1316.0 1361.0 1313.0 1231.0 1178.0 1045.0 999.0 796.0 628.0 452.0 285.0 63.0 -167.0 -337.0 -549.0 -678.0 -897.0 -1035.0 -1127.0 -1242.0 -1343.0 -1385.0 -1461.0 -1461.0 -1497.0 -1529.0 -1506.0 -1518.0 -1503.0 -1476.0 -1434.0 -1425.0 -1344.0 -1294.0 -1207.0 -1122.0 -1006.0 -838.0 -665.0 -478.0 -234.0 32.0 269.0 545.0 780.0 1035.0 1213.0 1352.0 1476.0 1532.0 1534.0 1475.0 1385.0 1259.0 1094.0 882.0 685.0 484.0 263.0 56.0 -135.0 -308.0 -449.0 -597.0 -709.0 -779.0 -851.0 -879.0 -890.0 -881.0 -831.0 -769.0 -678.0 -545.0 -403.0 -237.0 -41.0 158.0 369.0 586.0 794.0 997.0 1170.0 1321.0 1455.0 1536.0 1583.0 1602.0 1553.0 1469.0 1326.0 1165.0 964.0 713.0 470.0 208.0 -48.0 -319.0 -542.0 -759.0 -944.0 -1103.0 -1242.0 -1323.0 -1399.0 -1433.0 -1440.0 -1432.0 -1393.0 -1345.0 -1305.0 -1239.0 -1186.0 -1145.0 -1097.0 -1051.0 -1021.0 -982.0 -951.0 -917.0 -871.0 -846.0 -771.0 -709.0 -628.0 -532.0 -400.0 -249.0 -81.0 102.0 279.0 493.0 664.0 838.0 981.0 1090.0 1173.0 1218.0 1225.0 1194.0 1140.0 1053.0 948.0 810.0 664.0 520.0 362.0 203.0 57.0 -91.0 -216.0 -342.0 -446.0 -535.0 -613.0 -670.0 -719.0 -724.0 -731.0 -696.0 -647.0 -543.0 -420.0 -289.0 -112.0 79.0 300.0 492.0 690.0 889.0 1071.0 1205.0 1285.0 1363.0 1412.0 1393.0 1325.0 1240.0 1149.0 974.0 788.0 562.0 352.0 125.0 -140.0 -352.0 -562.0 -713.0 -880.0 -994.0 -1086.0 -1107.0 -1123.0 -1137.0 -1085.0 -1023.0 -949.0 -866.0 -789.0 -702.0 -613.0 -568.0 -511.0 -493.0 -477.0 -490.0 -508.0 -556.0 -580.0 -612.0 -669.0 -704.0 -745.0 -747.0 -757.0 -750.0 -708.0 -622.0 -537.0 -409.0 -275.0 -113.0 60.0 230.0 404.0 554.0 687.0 792.0 885.0 933.0 978.0 979.0 966.0 923.0 870.0 796.0 709.0 616.0 507.0 406.0 297.0 190.0 78.0 -12.0 -106.0 -188.0 -260.0 -293.0 -318.0 -326.0 -299.0 -232.0 -135.0 -31.0 113.0 276.0 463.0 630.0 807.0 970.0 1110.0 1208.0 1265.0 1281.0 1249.0 1175.0 1088.0 915.0 747.0 573.0 320.0 145.0 -115.0 -312.0 -514.0 -701.0 -851.0 -977.0 -1046.0 -1140.0 -1125.0 -1160.0 -1133.0 -1065.0 -1040.0 -949.0 -857.0 -798.0 -675.0 -614.0 -531.0 -454.0 -423.0 -391.0 -387.0 -405.0 -464.0 -472.0 -569.0 -625.0 -691.0 -780.0 -823.0 -888.0 -928.0 -920.0 -907.0 -868.0 -733.0 -598.0 -417.0 -220.0 -5.0 249.0 490.0 685.0 874.0 1040.0 1178.0 1280.0 1327.0 1368.0 1374.0 1340.0 1272.0 1205.0 1092.0 989.0 851.0 714.0 582.0 424.0 288.0 160.0 30.0 -94.0 -177.0 -254.0 -289.0 -322.0 -307.0 -242.0 -150.0 -47.0 107.0 277.0 447.0 624.0 758.0 896.0 992.0 1034.0 1035.0 977.0 870.0 730.0 542.0 309.0 103.0 -95.0 -321.0 -440.0 -634.0 -714.0 -796.0 -880.0 -885.0 -932.0 -891.0 -900.0 -828.0 -803.0 -694.0 -607.0 -547.0 -396.0 -329.0 -228.0 -98.0 -42.0 66.0 116.0 144.0 176.0 122.0 76.0 -43.0 -138.0 -335.0 -463.0 -645.0 -829.0 -942.0 -1129.0 -1208.0 -1293.0 -1324.0 -1311.0 -1262.0 -1153.0 -976.0 -732.0 -482.0 -183.0 133.0 444.0 788.0 1038.0 1274.0 1484.0 1618.0 1732.0 1757.0 1771.0 1738.0 1678.0 1575.0 1433.0 1298.0 1119.0 957.0 766.0 577.0 385.0 205.0 50.0 -111.0 -237.0 -337.0 -395.0 -427.0 -430.0 -404.0 -301.0 -197.0 -81.0 58.0 211.0 355.0 470.0 565.0 641.0 694.0 681.0 646.0 581.0 486.0 350.0 204.0 25.0 -134.0 -301.0 -409.0 -546.0 -573.0 -617.0 -638.0 -581.0 -610.0 -514.0 -517.0 -436.0 -430.0 -350.0 -292.0 -243.0 -130.0 -99.0 53.0 121.0 179.0 275.0 296.0 319.0 313.0 207.0 139.0 -39.0 -203.0 -453.0 -668.0 -916.0 -1125.0 -1299.0 -1510.0 -1549.0 -1641.0 -1605.0 -1576.0 -1494.0 -1343.0 -1142.0 -925.0 -682.0 -371.0 -25.0 373.0 731.0 1106.0 1486.0 1828.0 2089.0 2306.0 2418.0 2491.0 2488.0 2387.0 2252.0 2071.0 1846.0 1602.0 1324.0 1032.0 769.0 491.0 243.0 -4.0 -224.0 -415.0 -549.0 -677.0 -767.0 -801.0 -803.0 -744.0 -685.0 -565.0 -419.0 -258.0 -88.0 82.0 249.0 406.0 542.0 636.0 710.0 743.0 734.0 688.0 598.0 476.0 334.0 164.0 -13.0 -209.0 -397.0 -558.0 -719.0 -845.0 -872.0 -915.0 -896.0 -768.0 -692.0 -532.0 -418.0 -282.0 -134.0 -47.0 27.0 73.0 160.0 194.0 286.0 292.0 327.0 423.0 359.0 353.0 325.0 195.0 100.0 -73.0 -261.0 -451.0 -645.0 -822.0 -971.0 -1070.0 -1137.0 -1068.0 -1067.0 -940.0 -777.0 -627.0 -428.0 -275.0 -77.0 117.0 314.0 450.0 694.0 942.0 1166.0 1370.0 1542.0 1747.0 1849.0 1858.0 1819.0 1693.0 1543.0 1322.0 1059.0 785.0 537.0 324.0 101.0 -53.0 -206.0 -256.0 -334.0 -366.0 -387.0 -394.0 -349.0 -341.0 -293.0 -256.0 -141.0 -56.0 60.0 191.0 319.0 481.0 576.0 681.0 748.0 780.0 763.0 674.0 586.0 429.0 254.0 41.0 -161.0 -347.0 -561.0 -719.0 -871.0 -977.0 -1056.0 -1114.0 -1105.0 -1088.0 -1011.0 -919.0 -712.0 -491.0 -290.0 45.0 266.0 570.0 735.0 885.0 972.0 964.0 962.0 802.0 751.0 587.0 503.0 363.0 233.0 213.0 70.0 -2.0 -80.0 -210.0 -284.0 -448.0 -573.0 -723.0 -835.0 -919.0 -1012.0 -967.0 -960.0 -785.0 -692.0 -508.0 -306.0 -168.0 18.0 81.0 192.0 275.0 347.0 403.0 489.0 674.0 867.0 1072.0 1251.0 1417.0 1572.0 1598.0 1544.0 1371.0 1153.0 917.0 609.0 327.0 73.0 -91.0 -177.0 -224.0 -214.0 -164.0 -62.0 11.0 50.0 58.0 50.0 33.0 -38.0 -79.0 -112.0 -112.0 -72.0 -23.0 53.0 122.0 189.0 221.0 216.0 160.0 41.0 -105.0 -288.0 -458.0 -643.0 -797.0 -888.0 -936.0 -927.0 -886.0 -795.0 -667.0 -542.0 -416.0 -320.0 -207.0 -130.0 -70.0 -9.0 109.0 295.0 415.0 604.0 729.0 906.0 981.0 984.0 901.0 750.0 620.0 378.0 201.0 -9.0 -89.0 -154.0 -161.0 -113.0 -69.0 26.0 101.0 115.0 91.0 26.0 -49.0 -184.0 -323.0 -431.0 -506.0 -499.0 -507.0 -415.0 -345.0 -216.0 -141.0 -104.0 -113.0 -188.0 -279.0 -401.0 -473.0 -558.0 -552.0 -479.0 -280.0 22.0 305.0 578.0 849.0 1062.0 1159.0 1129.0 1007.0 804.0 639.0 440.0 259.0 195.0 199.0 286.0 380.0 499.0 544.0 557.0 529.0 380.0 165.0 -97.0 -320.0 -507.0 -671.0 -752.0 -765.0 -650.0 -546.0 -436.0 -320.0 -254.0 -201.0 -260.0 -328.0 -446.0 -529.0 -580.0 -603.0 -540.0 -439.0 -245.0 -49.0 144.0 309.0 421.0 491.0 458.0 370.0 249.0 102.0 -20.0 -148.0 -185.0 -173.0 -2.0 176.0 306.0 523.0 622.0 689.0 580.0 448.0 199.0 -25.0 -203.0 -409.0 -437.0 -409.0 -269.0 -93.0 121.0 329.0 461.0 552.0 539.0 394.0 239.0 -34.0 -282.0 -551.0 -743.0 -910.0 -997.0 -980.0 -979.0 -877.0 -816.0 -746.0 -713.0 -674.0 -696.0 -725.0 -724.0 -640.0 -507.0 -295.0 -27.0 312.0 738.0 1178.0 1539.0 1767.0 1937.0 1961.0 1854.0 1597.0 1285.0 942.0 670.0 439.0 256.0 141.0 108.0 90.0 31.0 -90.0 -287.0 -503.0 -726.0 -974.0 -1221.0 -1336.0 -1344.0 -1219.0 -1035.0 -774.0 -459.0 -128.0 133.0 291.0 361.0 331.0 257.0 122.0 -32.0 -156.0 -203.0 -181.0 -108.0 -10.0 99.0 201.0 252.0 208.0 98.0 -64.0 -264.0 -464.0 -628.0 -728.0 -763.0 -704.0 -569.0 -404.0 -212.0 19.0 313.0 441.0 569.0 668.0 680.0 646.0 577.0 482.0 341.0 341.0 264.0 240.0 240.0 236.0 228.0 217.0 145.0 28.0 -50.0 -117.0 -251.0 -355.0 -427.0 -502.0 -538.0 -644.0 -698.0 -758.0 -733.0 -748.0 -695.0 -598.0 -463.0 -313.0 -165.0 -9.0 79.0 150.0 223.0 298.0 341.0 423.0 510.0 648.0 797.0 1008.0 1133.0 1146.0 1083.0 974.0 703.0 346.0 -56.0 -447.0 -694.0 -857.0 -942.0 -905.0 -676.0 -500.0 -283.0 -118.0 -50.0 -38.0 -64.0 -157.0 -282.0 -338.0 -355.0 -287.0 -159.0 -42.0 112.0 249.0 299.0 276.0 165.0 17.0 -198.0 -354.0 -503.0 -590.0 -591.0 -528.0 -368.0 -228.0 -103.0 -3.0 74.0 65.0 -25.0 -126.0 -208.0 -282.0 -343.0 -353.0 -296.0 -218.0 -136.0 -52.0 -8.0 20.0 44.0 185.0 212.0 190.0 313.0 335.0 342.0 275.0 197.0 5.0 -42.0 -125.0 -290.0 -213.0 -184.0 -83.0 62.0 167.0 233.0 329.0 395.0 349.0 305.0 297.0 216.0 224.0 158.0 96.0 61.0 6.0 -34.0 -111.0 -106.0 -221.0 -231.0 -314.0 -426.0 -529.0 -667.0 -776.0 -902.0 -903.0 -890.0 -763.0 -605.0 -435.0 -174.0 147.0 413.0 499.0 563.0 602.0 460.0 336.0 175.0 -31.0 -94.0 -33.0 37.0 98.0 232.0 262.0 294.0 188.0 -108.0 -360.0 -571.0 -762.0 -912.0 -903.0 -807.0 -567.0 -284.0 -106.0 43.0 137.0 109.0 -39.0 -236.0 -443.0 -571.0 -581.0 -539.0 -409.0 -173.0 55.0 264.0 387.0 400.0 309.0 176.0 -14.0 -241.0 -393.0 -476.0 -502.0 -467.0 -378.0 -285.0 -173.0 -93.0 -85.0 -56.0 -25.0 -23.0 -2.0 143.0 434.0 579.0 745.0 900.0 1024.0 1037.0 957.0 767.0 549.0 555.0 438.0 422.0 443.0 496.0 585.0 642.0 524.0 346.0 199.0 35.0 -146.0 -285.0 -353.0 -327.0 -186.0 -153.0 -142.0 -251.0 -381.0 -653.0 -926.0 -1234.0 -1458.0 -1505.0 -1435.0 -1266.0 -1067.0 -787.0 -577.0 -382.0 -362.0 -346.0 -326.0 -309.0 -266.0 -127.0 137.0 546.0 903.0 1072.0 1228.0 1230.0 1000.0 681.0 290.0 -214.0 -421.0 -509.0 -553.0 -453.0 -301.0 -191.0 -86.0 -122.0 -363.0 -492.0 -589.0 -687.0 -658.0 -503.0 -285.0 74.0 342.0 448.0 475.0 392.0 138.0 -134.0 -417.0 -683.0 -742.0 -676.0 -552.0 -348.0 -113.0 35.0 161.0 180.0 90.0 -7.0 -41.0 -57.0 17.0 166.0 376.0 601.0 793.0 911.0 928.0 885.0 761.0 580.0 373.0 224.0 116.0 71.0 59.0 85.0 233.0 412.0 378.0 356.0 373.0 313.0 255.0 171.0 0.0 -39.0 73.0 32.0 3.0 18.0 -24.0 15.0 28.0 -92.0 -103.0 -20.0 48.0 82.0 115.0 80.0 63.0 38.0 -157.0 -383.0 -546.0 -692.0 -842.0 -937.0 -985.0 -949.0 -853.0 -763.0 -711.0 -675.0 -665.0 -672.0 -700.0 -775.0 -720.0 -566.0 -392.0 -190.0 31.0 338.0 764.0 963.0 902.0 849.0 689.0 368.0 53.0 -280.0 -607.0 -564.0 -466.0 -357.0 -126.0 38.0 92.0 144.0 31.0 -241.0 -300.0 -334.0 -284.0 -80.0 180.0 451.0 770.0 894.0 867.0 765.0 520.0 248.0 35.0 -111.0 -172.0 -51.0 124.0 329.0 493.0 595.0 646.0 634.0 514.0 405.0 339.0 289.0 249.0 238.0 240.0 222.0 127.0 -55.0 -242.0 -433.0 -606.0 -766.0 -819.0 -831.0 -752.0 -660.0 -562.0 -511.0 -465.0 -446.0 -411.0 -325.0 -10.0 258.0 390.0 707.0 864.0 945.0 937.0 800.0 449.0 379.0 253.0 64.0 93.0 33.0 54.0 151.0 152.0 26.0 36.0 -22.0 -55.0 -53.0 -83.0 -122.0 -17.0 -28.0 -115.0 -183.0 -320.0 -442.0 -563.0 -672.0 -768.0 -744.0 -762.0 -752.0 -726.0 -751.0 -785.0 -749.0 -799.0 -831.0 -656.0 -463.0 -268.0 -47.0 177.0 534.0 896.0 983.0 907.0 871.0 735.0 561.0 362.0 55.0 -19.0 120.0 246.0 356.0 469.0 480.0 531.0 537.0 294.0 99.0 85.0 106.0 177.0 279.0 342.0 481.0 565.0 438.0 224.0 28.0 -221.0 -394.0 -505.0 -612.0 -603.0 -491.0 -402.0 -367.0 -349.0 -356.0 -275.0 -228.0 -205.0 -99.0 36.0 118.0 199.0 189.0 42.0 -75.0 -219.0 -407.0 -526.0 -535.0 -447.0 -277.0 -142.0 -21.0 97.0 136.0 61.0 -21.0 -105.0 -121.0 -43.0 109.0 327.0 526.0 722.0 838.0 818.0 692.0 550.0 389.0 254.0 190.0 215.0 355.0 507.0 623.0 731.0 742.0 668.0 567.0 439.0 303.0 235.0 217.0 225.0 264.0 240.0 175.0 83.0 -67.0 -283.0 -478.0 -679.0 -829.0 -889.0 -910.0 -914.0 -865.0 -795.0 -735.0 -666.0 -645.0 -611.0 -553.0 -484.0 -424.0 -309.0 -233.0 -164.0 1.0 175.0 247.0 270.0 273.0 372.0 522.0 406.0 264.0 189.0 70.0 7.0 31.0 -112.0 -133.0 93.0 160.0 203.0 217.0 71.0 -22.0 -34.0 -216.0 -291.0 -165.0 -82.0 94.0 294.0 293.0 280.0 298.0 152.0 -13.0 -119.0 -186.0 -123.0 15.0 92.0 163.0 261.0 223.0 95.0 -72.0 -260.0 -355.0 -375.0 -372.0 -315.0 -156.0 -13.0 41.0 23.0 -39.0 -100.0 -169.0 -245.0 -266.0 -197.0 -44.0 175.0 363.0 519.0 688.0 836.0 874.0 869.0 845.0 775.0 729.0 699.0 681.0 679.0 691.0 657.0 618.0 576.0 446.0 302.0 180.0 44.0 -46.0 -58.0 -90.0 -91.0 -33.0 -3.0 46.0 67.0 21.0 2.0 -13.0 -90.0 -143.0 -154.0 -152.0 -122.0 -83.0 -72.0 -80.0 -154.0 -296.0 -466.0 -675.0 -893.0 -1070.0 -1185.0 -1262.0 -1249.0 -1207.0 -1129.0 -1091.0 -1078.0 -1069.0 -1060.0 -1064.0 -1071.0 -1011.0 -871.0 -592.0 -303.0 -5.0 286.0 680.0 1125.0 1355.0 1387.0 1379.0 1293.0 1134.0 1023.0 845.0 694.0 739.0 790.0 796.0 812.0 654.0 438.0 280.0 71.0 -122.0 -160.0 -121.0 1.0 191.0 258.0 254.0 175.0 1.0 -198.0 -377.0 -556.0 -635.0 -564.0 -466.0 -356.0 -275.0 -194.0 -112.0 -104.0 -87.0 -10.0 128.0 251.0 382.0 501.0 546.0 547.0 476.0 381.0 271.0 170.0 86.0 57.0 39.0 -21.0 -50.0 -92.0 -140.0 -171.0 -167.0 -151.0 -73.0 53.0 137.0 186.0 221.0 244.0 261.0 254.0 227.0 263.0 338.0 379.0 373.0 365.0 312.0 507.0 398.0 142.0 103.0 -159.0 -322.0 -408.0 -529.0 -718.0 -509.0 -493.0 -497.0 -324.0 -550.0 -633.0 -655.0 -783.0 -817.0 -668.0 -629.0 -437.0 -178.0 -163.0 -79.0 15.0 -52.0 -7.0 40.0 18.0 105.0 189.0 199.0 174.0 120.0 27.0 66.0 22.0 -65.0 -19.0 29.0 77.0 77.0 49.0 19.0 29.0 138.0 248.0 378.0 431.0 562.0 825.0 945.0 885.0 708.0 601.0 410.0 257.0 168.0 -33.0 -87.0 -26.0 -61.0 -136.0 -259.0 -462.0 -564.0 -558.0 -620.0 -512.0 -269.0 -123.0 118.0 239.0 159.0 85.0 18.0 -133.0 -205.0 -230.0 -276.0 -172.0 -77.0 -81.0 -127.0 -205.0 -265.0 -274.0 -341.0 -397.0 -298.0 -150.0 -52.0 48.0 106.0 166.0 238.0 247.0 288.0 325.0 342.0 380.0 405.0 333.0 281.0 234.0 153.0 117.0 92.0 61.0 76.0 73.0 57.0 60.0 3.0 -41.0 -27.0 -17.0 -25.0 59.0 110.0 179.0 238.0 205.0 186.0 173.0 117.0 43.0 28.0 -4.0 -4.0 13.0 -34.0 -66.0 -76.0 -87.0 -27.0 61.0 167.0 295.0 425.0 486.0 514.0 500.0 403.0 336.0 274.0 229.0 219.0 191.0 159.0 94.0 -12.0 -160.0 -326.0 -505.0 -640.0 -685.0 -771.0 -745.0 -656.0 -593.0 -555.0 -494.0 -444.0 -381.0 -323.0 -401.0 -353.0 -215.0 -155.0 -123.0 -76.0 -2.0 254.0 461.0 490.0 496.0 501.0 390.0 227.0 99.0 -63.0 -20.0 81.0 176.0 297.0 362.0 353.0 244.0 139.0 9.0 -40.0 3.0 46.0 136.0 181.0 225.0 195.0 95.0 45.0 1.0 22.0 65.0 124.0 175.0 234.0 245.0 187.0 168.0 159.0 213.0 281.0 314.0 355.0 396.0 366.0 232.0 80.0 -79.0 -156.0 -163.0 -177.0 -116.0 -31.0 23.0 46.0 9.0 -90.0 -153.0 -181.0 -198.0 -112.0 -13.0 69.0 171.0 198.0 174.0 119.0 2.0 -92.0 -115.0 -127.0 -117.0 -61.0 -53.0 -47.0 -50.0 -92.0 -111.0 -140.0 -119.0 -114.0 -90.0 -28.0 12.0 8.0 8.0 20.0 11.0 62.0 70.0 74.0 141.0 156.0 173.0 252.0 270.0 284.0 328.0 345.0 359.0 377.0 300.0 241.0 219.0 137.0 107.0 74.0 6.0 -58.0 -105.0 -198.0 -333.0 -437.0 -530.0 -567.0 -597.0 -633.0 -580.0 -520.0 -472.0 -442.0 -333.0 -314.0 -307.0 -249.0 -289.0 -284.0 -214.0 -56.0 48.0 213.0 370.0 642.0 860.0 830.0 768.0 637.0 503.0 394.0 326.0 231.0 310.0 422.0 434.0 446.0 375.0 237.0 107.0 -19.0 -122.0 -116.0 -72.0 -16.0 -7.0 -59.0 -133.0 -178.0 -262.0 -315.0 -304.0 -310.0 -245.0 -231.0 -277.0 -341.0 -380.0 -381.0 -332.0 -267.0 -243.0 -154.0 -114.0 -124.0 -174.0 -238.0 -265.0 -266.0 -240.0 -205.0 -129.0 -126.0 -176.0 -261.0 -348.0 -398.0 -427.0 -420.0 -343.0 -224.0 -144.0 -78.0 -66.0 -63.0 -27.0 9.0 41.0 139.0 225.0 290.0 359.0 341.0 301.0 266.0 280.0 297.0 340.0 426.0 471.0 545.0 586.0 606.0 591.0 637.0 679.0 653.0 702.0 671.0 628.0 557.0 445.0 337.0 274.0 212.0 131.0 92.0 -18.0 -117.0 -215.0 -347.0 -449.0 -462.0 -473.0 -422.0 -356.0 -338.0 -315.0 -327.0 -360.0 -419.0 -442.0 -485.0 -460.0 -437.0 -419.0 -349.0 -347.0 -355.0 -377.0 -393.0 -439.0 -482.0 -520.0 -556.0 -528.0 -426.0 -277.0 -128.0 -10.0 210.0 492.0 637.0 673.0 633.0 591.0 484.0 412.0 298.0 215.0 280.0 292.0 256.0 128.0 10.0 -104.0 -231.0 -375.0 -451.0 -409.0 -370.0 -314.0 -321.0 -407.0 -428.0 -428.0 -466.0 -423.0 -359.0 -260.0 -148.0 -111.0 -118.0 -63.0 -56.0 -123.0 -78.0 -71.0 -65.0 -35.0 -81.0 -147.0 -149.0 -144.0 -162.0 -104.0 -24.0 100.0 242.0 327.0 360.0 379.0 390.0 384.0 353.0 340.0 367.0 381.0 354.0 320.0 295.0 235.0 185.0 143.0 150.0 159.0 179.0 194.0 189.0 184.0 161.0 192.0 198.0 180.0 241.0 373.0 430.0 478.0 480.0 414.0 359.0 262.0 99.0 -9.0 -62.0 -159.0 -176.0 -222.0 -287.0 -287.0 -283.0 -325.0 -313.0 -270.0 -237.0 -140.0 -112.0 -67.0 -3.0 42.0 71.0 98.0 117.0 59.0 48.0 -53.0 -159.0 -228.0 -344.0 -378.0 -418.0 -457.0 -513.0 -550.0 -579.0 -643.0 -622.0 -670.0 -637.0 -526.0 -475.0 -409.0 -376.0 -306.0 -261.0 -138.0 -35.0 24.0 169.0 369.0 596.0 682.0 687.0 704.0 696.0 647.0 613.0 555.0 518.0 562.0 538.0 405.0 276.0 129.0 -50.0 -169.0 -325.0 -449.0 -448.0 -450.0 -493.0 -514.0 -527.0 -529.0 -467.0 -442.0 -393.0 -237.0 -127.0 -89.0 -5.0 79.0 105.0 153.0 200.0 264.0 334.0 347.0 330.0 328.0 297.0 252.0 244.0 228.0 253.0 282.0 295.0 268.0 220.0 194.0 136.0 59.0 -16.0 -20.0 -67.0 -170.0 -225.0 -312.0 -386.0 -389.0 -394.0 -417.0 -380.0 -312.0 -306.0 -263.0 -214.0 -169.0 -92.0 -1.0 120.0 192.0 284.0 338.0 346.0 359.0 383.0 408.0 416.0 463.0 437.0 409.0 369.0 278.0 188.0 120.0 72.0 59.0 91.0 103.0 114.0 106.0 71.0 6.0 -30.0 -82.0 -90.0 -103.0 -122.0 -107.0 -160.0 -198.0 -280.0 -345.0 -447.0 -550.0 -642.0 -725.0 -749.0 -773.0 -755.0 -736.0 -672.0 -589.0 -549.0 -520.0 -488.0 -450.0 -395.0 -329.0 -165.0 -16.0 124.0 237.0 387.0 593.0 661.0 688.0 648.0 646.0 594.0 556.0 537.0 434.0 512.0 531.0 437.0 311.0 176.0 28.0 -171.0 -270.0 -401.0 -423.0 -376.0 -362.0 -333.0 -341.0 -297.0 -274.0 -221.0 -156.0 -87.0 28.0 89.0 150.0 195.0 194.0 187.0 186.0 203.0 156.0 105.0 50.0 3.0 -28.0 -126.0 -167.0 -191.0 -209.0 -240.0 -261.0 -241.0 -227.0 -172.0 -174.0 -138.0 -68.0 -33.0 0.0 -16.0 12.0 -5.0 3.0 -15.0 -51.0 -15.0 -36.0 -24.0 26.0 86.0 95.0 131.0 104.0 58.0 92.0 66.0 61.0 151.0 228.0 275.0 385.0 416.0 431.0 468.0 450.0 402.0 363.0 315.0 278.0 273.0 217.0 177.0 171.0 145.0 92.0 33.0 -39.0 -128.0 -190.0 -276.0 -348.0 -409.0 -459.0 -523.0 -623.0 -704.0 -805.0 -861.0 -880.0 -887.0 -861.0 -805.0 -770.0 -733.0 -694.0 -668.0 -604.0 -550.0 -422.0 -270.0 -140.0 -18.0 86.0 194.0 328.0 598.0 677.0 750.0 919.0 887.0 852.0 770.0 683.0 557.0 568.0 532.0 375.0 406.0 312.0 212.0 102.0 -1.0 -57.0 -137.0 -129.0 -204.0 -269.0 -283.0 -317.0 -321.0 -327.0 -258.0 -187.0 -119.0 -39.0 -20.0 33.0 73.0 77.0 138.0 177.0 202.0 182.0 195.0 219.0 149.0 116.0 55.0 29.0 -32.0 -116.0 -178.0 -239.0 -229.0 -267.0 -286.0 -245.0 -182.0 -97.0 -17.0 -8.0 75.0 134.0 169.0 219.0 234.0 297.0 350.0 427.0 384.0 411.0 430.0 351.0 326.0 243.0 219.0 138.0 87.0 23.0 -83.0 -127.0 -194.0 -242.0 -287.0 -256.0 -266.0 -276.0 -268.0 -283.0 -270.0 -247.0 -234.0 -258.0 -253.0 -279.0 -352.0 -415.0 -460.0 -482.0 -459.0 -445.0 -396.0 -381.0 -369.0 -396.0 -461.0 -440.0 -441.0 -403.0 -351.0 -339.0 -289.0 -242.0 -157.0 -111.0 13.0 170.0 177.0 306.0 299.0 279.0 319.0 353.0 432.0 484.0 655.0 673.0 694.0 680.0 576.0 535.0 419.0 371.0 295.0 232.0 179.0 53.0 -13.0 -96.0 -165.0 -216.0 -241.0 -244.0 -266.0 -238.0 -219.0 -204.0 -116.0 -44.0 14.0 103.0 160.0 184.0 182.0 209.0 215.0 189.0 227.0 283.0 242.0 263.0 236.0 176.0 188.0 156.0 120.0 56.0 64.0 -15.0 -22.0 -18.0 -110.0 -56.0 -43.0 -22.0 -42.0 -49.0 -31.0 -60.0 -25.0 -58.0 -44.0 8.0 -5.0 -32.0 -103.0 -132.0 -181.0 -229.0 -239.0 -290.0 -303.0 -337.0 -438.0 -525.0 -589.0 -636.0 -667.0 -669.0 -656.0 -673.0 -652.0 -637.0 -653.0 -599.0 -564.0 -543.0 -503.0 -406.0 -313.0 -248.0 -118.0 0.0 178.0 334.0 422.0 530.0 583.0 649.0 706.0 730.0 745.0 795.0 834.0 759.0 696.0 591.0 471.0 377.0 244.0 124.0 31.0 -54.0 -162.0 -252.0 -292.0 -324.0 -316.0 -308.0 -306.0 -285.0 -296.0 -297.0 -280.0 -235.0 -198.0 -131.0 -46.0 -1.0 45.0 105.0 212.0 263.0 335.0 410.0 432.0 490.0 496.0 465.0 421.0 425.0 395.0 347.0 356.0 283.0 217.0 152.0 92.0 17.0 -32.0 -46.0 -87.0 -105.0 -138.0 -190.0 -235.0 -276.0 -295.0 -302.0 -274.0 -253.0 -242.0 -278.0 -287.0 -276.0 -320.0 -250.0 -295.0 -203.0 -141.0 -154.0 -106.0 -128.0 -112.0 -104.0 -96.0 -53.0 -18.0 -9.0 102.0 50.0 72.0 83.0 73.0 87.0 80.0 127.0 82.0 102.0 99.0 48.0 69.0 45.0 54.0 56.0 31.0 76.0 73.0 108.0 71.0 78.0 88.0 82.0 86.0 52.0 49.0 20.0 7.0 -5.0 -10.0 -7.0 19.0 23.0 25.0 43.0 52.0 63.0 93.0 107.0 118.0 134.0 168.0 160.0 174.0 217.0 203.0 202.0 212.0 222.0 144.0 206.0 156.0 64.0 191.0 -9.0 52.0 52.0 -124.0 -53.0 -218.0 -186.0 -202.0 -228.0 -179.0 -190.0 -147.0 -167.0 -179.0 -135.0 -229.0 -145.0 -190.0 -190.0 -129.0 -252.0 -124.0 -293.0 -166.0 -244.0 -245.0 -187.0 -264.0 -118.0 -182.0 -131.0 -92.0 -31.0 30.0 94.0 104.0 180.0 210.0 265.0 294.0 310.0 360.0 361.0 409.0 369.0 392.0 404.0 368.0 391.0 363.0 356.0 356.0 342.0 326.0 357.0 359.0 367.0 394.0 377.0 392.0 359.0 348.0 355.0 351.0 332.0 331.0 311.0 267.0 225.0 178.0 136.0 103.0 95.0 73.0 60.0 41.0 11.0 -25.0 -55.0 -68.0 -68.0 -69.0 -80.0 -60.0 -94.0 -125.0 -167.0 -222.0 -236.0 -277.0 -288.0 -322.0 -348.0 -368.0 -383.0 -406.0 -424.0 -418.0 -396.0 -363.0 -350.0 -299.0 -281.0 -255.0 -228.0 -216.0 -205.0 -210.0 -194.0 -180.0 -146.0 -106.0 -68.0 -40.0 -36.0 -38.0 -48.0 -44.0 -37.0 -34.0 -28.0 -20.0 -47.0 -84.0 -110.0 -144.0 -155.0 -147.0 -123.0 -106.0 -94.0 -82.0 -70.0 -35.0 -7.0 59.0 164.0 236.0 306.0 380.0 422.0 431.0 448.0 489.0 503.0 531.0 551.0 550.0 539.0 532.0 512.0 483.0 488.0 467.0 444.0 427.0 374.0 330.0 290.0 244.0 191.0 176.0 142.0 104.0 63.0 -3.0 -21.0 -78.0 -104.0 -130.0 -170.0 -198.0 -233.0 -254.0 -309.0 -347.0 -356.0 -391.0 -412.0 -410.0 -420.0 -390.0 -381.0 -344.0 -298.0 -276.0 -253.0 -220.0 -182.0 -166.0 -119.0 -87.0 -67.0 -35.0 -8.0 13.0 16.0 14.0 25.0 32.0 45.0 41.0 38.0 31.0 22.0 20.0 12.0 9.0 20.0 28.0 33.0 30.0 22.0 32.0 35.0 30.0 28.0 40.0 56.0 71.0 70.0 62.0 65.0 78.0 85.0 65.0 64.0 59.0 48.0 38.0 4.0 -11.0 -23.0 -40.0 -56.0 -62.0 -44.0 -13.0 26.0 56.0 103.0 146.0 182.0 206.0 214.0 247.0 275.0 278.0 299.0 304.0 305.0 283.0 244.0 216.0 173.0 140.0 105.0 72.0 29.0 -6.0 -59.0 -122.0 -152.0 -159.0 -188.0 -218.0 -235.0 -279.0 -329.0 -384.0 -420.0 -456.0 -496.0 -510.0 -519.0 -530.0 -530.0 -532.0 -532.0 -521.0 -494.0 -467.0 -431.0 -391.0 -356.0 -305.0 -271.0 -234.0 -185.0 -151.0 -111.0 -66.0 -25.0 10.0 37.0 53.0 67.0 78.0 76.0 72.0 67.0 81.0 94.0 115.0 142.0 173.0 203.0 232.0 267.0 310.0 358.0 413.0 463.0 498.0 540.0 571.0 585.0 609.0 643.0 662.0 667.0 658.0 622.0 576.0 517.0 463.0 420.0 385.0 354.0 299.0 238.0 174.0 82.0 16.0 -36.0 -79.0 -94.0 -117.0 -151.0 -173.0 -187.0 -205.0 -210.0 -209.0 -200.0 -202.0 -218.0 -229.0 -244.0 -258.0 -261.0 -264.0 -262.0 -251.0 -268.0 -290.0 -316.0 -333.0 -346.0 -367.0 -366.0 -356.0 -334.0 -318.0 -287.0 -257.0 -229.0 -194.0 -189.0 -181.0 -162.0 -149.0 -145.0 -125.0 -108.0 -96.0 -80.0 -91.0 -110.0 -126.0 -149.0 -178.0 -200.0 -218.0 -225.0 -233.0 -250.0 -262.0 -276.0 -272.0 -242.0 -218.0 -174.0 -136.0 -113.0 -74.0 -54.0 -35.0 -6.0 38.0 93.0 143.0 190.0 217.0 238.0 257.0 262.0 275.0 294.0 326.0 339.0 348.0 344.0 321.0 303.0 274.0 249.0 242.0 248.0 232.0 234.0 241.0 241.0 234.0 229.0 236.0 248.0 256.0 255.0 266.0 268.0 271.0 263.0 244.0 223.0 191.0 163.0 135.0 95.0 60.0 34.0 4.0 -32.0 -67.0 -101.0 -150.0 -180.0 -209.0 -230.0 -248.0 -257.0 -263.0 -281.0 -300.0 -317.0 -321.0 -325.0 -333.0 -331.0 -324.0 -326.0 -323.0 -315.0 -314.0 -292.0 -269.0 -265.0 -243.0 -216.0 -180.0 -160.0 -131.0 -91.0 -60.0 -41.0 -31.0 -21.0 -21.0 -10.0 -6.0 -16.0 -9.0 5.0 0.0 -6.0 -22.0 -38.0 -52.0 -66.0 -88.0 -93.0 -76.0 -63.0 -45.0 -20.0 1.0 22.0 39.0 45.0 45.0 40.0 45.0 37.0 28.0 20.0 10.0 -5.0 -23.0 -49.0 -70.0 -84.0 -102.0 -120.0 -117.0 -110.0 -106.0 -87.0 -73.0 -51.0 -29.0 -13.0 7.0 27.0 47.0 62.0 63.0 65.0 66.0 76.0 80.0 80.0 92.0 97.0 91.0 53.0 28.0 2.0 -32.0 -60.0 -85.0 -104.0 -128.0 -147.0 -168.0 -190.0 -209.0 -216.0 -218.0 -204.0 -200.0 -186.0 -161.0 -136.0 -107.0 -75.0 -28.0 14.0 51.0 82.0 96.0 118.0 125.0 126.0 131.0 131.0 141.0 142.0 136.0 128.0 124.0 109.0 105.0 104.0 105.0 114.0 121.0 131.0 135.0 135.0 150.0 164.0 164.0 175.0 180.0 180.0 170.0 155.0 141.0 127.0 109.0 91.0 77.0 59.0 41.0 31.0 24.0 18.0 14.0 16.0 13.0 0.0 -15.0 -43.0 -59.0 -73.0 -93.0 -109.0 -116.0 -132.0 -157.0 -178.0 -209.0 -233.0 -252.0 -266.0 -288.0 -301.0 -304.0 -319.0 -330.0 -334.0 -331.0 -319.0 -312.0 -306.0 -285.0 -257.0 -234.0 -204.0 -169.0 -131.0 -100.0 -79.0 -72.0 -62.0 -53.0 -59.0 -58.0 -51.0 -50.0 -50.0 -56.0 -68.0 -67.0 -70.0 -77.0 -77.0 -70.0 -63.0 -52.0 -42.0 -28.0 1.0 21.0 50.0 80.0 102.0 122.0 142.0 162.0 175.0 192.0 207.0 202.0 206.0 200.0 185.0 171.0 171.0 163.0 146.0 135.0 134.0 124.0 111.0 107.0 89.0 82.0 75.0 68.0 57.0 56.0 61.0 60.0 60.0 56.0 62.0 60.0 49.0 42.0 40.0 40.0 42.0 54.0 71.0 82.0 104.0 122.0 133.0 154.0 179.0 190.0 203.0 211.0 205.0 200.0 182.0 161.0 137.0 109.0 89.0 64.0 27.0 -13.0 -48.0 -95.0 -147.0 -197.0 -238.0 -272.0 -305.0 -320.0 -341.0 -355.0 -365.0 -368.0 -382.0 -381.0 -369.0 -353.0 -334.0 -316.0 -292.0 -270.0 -254.0 -237.0 -213.0 -196.0 -174.0 -151.0 -136.0 -124.0 -106.0 -91.0 -84.0 -74.0 -55.0 -35.0 -20.0 -2.0 26.0 47.0 59.0 73.0 85.0 98.0 108.0 116.0 121.0 135.0 142.0 143.0 127.0 116.0 107.0 97.0 74.0 66.0 43.0 59.0 71.0 58.0 91.0 75.0 99.0 104.0 106.0 107.0 103.0 99.0 79.0 78.0 76.0 81.0 69.0 74.0 63.0 44.0 18.0 -16.0 -44.0 -88.0 -103.0 -132.0 -149.0 -150.0 -163.0 -162.0 -175.0 -171.0 -166.0 -143.0 -122.0 -89.0 -51.0 -10.0 22.0 56.0 97.0 132.0 165.0 181.0 203.0 208.0 206.0 190.0 174.0 155.0 137.0 118.0 94.0 81.0 63.0 44.0 27.0 12.0 6.0 9.0 14.0 24.0 36.0 44.0 44.0 50.0 53.0 52.0 50.0 52.0 46.0 41.0 38.0 31.0 19.0 5.0 -6.0 -24.0 -44.0 -70.0 -91.0 -110.0 -123.0 -133.0 -140.0 -142.0 -142.0 -141.0 -141.0 -135.0 -123.0 -107.0 -97.0 -82.0 -63.0 -46.0 -37.0 -32.0 -16.0 -2.0 17.0 34.0 41.0 51.0 61.0 76.0 95.0 113.0 130.0 144.0 158.0 167.0 165.0 167.0 173.0 166.0 166.0 170.0 162.0 155.0 143.0 129.0 120.0 102.0 83.0 66.0 50.0 33.0 9.0 -17.0 -33.0 -41.0 -50.0 -52.0 -54.0 -51.0 -47.0 -48.0 -51.0 -52.0 -51.0 -49.0 -41.0 -28.0 -17.0 -6.0 6.0 6.0 6.0 13.0 14.0 14.0 11.0 20.0 31.0 29.0 38.0 53.0 58.0 69.0 84.0 91.0 101.0 108.0 117.0 116.0 116.0 118.0 117.0 118.0 121.0 134.0 135.0 133.0 131.0 114.0 95.0 77.0 57.0 41.0 32.0 27.0 22.0 21.0 15.0 6.0 4.0 6.0 14.0 28.0 40.0 56.0 70.0 81.0 90.0 89.0 96.0 103.0 106.0 109.0 110.0 111.0 107.0 110.0 114.0 117.0 124.0 129.0 127.0 124.0 117.0 105.0 96.0 95.0 93.0 90.0 92.0 98.0 98.0 98.0 99.0 92.0 88.0 88.0 79.0 70.0 62.0 57.0 63.0 47.0 36.0 23.0 2.0 -9.0 -25.0 -36.0 -34.0 -36.0 -43.0 -48.0 -51.0 -62.0 -73.0 -75.0 -80.0 -69.0 -57.0 -53.0 -47.0 -39.0 -36.0 -30.0 -18.0 -4.0 11.0 21.0 29.0 36.0 39.0 39.0 46.0 52.0 58.0 66.0 76.0 80.0 82.0 85.0 82.0 81.0 84.0 89.0 84.0 82.0 84.0 78.0 75.0 71.0 64.0 61.0 65.0 65.0 58.0 47.0 41.0 36.0 23.0 20.0 14.0 13.0 21.0 20.0 29.0 38.0 46.0 61.0 78.0 93.0 113.0 132.0 143.0 159.0 162.0 166.0 165.0 161.0 159.0 148.0 144.0 137.0 134.0 122.0 109.0 103.0 91.0 88.0 74.0 62.0 49.0 34.0 13.0 -4.0 -14.0 -31.0 -38.0 -55.0 -58.0 -67.0 -82.0 -94.0 -112.0 -117.0 -131.0 -135.0 -136.0 -131.0 -127.0 -120.0 -112.0 -109.0 -104.0 -90.0 -78.0 -64.0 -46.0 -28.0 -13.0 -6.0 8.0 19.0 22.0 24.0 27.0 27.0 34.0 33.0 22.0 24.0 22.0 15.0 18.0 22.0 24.0 27.0 30.0 30.0 24.0 23.0 13.0 5.0 4.0 3.0 1.0 9.0 12.0 17.0 19.0 19.0 23.0 40.0 47.0 59.0 73.0 72.0 84.0 75.0 97.0 87.0 96.0 103.0 101.0 104.0 96.0 80.0 146.0 153.0 93.0 84.0 -10.0 40.0 54.0 60.0 56.0 51.0 94.0 93.0 110.0 68.0 40.0 -4.0 6.0 -13.0 -5.0 -12.0 -28.0 -6.0 -47.0 -50.0 -62.0 -59.0 -64.0 -37.0 -78.0 -35.0 -61.0 -65.0 -20.0 -77.0 -26.0 -57.0 -46.0 -46.0 -65.0 -65.0 -51.0 -60.0 -51.0 -63.0 -57.0 -62.0 -79.0 -47.0 -73.0 -30.0 -31.0 -28.0 13.0 1.0 -1.0 26.0 5.0 14.0 55.0 33.0 63.0 78.0 44.0 73.0 59.0 50.0 58.0 47.0 72.0 67.0 59.0 100.0 45.0 123.0 85.0 60.0 152.0 40.0 160.0 104.0 109.0 114.0 102.0 99.0 88.0 100.0 45.0 109.0 24.0 88.0 109.0 133.0 79.0 84.0 2.0 1.0 2.0 -32.0 2.0 -45.0 38.0 -30.0 57.0 -22.0 -14.0 -15.0 -80.0 -73.0 -88.0 -74.0 -78.0 -35.0 -64.0 -58.0 -32.0 0.0 -26.0 31.0 10.0 -12.0 29.0 15.0 14.0 41.0 34.0 16.0 46.0 22.0 2.0 18.0 -7.0 -17.0 27.0 -44.0 30.0 -15.0 -10.0 48.0 -31.0 41.0 -1.0 17.0 35.0 1.0 31.0 47.0 -16.0 49.0 -20.0 17.0 14.0 -5.0 3.0 -13.0 -6.0 -27.0 28.0 -6.0 21.0 -4.0 28.0 17.0 43.0 3.0 49.0 13.0 66.0 31.0 46.0 65.0 26.0 102.0 8.0 68.0 66.0 0.0 63.0 -11.0 -25.0 24.0 -49.0 -4.0 -34.0 -39.0 -27.0 -2.0 -73.0 14.0 -107.0 -39.0 -70.0 -104.0 -23.0 -183.0 10.0 -183.0 -37.0 -50.0 -175.0 -6.0 -139.0 -86.0 -38.0 -126.0 -41.0 -13.0 -125.0 75.0 -107.0 -4.0 55.0 -111.0 95.0 -99.0 22.0 4.0 -63.0 44.0 -80.0 -63.0 19.0 -138.0 -9.0 -49.0 -129.0 30.0 -127.0 2.0 -80.0 -4.0 -56.0 -8.0 -11.0 -19.0 45.0 -21.0 59.0 -20.0 54.0 -11.0 108.0 -16.0 142.0 44.0 96.0 152.0 60.0 205.0 46.0 219.0 59.0 162.0 94.0 33.0 153.0 17.0 93.0 -6.0 9.0 -22.0 -50.0 17.0 -152.0 -24.0 -157.0 -82.0 -103.0 -189.0 -50.0 -231.0 -114.0 -117.0 -180.0 -103.0 -88.0 -194.0 -26.0 -153.0 -108.0 -70.0 -148.0 -77.0 -143.0 -87.0 -130.0 -156.0 -108.0 -137.0 -168.0 -70.0 -238.0 -139.0 -168.0 -177.0 -134.0 -188.0 -191.0 -198.0 -90.0 -199.0 -26.0 -164.0 -94.0 -77.0 -112.0 -6.0 -122.0 55.0 -144.0 -8.0 36.0 -125.0 101.0 -52.0 -34.0 101.0 -74.0 72.0 -23.0 -8.0 65.0 -75.0 72.0 10.0 -62.0 156.0 -92.0 89.0 84.0 -160.0 224.0 -183.0 42.0 65.0 -81.0 26.0 -22.0 -52.0 23.0 28.0 -47.0 65.0 -51.0 47.0 6.0 47.0 -33.0 104.0 -87.0 19.0 84.0 -64.0 82.0 -40.0 -7.0 -32.0 54.0 -81.0 -12.0 -56.0 -91.0 19.0 -127.0 14.0 -138.0 -2.0 -54.0 -88.0 14.0 -152.0 -35.0 -74.0 -67.0 -177.0 89.0 -261.0 87.0 -120.0 -109.0 47.0 -232.0 102.0 -321.0 93.0 -269.0 -63.0 -111.0 -191.0 -48.0 -197.0 -7.0 -169.0 -58.0 -170.0 -107.0 -92.0 -124.0 -75.0 -99.0 -133.0 -6.0 -143.0 -97.0 3.0 -149.0 14.0 -120.0 3.0 -3.0 -149.0 76.0 -169.0 -32.0 25.0 -75.0 -10.0 15.0 -165.0 58.0 -70.0 -68.0 -5.0 -65.0 28.0 -13.0 -16.0 -78.0 21.0 -137.0 161.0 -218.0 182.0 -194.0 8.0 68.0 -280.0 300.0 -380.0 70.0 -79.0 -221.0 112.0 -199.0 -156.0 -54.0 -271.0 -32.0 -72.0 -301.0 86.0 -355.0 66.0 -234.0 -114.0 -55.0 -327.0 121.0 -318.0 94.0 -144.0 -29.0 -182.0 85.0 -242.0 23.0 -53.0 -167.0 11.0 -237.0 212.0 -328.0 170.0 -121.0 -123.0 95.0 -51.0 -144.0 94.0 -62.0 -80.0 158.0 -223.0 134.0 -147.0 56.0 84.0 -74.0 150.0 -128.0 113.0 -96.0 183.0 -186.0 113.0 -30.0 -94.0 238.0 -184.0 378.0 -290.0 290.0 -118.0 60.0 145.0 -163.0 320.0 -180.0 200.0 -29.0 2.0 11.0 153.0 -187.0 204.0 -134.0 75.0 33.0 -147.0 285.0 -445.0 351.0 -278.0 -4.0 -30.0 -15.0 -170.0 70.0 -129.0 -115.0 105.0 -286.0 207.0 -510.0 282.0 -301.0 -106.0 111.0 -505.0 151.0 -265.0 -229.0 49.0 -497.0 36.0 -272.0 -279.0 3.0 -421.0 -201.0 -118.0 -394.0 -176.0 -60.0 -570.0 254.0 -578.0 -87.0 -73.0 -564.0 235.0 -579.0 90.0 -182.0 -281.0 99.0 -291.0 -142.0 74.0 -191.0 -173.0 170.0 -467.0 301.0 -176.0 -44.0 320.0 -430.0 508.0 -361.0 250.0 265.0 -260.0 461.0 -74.0 185.0 241.0 36.0 198.0 125.0 149.0 188.0 -32.0 299.0 50.0 77.0 320.0 -134.0 232.0 115.0 -185.0 506.0 -251.0 319.0 35.0 -22.0 231.0 -177.0 413.0 -107.0 194.0 -77.0 271.0 -312.0 467.0 -113.0 -35.0 297.0 -379.0 318.0 -229.0 165.0 -118.0 135.0 -142.0 69.0 -32.0 -154.0 221.0 -82.0 -238.0 185.0 -275.0 -6.0 167.0 -393.0 376.0 -464.0 109.0 130.0 -480.0 426.0 -255.0 -161.0 354.0 -603.0 214.0 -52.0 -302.0 323.0 -386.0 63.0 -42.0 -189.0 114.0 -161.0 96.0 -311.0 -67.0 43.0 -237.0 192.0 -235.0 49.0 -188.0 54.0 -83.0 12.0 22.0 -29.0 -219.0 236.0 -181.0 -21.0 375.0 -537.0 662.0 -582.0 563.0 -168.0 69.0 384.0 -442.0 461.0 -358.0 418.0 -265.0 359.0 -26.0 -133.0 460.0 -193.0 163.0 171.0 3.0 172.0 42.0 17.0 308.0 -204.0 410.0 39.0 -262.0 599.0 -471.0 388.0 128.0 -238.0 554.0 -551.0 395.0 31.0 -275.0 493.0 -296.0 -38.0 370.0 -393.0 439.0 -286.0 49.0 108.0 -264.0 366.0 -394.0 287.0 -218.0 186.0 -246.0 279.0 -246.0 153.0 -94.0 58.0 270.0 -536.0 772.0 -730.0 521.0 -179.0 191.0 59.0 -86.0 176.0 -308.0 460.0 -326.0 505.0 -431.0 218.0 67.0 -113.0 328.0 -190.0 45.0 -76.0 306.0 -215.0 363.0 -149.0 17.0 359.0 -364.0 530.0 -147.0 155.0 351.0 -274.0 445.0 -108.0 220.0 245.0 -66.0 203.0 24.0 192.0 38.0 189.0 -167.0 403.0 -236.0 416.0 -55.0 -118.0 544.0 -536.0 557.0 -255.0 171.0 -87.0 73.0 -110.0 119.0 -60.0 -68.0 156.0 -361.0 404.0 -410.0 229.0 -129.0 -77.0 8.0 -82.0 -128.0 81.0 -228.0 105.0 -120.0 -328.0 311.0 -505.0 271.0 -207.0 -220.0 66.0 -128.0 -97.0 64.0 -143.0 -101.0 -69.0 -50.0 25.0 -44.0 110.0 -196.0 123.0 -46.0 114.0 -42.0 74.0 -11.0 87.0 20.0 68.0 173.0 -31.0 240.0 -81.0 290.0 -102.0 268.0 150.0 -145.0 301.0 95.0 1.0 249.0 63.0 -41.0 222.0 -32.0 170.0 -75.0 286.0 -62.0 -37.0 389.0 -201.0 260.0 66.0 -43.0 252.0 1.0 107.0 221.0 55.0 213.0 177.0 -78.0 405.0 -88.0 236.0 155.0 -102.0 289.0 -174.0 406.0 -119.0 130.0 115.0 -23.0 84.0 -3.0 -9.0 11.0 135.0 -154.0 83.0 -102.0 83.0 -150.0 171.0 -240.0 54.0 41.0 -272.0 315.0 -322.0 64.0 58.0 -279.0 34.0 38.0 -243.0 227.0 -205.0 -83.0 46.0 -276.0 258.0 -367.0 79.0 -109.0 -258.0 45.0 -183.0 -88.0 0.0 -98.0 -196.0 36.0 -219.0 139.0 -166.0 -59.0 -5.0 -144.0 111.0 43.0 14.0 -20.0 101.0 -58.0 116.0 7.0 138.0 27.0 73.0 41.0 113.0 126.0 66.0 224.0 -129.0 293.0 -106.0 200.0 184.0 -30.0 233.0 -68.0 180.0 26.0 128.0 105.0 88.0 79.0 179.0 -44.0 183.0 110.0 -34.0 275.0 -148.0 100.0 56.0 13.0 177.0 66.0 -36.0 159.0 -60.0 47.0 251.0 -118.0 164.0 -29.0 89.0 96.0 122.0 179.0 12.0 112.0 141.0 58.0 117.0 267.0 -40.0 342.0 -6.0 239.0 148.0 79.0 334.0 59.0 136.0 96.0 172.0 -39.0 369.0 -137.0 99.0 -35.0 -74.0 -92.0 -258.0 -18.0 -335.0 -88.0 -386.0 -227.0 -354.0 -184.0 -423.0 -375.0 -295.0 -630.0 -192.0 -479.0 -390.0 -300.0 -471.0 -329.0 -313.0 -312.0 -136.0 -162.0 -153.0 5.0 -70.0 126.0 254.0 170.0 274.0 390.0 343.0 494.0 600.0 573.0 710.0 590.0 730.0 718.0 800.0 981.0 691.0 786.0 850.0 698.0 849.0 732.0 587.0 650.0 474.0 496.0 404.0 247.0 244.0 36.0 -30.0 -202.0 -323.0 -338.0 -525.0 -518.0 -719.0 -807.0 -786.0 -915.0 -952.0 -978.0 -1069.0 -1064.0 -1110.0 -1119.0 -1082.0 -1013.0 -915.0 -895.0 -675.0 -690.0 -377.0 -198.0 -178.0 38.0 64.0 318.0 462.0 632.0 834.0 759.0 999.0 1154.0 1113.0 1303.0 1281.0 1209.0 1211.0 1177.0 1078.0 1077.0 874.0 813.0 596.0 421.0 376.0 87.0 144.0 -97.0 -209.0 -279.0 -356.0 -444.0 -472.0 -394.0 -477.0 -401.0 -348.0 -262.0 -147.0 -1.0 97.0 159.0 260.0 348.0 392.0 505.0 467.0 463.0 372.0 357.0 297.0 199.0 98.0 -173.0 -115.0 -365.0 -553.0 -695.0 -895.0 -1055.0 -1115.0 -1145.0 -1370.0 -1314.0 -1293.0 -1182.0 -997.0 -925.0 -935.0 -669.0 -401.0 -263.0 119.0 267.0 425.0 809.0 956.0 1080.0 1401.0 1460.0 1501.0 1598.0 1638.0 1495.0 1495.0 1486.0 1165.0 1038.0 879.0 687.0 504.0 277.0 -8.0 -193.0 -350.0 -453.0 -616.0 -806.0 -801.0 -911.0 -860.0 -860.0 -861.0 -757.0 -751.0 -621.0 -542.0 -457.0 -372.0 -271.0 -343.0 -292.0 -185.0 -281.0 -361.0 -429.0 -364.0 -515.0 -585.0 -690.0 -864.0 -853.0 -809.0 -836.0 -977.0 -842.0 -767.0 -743.0 -622.0 -497.0 -331.0 -165.0 129.0 219.0 425.0 756.0 982.0 1154.0 1225.0 1440.0 1562.0 1687.0 1724.0 1679.0 1621.0 1536.0 1425.0 1203.0 1063.0 803.0 505.0 315.0 87.0 -148.0 -371.0 -557.0 -710.0 -865.0 -885.0 -1044.0 -1018.0 -952.0 -981.0 -860.0 -749.0 -593.0 -515.0 -353.0 -282.0 -94.0 -22.0 109.0 144.0 47.0 129.0 79.0 -44.0 -218.0 -247.0 -370.0 -476.0 -722.0 -915.0 -1113.0 -1087.0 -1189.0 -1330.0 -1267.0 -1373.0 -1171.0 -1143.0 -957.0 -794.0 -568.0 -331.0 -78.0 221.0 444.0 903.0 1066.0 1317.0 1539.0 1695.0 1879.0 1997.0 2027.0 2011.0 1992.0 1835.0 1675.0 1499.0 1304.0 959.0 697.0 393.0 157.0 -72.0 -371.0 -535.0 -710.0 -942.0 -1079.0 -1003.0 -1142.0 -1083.0 -988.0 -1027.0 -842.0 -672.0 -555.0 -427.0 -215.0 -166.0 -53.0 72.0 154.0 138.0 75.0 134.0 -65.0 -222.0 -344.0 -470.0 -574.0 -732.0 -968.0 -1174.0 -1244.0 -1320.0 -1374.0 -1349.0 -1302.0 -1264.0 -1112.0 -976.0 -754.0 -497.0 -230.0 57.0 308.0 571.0 937.0 1256.0 1468.0 1659.0 1754.0 1865.0 1951.0 1999.0 1946.0 1851.0 1666.0 1484.0 1249.0 965.0 708.0 417.0 72.0 -247.0 -468.0 -695.0 -855.0 -994.0 -1049.0 -1208.0 -1154.0 -1154.0 -1111.0 -865.0 -793.0 -632.0 -464.0 -241.0 -67.0 184.0 359.0 467.0 624.0 653.0 704.0 668.0 609.0 513.0 279.0 93.0 -214.0 -288.0 -464.0 -716.0 -975.0 -1284.0 -1362.0 -1497.0 -1520.0 -1610.0 -1577.0 -1482.0 -1356.0 -1251.0 -941.0 -626.0 -382.0 -41.0 228.0 479.0 908.0 1279.0 1428.0 1648.0 1757.0 1880.0 1964.0 2085.0 1923.0 1848.0 1771.0 1461.0 1248.0 1015.0 752.0 455.0 130.0 -220.0 -373.0 -507.0 -706.0 -815.0 -915.0 -932.0 -927.0 -864.0 -800.0 -708.0 -512.0 -414.0 -240.0 -101.0 141.0 267.0 441.0 544.0 554.0 647.0 586.0 534.0 397.0 294.0 55.0 -146.0 -417.0 -657.0 -759.0 -947.0 -1186.0 -1480.0 -1603.0 -1756.0 -1732.0 -1685.0 -1724.0 -1589.0 -1455.0 -1137.0 -895.0 -541.0 -251.0 102.0 443.0 747.0 1091.0 1357.0 1709.0 1802.0 2004.0 2025.0 2092.0 2133.0 2069.0 1946.0 1746.0 1530.0 1220.0 1011.0 678.0 384.0 76.0 -209.0 -501.0 -691.0 -766.0 -916.0 -988.0 -974.0 -1029.0 -969.0 -752.0 -685.0 -515.0 -353.0 -251.0 -47.0 271.0 410.0 539.0 694.0 705.0 823.0 766.0 733.0 635.0 457.0 243.0 -4.0 -216.0 -517.0 -790.0 -1109.0 -1371.0 -1443.0 -1691.0 -1984.0 -2137.0 -2244.0 -2208.0 -2111.0 -2019.0 -1985.0 -1609.0 -1228.0 -940.0 -560.0 -253.0 188.0 575.0 991.0 1238.0 1472.0 1885.0 1985.0 2123.0 2203.0 2235.0 2303.0 2199.0 2019.0 1800.0 1689.0 1386.0 1135.0 791.0 443.0 212.0 -70.0 -296.0 -574.0 -649.0 -752.0 -904.0 -918.0 -946.0 -876.0 -768.0 -709.0 -580.0 -399.0 -197.0 -121.0 51.0 244.0 421.0 554.0 524.0 521.0 544.0 567.0 498.0 342.0 152.0 -71.0 -233.0 -382.0 -675.0 -906.0 -1172.0 -1268.0 -1424.0 -1657.0 -1791.0 -1900.0 -1894.0 -1847.0 -1737.0 -1688.0 -1437.0 -1181.0 -760.0 -411.0 -111.0 226.0 507.0 855.0 1204.0 1454.0 1597.0 1852.0 1890.0 1955.0 2006.0 2034.0 1890.0 1779.0 1652.0 1378.0 1187.0 976.0 650.0 385.0 179.0 -157.0 -341.0 -500.0 -711.0 -859.0 -945.0 -1043.0 -1050.0 -985.0 -891.0 -806.0 -678.0 -495.0 -338.0 -194.0 -40.0 3.0 216.0 320.0 381.0 546.0 574.0 628.0 577.0 520.0 361.0 239.0 43.0 -177.0 -401.0 -581.0 -780.0 -1011.0 -1169.0 -1255.0 -1356.0 -1540.0 -1699.0 -1758.0 -1692.0 -1605.0 -1393.0 -1269.0 -1012.0 -554.0 -212.0 35.0 396.0 705.0 975.0 1286.0 1474.0 1603.0 1831.0 1984.0 2000.0 2028.0 1948.0 1827.0 1692.0 1551.0 1260.0 1031.0 762.0 475.0 249.0 -93.0 -346.0 -544.0 -765.0 -964.0 -1109.0 -1231.0 -1188.0 -1136.0 -1170.0 -1084.0 -895.0 -823.0 -611.0 -350.0 -249.0 -2.0 248.0 359.0 516.0 748.0 754.0 793.0 883.0 771.0 691.0 659.0 554.0 344.0 161.0 -38.0 -294.0 -498.0 -738.0 -1043.0 -1262.0 -1362.0 -1482.0 -1645.0 -1734.0 -1796.0 -1763.0 -1545.0 -1368.0 -1129.0 -915.0 -536.0 -155.0 122.0 552.0 817.0 1114.0 1316.0 1540.0 1671.0 1772.0 1945.0 1843.0 1820.0 1695.0 1554.0 1410.0 1271.0 988.0 633.0 481.0 135.0 -107.0 -310.0 -562.0 -735.0 -837.0 -1036.0 -1144.0 -1119.0 -1140.0 -1002.0 -941.0 -886.0 -696.0 -477.0 -342.0 -131.0 156.0 330.0 476.0 617.0 663.0 821.0 927.0 850.0 796.0 714.0 593.0 485.0 365.0 163.0 -15.0 -206.0 -379.0 -599.0 -832.0 -1016.0 -1198.0 -1422.0 -1568.0 -1552.0 -1551.0 -1549.0 -1582.0 -1485.0 -1285.0 -1020.0 -733.0 -541.0 -127.0 297.0 542.0 811.0 1117.0 1334.0 1493.0 1635.0 1624.0 1603.0 1723.0 1656.0 1453.0 1372.0 1183.0 986.0 798.0 560.0 308.0 136.0 -106.0 -370.0 -518.0 -686.0 -745.0 -852.0 -935.0 -949.0 -955.0 -960.0 -905.0 -755.0 -614.0 -511.0 -339.0 -136.0 -36.0 223.0 402.0 479.0 708.0 835.0 765.0 773.0 880.0 752.0 728.0 680.0 478.0 394.0 334.0 183.0 10.0 -105.0 -308.0 -465.0 -621.0 -780.0 -947.0 -1118.0 -1336.0 -1353.0 -1340.0 -1387.0 -1401.0 -1403.0 -1289.0 -1084.0 -872.0 -711.0 -429.0 -156.0 174.0 345.0 588.0 771.0 942.0 1074.0 1176.0 1156.0 1149.0 1296.0 1176.0 1103.0 990.0 910.0 754.0 729.0 489.0 243.0 145.0 -48.0 -207.0 -361.0 -458.0 -633.0 -649.0 -784.0 -930.0 -952.0 -979.0 -969.0 -873.0 -820.0 -794.0 -625.0 -447.0 -352.0 -156.0 34.0 105.0 259.0 414.0 487.0 603.0 736.0 701.0 719.0 756.0 728.0 698.0 697.0 622.0 487.0 420.0 319.0 169.0 -27.0 -184.0 -353.0 -582.0 -869.0 -1010.0 -1016.0 -1135.0 -1229.0 -1281.0 -1284.0 -1167.0 -1033.0 -946.0 -750.0 -512.0 -249.0 -114.0 76.0 326.0 492.0 649.0 645.0 757.0 784.0 948.0 941.0 881.0 893.0 840.0 784.0 633.0 562.0 377.0 325.0 165.0 -42.0 -166.0 -237.0 -386.0 -526.0 -632.0 -735.0 -796.0 -890.0 -928.0 -927.0 -813.0 -726.0 -693.0 -577.0 -420.0 -255.0 -83.0 66.0 229.0 390.0 602.0 698.0 772.0 846.0 924.0 933.0 932.0 932.0 847.0 834.0 756.0 652.0 534.0 437.0 222.0 2.0 -160.0 -375.0 -590.0 -816.0 -1003.0 -1111.0 -1215.0 -1316.0 -1387.0 -1368.0 -1347.0 -1311.0 -1182.0 -1082.0 -883.0 -667.0 -479.0 -329.0 -67.0 75.0 170.0 350.0 485.0 510.0 618.0 771.0 706.0 828.0 802.0 702.0 692.0 690.0 500.0 367.0 325.0 152.0 85.0 -45.0 -242.0 -398.0 -436.0 -576.0 -715.0 -733.0 -795.0 -778.0 -761.0 -696.0 -575.0 -446.0 -293.0 -136.0 39.0 224.0 508.0 659.0 812.0 980.0 1095.0 1174.0 1232.0 1281.0 1237.0 1235.0 1182.0 1112.0 1010.0 926.0 758.0 576.0 421.0 181.0 -22.0 -253.0 -478.0 -752.0 -987.0 -1267.0 -1375.0 -1442.0 -1572.0 -1619.0 -1686.0 -1648.0 -1600.0 -1430.0 -1299.0 -1107.0 -864.0 -596.0 -406.0 -186.0 87.0 264.0 459.0 581.0 675.0 763.0 941.0 938.0 947.0 969.0 875.0 754.0 700.0 532.0 368.0 344.0 125.0 -85.0 -165.0 -265.0 -436.0 -461.0 -577.0 -673.0 -659.0 -666.0 -654.0 -555.0 -424.0 -313.0 -154.0 9.0 208.0 351.0 518.0 697.0 851.0 940.0 1107.0 1183.0 1197.0 1196.0 1122.0 1010.0 939.0 898.0 705.0 577.0 443.0 305.0 139.0 2.0 -191.0 -386.0 -512.0 -718.0 -880.0 -1037.0 -1181.0 -1330.0 -1368.0 -1408.0 -1464.0 -1363.0 -1340.0 -1259.0 -1144.0 -992.0 -848.0 -637.0 -463.0 -270.0 0.0 120.0 272.0 380.0 483.0 535.0 642.0 593.0 597.0 581.0 498.0 470.0 358.0 266.0 195.0 149.0 -22.0 -36.0 -71.0 -129.0 -127.0 -195.0 -250.0 -245.0 -216.0 -277.0 -256.0 -186.0 -162.0 -89.0 -13.0 89.0 200.0 299.0 403.0 487.0 595.0 652.0 776.0 807.0 860.0 933.0 889.0 913.0 852.0 805.0 707.0 719.0 591.0 524.0 465.0 359.0 306.0 151.0 100.0 -68.0 -133.0 -315.0 -451.0 -571.0 -738.0 -849.0 -1027.0 -1050.0 -1108.0 -1128.0 -1143.0 -1187.0 -1153.0 -1151.0 -1000.0 -982.0 -843.0 -764.0 -623.0 -387.0 -319.0 -117.0 -49.0 142.0 122.0 328.0 329.0 393.0 545.0 498.0 630.0 600.0 690.0 583.0 654.0 510.0 453.0 452.0 309.0 280.0 178.0 120.0 -48.0 -49.0 -191.0 -235.0 -226.0 -296.0 -275.0 -265.0 -235.0 -194.0 -38.0 4.0 112.0 255.0 328.0 462.0 588.0 661.0 745.0 841.0 885.0 921.0 934.0 908.0 879.0 796.0 658.0 579.0 463.0 342.0 212.0 61.0 -110.0 -268.0 -423.0 -580.0 -695.0 -827.0 -929.0 -1050.0 -1120.0 -1144.0 -1168.0 -1135.0 -1064.0 -1017.0 -946.0 -829.0 -720.0 -634.0 -432.0 -295.0 -140.0 81.0 238.0 422.0 532.0 626.0 628.0 747.0 681.0 653.0 665.0 568.0 539.0 407.0 314.0 170.0 185.0 14.0 -48.0 -51.0 -114.0 -88.0 -155.0 -145.0 -154.0 -79.0 -131.0 -68.0 34.0 56.0 159.0 207.0 284.0 379.0 462.0 442.0 507.0 573.0 543.0 601.0 608.0 574.0 591.0 536.0 439.0 337.0 300.0 167.0 64.0 7.0 -98.0 -77.0 -158.0 -167.0 -211.0 -165.0 -174.0 -134.0 -101.0 -102.0 -7.0 -34.0 -3.0 -52.0 -31.0 -74.0 -32.0 -56.0 -81.0 -43.0 -110.0 -169.0 -207.0 -270.0 -347.0 -403.0 -476.0 -503.0 -497.0 -494.0 -499.0 -479.0 -526.0 -500.0 -492.0 -463.0 -446.0 -359.0 -259.0 -150.0 -24.0 81.0 237.0 361.0 474.0 590.0 701.0 780.0 837.0 821.0 794.0 719.0 634.0 467.0 350.0 212.0 84.0 -33.0 -196.0 -325.0 -428.0 -522.0 -624.0 -639.0 -658.0 -634.0 -572.0 -464.0 -340.0 -159.0 29.0 219.0 388.0 576.0 733.0 900.0 1041.0 1153.0 1289.0 1343.0 1448.0 1464.0 1464.0 1426.0 1365.0 1209.0 1056.0 874.0 624.0 416.0 128.0 -144.0 -456.0 -674.0 -939.0 -1121.0 -1293.0 -1446.0 -1566.0 -1673.0 -1745.0 -1818.0 -1772.0 -1731.0 -1596.0 -1476.0 -1217.0 -1000.0 -728.0 -460.0 -205.0 65.0 276.0 498.0 628.0 823.0 951.0 1058.0 1059.0 1057.0 1016.0 935.0 797.0 632.0 469.0 264.0 47.0 -182.0 -377.0 -568.0 -741.0 -903.0 -989.0 -1033.0 -1000.0 -960.0 -856.0 -692.0 -506.0 -290.0 -41.0 210.0 468.0 753.0 1017.0 1276.0 1516.0 1724.0 1852.0 1986.0 2034.0 2033.0 1981.0 1876.0 1735.0 1540.0 1340.0 1109.0 860.0 588.0 357.0 107.0 -135.0 -387.0 -634.0 -845.0 -1037.0 -1225.0 -1371.0 -1503.0 -1611.0 -1652.0 -1643.0 -1609.0 -1558.0 -1443.0 -1366.0 -1248.0 -1138.0 -1022.0 -889.0 -718.0 -554.0 -415.0 -203.0 -42.0 122.0 214.0 284.0 318.0 332.0 326.0 278.0 240.0 166.0 113.0 24.0 -50.0 -106.0 -160.0 -203.0 -213.0 -201.0 -195.0 -156.0 -113.0 -69.0 5.0 85.0 155.0 256.0 363.0 465.0 607.0 738.0 851.0 960.0 1047.0 1115.0 1189.0 1217.0 1228.0 1258.0 1252.0 1221.0 1138.0 1068.0 945.0 828.0 679.0 530.0 412.0 273.0 164.0 40.0 -39.0 -129.0 -190.0 -275.0 -315.0 -375.0 -446.0 -470.0 -520.0 -559.0 -627.0 -664.0 -738.0 -788.0 -816.0 -828.0 -814.0 -806.0 -794.0 -796.0 -777.0 -791.0 -787.0 -784.0 -769.0 -738.0 -701.0 -637.0 -600.0 -501.0 -424.0 -359.0 -312.0 -256.0 -181.0 -137.0 -40.0 -14.0 84.0 192.0 274.0 354.0 416.0 506.0 539.0 608.0 621.0 652.0 666.0 631.0 604.0 547.0 539.0 479.0 449.0 427.0 410.0 402.0 372.0 399.0 391.0 396.0 391.0 407.0 421.0 431.0 454.0 443.0 486.0 486.0 472.0 466.0 482.0 505.0 487.0 487.0 478.0 449.0 425.0 388.0 342.0 296.0 273.0 211.0 121.0 68.0 -43.0 -157.0 -258.0 -369.0 -489.0 -590.0 -669.0 -755.0 -784.0 -819.0 -839.0 -857.0 -882.0 -895.0 -914.0 -902.0 -906.0 -880.0 -850.0 -792.0 -709.0 -619.0 -499.0 -403.0 -276.0 -168.0 -66.0 34.0 117.0 207.0 266.0 325.0 350.0 381.0 393.0 398.0 414.0 399.0 400.0 372.0 360.0 316.0 281.0 255.0 194.0 173.0 146.0 143.0 148.0 191.0 235.0 269.0 330.0 381.0 442.0 492.0 550.0 583.0 631.0 683.0 702.0 762.0 787.0 826.0 860.0 873.0 888.0 848.0 810.0 743.0 673.0 574.0 479.0 371.0 276.0 185.0 41.0 -69.0 -199.0 -315.0 -443.0 -557.0 -659.0 -762.0 -824.0 -908.0 -952.0 -950.0 -954.0 -954.0 -931.0 -921.0 -899.0 -855.0 -827.0 -791.0 -759.0 -707.0 -645.0 -559.0 -477.0 -396.0 -313.0 -226.0 -160.0 -109.0 -57.0 -11.0 32.0 35.0 29.0 38.0 30.0 10.0 32.0 60.0 87.0 99.0 128.0 153.0 189.0 209.0 228.0 247.0 267.0 329.0 368.0 437.0 490.0 585.0 659.0 748.0 843.0 907.0 972.0 991.0 1045.0 1007.0 1020.0 1004.0 979.0 947.0 900.0 880.0 801.0 745.0 617.0 522.0 390.0 248.0 114.0 -15.0 -131.0 -241.0 -335.0 -423.0 -493.0 -555.0 -612.0 -659.0 -674.0 -689.0 -685.0 -700.0 -674.0 -664.0 -632.0 -589.0 -544.0 -506.0 -475.0 -443.0 -442.0 -435.0 -461.0 -481.0 -528.0 -546.0 -579.0 -608.0 -606.0 -611.0 -581.0 -561.0 -532.0 -518.0 -482.0 -449.0 -422.0 -393.0 -348.0 -277.0 -231.0 -133.0 -33.0 87.0 198.0 308.0 424.0 537.0 641.0 692.0 757.0 823.0 869.0 883.0 908.0 944.0 978.0 988.0 983.0 983.0 980.0 940.0 866.0 793.0 713.0 640.0 545.0 462.0 397.0 342.0 278.0 196.0 110.0 41.0 -18.0 -88.0 -142.0 -187.0 -222.0 -254.0 -287.0 -293.0 -292.0 -275.0 -262.0 -244.0 -212.0 -203.0 -195.0 -203.0 -207.0 -239.0 -271.0 -296.0 -316.0 -337.0 -369.0 -391.0 -435.0 -463.0 -519.0 -596.0 -670.0 -736.0 -796.0 -848.0 -866.0 -889.0 -898.0 -879.0 -820.0 -746.0 -688.0 -597.0 -518.0 -434.0 -359.0 -274.0 -185.0 -105.0 0.0 81.0 203.0 305.0 425.0 487.0 584.0 668.0 699.0 787.0 770.0 794.0 791.0 791.0 776.0 760.0 739.0 696.0 686.0 654.0 628.0 540.0 497.0 403.0 341.0 250.0 138.0 70.0 -18.0 -83.0 -158.0 -209.0 -257.0 -269.0 -293.0 -280.0 -291.0 -304.0 -302.0 -286.0 -250.0 -216.0 -173.0 -136.0 -65.0 3.0 73.0 123.0 185.0 223.0 254.0 267.0 264.0 257.0 225.0 186.0 129.0 75.0 -7.0 -73.0 -153.0 -243.0 -337.0 -430.0 -538.0 -639.0 -719.0 -816.0 -873.0 -921.0 -937.0 -946.0 -925.0 -877.0 -817.0 -753.0 -681.0 -589.0 -483.0 -370.0 -268.0 -157.0 -61.0 73.0 184.0 281.0 383.0 452.0 514.0 547.0 583.0 598.0 590.0 546.0 506.0 449.0 389.0 325.0 234.0 140.0 35.0 -42.0 -141.0 -210.0 -285.0 -361.0 -421.0 -458.0 -453.0 -446.0 -417.0 -377.0 -282.0 -193.0 -64.0 69.0 180.0 313.0 434.0 564.0 666.0 784.0 859.0 912.0 968.0 996.0 1005.0 965.0 919.0 848.0 752.0 630.0 480.0 325.0 150.0 -7.0 -168.0 -353.0 -528.0 -686.0 -818.0 -935.0 -1040.0 -1129.0 -1169.0 -1185.0 -1182.0 -1132.0 -1053.0 -967.0 -909.0 -842.0 -759.0 -642.0 -521.0 -459.0 -372.0 -291.0 -241.0 -188.0 -157.0 -139.0 -143.0 -152.0 -196.0 -230.0 -241.0 -297.0 -344.0 -372.0 -411.0 -459.0 -484.0 -506.0 -512.0 -505.0 -504.0 -484.0 -465.0 -401.0 -332.0 -256.0 -133.0 -28.0 93.0 209.0 309.0 414.0 516.0 620.0 708.0 799.0 879.0 947.0 995.0 1056.0 1065.0 1046.0 1034.0 1002.0 953.0 868.0 793.0 714.0 624.0 518.0 416.0 325.0 235.0 137.0 29.0 -60.0 -140.0 -213.0 -301.0 -384.0 -462.0 -538.0 -568.0 -580.0 -591.0 -607.0 -612.0 -586.0 -554.0 -536.0 -540.0 -529.0 -519.0 -522.0 -517.0 -505.0 -523.0 -549.0 -556.0 -561.0 -551.0 -531.0 -543.0 -556.0 -567.0 -595.0 -609.0 -602.0 -596.0 -617.0 -629.0 -633.0 -601.0 -547.0 -519.0 -464.0 -401.0 -359.0 -307.0 -261.0 -214.0 -150.0 -61.0 -7.0 45.0 143.0 212.0 272.0 335.0 384.0 417.0 448.0 466.0 476.0 518.0 543.0 521.0 507.0 523.0 529.0 523.0 501.0 466.0 475.0 462.0 413.0 403.0 384.0 364.0 296.0 221.0 180.0 165.0 135.0 72.0 31.0 -13.0 -63.0 -123.0 -159.0 -180.0 -231.0 -301.0 -370.0 -381.0 -384.0 -412.0 -417.0 -426.0 -404.0 -418.0 -459.0 -423.0 -383.0 -376.0 -367.0 -359.0 -333.0 -285.0 -267.0 -253.0 -238.0 -215.0 -194.0 -188.0 -169.0 -180.0 -197.0 -202.0 -204.0 -203.0 -238.0 -286.0 -293.0 -303.0 -332.0 -350.0 -356.0 -334.0 -327.0 -322.0 -298.0 -257.0 -213.0 -195.0 -153.0 -121.0 -85.0 -39.0 26.0 81.0 141.0 202.0 255.0 325.0 368.0 394.0 414.0 439.0 438.0 422.0 425.0 439.0 418.0 385.0 354.0 319.0 276.0 204.0 131.0 75.0 5.0 -53.0 -122.0 -174.0 -225.0 -267.0 -281.0 -300.0 -318.0 -331.0 -330.0 -313.0 -267.0 -242.0 -206.0 -126.0 38.0 76.0 126.0 157.0 136.0 144.0 167.0 219.0 270.0 414.0 504.0 587.0 608.0 570.0 472.0 346.0 139.0 -77.0 -241.0 -380.0 -439.0 -493.0 -481.0 -441.0 -363.0 -350.0 -355.0 -400.0 -539.0 -630.0 -674.0 -641.0 -630.0 -518.0 -412.0 -309.0 -181.0 -127.0 -79.0 -24.0 31.0 20.0 58.0 55.0 55.0 -6.0 -46.0 -45.0 -51.0 -23.0 -27.0 19.0 34.0 46.0 -14.0 -86.0 -146.0 -227.0 -292.0 -355.0 -363.0 -348.0 -294.0 -239.0 -160.0 -95.0 -87.0 -92.0 -90.0 -124.0 -134.0 -106.0 -49.0 4.0 75.0 126.0 154.0 248.0 296.0 350.0 451.0 536.0 579.0 640.0 637.0 626.0 599.0 556.0 504.0 474.0 465.0 454.0 489.0 510.0 490.0 436.0 365.0 257.0 129.0 -15.0 -116.0 -188.0 -221.0 -250.0 -259.0 -254.0 -233.0 -277.0 -316.0 -366.0 -429.0 -468.0 -521.0 -536.0 -541.0 -513.0 -478.0 -434.0 -399.0 -367.0 -378.0 -368.0 -405.0 -424.0 -443.0 -458.0 -427.0 -414.0 -359.0 -318.0 -235.0 -206.0 -170.0 -163.0 -206.0 -236.0 -292.0 -320.0 -340.0 -304.0 -287.0 -247.0 -182.0 -174.0 -152.0 -147.0 -133.0 -130.0 -107.0 -86.0 -15.0 59.0 134.0 244.0 306.0 410.0 471.0 549.0 579.0 617.0 675.0 687.0 737.0 794.0 870.0 919.0 937.0 928.0 906.0 854.0 796.0 739.0 657.0 612.0 557.0 493.0 394.0 316.0 215.0 101.0 12.0 -98.0 -133.0 -196.0 -216.0 -253.0 -233.0 -255.0 -285.0 -266.0 -318.0 -334.0 -364.0 -382.0 -380.0 -326.0 -247.0 -193.0 -76.0 -13.0 -13.0 -20.0 -93.0 -151.0 -221.0 -260.0 -307.0 -301.0 -279.0 -238.0 -187.0 -176.0 -190.0 -251.0 -320.0 -417.0 -507.0 -593.0 -624.0 -615.0 -555.0 -443.0 -338.0 -157.0 -73.0 35.0 76.0 108.0 113.0 81.0 96.0 152.0 412.0 494.0 833.0 953.0 1043.0 1050.0 901.0 685.0 427.0 277.0 74.0 173.0 230.0 471.0 637.0 805.0 807.0 748.0 576.0 339.0 143.0 -26.0 -72.0 -43.0 146.0 299.0 542.0 649.0 740.0 688.0 572.0 414.0 230.0 103.0 9.0 42.0 70.0 178.0 265.0 332.0 343.0 253.0 147.0 -55.0 -226.0 -401.0 -512.0 -549.0 -534.0 -456.0 -393.0 -286.0 -243.0 -201.0 -243.0 -304.0 -406.0 -482.0 -539.0 -552.0 -497.0 -424.0 -286.0 -194.0 -47.0 -26.0 20.0 -32.0 -72.0 -119.0 -174.0 -153.0 -155.0 -68.0 -22.0 64.0 88.0 154.0 149.0 160.0 150.0 140.0 149.0 145.0 200.0 232.0 306.0 344.0 435.0 510.0 567.0 603.0 654.0 681.0 689.0 687.0 695.0 724.0 730.0 766.0 772.0 808.0 810.0 809.0 782.0 737.0 682.0 603.0 530.0 445.0 394.0 309.0 282.0 239.0 197.0 141.0 72.0 -21.0 -114.0 -180.0 -272.0 -293.0 -289.0 -285.0 -267.0 -217.0 -196.0 -171.0 -184.0 -204.0 -278.0 -262.0 -297.0 -294.0 -268.0 -233.0 -185.0 -156.0 -115.0 -156.0 -125.0 -173.0 -178.0 -241.0 -227.0 -286.0 -268.0 -285.0 -265.0 -218.0 -221.0 -145.0 -158.0 -137.0 -154.0 -128.0 -113.0 -88.0 -23.0 74.0 127.0 251.0 313.0 437.0 500.0 567.0 597.0 619.0 613.0 596.0 579.0 564.0 608.0 598.0 703.0 703.0 793.0 798.0 804.0 735.0 621.0 499.0 349.0 240.0 150.0 115.0 121.0 176.0 187.0 262.0 229.0 200.0 105.0 -4.0 -103.0 -179.0 -212.0 -254.0 -174.0 -164.0 -86.0 -58.0 -10.0 1.0 12.0 19.0 -47.0 -11.0 -117.0 -87.0 -153.0 -146.0 -182.0 -180.0 -216.0 -248.0 -198.0 -223.0 -166.0 -176.0 -109.0 -215.0 -210.0 -326.0 -371.0 -437.0 -431.0 -386.0 -341.0 -168.0 -97.0 31.0 88.0 140.0 146.0 184.0 156.0 199.0 204.0 226.0 261.0 304.0 356.0 396.0 489.0 513.0 550.0 558.0 516.0 456.0 372.0 296.0 251.0 222.0 222.0 228.0 255.0 305.0 313.0 308.0 319.0 244.0 216.0 151.0 128.0 96.0 86.0 92.0 46.0 70.0 66.0 46.0 35.0 36.0 8.0 29.0 13.0 -5.0 -47.0 -71.0 -123.0 -151.0 -157.0 -157.0 -94.0 -56.0 0.0 34.0 80.0 31.0 -20.0 -97.0 -178.0 -254.0 -291.0 -329.0 -336.0 -294.0 -277.0 -199.0 -137.0 -59.0 -81.0 -73.0 -170.0 -253.0 -309.0 -382.0 -370.0 -288.0 -185.0 -48.0 131.0 234.0 312.0 289.0 218.0 116.0 42.0 -42.0 27.0 41.0 127.0 230.0 282.0 281.0 286.0 280.0 160.0 117.0 12.0 21.0 -1.0 72.0 104.0 185.0 189.0 204.0 217.0 155.0 155.0 42.0 24.0 -30.0 -15.0 -5.0 43.0 47.0 30.0 32.0 26.0 57.0 33.0 11.0 1.0 1.0 -21.0 -14.0 -6.0 35.0 46.0 66.0 9.0 -36.0 -96.0 -132.0 -138.0 -138.0 -106.0 -102.0 -44.0 -81.0 -59.0 -149.0 -164.0 -245.0 -316.0 -356.0 -370.0 -294.0 -272.0 -125.0 -128.0 -5.0 -3.0 28.0 -50.0 -136.0 -212.0 -320.0 -261.0 -283.0 -130.0 -82.0 57.0 103.0 149.0 125.0 76.0 36.0 -104.0 -112.0 -197.0 -166.0 -163.0 -99.0 -38.0 -9.0 13.0 14.0 -4.0 -28.0 -48.0 -86.0 -26.0 -12.0 71.0 98.0 150.0 147.0 142.0 109.0 25.0 10.0 -44.0 -30.0 -19.0 16.0 54.0 140.0 174.0 203.0 146.0 120.0 21.0 13.0 13.0 18.0 124.0 150.0 222.0 244.0 250.0 141.0 93.0 -72.0 -143.0 -248.0 -243.0 -267.0 -181.0 -106.0 -80.0 20.0 -29.0 -37.0 -165.0 -225.0 -349.0 -416.0 -475.0 -418.0 -402.0 -233.0 -161.0 -32.0 69.0 84.0 103.0 36.0 -35.0 -170.0 -183.0 -256.0 -269.0 -261.0 -187.0 -162.0 -14.0 23.0 62.0 105.0 80.0 37.0 -30.0 -128.0 -203.0 -279.0 -309.0 -277.0 -238.0 -138.0 -59.0 60.0 48.0 98.0 19.0 -43.0 -81.0 -154.0 -156.0 -129.0 -45.0 29.0 130.0 208.0 231.0 223.0 182.0 89.0 29.0 -6.0 -35.0 -37.0 22.0 88.0 157.0 234.0 229.0 213.0 160.0 116.0 8.0 -75.0 -130.0 -229.0 -228.0 -245.0 -240.0 -168.0 -140.0 -124.0 -93.0 -125.0 -146.0 -227.0 -285.0 -369.0 -417.0 -401.0 -395.0 -333.0 -247.0 -161.0 -86.0 -41.0 -25.0 -31.0 -48.0 -90.0 -150.0 -128.0 -174.0 -139.0 -193.0 -138.0 -171.0 -179.0 -149.0 -189.0 -124.0 -155.0 -109.0 -157.0 -169.0 -227.0 -236.0 -287.0 -277.0 -324.0 -227.0 -251.0 -196.0 -107.0 -132.0 -3.0 -32.0 91.0 26.0 114.0 98.0 58.0 82.0 54.0 74.0 55.0 90.0 103.0 135.0 167.0 199.0 169.0 196.0 158.0 95.0 65.0 13.0 -22.0 -41.0 10.0 4.0 28.0 84.0 67.0 29.0 17.0 -61.0 -163.0 -114.0 -213.0 -184.0 -153.0 -128.0 -119.0 -63.0 -11.0 -66.0 -16.0 -21.0 -93.0 -95.0 -146.0 -265.0 -208.0 -290.0 -222.0 -247.0 -134.0 -111.0 -59.0 8.0 -67.0 -40.0 -166.0 -188.0 -342.0 -317.0 -339.0 -308.0 -268.0 -194.0 -155.0 -125.0 -70.0 -99.0 -109.0 -148.0 -162.0 -214.0 -204.0 -201.0 -156.0 -113.0 8.0 32.0 115.0 111.0 73.0 60.0 6.0 11.0 -39.0 -4.0 1.0 44.0 76.0 108.0 86.0 82.0 22.0 -34.0 -78.0 -124.0 -100.0 -130.0 -40.0 -6.0 85.0 144.0 187.0 210.0 153.0 137.0 90.0 48.0 2.0 8.0 -55.0 -8.0 13.0 -2.0 61.0 65.0 60.0 65.0 56.0 -15.0 -61.0 -116.0 -155.0 -173.0 -128.0 -94.0 -67.0 21.0 -7.0 -8.0 -42.0 -115.0 -203.0 -274.0 -283.0 -336.0 -279.0 -276.0 -219.0 -151.0 -96.0 -85.0 -74.0 -80.0 -158.0 -104.0 -202.0 -176.0 -204.0 -188.0 -230.0 -224.0 -216.0 -265.0 -164.0 -220.0 -144.0 -129.0 -61.0 -71.0 -39.0 -22.0 -10.0 -52.0 -47.0 -88.0 -146.0 -149.0 -228.0 -171.0 -233.0 -145.0 -119.0 -46.0 9.0 48.0 87.0 82.0 85.0 96.0 42.0 -7.0 -18.0 -83.0 -32.0 -46.0 -16.0 14.0 65.0 57.0 87.0 87.0 90.0 102.0 97.0 68.0 45.0 71.0 -1.0 0.0 -60.0 -29.0 -55.0 2.0 25.0 43.0 121.0 59.0 116.0 40.0 20.0 -50.0 -48.0 -77.0 -56.0 -43.0 8.0 66.0 41.0 102.0 19.0 22.0 -113.0 -97.0 -198.0 -179.0 -206.0 -205.0 -182.0 -148.0 -116.0 -159.0 -110.0 -181.0 -151.0 -238.0 -157.0 -289.0 -180.0 -223.0 -201.0 -138.0 -146.0 -104.0 -148.0 -109.0 -198.0 -173.0 -220.0 -227.0 -256.0 -166.0 -240.0 -125.0 -107.0 -104.0 -30.0 -38.0 11.0 25.0 98.0 96.0 126.0 121.0 142.0 102.0 105.0 45.0 14.0 4.0 -15.0 21.0 19.0 107.0 137.0 157.0 201.0 181.0 144.0 136.0 118.0 86.0 85.0 119.0 105.0 104.0 216.0 162.0 196.0 220.0 178.0 175.0 151.0 109.0 52.0 82.0 65.0 44.0 108.0 79.0 49.0 43.0 -54.0 -114.0 -232.0 -242.0 -348.0 -344.0 -347.0 -347.0 -290.0 -291.0 -278.0 -261.0 -271.0 -257.0 -225.0 -256.0 -196.0 -191.0 -113.0 -171.0 -88.0 -102.0 -131.0 -87.0 -159.0 -142.0 -132.0 -131.0 -156.0 -91.0 -66.0 -33.0 29.0 63.0 37.0 99.0 101.0 46.0 88.0 60.0 30.0 36.0 -3.0 -16.0 37.0 63.0 87.0 184.0 257.0 237.0 308.0 296.0 213.0 252.0 220.0 153.0 216.0 217.0 207.0 239.0 295.0 280.0 269.0 348.0 247.0 287.0 266.0 203.0 157.0 119.0 60.0 -18.0 -6.0 -59.0 -65.0 -39.0 -20.0 -40.0 45.0 -14.0 -14.0 -29.0 -89.0 -141.0 -193.0 -195.0 -239.0 -185.0 -171.0 -71.0 -16.0 45.0 73.0 94.0 68.0 -4.0 -30.0 -148.0 -176.0 -202.0 -204.0 -173.0 -107.0 -70.0 -9.0 50.0 18.0 2.0 -28.0 -82.0 -205.0 -181.0 -231.0 -209.0 -117.0 -72.0 43.0 144.0 231.0 238.0 272.0 222.0 158.0 110.0 60.0 -7.0 10.0 -6.0 24.0 83.0 147.0 225.0 244.0 347.0 323.0 344.0 284.0 242.0 196.0 121.0 141.0 105.0 161.0 204.0 248.0 290.0 359.0 324.0 360.0 338.0 209.0 182.0 66.0 58.0 -18.0 -1.0 48.0 54.0 166.0 200.0 237.0 256.0 205.0 181.0 65.0 -4.0 -67.0 -132.0 -135.0 -132.0 -82.0 -56.0 45.0 59.0 94.0 68.0 40.0 -57.0 -90.0 -151.0 -232.0 -172.0 -222.0 -186.0 -141.0 -92.0 -63.0 -67.0 -32.0 -37.0 -31.0 -12.0 -35.0 9.0 4.0 24.0 10.0 -10.0 19.0 -19.0 -24.0 -7.0 -47.0 16.0 5.0 6.0 3.0 15.0 40.0 27.0 89.0 70.0 146.0 157.0 167.0 144.0 203.0 182.0 230.0 243.0 286.0 325.0 342.0 392.0 337.0 384.0 308.0 323.0 240.0 218.0 151.0 145.0 79.0 52.0 59.0 51.0 80.0 68.0 95.0 49.0 77.0 13.0 13.0 -35.0 -40.0 -63.0 -38.0 -21.0 -8.0 46.0 82.0 107.0 93.0 120.0 85.0 52.0 27.0 -15.0 -36.0 -45.0 -72.0 -80.0 -88.0 -88.0 -103.0 -105.0 -114.0 -123.0 -138.0 -127.0 -161.0 -141.0 -142.0 -148.0 -130.0 -128.0 -104.0 -87.0 -54.0 -52.0 -38.0 -43.0 -35.0 -56.0 -44.0 -57.0 -10.0 1.0 28.0 112.0 157.0 209.0 253.0 281.0 269.0 258.0 213.0 164.0 138.0 148.0 130.0 174.0 203.0 241.0 277.0 281.0 289.0 235.0 200.0 134.0 49.0 24.0 -24.0 -14.0 3.0 30.0 72.0 97.0 154.0 131.0 156.0 160.0 163.0 157.0 150.0 167.0 120.0 137.0 112.0 118.0 107.0 127.0 120.0 83.0 122.0 65.0 59.0 21.0 -5.0 -46.0 -50.0 -87.0 -131.0 -123.0 -144.0 -159.0 -169.0 -159.0 -189.0 -138.0 -178.0 -177.0 -193.0 -149.0 -159.0 -152.0 -119.0 -121.0 -67.0 -69.0 -44.0 -52.0 9.0 -11.0 34.0 8.0 22.0 19.0 21.0 10.0 -9.0 47.0 41.0 94.0 96.0 161.0 170.0 194.0 163.0 163.0 145.0 112.0 81.0 31.0 34.0 12.0 17.0 8.0 45.0 33.0 73.0 55.0 63.0 58.0 78.0 85.0 57.0 110.0 98.0 126.0 114.0 127.0 131.0 137.0 147.0 144.0 145.0 162.0 134.0 144.0 135.0 113.0 113.0 86.0 80.0 19.0 35.0 -9.0 -39.0 -45.0 -54.0 -63.0 -60.0 -38.0 -41.0 -33.0 -3.0 -12.0 -9.0 19.0 -23.0 -22.0 -30.0 -45.0 -64.0 -61.0 -79.0 -68.0 -61.0 -68.0 -69.0 -60.0 -57.0 -60.0 -38.0 -30.0 -5.0 5.0 14.0 29.0 35.0 16.0 20.0 -22.0 -14.0 -26.0 -34.0 -24.0 2.0 18.0 6.0 44.0 19.0 23.0 14.0 10.0 -6.0 1.0 -1.0 6.0 35.0 53.0 80.0 118.0 142.0 133.0 180.0 178.0 189.0 192.0 232.0 235.0 243.0 272.0 243.0 259.0 255.0 230.0 204.0 202.0 176.0 168.0 180.0 178.0 180.0 205.0 216.0 185.0 187.0 164.0 121.0 84.0 56.0 -8.0 -15.0 -22.0 -50.0 -51.0 -57.0 -50.0 -91.0 -82.0 -108.0 -111.0 -110.0 -129.0 -118.0 -106.0 -88.0 -85.0 -71.0 -71.0 -68.0 -69.0 -79.0 -114.0 -103.0 -131.0 -140.0 -144.0 -160.0 -145.0 -143.0 -136.0 -145.0 -114.0 -113.0 -114.0 -99.0 -102.0 -105.0 -89.0 -89.0 -85.0 -51.0 -20.0 -9.0 18.0 68.0 90.0 144.0 183.0 214.0 262.0 295.0 309.0 319.0 335.0 325.0 332.0 333.0 325.0 337.0 352.0 350.0 342.0 345.0 335.0 323.0 299.0 271.0 256.0 238.0 202.0 176.0 164.0 152.0 146.0 132.0 121.0 119.0 118.0 112.0 91.0 88.0 76.0 53.0 32.0 -7.0 -40.0 -80.0 -128.0 -162.0 -198.0 -222.0 -244.0 -258.0 -237.0 -242.0 -221.0 -220.0 -218.0 -211.0 -234.0 -252.0 -285.0 -297.0 -316.0 -326.0 -317.0 -303.0 -279.0 -258.0 -242.0 -210.0 -195.0 -176.0 -154.0 -137.0 -118.0 -102.0 -74.0 -66.0 -43.0 -21.0 -7.0 29.0 74.0 115.0 167.0 216.0 255.0 309.0 326.0 335.0 342.0 312.0 278.0 236.0 188.0 126.0 95.0 60.0 31.0 35.0 37.0 60.0 92.0 126.0 150.0 184.0 196.0 187.0 175.0 172.0 149.0 137.0 139.0 142.0 161.0 170.0 200.0 220.0 232.0 238.0 238.0 222.0 206.0 189.0 156.0 132.0 102.0 73.0 48.0 28.0 -10.0 -38.0 -55.0 -66.0 -69.0 -59.0 -38.0 -8.0 25.0 53.0 73.0 95.0 114.0 95.0 86.0 64.0 41.0 4.0 -16.0 -33.0 -58.0 -60.0 -76.0 -77.0 -85.0 -81.0 -95.0 -113.0 -115.0 -137.0 -154.0 -167.0 -197.0 -227.0 -247.0 -286.0 -331.0 -347.0 -378.0 -389.0 -388.0 -388.0 -368.0 -336.0 -286.0 -257.0 -208.0 -163.0 -134.0 -101.0 -74.0 -51.0 -43.0 -37.0 -37.0 -33.0 -24.0 -33.0 -8.0 7.0 17.0 53.0 84.0 115.0 141.0 201.0 243.0 297.0 354.0 396.0 428.0 444.0 431.0 404.0 361.0 294.0 236.0 164.0 99.0 41.0 -3.0 -56.0 -74.0 -87.0 -112.0 -123.0 -129.0 -136.0 -162.0 -181.0 -210.0 -229.0 -267.0 -286.0 -303.0 -332.0 -333.0 -338.0 -334.0 -323.0 -297.0 -274.0 -242.0 -210.0 -177.0 -147.0 -128.0 -107.0 -91.0 -79.0 -72.0 -63.0 -63.0 -58.0 -67.0 -62.0 -57.0 -61.0 -41.0 -12.0 10.0 61.0 102.0 138.0 201.0 229.0 268.0 298.0 306.0 305.0 317.0 301.0 277.0 258.0 237.0 217.0 199.0 188.0 172.0 164.0 151.0 133.0 122.0 114.0 88.0 80.0 63.0 41.0 12.0 -14.0 -51.0 -96.0 -137.0 -193.0 -235.0 -290.0 -328.0 -357.0 -383.0 -389.0 -387.0 -375.0 -363.0 -330.0 -308.0 -291.0 -279.0 -284.0 -290.0 -296.0 -304.0 -314.0 -304.0 -294.0 -271.0 -242.0 -216.0 -178.0 -131.0 -66.0 11.0 84.0 160.0 246.0 322.0 371.0 399.0 385.0 354.0 308.0 219.0 140.0 53.0 -24.0 -94.0 -153.0 -192.0 -224.0 -239.0 -244.0 -240.0 -236.0 -221.0 -200.0 -208.0 -196.0 -180.0 -195.0 -196.0 -205.0 -213.0 -213.0 -208.0 -214.0 -192.0 -151.0 -132.0 -97.0 -60.0 -28.0 -5.0 20.0 32.0 33.0 26.0 8.0 -17.0 -40.0 -51.0 -67.0 -82.0 -71.0 -42.0 -28.0 1.0 44.0 72.0 108.0 155.0 182.0 198.0 244.0 263.0 265.0 281.0 275.0 259.0 233.0 220.0 189.0 161.0 150.0 109.0 93.0 72.0 44.0 8.0 -19.0 -44.0 -89.0 -112.0 -144.0 -175.0 -192.0 -202.0 -225.0 -243.0 -249.0 -263.0 -282.0 -285.0 -306.0 -318.0 -337.0 -363.0 -389.0 -415.0 -426.0 -460.0 -453.0 -460.0 -449.0 -440.0 -428.0 -411.0 -402.0 -382.0 -370.0 -360.0 -349.0 -321.0 -311.0 -285.0 -263.0 -226.0 -165.0 -76.0 -10.0 75.0 182.0 262.0 342.0 387.0 405.0 406.0 396.0 339.0 280.0 222.0 157.0 90.0 22.0 -24.0 -76.0 -107.0 -120.0 -129.0 -130.0 -111.0 -97.0 -94.0 -83.0 -80.0 -82.0 -82.0 -95.0 -105.0 -101.0 -105.0 -109.0 -95.0 -65.0 -52.0 -23.0 13.0 52.0 91.0 110.0 141.0 152.0 157.0 136.0 102.0 77.0 43.0 -12.0 -63.0 -92.0 -124.0 -144.0 -143.0 -133.0 -103.0 -58.0 -14.0 43.0 92.0 138.0 161.0 169.0 171.0 155.0 128.0 86.0 51.0 14.0 -6.0 -53.0 -85.0 -108.0 -145.0 -165.0 -198.0 -212.0 -234.0 -241.0 -257.0 -281.0 -292.0 -300.0 -315.0 -329.0 -324.0 -315.0 -310.0 -293.0 -276.0 -263.0 -235.0 -232.0 -218.0 -208.0 -196.0 -194.0 -186.0 -181.0 -181.0 -175.0 -185.0 -179.0 -181.0 -176.0 -182.0 -178.0 -172.0 -167.0 -151.0 -156.0 -137.0 -109.0 -93.0 -91.0 -68.0 -47.0 -50.0 -32.0 -24.0 25.0 78.0 117.0 181.0 258.0 331.0 362.0 406.0 403.0 388.0 368.0 298.0 238.0 163.0 95.0 26.0 -49.0 -104.0 -154.0 -187.0 -220.0 -246.0 -245.0 -263.0 -265.0 -268.0 -262.0 -259.0 -255.0 -244.0 -249.0 -232.0 -227.0 -221.0 -203.0 -163.0 -131.0 -99.0 -48.0 5.0 48.0 80.0 110.0 124.0 131.0 106.0 80.0 56.0 16.0 -27.0 -57.0 -74.0 -74.0 -71.0 -60.0 -31.0 8.0 42.0 110.0 144.0 156.0 230.0 237.0 240.0 245.0 247.0 201.0 188.0 153.0 85.0 81.0 31.0 3.0 -28.0 -25.0 -54.0 -65.0 -53.0 -97.0 -96.0 -120.0 -159.0 -170.0 -189.0 -195.0 -208.0 -186.0 -172.0 -161.0 -106.0 -105.0 -80.0 -58.0 -50.0 -55.0 -74.0 -78.0 -117.0 -128.0 -170.0 -198.0 -216.0 -254.0 -272.0 -290.0 -287.0 -299.0 -296.0 -292.0 -298.0 -295.0 -301.0 -293.0 -273.0 -278.0 -268.0 -251.0 -221.0 -180.0 -93.0 0.0 93.0 222.0 341.0 435.0 497.0 534.0 511.0 484.0 417.0 310.0 228.0 138.0 41.0 -36.0 -92.0 -145.0 -176.0 -184.0 -193.0 -193.0 -173.0 -164.0 -149.0 -138.0 -119.0 -111.0 -99.0 -77.0 -72.0 -57.0 -30.0 -4.0 17.0 56.0 87.0 116.0 142.0 159.0 164.0 164.0 143.0 120.0 93.0 62.0 33.0 -7.0 -25.0 -51.0 -69.0 -95.0 -105.0 -123.0 -131.0 -121.0 -133.0 -115.0 -98.0 -78.0 -57.0 -43.0 -23.0 -13.0 8.0 22.0 30.0 47.0 71.0 75.0 72.0 87.0 74.0 59.0 39.0 17.0 -5.0 -38.0 -50.0 -73.0 -81.0 -90.0 -84.0 -80.0 -74.0 -53.0 -47.0 -23.0 -10.0 14.0 24.0 39.0 58.0 71.0 94.0 103.0 127.0 144.0 166.0 177.0 191.0 188.0 179.0 178.0 158.0 125.0 97.0 65.0 20.0 -27.0 -67.0 -121.0 -170.0 -216.0 -270.0 -303.0 -331.0 -350.0 -375.0 -379.0 -372.0 -382.0 -365.0 -350.0 -341.0 -304.0 -283.0 -237.0 -204.0 -129.0 -89.0 -57.0 22.0 52.0 118.0 163.0 226.0 255.0 326.0 349.0 364.0 383.0 365.0 330.0 283.0 259.0 177.0 146.0 84.0 40.0 -3.0 -32.0 -73.0 -116.0 -121.0 -156.0 -163.0 -163.0 -153.0 -154.0 -112.0 -95.0 -75.0 -39.0 -8.0 14.0 28.0 54.0 55.0 62.0 50.0 55.0 38.0 45.0 46.0 50.0 80.0 97.0 136.0 154.0 188.0 205.0 224.0 217.0 217.0 200.0 182.0 168.0 150.0 144.0 135.0 152.0 141.0 162.0 164.0 165.0 163.0 155.0 150.0 129.0 105.0 72.0 56.0 27.0 13.0 -4.0 -3.0 -2.0 6.0 10.0 11.0 21.0 7.0 -11.0 -38.0 -62.0 -113.0 -135.0 -170.0 -199.0 -210.0 -222.0 -225.0 -221.0 -195.0 -194.0 -177.0 -165.0 -160.0 -157.0 -177.0 -192.0 -220.0 -244.0 -264.0 -270.0 -241.0 -190.0 -32.0 59.0 204.0 374.0 491.0 573.0 605.0 637.0 547.0 564.0 454.0 396.0 390.0 348.0 349.0 350.0 385.0 359.0 383.0 332.0 276.0 217.0 135.0 29.0 -27.0 -88.0 -138.0 -128.0 -112.0 -82.0 -40.0 29.0 43.0 73.0 74.0 60.0 47.0 9.0 -21.0 -35.0 -34.0 -41.0 -5.0 21.0 50.0 79.0 95.0 92.0 64.0 39.0 -20.0 -59.0 -109.0 -155.0 -170.0 -178.0 -136.0 -71.0 -7.0 67.0 158.0 218.0 262.0 289.0 270.0 248.0 224.0 182.0 153.0 151.0 157.0 187.0 217.0 236.0 264.0 272.0 251.0 208.0 180.0 118.0 57.0 16.0 -16.0 -31.0 -15.0 8.0 25.0 59.0 66.0 68.0 32.0 -9.0 -81.0 -148.0 -216.0 -275.0 -299.0 -307.0 -291.0 -256.0 -209.0 -149.0 -118.0 -90.0 -74.0 -87.0 -87.0 -126.0 -138.0 -164.0 -154.0 -136.0 -105.0 -52.0 -8.0 60.0 94.0 152.0 184.0 215.0 265.0 270.0 301.0 316.0 338.0 320.0 319.0 321.0 275.0 297.0 259.0 257.0 252.0 240.0 221.0 201.0 184.0 130.0 105.0 51.0 6.0 -31.0 -57.0 -79.0 -77.0 -73.0 -50.0 -40.0 -25.0 -23.0 -25.0 -23.0 -55.0 -59.0 -70.0 -67.0 -71.0 -39.0 -16.0 25.0 83.0 108.0 146.0 172.0 204.0 193.0 186.0 157.0 139.0 112.0 69.0 62.0 55.0 55.0 58.0 84.0 89.0 118.0 121.0 114.0 131.0 125.0 114.0 116.0 125.0 117.0 146.0 152.0 142.0 152.0 158.0 128.0 99.0 80.0 46.0 8.0 -20.0 -49.0 -69.0 -66.0 -84.0 -88.0 -84.0 -110.0 -123.0 -134.0 -162.0 -185.0 -204.0 -221.0 -229.0 -221.0 -242.0 -210.0 -219.0 -196.0 -181.0 -186.0 -152.0 -124.0 -62.0 -16.0 162.0 261.0 355.0 494.0 544.0 540.0 521.0 454.0 310.0 303.0 220.0 159.0 238.0 239.0 268.0 310.0 288.0 227.0 172.0 49.0 -106.0 -153.0 -249.0 -300.0 -236.0 -218.0 -134.0 -41.0 13.0 49.0 58.0 32.0 -21.0 -67.0 -127.0 -151.0 -129.0 -124.0 -73.0 -1.0 34.0 73.0 53.0 45.0 -33.0 -102.0 -183.0 -267.0 -276.0 -297.0 -256.0 -203.0 -97.0 2.0 150.0 213.0 287.0 380.0 391.0 394.0 393.0 389.0 353.0 415.0 376.0 433.0 456.0 480.0 483.0 461.0 451.0 372.0 342.0 229.0 184.0 133.0 83.0 43.0 44.0 15.0 5.0 -23.0 -59.0 -89.0 -113.0 -143.0 -180.0 -169.0 -201.0 -181.0 -205.0 -193.0 -207.0 -202.0 -252.0 -265.0 -265.0 -313.0 -294.0 -322.0 -299.0 -301.0 -274.0 -299.0 -302.0 -281.0 -288.0 -266.0 -260.0 -200.0 -147.0 -89.0 -8.0 65.0 180.0 276.0 317.0 400.0 431.0 450.0 431.0 387.0 361.0 337.0 321.0 274.0 305.0 280.0 284.0 264.0 196.0 151.0 66.0 -7.0 -98.0 -136.0 -164.0 -194.0 -156.0 -154.0 -112.0 -62.0 -63.0 -40.0 -52.0 -32.0 -68.0 -52.0 -55.0 -55.0 -17.0 -29.0 -10.0 -1.0 -16.0 -52.0 -69.0 -132.0 -161.0 -194.0 -210.0 -216.0 -192.0 -181.0 -139.0 -92.0 -78.0 -18.0 15.0 75.0 134.0 198.0 254.0 337.0 402.0 427.0 466.0 492.0 486.0 494.0 462.0 460.0 435.0 417.0 389.0 344.0 326.0 266.0 226.0 153.0 118.0 53.0 -3.0 -36.0 -85.0 -103.0 -132.0 -153.0 -171.0 -184.0 -192.0 -203.0 -208.0 -207.0 -208.0 -219.0 -251.0 -271.0 -309.0 -368.0 -396.0 -462.0 -483.0 -488.0 -485.0 -466.0 -455.0 -410.0 -395.0 -370.0 -375.0 -375.0 -367.0 -389.0 -381.0 -324.0 -300.0 -219.0 -149.0 -57.0 92.0 241.0 367.0 430.0 580.0 589.0 594.0 598.0 517.0 504.0 471.0 452.0 438.0 462.0 452.0 391.0 338.0 217.0 101.0 -24.0 -170.0 -251.0 -311.0 -347.0 -338.0 -320.0 -295.0 -276.0 -260.0 -295.0 -297.0 -306.0 -325.0 -279.0 -259.0 -184.0 -109.0 -68.0 -29.0 18.0 8.0 -9.0 -25.0 -63.0 -55.0 -69.0 -62.0 -44.0 -25.0 -5.0 1.0 -9.0 -15.0 1.0 -12.0 -4.0 43.0 72.0 130.0 181.0 241.0 317.0 350.0 380.0 403.0 394.0 401.0 394.0 355.0 356.0 377.0 360.0 351.0 362.0 309.0 269.0 188.0 109.0 24.0 -60.0 -108.0 -165.0 -174.0 -185.0 -174.0 -170.0 -174.0 -179.0 -195.0 -223.0 -237.0 -261.0 -276.0 -270.0 -257.0 -232.0 -212.0 -171.0 -153.0 -135.0 -114.0 -123.0 -110.0 -117.0 -116.0 -116.0 -124.0 -125.0 -132.0 -134.0 -145.0 -133.0 -126.0 -101.0 -77.0 -62.0 -39.0 -29.0 -30.0 -29.0 -26.0 3.0 11.0 52.0 102.0 136.0 181.0 212.0 255.0 304.0 350.0 345.0 368.0 360.0 319.0 278.0 226.0 167.0 131.0 105.0 57.0 50.0 24.0 -23.0 -88.0 -158.0 -241.0 -311.0 -377.0 -424.0 -429.0 -409.0 -392.0 -358.0 -311.0 -292.0 -257.0 -246.0 -250.0 -226.0 -189.0 -162.0 -115.0 -64.0 -3.0 66.0 94.0 113.0 143.0 148.0 121.0 104.0 98.0 89.0 95.0 103.0 113.0 140.0 165.0 155.0 151.0 168.0 162.0 158.0 165.0 180.0 197.0 217.0 221.0 225.0 231.0 211.0 185.0 156.0 122.0 97.0 63.0 31.0 18.0 -2.0 -23.0 -47.0 -68.0 -85.0 -93.0 -111.0 -121.0 -109.0 -99.0 -92.0 -73.0 -56.0 -32.0 -14.0 3.0 26.0 45.0 66.0 82.0 87.0 102.0 115.0 107.0 96.0 90.0 87.0 69.0 57.0 47.0 42.0 26.0 9.0 -16.0 -40.0 -63.0 -90.0 -117.0 -139.0 -147.0 -169.0 -186.0 -194.0 -197.0 -202.0 -204.0 -204.0 -189.0 -161.0 -146.0 -122.0 -94.0 -73.0 -57.0 -43.0 -41.0 -34.0 -26.0 -22.0 -12.0 4.0 23.0 39.0 59.0 82.0 97.0 103.0 104.0 104.0 96.0 74.0 58.0 46.0 30.0 17.0 7.0 3.0 -4.0 -11.0 -27.0 -46.0 -62.0 -82.0 -109.0 -128.0 -128.0 -137.0 -131.0 -122.0 -108.0 -94.0 -88.0 -90.0 -86.0 -100.0 -115.0 -115.0 -128.0 -125.0 -120.0 -109.0 -99.0 -92.0 -91.0 -87.0 -97.0 -110.0 -115.0 -136.0 -150.0 -164.0 -177.0 -183.0 -200.0 -204.0 -209.0 -206.0 -198.0 -190.0 -181.0 -163.0 -146.0 -138.0 -119.0 -107.0 -96.0 -100.0 -91.0 -82.0 -74.0 -55.0 -40.0 -12.0 8.0 31.0 53.0 68.0 82.0 89.0 92.0 95.0 95.0 101.0 111.0 117.0 130.0 154.0 172.0 176.0 179.0 176.0 162.0 139.0 123.0 99.0 80.0 66.0 51.0 46.0 39.0 30.0 27.0 23.0 9.0 -11.0 -25.0 -40.0 -48.0 -47.0 -41.0 -23.0 -11.0 -2.0 4.0 1.0 -8.0 -21.0 -21.0 -22.0 -6.0 17.0 33.0 56.0 87.0 103.0 110.0 110.0 88.0 78.0 53.0 24.0 5.0 -2.0 -9.0 -13.0 -11.0 -27.0 -33.0 -55.0 -85.0 -109.0 -139.0 -166.0 -181.0 -186.0 -191.0 -201.0 -202.0 -207.0 -221.0 -234.0 -251.0 -263.0 -271.0 -271.0 -270.0 -255.0 -241.0 -228.0 -218.0 -217.0 -221.0 -230.0 -248.0 -257.0 -255.0 -259.0 -236.0 -210.0 -185.0 -145.0 -120.0 -107.0 -100.0 -98.0 -106.0 -113.0 -107.0 -112.0 -100.0 -76.0 -62.0 -49.0 -41.0 -35.0 -39.0 -41.0 -42.0 -46.0 -37.0 -22.0 5.0 29.0 53.0 87.0 119.0 143.0 169.0 201.0 215.0 235.0 255.0 272.0 280.0 286.0 286.0 275.0 258.0 241.0 220.0 189.0 160.0 139.0 117.0 95.0 82.0 64.0 47.0 23.0 2.0 -13.0 -24.0 -44.0 -52.0 -54.0 -58.0 -54.0 -43.0 -33.0 -19.0 -3.0 0.0 2.0 17.0 20.0 8.0 9.0 5.0 -6.0 -18.0 -31.0 -47.0 -64.0 -75.0 -81.0 -107.0 -99.0 -113.0 -129.0 -133.0 -159.0 -154.0 -179.0 -182.0 -183.0 -193.0 -185.0 -186.0 -191.0 -164.0 -142.0 -125.0 -105.0 -100.0 -74.0 -80.0 -68.0 -91.0 -100.0 -99.0 -125.0 -132.0 -150.0 -159.0 -176.0 -186.0 -188.0 -188.0 -186.0 -173.0 -159.0 -132.0 -103.0 -84.0 -51.0 -30.0 2.0 26.0 31.0 44.0 64.0 67.0 64.0 80.0 102.0 126.0 148.0 161.0 185.0 196.0 194.0 192.0 187.0 180.0 169.0 163.0 151.0 147.0 139.0 131.0 118.0 113.0 101.0 89.0 88.0 83.0 80.0 66.0 57.0 43.0 19.0 -8.0 -29.0 -49.0 -67.0 -73.0 -92.0 -99.0 -98.0 -105.0 -116.0 -130.0 -139.0 -144.0 -160.0 -172.0 -178.0 -179.0 -183.0 -179.0 -178.0 -185.0 -147.0 -138.0 -118.0 -93.0 -76.0 -45.0 -38.0 -15.0 -7.0 0.0 -5.0 -1.0 -1.0 -8.0 -21.0 -27.0 -35.0 -46.0 -41.0 -56.0 -57.0 -64.0 -58.0 -62.0 -73.0 -84.0 -96.0 -102.0 -115.0 -110.0 -104.0 -104.0 -94.0 -73.0 -59.0 -45.0 -37.0 -26.0 -22.0 -13.0 -3.0 6.0 24.0 39.0 62.0 66.0 80.0 90.0 87.0 81.0 76.0 73.0 59.0 63.0 58.0 62.0 56.0 48.0 42.0 37.0 25.0 5.0 1.0 -16.0 -28.0 -33.0 -42.0 -48.0 -41.0 -39.0 -50.0 -41.0 -45.0 -48.0 -56.0 -66.0 -65.0 -76.0 -78.0 -88.0 -90.0 -95.0 -109.0 -126.0 -143.0 -159.0 -184.0 -204.0 -216.0 -224.0 -234.0 -243.0 -255.0 -257.0 -258.0 -261.0 -255.0 -258.0 -242.0 -214.0 -198.0 -174.0 -153.0 -135.0 -113.0 -79.0 -49.0 -15.0 23.0 46.0 85.0 103.0 130.0 146.0 164.0 177.0 189.0 213.0 227.0 245.0 248.0 256.0 253.0 258.0 248.0 237.0 218.0 206.0 195.0 180.0 174.0 152.0 146.0 129.0 124.0 113.0 107.0 91.0 81.0 81.0 58.0 46.0 20.0 13.0 -8.0 -19.0 -17.0 -26.0 -18.0 -18.0 -15.0 -20.0 -23.0 -30.0 -40.0 -48.0 -36.0 -40.0 -34.0 -32.0 -33.0 -22.0 -47.0 -39.0 -61.0 -74.0 -88.0 -105.0 -106.0 -115.0 -95.0 -121.0 -95.0 -121.0 -97.0 -111.0 -121.0 -112.0 -150.0 -107.0 -153.0 -93.0 -116.0 -79.0 -69.0 -73.0 -40.0 -40.0 12.0 -17.0 39.0 32.0 54.0 53.0 77.0 83.0 73.0 77.0 62.0 62.0 41.0 60.0 16.0 28.0 17.0 20.0 10.0 15.0 12.0 -11.0 14.0 -8.0 19.0 3.0 13.0 10.0 8.0 44.0 24.0 46.0 75.0 87.0 113.0 121.0 128.0 135.0 134.0 158.0 151.0 151.0 174.0 155.0 173.0 169.0 182.0 188.0 188.0 205.0 203.0 192.0 200.0 188.0 179.0 171.0 160.0 167.0 144.0 153.0 123.0 118.0 100.0 94.0 59.0 43.0 21.0 -27.0 -19.0 -87.0 -81.0 -115.0 -132.0 -131.0 -169.0 -151.0 -180.0 -175.0 -171.0 -185.0 -175.0 -159.0 -188.0 -141.0 -136.0 -140.0 -75.0 -93.0 -24.0 -37.0 6.0 7.0 7.0 22.0 -1.0 41.0 10.0 50.0 56.0 56.0 55.0 44.0 49.0 60.0 48.0 45.0 70.0 57.0 113.0 128.0 157.0 209.0 202.0 260.0 228.0 237.0 220.0 208.0 214.0 184.0 220.0 197.0 200.0 221.0 188.0 185.0 178.0 178.0 130.0 139.0 106.0 237.0 470.0 251.0 334.0 127.0 3.0 137.0 -59.0 6.0 -12.0 47.0 89.0 90.0 82.0 -77.0 -70.0 -155.0 -180.0 -92.0 -36.0 78.0 70.0 84.0 -49.0 -70.0 -45.0 -89.0 -48.0 -11.0 37.0 83.0 106.0 83.0 38.0 -17.0 -29.0 -26.0 0.0 -13.0 45.0 64.0 29.0 6.0 -34.0 -116.0 -112.0 -166.0 -172.0 -125.0 -111.0 -13.0 -96.0 -59.0 -131.0 -204.0 -174.0 -252.0 -240.0 -237.0 -217.0 -225.0 -216.0 -212.0 -284.0 -287.0 -307.0 -309.0 -246.0 -239.0 -183.0 -143.0 -113.0 -105.0 -119.0 -132.0 -133.0 -92.0 -75.0 -37.0 3.0 18.0 50.0 79.0 83.0 115.0 152.0 228.0 311.0 397.0 488.0 553.0 589.0 601.0 586.0 565.0 548.0 540.0 549.0 531.0 532.0 502.0 462.0 409.0 305.0 230.0 141.0 76.0 33.0 -16.0 -20.0 -48.0 -70.0 -124.0 -160.0 -179.0 -216.0 -204.0 -178.0 -152.0 -95.0 -40.0 -27.0 6.0 22.0 33.0 30.0 62.0 107.0 132.0 174.0 204.0 218.0 219.0 195.0 173.0 148.0 130.0 135.0 107.0 102.0 96.0 62.0 54.0 19.0 -4.0 -13.0 -2.0 10.0 9.0 41.0 31.0 10.0 -22.0 -57.0 -97.0 -137.0 -138.0 -139.0 -189.0 -222.0 -274.0 -327.0 -411.0 -494.0 -543.0 -578.0 -553.0 -609.0 -570.0 -592.0 -549.0 -535.0 -537.0 -452.0 -451.0 -285.0 -215.0 -118.0 -19.0 77.0 142.0 271.0 522.0 599.0 781.0 885.0 895.0 862.0 809.0 659.0 528.0 552.0 445.0 438.0 465.0 419.0 341.0 229.0 51.0 -47.0 -143.0 -202.0 -142.0 -116.0 -34.0 21.0 29.0 -19.0 6.0 -32.0 -34.0 15.0 46.0 108.0 138.0 153.0 85.0 85.0 -11.0 -62.0 -71.0 -106.0 -59.0 -65.0 -61.0 -93.0 -121.0 -197.0 -256.0 -274.0 -315.0 -296.0 -277.0 -230.0 -87.0 -25.0 -4.0 42.0 22.0 31.0 -6.0 -18.0 -44.0 15.0 48.0 55.0 104.0 110.0 121.0 49.0 39.0 13.0 40.0 70.0 120.0 159.0 163.0 163.0 119.0 92.0 58.0 46.0 8.0 40.0 32.0 33.0 4.0 -57.0 -104.0 -191.0 -226.0 -313.0 -299.0 -318.0 -334.0 -340.0 -381.0 -378.0 -383.0 -384.0 -383.0 -337.0 -295.0 -254.0 -261.0 -240.0 -247.0 -164.0 -127.0 -104.0 -17.0 20.0 123.0 201.0 420.0 496.0 555.0 618.0 542.0 497.0 350.0 245.0 115.0 126.0 136.0 135.0 196.0 166.0 105.0 -11.0 -124.0 -218.0 -237.0 -262.0 -177.0 -134.0 -84.0 -41.0 -96.0 -141.0 -194.0 -187.0 -233.0 -193.0 -207.0 -173.0 -176.0 -227.0 -255.0 -290.0 -287.0 -296.0 -212.0 -183.0 -115.0 -96.0 -101.0 -107.0 -93.0 -48.0 1.0 200.0 247.0 233.0 311.0 212.0 132.0 70.0 -61.0 -68.0 25.0 98.0 116.0 185.0 119.0 97.0 54.0 -22.0 58.0 124.0 225.0 268.0 309.0 288.0 230.0 181.0 85.0 58.0 75.0 82.0 67.0 23.0 -24.0 -120.0 -242.0 -315.0 -377.0 -387.0 -357.0 -324.0 -298.0 -249.0 -263.0 -317.0 -300.0 -300.0 -315.0 -258.0 -208.0 -174.0 -83.0 -51.0 -72.0 -72.0 -40.0 -34.0 46.0 280.0 455.0 527.0 586.0 510.0 356.0 188.0 -23.0 -227.0 -224.0 -159.0 -154.0 -47.0 -79.0 -140.0 -255.0 -397.0 -531.0 -502.0 -387.0 -307.0 -136.0 -72.0 12.0 20.0 -35.0 -103.0 -71.0 -48.0 -20.0 48.0 75.0 114.0 58.0 -6.0 -89.0 -63.0 -90.0 -71.0 -16.0 18.0 73.0 16.0 10.0 -32.0 -47.0 -43.0 18.0 117.0 205.0 268.0 199.0 148.0 94.0 20.0 -51.0 -52.0 29.0 90.0 150.0 145.0 145.0 100.0 28.0 -1.0 -6.0 44.0 80.0 141.0 173.0 214.0 208.0 164.0 111.0 77.0 56.0 0.0 -52.0 -113.0 -154.0 -222.0 -292.0 -355.0 -382.0 -399.0 -424.0 -447.0 -434.0 -405.0 -388.0 -343.0 -319.0 -291.0 -274.0 -314.0 -301.0 -308.0 -307.0 -221.0 -206.0 -142.0 -61.0 -45.0 -18.0 112.0 340.0 429.0 557.0 608.0 603.0 501.0 324.0 170.0 -51.0 -7.0 -26.0 42.0 126.0 206.0 184.0 74.0 -7.0 -142.0 -139.0 -167.0 -53.0 11.0 93.0 123.0 137.0 73.0 15.0 -6.0 -60.0 -36.0 -73.0 -77.0 -98.0 -110.0 -205.0 -178.0 -165.0 -161.0 -88.0 -12.0 43.0 57.0 88.0 47.0 45.0 49.0 95.0 174.0 348.0 386.0 430.0 444.0 336.0 290.0 177.0 110.0 87.0 166.0 168.0 230.0 244.0 184.0 153.0 62.0 33.0 4.0 70.0 102.0 172.0 218.0 226.0 195.0 122.0 68.0 -47.0 -99.0 -164.0 -214.0 -233.0 -300.0 -375.0 -450.0 -493.0 -551.0 -545.0 -533.0 -517.0 -437.0 -419.0 -409.0 -407.0 -399.0 -463.0 -451.0 -503.0 -507.0 -469.0 -371.0 -280.0 -252.0 -102.0 -81.0 26.0 88.0 373.0 458.0 523.0 642.0 539.0 495.0 303.0 160.0 -56.0 15.0 -19.0 29.0 172.0 179.0 209.0 143.0 62.0 -72.0 3.0 -38.0 47.0 194.0 241.0 304.0 355.0 299.0 197.0 215.0 133.0 112.0 153.0 149.0 180.0 240.0 207.0 186.0 190.0 127.0 129.0 174.0 162.0 187.0 229.0 200.0 175.0 138.0 70.0 31.0 58.0 116.0 112.0 196.0 253.0 243.0 220.0 158.0 86.0 7.0 -1.0 -45.0 18.0 65.0 74.0 96.0 91.0 72.0 56.0 59.0 69.0 154.0 251.0 294.0 330.0 342.0 233.0 155.0 29.0 -80.0 -144.0 -164.0 -211.0 -225.0 -224.0 -292.0 -334.0 -424.0 -448.0 -459.0 -472.0 -422.0 -363.0 -318.0 -300.0 -278.0 -294.0 -355.0 -400.0 -438.0 -363.0 -309.0 -195.0 -167.0 -91.0 -61.0 -23.0 139.0 283.0 415.0 472.0 539.0 369.0 310.0 125.0 -93.0 -172.0 -155.0 -71.0 42.0 199.0 231.0 282.0 206.0 90.0 30.0 38.0 72.0 180.0 290.0 319.0 406.0 383.0 265.0 168.0 101.0 55.0 7.0 23.0 46.0 121.0 140.0 124.0 137.0 132.0 140.0 136.0 170.0 168.0 239.0 283.0 273.0 297.0 286.0 247.0 212.0 250.0 227.0 292.0 348.0 326.0 312.0 268.0 154.0 13.0 -25.0 -84.0 -57.0 -43.0 -17.0 28.0 62.0 26.0 -20.0 -11.0 13.0 106.0 153.0 219.0 295.0 312.0 234.0 177.0 96.0 21.0 16.0 -14.0 -41.0 -6.0 -27.0 -109.0 -184.0 -232.0 -308.0 -337.0 -347.0 -328.0 -262.0 -247.0 -205.0 -257.0 -262.0 -378.0 -429.0 -492.0 -450.0 -309.0 -209.0 -81.0 -66.0 54.0 50.0 211.0 383.0 436.0 545.0 589.0 512.0 329.0 186.0 -143.0 -328.0 -312.0 -351.0 -223.0 -55.0 34.0 49.0 46.0 -117.0 -201.0 -182.0 -214.0 -89.0 77.0 195.0 318.0 394.0 263.0 184.0 94.0 -12.0 -12.0 11.0 65.0 180.0 258.0 244.0 305.0 241.0 162.0 172.0 159.0 174.0 243.0 300.0 298.0 343.0 249.0 155.0 103.0 28.0 90.0 155.0 270.0 366.0 391.0 316.0 212.0 46.0 -143.0 -145.0 -142.0 -64.0 80.0 158.0 221.0 239.0 195.0 116.0 136.0 183.0 281.0 400.0 429.0 497.0 465.0 347.0 214.0 104.0 27.0 1.0 -8.0 -38.0 16.0 -2.0 -64.0 -116.0 -166.0 -194.0 -173.0 -163.0 -123.0 -50.0 -64.0 -126.0 -216.0 -321.0 -413.0 -465.0 -493.0 -393.0 -277.0 -236.0 -184.0 -179.0 -178.0 -132.0 5.0 201.0 357.0 489.0 522.0 455.0 216.0 -31.0 -261.0 -426.0 -419.0 -320.0 -117.0 58.0 161.0 142.0 85.0 -68.0 -195.0 -240.0 -207.0 -95.0 39.0 131.0 224.0 230.0 109.0 42.0 -66.0 -123.0 -123.0 -64.0 -20.0 113.0 164.0 162.0 173.0 92.0 57.0 53.0 82.0 134.0 239.0 307.0 318.0 278.0 131.0 26.0 -40.0 38.0 129.0 335.0 617.0 559.0 561.0 399.0 163.0 -135.0 -229.0 -325.0 -237.0 7.0 20.0 193.0 150.0 106.0 -19.0 -71.0 -111.0 54.0 192.0 242.0 398.0 377.0 282.0 168.0 -19.0 -176.0 -137.0 -162.0 -151.0 -66.0 -80.0 -121.0 -153.0 -306.0 -375.0 -376.0 -362.0 -320.0 -219.0 -154.0 -140.0 -203.0 -329.0 -377.0 -491.0 -540.0 -476.0 -321.0 -191.0 -75.0 -9.0 3.0 5.0 14.0 199.0 306.0 408.0 558.0 563.0 409.0 201.0 -58.0 -432.0 -523.0 -554.0 -477.0 -232.0 -70.0 20.0 77.0 -6.0 -212.0 -268.0 -365.0 -342.0 -164.0 -40.0 83.0 260.0 225.0 117.0 62.0 -70.0 -138.0 -109.0 -78.0 17.0 176.0 206.0 238.0 253.0 144.0 87.0 94.0 97.0 144.0 214.0 250.0 225.0 152.0 3.0 -85.0 -183.0 -232.0 -191.0 -90.0 138.0 464.0 706.0 679.0 540.0 303.0 54.0 -204.0 -427.0 -516.0 -346.0 -57.0 187.0 348.0 399.0 370.0 237.0 50.0 -99.0 -39.0 85.0 238.0 296.0 253.0 164.0 1.0 -253.0 -482.0 -561.0 -539.0 -414.0 -312.0 -256.0 -211.0 -249.0 -390.0 -480.0 -508.0 -503.0 -424.0 -315.0 -260.0 -217.0 -296.0 -429.0 -538.0 -590.0 -559.0 -442.0 -327.0 -240.0 -131.0 -81.0 -85.0 8.0 220.0 322.0 497.0 570.0 483.0 299.0 74.0 -313.0 -551.0 -564.0 -552.0 -287.0 -32.0 89.0 179.0 209.0 -51.0 -196.0 -292.0 -342.0 -181.0 11.0 126.0 292.0 369.0 216.0 117.0 -87.0 -227.0 -215.0 -156.0 -87.0 96.0 213.0 210.0 194.0 64.0 -32.0 -60.0 -69.0 -24.0 99.0 170.0 195.0 159.0 22.0 -124.0 -229.0 -332.0 -340.0 -242.0 -121.0 -2.0 238.0 503.0 539.0 508.0 307.0 131.0 -74.0 -247.0 -371.0 -358.0 -135.0 58.0 350.0 419.0 502.0 483.0 395.0 266.0 196.0 243.0 289.0 380.0 336.0 343.0 219.0 54.0 -140.0 -301.0 -420.0 -440.0 -410.0 -412.0 -359.0 -376.0 -401.0 -485.0 -520.0 -528.0 -507.0 -470.0 -430.0 -368.0 -389.0 -383.0 -427.0 -507.0 -570.0 -525.0 -451.0 -404.0 -310.0 -298.0 -255.0 -167.0 25.0 257.0 423.0 594.0 653.0 572.0 323.0 2.0 -339.0 -584.0 -604.0 -532.0 -242.0 55.0 263.0 323.0 272.0 94.0 -113.0 -228.0 -308.0 -160.0 -1.0 174.0 252.0 289.0 165.0 -15.0 -172.0 -316.0 -304.0 -232.0 -70.0 36.0 167.0 169.0 145.0 73.0 -56.0 -99.0 -49.0 24.0 62.0 162.0 140.0 43.0 -68.0 -223.0 -332.0 -336.0 -338.0 -285.0 -131.0 -58.0 96.0 374.0 427.0 414.0 423.0 325.0 169.0 71.0 -133.0 -200.0 -21.0 59.0 262.0 480.0 568.0 609.0 627.0 413.0 308.0 308.0 257.0 318.0 331.0 260.0 220.0 125.0 -182.0 -375.0 -526.0 -640.0 -649.0 -620.0 -596.0 -508.0 -470.0 -505.0 -502.0 -499.0 -494.0 -462.0 -441.0 -434.0 -373.0 -414.0 -493.0 -584.0 -606.0 -568.0 -475.0 -378.0 -321.0 -225.0 -151.0 -10.0 226.0 389.0 506.0 606.0 621.0 437.0 178.0 -159.0 -460.0 -513.0 -510.0 -322.0 -27.0 249.0 364.0 400.0 266.0 86.0 -7.0 -104.0 -75.0 51.0 224.0 330.0 381.0 272.0 99.0 -48.0 -209.0 -279.0 -265.0 -165.0 -32.0 69.0 107.0 75.0 41.0 -32.0 -81.0 -106.0 -47.0 15.0 39.0 42.0 -26.0 -130.0 -275.0 -347.0 -376.0 -338.0 -264.0 -154.0 -53.0 -9.0 -3.0 -71.0 -86.0 -13.0 510.0 655.0 570.0 681.0 551.0 352.0 34.0 -217.0 -446.0 4.0 224.0 463.0 794.0 808.0 850.0 668.0 332.0 60.0 179.0 81.0 154.0 170.0 50.0 47.0 -28.0 -343.0 -508.0 -519.0 -519.0 -421.0 -440.0 -445.0 -310.0 -314.0 -467.0 -442.0 -476.0 -459.0 -454.0 -450.0 -505.0 -525.0 -628.0 -732.0 -820.0 -848.0 -673.0 -538.0 -435.0 -346.0 -218.0 -188.0 8.0 268.0 448.0 569.0 609.0 562.0 370.0 103.0 -267.0 -524.0 -516.0 -354.0 -111.0 185.0 446.0 579.0 552.0 364.0 141.0 57.0 23.0 37.0 135.0 241.0 308.0 300.0 155.0 -48.0 -182.0 -278.0 -305.0 -267.0 -168.0 -14.0 117.0 121.0 91.0 42.0 -72.0 -170.0 -210.0 -223.0 -194.0 -128.0 -99.0 -66.0 -71.0 -105.0 -159.0 -180.0 -201.0 -216.0 -182.0 -90.0 102.0 213.0 318.0 406.0 462.0 416.0 376.0 325.0 234.0 282.0 258.0 296.0 339.0 421.0 430.0 463.0 447.0 403.0 474.0 397.0 319.0 245.0 190.0 74.0 -26.0 -125.0 -156.0 -145.0 -174.0 -163.0 -152.0 -146.0 -132.0 -163.0 -222.0 -265.0 -353.0 -494.0 -607.0 -670.0 -743.0 -746.0 -746.0 -693.0 -606.0 -580.0 -592.0 -609.0 -649.0 -704.0 -704.0 -738.0 -746.0 -586.0 -382.0 -290.0 -216.0 -198.0 -153.0 -96.0 -33.0 157.0 361.0 512.0 522.0 543.0 446.0 300.0 144.0 -58.0 -5.0 132.0 373.0 524.0 604.0 571.0 470.0 314.0 17.0 -94.0 -62.0 71.0 168.0 276.0 357.0 366.0 261.0 42.0 -83.0 -152.0 -189.0 -183.0 -134.0 -135.0 -131.0 -147.0 -207.0 -261.0 -291.0 -263.0 -175.0 -106.0 -46.0 65.0 85.0 32.0 -46.0 -75.0 -108.0 -115.0 -137.0 -91.0 37.0 68.0 104.0 103.0 106.0 55.0 74.0 122.0 411.0 880.0 990.0 944.0 799.0 577.0 236.0 -113.0 -479.0 -540.0 -194.0 -4.0 227.0 375.0 407.0 341.0 168.0 -138.0 -289.0 -163.0 -81.0 60.0 30.0 -44.0 -115.0 -302.0 -640.0 -854.0 -867.0 -808.0 -676.0 -646.0 -606.0 -581.0 -661.0 -767.0 -768.0 -728.0 -671.0 -538.0 -431.0 -455.0 -516.0 -621.0 -730.0 -777.0 -713.0 -548.0 -353.0 -159.0 -106.0 2.0 153.0 454.0 680.0 825.0 924.0 923.0 829.0 576.0 294.0 -53.0 -125.0 -80.0 64.0 253.0 455.0 586.0 611.0 510.0 319.0 270.0 240.0 267.0 314.0 369.0 360.0 345.0 190.0 -59.0 -239.0 -382.0 -429.0 -353.0 -241.0 -129.0 43.0 122.0 107.0 104.0 44.0 -44.0 -45.0 -18.0 10.0 124.0 159.0 173.0 189.0 114.0 18.0 1.0 -72.0 -184.0 -109.0 -44.0 65.0 170.0 195.0 205.0 264.0 209.0 172.0 271.0 302.0 352.0 414.0 395.0 329.0 267.0 87.0 -49.0 -80.0 -49.0 74.0 190.0 235.0 283.0 279.0 162.0 43.0 -49.0 -136.0 -137.0 -128.0 -200.0 -213.0 -240.0 -333.0 -414.0 -444.0 -445.0 -370.0 -279.0 -281.0 -298.0 -346.0 -467.0 -604.0 -726.0 -790.0 -714.0 -622.0 -567.0 -494.0 -424.0 -357.0 -284.0 -234.0 -203.0 -57.0 45.0 34.0 -21.0 -117.0 -122.0 -131.0 -145.0 -121.0 47.0 233.0 318.0 392.0 436.0 606.0 745.0 807.0 858.0 897.0 901.0 776.0 572.0 275.0 138.0 85.0 34.0 78.0 166.0 254.0 251.0 182.0 64.0 -7.0 -34.0 -14.0 58.0 132.0 198.0 240.0 220.0 124.0 -38.0 -130.0 -193.0 -271.0 -280.0 -231.0 -161.0 -127.0 -38.0 2.0 41.0 72.0 119.0 182.0 208.0 246.0 252.0 298.0 242.0 155.0 75.0 18.0 -49.0 -92.0 -48.0 15.0 156.0 270.0 362.0 435.0 462.0 456.0 447.0 430.0 416.0 416.0 387.0 330.0 306.0 234.0 147.0 105.0 75.0 56.0 48.0 51.0 22.0 11.0 -23.0 -51.0 -74.0 -105.0 -121.0 -118.0 -145.0 -210.0 -299.0 -384.0 -445.0 -459.0 -440.0 -393.0 -299.0 -219.0 -174.0 -138.0 -122.0 -169.0 -204.0 -270.0 -283.0 -262.0 -209.0 -199.0 -141.0 -110.0 -145.0 -128.0 -169.0 -173.0 -163.0 -67.0 -69.0 8.0 100.0 240.0 375.0 380.0 375.0 357.0 499.0 732.0 914.0 795.0 720.0 637.0 385.0 109.0 -102.0 -252.0 -130.0 148.0 291.0 489.0 635.0 641.0 527.0 297.0 -32.0 -110.0 -80.0 -140.0 -156.0 -133.0 -118.0 -77.0 -129.0 -280.0 -265.0 -166.0 -85.0 -15.0 48.0 115.0 213.0 202.0 91.0 54.0 53.0 68.0 114.0 158.0 228.0 297.0 295.0 185.0 107.0 50.0 55.0 121.0 154.0 221.0 319.0 404.0 373.0 335.0 278.0 238.0 213.0 152.0 129.0 143.0 97.0 10.0 13.0 55.0 43.0 67.0 82.0 96.0 105.0 24.0 -51.0 -124.0 -162.0 -238.0 -219.0 -215.0 -172.0 -112.0 -141.0 -140.0 -123.0 -95.0 -114.0 -75.0 -76.0 -6.0 73.0 68.0 77.0 86.0 89.0 70.0 76.0 81.0 132.0 172.0 166.0 203.0 230.0 229.0 230.0 241.0 261.0 263.0 240.0 175.0 119.0 41.0 -45.0 -111.0 -125.0 -97.0 -95.0 -90.0 -93.0 -67.0 -32.0 -30.0 -16.0 -2.0 9.0 -27.0 -61.0 -58.0 -69.0 -75.0 -116.0 -109.0 -106.0 -47.0 105.0 199.0 286.0 354.0 383.0 334.0 276.0 175.0 36.0 67.0 145.0 192.0 264.0 318.0 291.0 206.0 67.0 -97.0 -146.0 -104.0 -45.0 38.0 134.0 204.0 270.0 272.0 221.0 177.0 177.0 223.0 220.0 188.0 175.0 186.0 134.0 37.0 -62.0 -86.0 1.0 24.0 35.0 114.0 187.0 218.0 196.0 95.0 18.0 21.0 -48.0 -141.0 -144.0 -166.0 -135.0 -98.0 -137.0 -124.0 -31.0 15.0 108.0 218.0 166.0 188.0 183.0 105.0 43.0 47.0 -12.0 38.0 109.0 87.0 175.0 225.0 217.0 203.0 211.0 140.0 206.0 230.0 205.0 254.0 275.0 238.0 240.0 276.0 260.0 305.0 322.0 326.0 342.0 315.0 278.0 280.0 238.0 201.0 174.0 133.0 92.0 50.0 -28.0 -122.0 -197.0 -286.0 -339.0 -382.0 -426.0 -425.0 -383.0 -342.0 -314.0 -280.0 -249.0 -236.0 -313.0 -421.0 -480.0 -443.0 -324.0 -203.0 -64.0 78.0 250.0 477.0 711.0 733.0 631.0 550.0 443.0 274.0 133.0 30.0 71.0 237.0 321.0 400.0 451.0 445.0 344.0 238.0 57.0 -12.0 105.0 193.0 222.0 186.0 144.0 71.0 -34.0 -229.0 -346.0 -346.0 -283.0 -206.0 -139.0 -94.0 -64.0 -55.0 -68.0 -71.0 -72.0 -13.0 49.0 59.0 -14.0 -75.0 -143.0 -182.0 -249.0 -307.0 -265.0 -197.0 -153.0 -157.0 -139.0 -124.0 -34.0 34.0 83.0 137.0 173.0 181.0 103.0 -17.0 -103.0 -97.0 -98.0 -70.0 24.0 148.0 297.0 450.0 488.0 430.0 388.0 343.0 316.0 281.0 251.0 252.0 311.0 341.0 306.0 313.0 318.0 333.0 336.0 293.0 269.0 261.0 253.0 183.0 133.0 104.0 115.0 145.0 117.0 83.0 19.0 -20.0 -74.0 -98.0 -126.0 -112.0 -86.0 -113.0 -177.0 -291.0 -377.0 -418.0 -430.0 -422.0 -369.0 -276.0 -202.0 -167.0 -203.0 -236.0 -223.0 -232.0 -229.0 -243.0 -215.0 -154.0 -93.0 -145.0 -201.0 -239.0 -242.0 -227.0 -231.0 -218.0 -106.0 50.0 110.0 183.0 191.0 228.0 357.0 500.0 456.0 397.0 354.0 242.0 106.0 -73.0 -226.0 -230.0 -112.0 -75.0 -34.0 -16.0 -27.0 -70.0 -152.0 -267.0 -287.0 -205.0 -116.0 -57.0 -68.0 -139.0 -191.0 -253.0 -376.0 -438.0 -416.0 -314.0 -226.0 -178.0 -146.0 -117.0 -113.0 -149.0 -152.0 -131.0 -40.0 98.0 199.0 255.0 271.0 272.0 210.0 130.0 36.0 25.0 83.0 139.0 200.0 241.0 300.0 317.0 327.0 260.0 213.0 187.0 187.0 169.0 116.0 127.0 118.0 99.0 34.0 -7.0 -37.0 -19.0 65.0 113.0 135.0 139.0 117.0 88.0 48.0 -2.0 -57.0 -55.0 -62.0 -67.0 -58.0 -96.0 -126.0 -144.0 -158.0 -166.0 -111.0 -66.0 18.0 91.0 72.0 12.0 -37.0 -61.0 -135.0 -156.0 -161.0 -88.0 -42.0 -38.0 -23.0 -46.0 -53.0 -100.0 -87.0 -119.0 -88.0 -42.0 -31.0 -54.0 -125.0 -144.0 -198.0 -234.0 -336.0 -372.0 -377.0 -419.0 -424.0 -443.0 -419.0 -407.0 -356.0 -353.0 -372.0 -346.0 -320.0 -238.0 -239.0 -193.0 -98.0 -13.0 20.0 11.0 54.0 180.0 359.0 330.0 278.0 219.0 94.0 -36.0 -148.0 -275.0 -296.0 -141.0 -64.0 -19.0 12.0 -33.0 -73.0 -131.0 -246.0 -239.0 -104.0 5.0 69.0 99.0 20.0 6.0 -40.0 -175.0 -214.0 -177.0 -111.0 -5.0 71.0 23.0 65.0 86.0 55.0 63.0 114.0 161.0 259.0 262.0 137.0 62.0 -67.0 -194.0 -274.0 -325.0 -341.0 -238.0 -184.0 -174.0 -129.0 -135.0 -162.0 -157.0 -187.0 -174.0 -105.0 -105.0 -71.0 -36.0 -46.0 -69.0 -47.0 -72.0 -66.0 -21.0 -51.0 -13.0 33.0 52.0 81.0 151.0 187.0 297.0 352.0 278.0 287.0 251.0 171.0 96.0 79.0 19.0 92.0 122.0 87.0 125.0 70.0 16.0 -38.0 -69.0 -160.0 -125.0 -139.0 -182.0 -159.0 -189.0 -202.0 -212.0 -236.0 -284.0 -257.0 -265.0 -272.0 -264.0 -281.0 -288.0 -259.0 -236.0 -210.0 -169.0 -173.0 -155.0 -169.0 -217.0 -296.0 -341.0 -389.0 -397.0 -397.0 -370.0 -309.0 -279.0 -242.0 -224.0 -197.0 -219.0 -187.0 -204.0 -229.0 -251.0 -204.0 -139.0 -94.0 -43.0 -17.0 89.0 187.0 358.0 395.0 378.0 322.0 269.0 173.0 56.0 -4.0 -53.0 35.0 31.0 31.0 15.0 -11.0 -103.0 -195.0 -259.0 -296.0 -203.0 -138.0 -90.0 -98.0 -133.0 -179.0 -199.0 -266.0 -312.0 -278.0 -260.0 -258.0 -282.0 -300.0 -307.0 -286.0 -271.0 -201.0 -115.0 -28.0 28.0 59.0 64.0 41.0 29.0 13.0 12.0 8.0 54.0 72.0 52.0 15.0 12.0 0.0 33.0 85.0 123.0 184.0 209.0 202.0 148.0 141.0 94.0 107.0 98.0 74.0 54.0 24.0 -10.0 -96.0 -123.0 -181.0 -128.0 -95.0 -69.0 -60.0 -68.0 -98.0 -162.0 -120.0 -160.0 -99.0 -42.0 0.0 23.0 62.0 30.0 -58.0 -44.0 -138.0 -125.0 -128.0 -126.0 -128.0 -39.0 -28.0 -29.0 49.0 45.0 90.0 92.0 92.0 51.0 110.0 71.0 65.0 71.0 76.0 106.0 132.0 135.0 124.0 180.0 129.0 102.0 36.0 10.0 -49.0 -90.0 -153.0 -167.0 -186.0 -227.0 -262.0 -305.0 -288.0 -342.0 -308.0 -321.0 -253.0 -226.0 -190.0 -211.0 -256.0 -275.0 -362.0 -303.0 -278.0 -181.0 -137.0 -46.0 -27.0 78.0 188.0 111.0 94.0 22.0 14.0 -39.0 -25.0 -138.0 -125.0 -73.0 -129.0 -105.0 -126.0 -137.0 -173.0 -168.0 -277.0 -223.0 -141.0 -108.0 -54.0 -72.0 -106.0 -71.0 -63.0 -144.0 -89.0 -58.0 -76.0 -64.0 -72.0 -101.0 -56.0 -55.0 -67.0 -20.0 23.0 41.0 81.0 49.0 21.0 66.0 69.0 51.0 23.0 31.0 -7.0 -21.0 -65.0 -73.0 -49.0 -39.0 -21.0 -14.0 11.0 33.0 53.0 48.0 47.0 70.0 83.0 89.0 105.0 92.0 94.0 92.0 78.0 25.0 40.0 22.0 -7.0 20.0 23.0 39.0 58.0 89.0 64.0 121.0 190.0 219.0 263.0 267.0 240.0 203.0 156.0 98.0 68.0 86.0 57.0 72.0 81.0 49.0 64.0 27.0 30.0 19.0 50.0 31.0 91.0 137.0 127.0 163.0 122.0 116.0 45.0 35.0 -22.0 -36.0 -59.0 -82.0 -46.0 -78.0 -73.0 -83.0 -78.0 -101.0 -92.0 -86.0 -112.0 -124.0 -169.0 -212.0 -266.0 -330.0 -332.0 -335.0 -331.0 -356.0 -331.0 -314.0 -306.0 -316.0 -324.0 -294.0 -306.0 -231.0 -170.0 -62.0 11.0 79.0 72.0 113.0 232.0 257.0 241.0 201.0 172.0 116.0 62.0 -25.0 -90.0 -88.0 -95.0 -137.0 -129.0 -149.0 -142.0 -153.0 -172.0 -199.0 -164.0 -127.0 -155.0 -119.0 -128.0 -155.0 -174.0 -172.0 -197.0 -159.0 -161.0 -168.0 -106.0 -32.0 -13.0 22.0 58.0 66.0 98.0 44.0 13.0 20.0 54.0 45.0 77.0 68.0 76.0 100.0 72.0 67.0 93.0 125.0 118.0 137.0 116.0 128.0 120.0 106.0 97.0 115.0 131.0 131.0 136.0 135.0 125.0 108.0 107.0 127.0 179.0 222.0 271.0 267.0 289.0 310.0 322.0 316.0 303.0 303.0 305.0 288.0 241.0 205.0 160.0 142.0 103.0 79.0 75.0 85.0 82.0 61.0 45.0 36.0 42.0 30.0 39.0 75.0 94.0 131.0 133.0 160.0 147.0 125.0 130.0 99.0 68.0 24.0 31.0 -34.0 -77.0 -116.0 -136.0 -139.0 -145.0 -144.0 -145.0 -129.0 -180.0 -235.0 -292.0 -337.0 -374.0 -367.0 -371.0 -335.0 -285.0 -241.0 -251.0 -273.0 -294.0 -341.0 -326.0 -284.0 -186.0 -96.0 -4.0 18.0 5.0 57.0 135.0 131.0 136.0 170.0 137.0 119.0 82.0 -7.0 -43.0 -19.0 -70.0 -102.0 -113.0 -160.0 -176.0 -200.0 -257.0 -269.0 -243.0 -230.0 -160.0 -104.0 -102.0 -56.0 -16.0 -17.0 -10.0 17.0 21.0 39.0 33.0 7.0 20.0 42.0 40.0 43.0 79.0 69.0 97.0 133.0 167.0 214.0 269.0 272.0 262.0 279.0 260.0 285.0 289.0 284.0 283.0 309.0 269.0 249.0 246.0 197.0 192.0 170.0 183.0 203.0 220.0 190.0 240.0 303.0 274.0 294.0 305.0 310.0 306.0 296.0 234.0 215.0 246.0 216.0 235.0 244.0 241.0 244.0 240.0 219.0 199.0 224.0 183.0 156.0 155.0 134.0 129.0 121.0 116.0 97.0 82.0 36.0 -26.0 -49.0 -92.0 -94.0 -75.0 -55.0 -47.0 -45.0 -55.0 -137.0 -168.0 -214.0 -243.0 -238.0 -257.0 -268.0 -262.0 -250.0 -273.0 -249.0 -233.0 -204.0 -148.0 -136.0 -128.0 -116.0 -102.0 -78.0 -38.0 -6.0 13.0 49.0 62.0 117.0 192.0 207.0 200.0 178.0 159.0 117.0 101.0 81.0 74.0 106.0 98.0 51.0 -29.0 -77.0 -136.0 -185.0 -208.0 -222.0 -193.0 -172.0 -170.0 -176.0 -150.0 -98.0 -50.0 0.0 24.0 56.0 90.0 90.0 88.0 89.0 107.0 141.0 175.0 155.0 128.0 111.0 86.0 75.0 53.0 54.0 89.0 100.0 82.0 65.0 69.0 86.0 122.0 154.0 173.0 231.0 247.0 248.0 252.0 255.0 272.0 289.0 319.0 305.0 315.0 304.0 270.0 256.0 234.0 222.0 203.0 199.0 172.0 139.0 119.0 93.0 78.0 44.0 19.0 6.0 -16.0 -22.0 -34.0 -55.0 -59.0 -26.0 1.0 31.0 76.0 77.0 68.0 41.0 30.0 22.0 12.0 -1.0 -2.0 11.0 -23.0 -38.0 -32.0 -23.0 -24.0 -48.0 -63.0 -56.0 -55.0 -72.0 -77.0 -63.0 -58.0 -91.0 -129.0 -141.0 -138.0 -118.0 -85.0 -37.0 34.0 87.0 119.0 133.0 138.0 160.0 190.0 208.0 226.0 242.0 230.0 203.0 162.0 129.0 117.0 111.0 96.0 95.0 79.0 54.0 25.0 -9.0 -28.0 -60.0 -84.0 -94.0 -103.0 -125.0 -143.0 -150.0 -154.0 -139.0 -129.0 -119.0 -99.0 -73.0 -50.0 -39.0 -20.0 10.0 42.0 71.0 83.0 78.0 56.0 44.0 38.0 38.0 36.0 42.0 60.0 69.0 66.0 60.0 57.0 45.0 48.0 12.0 -14.0 -2.0 -76.0 -75.0 -114.0 -154.0 -127.0 -170.0 -144.0 -173.0 -163.0 -155.0 -174.0 -180.0 -192.0 -165.0 -146.0 -106.0 -81.0 -59.0 -33.0 19.0 26.0 48.0 60.0 93.0 140.0 169.0 204.0 213.0 242.0 278.0 314.0 309.0 310.0 306.0 310.0 299.0 278.0 276.0 296.0 331.0 344.0 354.0 355.0 361.0 358.0 344.0 330.0 330.0 336.0 329.0 330.0 323.0 300.0 276.0 233.0 181.0 151.0 130.0 120.0 128.0 125.0 106.0 94.0 65.0 44.0 34.0 23.0 15.0 1.0 -12.0 -53.0 -79.0 -93.0 -112.0 -127.0 -143.0 -156.0 -160.0 -146.0 -140.0 -131.0 -124.0 -113.0 -106.0 -98.0 -110.0 -130.0 -130.0 -144.0 -156.0 -177.0 -189.0 -210.0 -222.0 -231.0 -235.0 -207.0 -192.0 -158.0 -141.0 -151.0 -156.0 -171.0 -190.0 -197.0 -190.0 -181.0 -174.0 -151.0 -135.0 -139.0 -136.0 -126.0 -104.0 -83.0 -64.0 -38.0 -8.0 19.0 29.0 34.0 55.0 67.0 65.0 60.0 48.0 48.0 64.0 85.0 89.0 100.0 119.0 118.0 109.0 107.0 116.0 121.0 134.0 147.0 145.0 145.0 147.0 136.0 118.0 113.0 118.0 129.0 132.0 128.0 132.0 138.0 137.0 141.0 159.0 168.0 191.0 199.0 194.0 208.0 213.0 222.0 221.0 210.0 206.0 178.0 168.0 144.0 122.0 115.0 93.0 78.0 47.0 18.0 -22.0 -60.0 -82.0 -67.0 -61.0 -59.0 -46.0 -54.0 -69.0 -99.0 -129.0 -123.0 -99.0 -83.0 -73.0 -45.0 -39.0 -44.0 -33.0 -27.0 -6.0 25.0 41.0 19.0 16.0 12.0 0.0 -3.0 11.0 21.0 42.0 60.0 65.0 66.0 69.0 84.0 81.0 89.0 83.0 79.0 85.0 80.0 69.0 69.0 77.0 99.0 102.0 103.0 105.0 80.0 49.0 25.0 6.0 -29.0 -45.0 -57.0 -74.0 -76.0 -108.0 -120.0 -128.0 -166.0 -184.0 -202.0 -223.0 -233.0 -222.0 -244.0 -218.0 -243.0 -265.0 -270.0 -296.0 -301.0 -310.0 -280.0 -281.0 -258.0 -254.0 -272.0 -252.0 -243.0 -256.0 -223.0 -188.0 -174.0 -142.0 -135.0 -120.0 -92.0 -106.0 -89.0 -71.0 -22.0 3.0 35.0 64.0 53.0 73.0 61.0 53.0 46.0 38.0 49.0 72.0 65.0 98.0 57.0 108.0 97.0 86.0 126.0 106.0 179.0 158.0 162.0 157.0 162.0 118.0 114.0 100.0 91.0 114.0 105.0 135.0 142.0 153.0 174.0 154.0 159.0 176.0 158.0 217.0 179.0 188.0 156.0 156.0 129.0 113.0 155.0 149.0 177.0 177.0 153.0 145.0 142.0 65.0 125.0 91.0 106.0 118.0 105.0 72.0 57.0 51.0 -4.0 36.0 13.0 16.0 26.0 5.0 -64.0 -93.0 -135.0 -164.0 -201.0 -226.0 -249.0 -273.0 -250.0 -316.0 -317.0 -304.0 -357.0 -313.0 -334.0 -379.0 -294.0 -326.0 -311.0 -306.0 -355.0 -306.0 -338.0 -340.0 -351.0 -319.0 -304.0 -316.0 -287.0 -286.0 -277.0 -241.0 -251.0 -217.0 -163.0 -172.0 -90.0 -112.0 -106.0 -74.0 -66.0 -83.0 -8.0 -36.0 -21.0 13.0 1.0 5.0 -31.0 1.0 -37.0 43.0 5.0 53.0 12.0 42.0 54.0 26.0 95.0 22.0 111.0 95.0 118.0 181.0 138.0 204.0 216.0 196.0 210.0 186.0 189.0 190.0 203.0 192.0 220.0 161.0 215.0 134.0 155.0 145.0 43.0 183.0 53.0 141.0 53.0 40.0 88.0 -31.0 80.0 -64.0 -14.0 -8.0 -122.0 35.0 -126.0 -51.0 -43.0 -129.0 38.0 -112.0 9.0 -52.0 -39.0 23.0 -77.0 24.0 -33.0 -23.0 -37.0 -62.0 -50.0 -119.0 -126.0 -110.0 -193.0 -109.0 -197.0 -178.0 -149.0 -219.0 -167.0 -209.0 -150.0 -189.0 -160.0 -146.0 -176.0 -153.0 -166.0 -166.0 -129.0 -162.0 -157.0 -159.0 -147.0 -150.0 -190.0 -112.0 -169.0 -107.0 -81.0 -112.0 -37.0 -80.0 -45.0 -40.0 -39.0 -30.0 -43.0 35.0 8.0 30.0 62.0 73.0 126.0 86.0 116.0 118.0 119.0 108.0 91.0 74.0 90.0 48.0 64.0 32.0 10.0 21.0 -60.0 28.0 -90.0 -39.0 -72.0 -80.0 -74.0 -126.0 -102.0 -154.0 -158.0 -160.0 -223.0 -206.0 -218.0 -286.0 -202.0 -299.0 -212.0 -288.0 -258.0 -245.0 -298.0 -245.0 -303.0 -268.0 -252.0 -276.0 -252.0 -249.0 -256.0 -183.0 -241.0 -138.0 -137.0 -113.0 -20.0 -71.0 38.0 16.0 1.0 81.0 6.0 92.0 41.0 76.0 97.0 63.0 142.0 57.0 117.0 59.0 68.0 69.0 30.0 40.0 21.0 17.0 52.0 -10.0 14.0 8.0 -53.0 38.0 -88.0 -8.0 -31.0 -64.0 29.0 -35.0 19.0 9.0 0.0 34.0 -11.0 6.0 32.0 -33.0 79.0 -13.0 15.0 76.0 -48.0 100.0 -53.0 25.0 10.0 -66.0 37.0 -119.0 -15.0 -62.0 -121.0 -22.0 -133.0 -46.0 -92.0 -91.0 -2.0 -139.0 10.0 -68.0 -60.0 8.0 -98.0 -2.0 -76.0 -52.0 -66.0 -109.0 -68.0 -141.0 -128.0 -115.0 -138.0 -118.0 -123.0 -146.0 -113.0 -160.0 -126.0 -164.0 -142.0 -134.0 -139.0 -99.0 -145.0 -109.0 -147.0 -148.0 -185.0 -184.0 -180.0 -196.0 -181.0 -175.0 -152.0 -149.0 -126.0 -155.0 -105.0 -116.0 -85.0 -90.0 -90.0 -35.0 -115.0 -54.0 -132.0 -91.0 -98.0 -131.0 -83.0 -120.0 -76.0 -79.0 -58.0 -54.0 -29.0 -16.0 18.0 24.0 34.0 50.0 32.0 65.0 26.0 65.0 9.0 38.0 40.0 5.0 30.0 1.0 19.0 20.0 25.0 39.0 38.0 23.0 76.0 -7.0 56.0 18.0 14.0 69.0 12.0 39.0 65.0 28.0 48.0 52.0 52.0 38.0 57.0 63.0 20.0 91.0 9.0 81.0 44.0 55.0 28.0 33.0 16.0 9.0 30.0 -4.0 72.0 -6.0 71.0 3.0 55.0 6.0 25.0 28.0 10.0 61.0 -19.0 61.0 -21.0 39.0 -15.0 29.0 33.0 31.0 77.0 42.0 102.0 57.0 87.0 58.0 76.0 53.0 45.0 67.0 4.0 17.0 2.0 -12.0 -31.0 -14.0 -55.0 -59.0 -27.0 -106.0 -45.0 -114.0 -58.0 -99.0 -83.0 -73.0 -119.0 -52.0 -137.0 -33.0 -118.0 -53.0 -67.0 -55.0 -48.0 -57.0 -12.0 -46.0 13.0 -42.0 20.0 -12.0 -8.0 -6.0 -18.0 -24.0 -27.0 -27.0 -38.0 -52.0 -58.0 -80.0 -79.0 -82.0 -120.0 -88.0 -128.0 -114.0 -127.0 -123.0 -118.0 -134.0 -97.0 -126.0 -102.0 -101.0 -100.0 -98.0 -92.0 -70.0 -94.0 -44.0 -59.0 -33.0 -27.0 -36.0 9.0 -39.0 10.0 18.0 10.0 65.0 42.0 77.0 99.0 95.0 110.0 111.0 134.0 115.0 151.0 160.0 142.0 172.0 171.0 163.0 186.0 167.0 163.0 189.0 183.0 204.0 189.0 199.0 209.0 178.0 188.0 177.0 147.0 157.0 134.0 123.0 107.0 102.0 101.0 86.0 104.0 76.0 91.0 95.0 66.0 96.0 66.0 75.0 78.0 37.0 36.0 33.0 10.0 -22.0 -4.0 -48.0 -44.0 -34.0 -66.0 -52.0 -48.0 -56.0 -42.0 -45.0 -47.0 -45.0 -71.0 -76.0 -89.0 -103.0 -113.0 -103.0 -105.0 -110.0 -82.0 -100.0 -86.0 -84.0 -109.0 -73.0 -101.0 -74.0 -61.0 -63.0 -46.0 -71.0 -35.0 -63.0 -61.0 -47.0 -65.0 -48.0 -44.0 -29.0 -50.0 -30.0 -45.0 -33.0 -41.0 -62.0 -46.0 -62.0 -32.0 -57.0 -34.0 -29.0 -22.0 -29.0 -35.0 -34.0 -43.0 -30.0 -41.0 -18.0 -29.0 -17.0 -4.0 -16.0 2.0 -4.0 2.0 25.0 20.0 34.0 47.0 41.0 61.0 42.0 49.0 53.0 37.0 44.0 27.0 44.0 25.0 42.0 54.0 52.0 66.0 69.0 75.0 80.0 83.0 75.0 91.0 112.0 73.0 91.0 108.0 59.0 122.0 87.0 105.0 144.0 98.0 161.0 107.0 137.0 143.0 92.0 165.0 90.0 146.0 128.0 116.0 174.0 92.0 132.0 139.0 99.0 129.0 103.0 111.0 130.0 73.0 131.0 85.0 118.0 90.0 104.0 145.0 41.0 129.0 130.0 66.0 83.0 135.0 -6.0 145.0 53.0 3.0 117.0 -25.0 69.0 -16.0 21.0 11.0 21.0 -38.0 -12.0 20.0 -50.0 16.0 -18.0 -13.0 -40.0 -24.0 -26.0 -40.0 -88.0 -9.0 -108.0 -77.0 -56.0 -112.0 -108.0 -100.0 -85.0 -176.0 -24.0 -158.0 -107.0 -89.0 -68.0 -134.0 -55.0 -74.0 -118.0 32.0 -108.0 33.0 -66.0 51.0 -7.0 -4.0 92.0 -75.0 100.0 11.0 -31.0 75.0 3.0 45.0 34.0 67.0 13.0 98.0 50.0 9.0 116.0 31.0 48.0 72.0 -11.0 13.0 45.0 -38.0 33.0 -27.0 40.0 -29.0 63.0 -25.0 19.0 29.0 -3.0 82.0 -47.0 100.0 17.0 20.0 33.0 13.0 -23.0 52.0 6.0 -7.0 91.0 -6.0 78.0 89.0 -8.0 97.0 11.0 59.0 63.0 11.0 114.0 5.0 105.0 93.0 4.0 146.0 49.0 109.0 144.0 74.0 193.0 119.0 153.0 164.0 148.0 137.0 189.0 164.0 144.0 206.0 123.0 140.0 193.0 71.0 143.0 87.0 96.0 158.0 12.0 163.0 67.0 64.0 135.0 11.0 112.0 47.0 9.0 70.0 37.0 -5.0 32.0 6.0 25.0 38.0 -32.0 65.0 -16.0 36.0 -14.0 5.0 43.0 -29.0 35.0 15.0 29.0 26.0 -5.0 73.0 8.0 18.0 -8.0 31.0 -7.0 -2.0 16.0 -78.0 67.0 -51.0 -30.0 15.0 -43.0 -42.0 -23.0 -43.0 -10.0 -80.0 32.0 -53.0 -38.0 21.0 -137.0 35.0 -26.0 -61.0 -1.0 -84.0 21.0 -26.0 -98.0 45.0 -123.0 -24.0 -24.0 -97.0 -14.0 -122.0 -31.0 -60.0 -73.0 -91.0 -65.0 -17.0 -115.0 -20.0 -67.0 -87.0 -6.0 -8.0 -61.0 2.0 36.0 -26.0 31.0 48.0 -35.0 105.0 69.0 40.0 129.0 65.0 109.0 120.0 136.0 58.0 201.0 73.0 125.0 189.0 105.0 173.0 63.0 208.0 134.0 103.0 170.0 115.0 142.0 194.0 108.0 174.0 165.0 147.0 197.0 133.0 171.0 168.0 195.0 150.0 222.0 106.0 194.0 198.0 73.0 219.0 87.0 196.0 164.0 94.0 152.0 169.0 119.0 37.0 149.0 128.0 71.0 116.0 60.0 28.0 129.0 1.0 41.0 46.0 14.0 109.0 -15.0 60.0 36.0 -69.0 96.0 -58.0 -3.0 -27.0 10.0 26.0 -126.0 154.0 -166.0 71.0 -46.0 -42.0 105.0 -168.0 118.0 -56.0 -7.0 70.0 -168.0 82.0 8.0 -113.0 110.0 -111.0 6.0 -40.0 9.0 -97.0 129.0 -107.0 1.0 117.0 -108.0 144.0 -182.0 161.0 -59.0 -8.0 -11.0 48.0 2.0 -60.0 35.0 20.0 -12.0 38.0 79.0 -81.0 217.0 -120.0 151.0 -65.0 61.0 29.0 -47.0 126.0 -123.0 223.0 -121.0 153.0 1.0 -2.0 93.0 -2.0 119.0 -48.0 54.0 112.0 34.0 22.0 272.0 -58.0 107.0 142.0 -35.0 188.0 45.0 -20.0 178.0 74.0 45.0 206.0 43.0 122.0 110.0 -27.0 247.0 10.0 29.0 301.0 -156.0 435.0 -82.0 122.0 288.0 -121.0 372.0 -57.0 183.0 137.0 110.0 117.0 225.0 -13.0 267.0 -6.0 142.0 230.0 -105.0 316.0 56.0 145.0 30.0 209.0 51.0 117.0 100.0 51.0 132.0 189.0 -71.0 131.0 206.0 -21.0 118.0 -41.0 173.0 -42.0 157.0 -13.0 30.0 133.0 -6.0 226.0 -121.0 117.0 -24.0 132.0 -63.0 -45.0 165.0 -182.0 254.0 -151.0 -54.0 117.0 -59.0 -199.0 139.0 -102.0 -47.0 -51.0 -37.0 43.0 -74.0 34.0 -250.0 228.0 -196.0 3.0 -76.0 -89.0 -73.0 -32.0 -16.0 -63.0 -20.0 -170.0 192.0 -89.0 -208.0 -125.0 131.0 -214.0 45.0 -91.0 -4.0 11.0 -211.0 152.0 -208.0 -63.0 -85.0 -37.0 110.0 29.0 -267.0 206.0 -2.0 -66.0 -18.0 -31.0 124.0 -5.0 102.0 -65.0 247.0 -119.0 24.0 66.0 228.0 -52.0 -146.0 435.0 -153.0 170.0 162.0 -163.0 447.0 -75.0 7.0 278.0 -31.0 82.0 -14.0 235.0 87.0 10.0 308.0 -101.0 284.0 134.0 -175.0 451.0 -104.0 76.0 223.0 98.0 31.0 276.0 32.0 26.0 373.0 -220.0 142.0 153.0 82.0 -84.0 119.0 175.0 -108.0 296.0 -210.0 110.0 71.0 -37.0 -9.0 76.0 67.0 -268.0 347.0 -278.0 45.0 172.0 -283.0 135.0 40.0 -134.0 -9.0 0.0 -46.0 -171.0 112.0 -301.0 57.0 223.0 -446.0 220.0 -130.0 -181.0 180.0 -151.0 -213.0 132.0 -149.0 58.0 -58.0 -51.0 -114.0 -48.0 97.0 -329.0 176.0 -152.0 -130.0 187.0 -170.0 0.0 -5.0 -181.0 114.0 -136.0 -77.0 130.0 -187.0 111.0 -25.0 -65.0 9.0 -71.0 103.0 -134.0 2.0 -114.0 176.0 -13.0 -41.0 -137.0 144.0 -65.0 -17.0 53.0 -321.0 402.0 -445.0 185.0 19.0 -236.0 286.0 -179.0 -5.0 167.0 -281.0 176.0 -92.0 -50.0 37.0 -265.0 360.0 -279.0 -22.0 113.0 -223.0 161.0 -97.0 -198.0 203.0 -163.0 88.0 -163.0 105.0 -29.0 -133.0 52.0 -71.0 -19.0 -68.0 84.0 -50.0 59.0 -114.0 210.0 -188.0 228.0 -70.0 -56.0 221.0 -159.0 201.0 17.0 -16.0 73.0 146.0 -64.0 63.0 106.0 -88.0 19.0 234.0 -240.0 200.0 80.0 -15.0 232.0 -112.0 19.0 13.0 121.0 46.0 -160.0 137.0 9.0 -116.0 435.0 -514.0 421.0 -177.0 14.0 309.0 -250.0 210.0 -317.0 397.0 -308.0 193.0 -143.0 -85.0 237.0 43.0 -7.0 -33.0 15.0 -135.0 23.0 -62.0 -179.0 -167.0 41.0 -280.0 125.0 -139.0 -51.0 -105.0 -183.0 -27.0 -284.0 -1.0 -283.0 -93.0 91.0 -248.0 -105.0 -165.0 43.0 -257.0 24.0 -278.0 -95.0 158.0 -400.0 318.0 -296.0 -169.0 81.0 -374.0 104.0 -247.0 -17.0 -59.0 -159.0 83.0 -370.0 105.0 -246.0 -148.0 -42.0 -378.0 261.0 -192.0 -325.0 509.0 -803.0 172.0 45.0 -472.0 466.0 -275.0 107.0 -107.0 59.0 -81.0 -57.0 377.0 -391.0 -6.0 436.0 -476.0 407.0 -218.0 -207.0 151.0 -168.0 64.0 -308.0 356.0 -287.0 -187.0 185.0 -259.0 185.0 -260.0 39.0 4.0 -142.0 355.0 -316.0 220.0 52.0 -90.0 416.0 -285.0 247.0 203.0 -400.0 389.0 -388.0 96.0 65.0 -103.0 156.0 -279.0 248.0 -110.0 -241.0 9.0 -343.0 -50.0 -11.0 -491.0 456.0 -423.0 63.0 -3.0 -464.0 159.0 -271.0 -153.0 -129.0 -50.0 190.0 -287.0 -2.0 -196.0 -295.0 472.0 -885.0 449.0 -270.0 -134.0 255.0 -592.0 463.0 -474.0 -184.0 -105.0 -341.0 -113.0 -163.0 -231.0 -117.0 132.0 -463.0 219.0 -195.0 -355.0 263.0 -763.0 246.0 -150.0 -134.0 177.0 -119.0 -173.0 76.0 108.0 -327.0 -192.0 110.0 -331.0 239.0 -123.0 -505.0 783.0 -713.0 330.0 -671.0 94.0 101.0 -579.0 353.0 -519.0 342.0 -388.0 -10.0 -144.0 -11.0 -85.0 -255.0 -133.0 -44.0 -273.0 52.0 -71.0 -48.0 70.0 -531.0 444.0 -261.0 17.0 -202.0 -276.0 -130.0 -128.0 86.0 -412.0 85.0 78.0 -131.0 -87.0 91.0 -105.0 -14.0 -338.0 37.0 -122.0 -43.0 385.0 -623.0 91.0 -72.0 -373.0 82.0 96.0 -368.0 26.0 -43.0 -76.0 116.0 -450.0 244.0 -231.0 296.0 -192.0 -590.0 317.0 -311.0 49.0 64.0 -375.0 191.0 114.0 -153.0 59.0 -400.0 -37.0 -30.0 -526.0 343.0 -254.0 272.0 191.0 -376.0 361.0 -436.0 72.0 -185.0 -298.0 72.0 -142.0 3.0 -22.0 48.0 6.0 -170.0 -93.0 -302.0 -155.0 -238.0 -62.0 50.0 -238.0 -35.0 -271.0 -5.0 -447.0 -108.0 -250.0 -174.0 219.0 -430.0 -64.0 -277.0 -149.0 2.0 -543.0 148.0 -104.0 -56.0 105.0 -563.0 214.0 -385.0 -279.0 105.0 -528.0 119.0 -405.0 -119.0 -9.0 -561.0 87.0 -650.0 108.0 -140.0 -551.0 55.0 -363.0 -48.0 -109.0 -297.0 206.0 -49.0 -364.0 -265.0 -201.0 162.0 -490.0 251.0 -329.0 82.0 212.0 -828.0 177.0 -534.0 -239.0 -128.0 -55.0 118.0 -180.0 41.0 -205.0 -30.0 -105.0 -579.0 -39.0 143.0 -261.0 283.0 -122.0 183.0 -85.0 -60.0 -306.0 -119.0 258.0 -354.0 404.0 -375.0 10.0 94.0 327.0 361.0 25.0 125.0 48.0 -189.0 67.0 -42.0 -217.0 85.0 -91.0 428.0 -146.0 224.0 -228.0 -16.0 157.0 -467.0 32.0 -132.0 81.0 513.0 -360.0 254.0 128.0 -274.0 315.0 -505.0 283.0 80.0 231.0 130.0 4.0 340.0 -111.0 162.0 12.0 -99.0 -5.0 -302.0 -233.0 -60.0 -307.0 373.0 141.0 30.0 60.0 -470.0 -156.0 -497.0 24.0 -316.0 126.0 311.0 -175.0 318.0 -421.0 -35.0 -161.0 -282.0 39.0 8.0 -218.0 568.0 -307.0 209.0 117.0 -507.0 166.0 -355.0 122.0 -565.0 152.0 -144.0 129.0 275.0 -100.0 -157.0 120.0 -441.0 -343.0 -21.0 -307.0 456.0 -88.0 268.0 -435.0 47.0 -139.0 -323.0 18.0 -82.0 246.0 25.0 -70.0 -325.0 -145.0 14.0 -246.0 -168.0 57.0 -258.0 134.0 -143.0 -80.0 -22.0 -245.0 150.0 -36.0 116.0 -1.0 -277.0 66.0 -271.0 -294.0 187.0 39.0 160.0 217.0 -418.0 -75.0 -42.0 -183.0 125.0 -129.0 284.0 51.0 18.0 -46.0 -197.0 -58.0 -154.0 -123.0 -138.0 146.0 194.0 129.0 -50.0 67.0 -43.0 62.0 303.0 -67.0 -5.0 -7.0 0.0 191.0 2.0 111.0 238.0 150.0 47.0 -266.0 20.0 -8.0 -75.0 166.0 163.0 389.0 309.0 127.0 -167.0 -118.0 78.0 -233.0 30.0 251.0 339.0 395.0 287.0 194.0 71.0 152.0 -23.0 71.0 233.0 232.0 246.0 94.0 85.0 195.0 -297.0 59.0 98.0 -233.0 433.0 -26.0 199.0 352.0 -43.0 96.0 -178.0 62.0 -37.0 -171.0 128.0 157.0 349.0 383.0 236.0 149.0 -109.0 -75.0 -135.0 -232.0 -13.0 124.0 383.0 248.0 346.0 91.0 -140.0 -14.0 -418.0 -29.0 150.0 -18.0 314.0 4.0 93.0 -75.0 -286.0 56.0 -174.0 152.0 119.0 -67.0 75.0 -108.0 -14.0 120.0 103.0 255.0 228.0 65.0 -44.0 -189.0 -105.0 24.0 -67.0 172.0 222.0 143.0 71.0 -160.0 24.0 85.0 69.0 144.0 86.0 0.0 -68.0 -28.0 106.0 -39.0 88.0 188.0 1.0 72.0 48.0 52.0 -45.0 160.0 236.0 224.0 271.0 -78.0 61.0 -145.0 -212.0 -68.0 89.0 381.0 363.0 327.0 130.0 32.0 -32.0 -89.0 -4.0 155.0 122.0 218.0 246.0 223.0 120.0 -60.0 -69.0 -41.0 165.0 237.0 306.0 304.0 126.0 169.0 70.0 -50.0 -49.0 -21.0 138.0 77.0 -26.0 -5.0 177.0 204.0 199.0 210.0 78.0 174.0 160.0 -63.0 -50.0 -39.0 45.0 218.0 196.0 220.0 143.0 174.0 282.0 89.0 4.0 26.0 115.0 318.0 153.0 68.0 104.0 19.0 -47.0 -2.0 111.0 183.0 201.0 106.0 160.0 183.0 46.0 -7.0 -26.0 5.0 119.0 45.0 98.0 94.0 170.0 273.0 97.0 16.0 -6.0 147.0 132.0 78.0 94.0 -38.0 -86.0 -45.0 44.0 100.0 222.0 307.0 220.0 102.0 -75.0 -69.0 -7.0 116.0 150.0 17.0 66.0 147.0 154.0 -38.0 -156.0 -171.0 -125.0 -36.0 29.0 46.0 195.0 317.0 184.0 35.0 -120.0 -225.0 -296.0 -147.0 51.0 159.0 276.0 363.0 377.0 362.0 136.0 -32.0 -86.0 -173.0 -172.0 -278.0 -79.0 130.0 197.0 288.0 185.0 138.0 7.0 -140.0 -181.0 -253.0 -59.0 -87.0 18.0 270.0 173.0 127.0 -31.0 -60.0 -62.0 -24.0 21.0 22.0 82.0 92.0 -6.0 -2.0 49.0 21.0 -32.0 -87.0 17.0 -8.0 14.0 -39.0 -50.0 130.0 202.0 72.0 -3.0 -21.0 -22.0 -41.0 -172.0 -115.0 -68.0 124.0 155.0 105.0 154.0 73.0 16.0 -51.0 -97.0 -67.0 -20.0 -16.0 -43.0 -28.0 11.0 -42.0 -72.0 -72.0 92.0 50.0 87.0 135.0 -14.0 -38.0 -116.0 -90.0 -30.0 -43.0 -22.0 -34.0 -31.0 74.0 -35.0 41.0 97.0 79.0 78.0 -121.0 -63.0 4.0 29.0 16.0 -60.0 -20.0 -75.0 -83.0 -56.0 -61.0 36.0 122.0 181.0 191.0 179.0 104.0 101.0 61.0 -148.0 -133.0 -73.0 9.0 96.0 128.0 156.0 173.0 45.0 -38.0 -34.0 -105.0 52.0 -27.0 -61.0 29.0 142.0 295.0 366.0 442.0 492.0 465.0 325.0 188.0 34.0 -25.0 -27.0 42.0 48.0 224.0 361.0 419.0 414.0 156.0 13.0 49.0 67.0 58.0 81.0 206.0 385.0 299.0 162.0 192.0 235.0 157.0 149.0 167.0 237.0 342.0 433.0 403.0 322.0 355.0 263.0 104.0 -128.0 -117.0 -42.0 88.0 232.0 296.0 479.0 387.0 238.0 92.0 195.0 189.0 65.0 72.0 4.0 154.0 253.0 217.0 261.0 337.0 257.0 162.0 169.0 297.0 172.0 161.0 45.0 -161.0 20.0 56.0 114.0 -21.0 13.0 336.0 650.0 500.0 179.0 16.0 -94.0 -6.0 -181.0 -57.0 2.0 316.0 382.0 215.0 219.0 196.0 299.0 -43.0 -51.0 -134.0 158.0 323.0 21.0 55.0 -63.0 162.0 282.0 96.0 53.0 -28.0 224.0 51.0 -64.0 37.0 -120.0 244.0 333.0 379.0 248.0 144.0 144.0 -139.0 -38.0 -180.0 -212.0 88.0 256.0 311.0 222.0 272.0 155.0 12.0 -164.0 -364.0 -219.0 -63.0 11.0 -196.0 -38.0 191.0 100.0 98.0 -95.0 -156.0 -176.0 -135.0 -165.0 -218.0 -33.0 84.0 94.0 67.0 -31.0 -41.0 -23.0 -1.0 -72.0 -79.0 -65.0 -216.0 -166.0 -81.0 -46.0 -61.0 -44.0 -94.0 -117.0 -68.0 -69.0 -103.0 -107.0 -162.0 -159.0 -98.0 -53.0 -110.0 -129.0 -56.0 -94.0 -47.0 -105.0 -97.0 -120.0 -80.0 -47.0 -5.0 75.0 107.0 71.0 -33.0 -14.0 -156.0 -147.0 -260.0 -281.0 -141.0 -185.0 -71.0 -139.0 -80.0 -43.0 -80.0 -97.0 -221.0 -143.0 -89.0 -4.0 -44.0 -252.0 -214.0 -156.0 -219.0 -274.0 -180.0 79.0 94.0 173.0 108.0 43.0 -38.0 -233.0 -428.0 -550.0 -344.0 -301.0 -157.0 63.0 179.0 130.0 98.0 -133.0 -333.0 -280.0 -345.0 -530.0 -461.0 -215.0 -191.0 -62.0 40.0 -41.0 -197.0 -161.0 -272.0 -325.0 -78.0 -38.0 -205.0 -188.0 -227.0 -232.0 -138.0 -200.0 -190.0 -100.0 181.0 62.0 -120.0 -280.0 -389.0 -315.0 -293.0 -53.0 24.0 150.0 187.0 -88.0 -227.0 -353.0 -382.0 -256.0 -111.0 182.0 307.0 504.0 324.0 -50.0 -131.0 -345.0 -362.0 -316.0 -17.0 151.0 177.0 324.0 229.0 54.0 4.0 -125.0 -211.0 -98.0 -173.0 -81.0 21.0 107.0 -21.0 75.0 127.0 48.0 235.0 118.0 0.0 -55.0 -25.0 -71.0 14.0 81.0 128.0 126.0 179.0 216.0 151.0 136.0 57.0 -85.0 -89.0 57.0 99.0 64.0 89.0 383.0 377.0 319.0 148.0 -73.0 63.0 25.0 113.0 108.0 104.0 178.0 91.0 157.0 53.0 67.0 156.0 73.0 159.0 166.0 50.0 -9.0 -95.0 -50.0 26.0 212.0 237.0 114.0 288.0 78.0 -17.0 -13.0 -215.0 -100.0 -172.0 104.0 233.0 351.0 341.0 60.0 90.0 -118.0 -92.0 -76.0 -111.0 -98.0 -22.0 30.0 105.0 38.0 129.0 124.0 163.0 92.0 -97.0 -87.0 -183.0 -100.0 -184.0 -50.0 14.0 76.0 102.0 37.0 -36.0 -150.0 -150.0 -275.0 -221.0 -135.0 -87.0 -46.0 -64.0 -35.0 -51.0 -103.0 -65.0 -60.0 -228.0 -164.0 -220.0 -131.0 -161.0 -133.0 -51.0 -84.0 55.0 -37.0 -7.0 -56.0 -83.0 -161.0 -243.0 -369.0 -327.0 -309.0 -206.0 -96.0 -84.0 -26.0 13.0 38.0 -108.0 -185.0 -225.0 -220.0 -299.0 -266.0 -223.0 -169.0 -137.0 -154.0 -80.0 -60.0 -69.0 -46.0 -91.0 -98.0 -98.0 -189.0 -138.0 -230.0 -247.0 -208.0 -307.0 -200.0 -129.0 -41.0 3.0 13.0 -32.0 -184.0 -206.0 -195.0 -286.0 -187.0 -181.0 -203.0 -134.0 -142.0 -23.0 -14.0 -13.0 48.0 -62.0 -3.0 -82.0 -142.0 -146.0 -336.0 -302.0 -291.0 -17.0 12.0 63.0 125.0 97.0 1.0 -107.0 -349.0 -432.0 -405.0 -338.0 -134.0 -98.0 54.0 -14.0 150.0 -44.0 -114.0 -149.0 -228.0 -311.0 -253.0 -146.0 -154.0 -106.0 -76.0 -17.0 -117.0 48.0 -102.0 -88.0 -157.0 -266.0 -196.0 -208.0 -211.0 -224.0 -202.0 -170.0 -128.0 -126.0 -159.0 -174.0 -152.0 -149.0 -105.0 -202.0 -157.0 -126.0 -87.0 -86.0 -91.0 -44.0 -147.0 -75.0 -128.0 -161.0 26.0 -86.0 -66.0 52.0 85.0 14.0 33.0 -22.0 -144.0 -94.0 -215.0 -275.0 -162.0 24.0 70.0 236.0 166.0 117.0 59.0 -45.0 -157.0 -22.0 15.0 -70.0 2.0 -56.0 69.0 -77.0 6.0 83.0 222.0 355.0 349.0 273.0 172.0 9.0 -165.0 -210.0 -236.0 -74.0 69.0 237.0 420.0 509.0 452.0 345.0 87.0 -43.0 -207.0 -228.0 -130.0 33.0 79.0 37.0 313.0 284.0 143.0 -14.0 -45.0 -73.0 -100.0 -59.0 -110.0 37.0 103.0 145.0 151.0 132.0 26.0 -118.0 -143.0 -152.0 -6.0 -32.0 74.0 211.0 251.0 181.0 -40.0 -261.0 -362.0 -295.0 -220.0 -64.0 82.0 238.0 270.0 361.0 59.0 -61.0 -87.0 -241.0 -137.0 -132.0 -53.0 -105.0 -61.0 28.0 1.0 -36.0 -2.0 12.0 -4.0 64.0 0.0 -185.0 -211.0 -222.0 -306.0 -234.0 -135.0 -24.0 121.0 127.0 31.0 49.0 51.0 -80.0 -102.0 -192.0 -225.0 -227.0 -149.0 -74.0 -87.0 -53.0 25.0 20.0 -115.0 -119.0 -221.0 -269.0 -183.0 -111.0 -140.0 -26.0 63.0 56.0 62.0 6.0 -245.0 -224.0 -192.0 -293.0 -184.0 -85.0 32.0 95.0 287.0 57.0 16.0 -54.0 -251.0 -335.0 -487.0 -397.0 -272.0 -46.0 98.0 272.0 331.0 191.0 45.0 -165.0 -375.0 -473.0 -420.0 -386.0 -170.0 80.0 122.0 205.0 169.0 109.0 -30.0 -128.0 -254.0 -141.0 -82.0 -101.0 -66.0 -29.0 -27.0 -74.0 20.0 -72.0 -8.0 -42.0 -65.0 -139.0 -134.0 -176.0 -199.0 -114.0 -63.0 17.0 37.0 -13.0 -95.0 -124.0 -186.0 -191.0 -227.0 -129.0 -40.0 53.0 66.0 75.0 -70.0 -122.0 -119.0 -190.0 -221.0 -159.0 -66.0 1.0 88.0 7.0 128.0 42.0 -102.0 -149.0 -152.0 -158.0 -137.0 -84.0 -123.0 -8.0 35.0 -30.0 -59.0 -31.0 -85.0 -23.0 -142.0 -164.0 -1.0 21.0 57.0 -11.0 -5.0 -145.0 -86.0 -146.0 -221.0 -194.0 -120.0 -16.0 53.0 92.0 11.0 45.0 -118.0 -213.0 -235.0 -273.0 -300.0 -118.0 -129.0 -11.0 150.0 95.0 92.0 79.0 10.0 -102.0 -79.0 -209.0 -119.0 -63.0 -85.0 14.0 31.0 37.0 125.0 128.0 32.0 -25.0 -45.0 -101.0 -143.0 -130.0 -107.0 39.0 142.0 193.0 229.0 204.0 56.0 -28.0 -71.0 -176.0 -97.0 -7.0 117.0 160.0 190.0 224.0 162.0 149.0 51.0 26.0 -7.0 22.0 97.0 120.0 166.0 260.0 241.0 223.0 144.0 69.0 30.0 -79.0 -47.0 1.0 112.0 140.0 158.0 208.0 260.0 216.0 157.0 85.0 99.0 135.0 152.0 189.0 261.0 247.0 192.0 190.0 127.0 128.0 30.0 41.0 23.0 95.0 133.0 220.0 235.0 333.0 338.0 193.0 113.0 -67.0 -86.0 -212.0 -123.0 -77.0 76.0 225.0 327.0 438.0 415.0 266.0 69.0 -55.0 -189.0 -218.0 -280.0 -108.0 49.0 128.0 252.0 301.0 267.0 241.0 140.0 -62.0 -128.0 -135.0 -130.0 -63.0 -30.0 31.0 124.0 130.0 117.0 53.0 28.0 7.0 -20.0 -59.0 -68.0 -21.0 -12.0 -6.0 -28.0 -21.0 0.0 28.0 18.0 59.0 87.0 114.0 78.0 51.0 -3.0 -63.0 -70.0 -71.0 14.0 -8.0 61.0 84.0 106.0 18.0 6.0 -26.0 -52.0 -61.0 -52.0 4.0 -11.0 79.0 49.0 51.0 -67.0 -62.0 -138.0 -92.0 -1.0 22.0 189.0 253.0 231.0 155.0 99.0 -151.0 -179.0 -165.0 -207.0 -113.0 75.0 135.0 206.0 245.0 106.0 41.0 -84.0 -170.0 -279.0 -213.0 -181.0 -51.0 83.0 130.0 201.0 182.0 122.0 -35.0 -84.0 -124.0 -92.0 -42.0 40.0 140.0 228.0 204.0 119.0 59.0 -42.0 -82.0 -81.0 -41.0 34.0 96.0 151.0 159.0 154.0 80.0 49.0 34.0 18.0 4.0 -11.0 58.0 18.0 22.0 -13.0 0.0 -37.0 11.0 -10.0 -14.0 108.0 140.0 146.0 195.0 179.0 53.0 69.0 -75.0 -157.0 -185.0 -102.0 -53.0 155.0 308.0 295.0 344.0 307.0 207.0 17.0 -78.0 -247.0 -250.0 -233.0 -106.0 29.0 186.0 339.0 367.0 394.0 287.0 179.0 1.0 -148.0 -310.0 -314.0 -221.0 -108.0 82.0 236.0 383.0 452.0 441.0 291.0 125.0 -79.0 -289.0 -316.0 -309.0 -218.0 2.0 251.0 393.0 483.0 473.0 315.0 157.0 -40.0 -211.0 -287.0 -206.0 -138.0 3.0 216.0 347.0 412.0 399.0 284.0 126.0 44.0 -101.0 -182.0 -180.0 -106.0 27.0 171.0 271.0 316.0 360.0 323.0 253.0 143.0 61.0 -10.0 -30.0 -34.0 -4.0 158.0 218.0 253.0 295.0 311.0 256.0 138.0 42.0 -52.0 2.0 43.0 55.0 212.0 330.0 371.0 356.0 296.0 165.0 35.0 -85.0 -119.0 -65.0 -4.0 139.0 312.0 383.0 397.0 409.0 301.0 151.0 10.0 -103.0 -210.0 -165.0 -72.0 57.0 193.0 295.0 412.0 437.0 377.0 244.0 154.0 10.0 -122.0 -173.0 -179.0 -162.0 -55.0 54.0 176.0 284.0 335.0 303.0 231.0 101.0 -75.0 -145.0 -243.0 -216.0 -152.0 -4.0 97.0 220.0 335.0 326.0 303.0 187.0 85.0 -65.0 -140.0 -254.0 -223.0 -135.0 -19.0 76.0 152.0 269.0 281.0 285.0 125.0 91.0 -21.0 -120.0 -155.0 -112.0 -29.0 20.0 176.0 221.0 306.0 270.0 238.0 154.0 120.0 68.0 7.0 14.0 19.0 88.0 90.0 146.0 161.0 229.0 192.0 171.0 142.0 131.0 76.0 5.0 28.0 24.0 84.0 80.0 136.0 118.0 122.0 66.0 38.0 -5.0 -48.0 -55.0 -85.0 1.0 32.0 108.0 123.0 149.0 113.0 101.0 23.0 -64.0 -80.0 -127.0 -98.0 -53.0 41.0 83.0 177.0 188.0 149.0 72.0 -15.0 -121.0 -182.0 -185.0 -183.0 -29.0 77.0 174.0 225.0 254.0 198.0 95.0 11.0 -93.0 -112.0 -132.0 -95.0 -19.0 102.0 193.0 232.0 295.0 251.0 229.0 175.0 142.0 124.0 110.0 117.0 137.0 230.0 250.0 309.0 363.0 410.0 356.0 333.0 295.0 221.0 198.0 174.0 195.0 248.0 345.0 379.0 430.0 435.0 409.0 334.0 258.0 175.0 147.0 142.0 117.0 129.0 171.0 203.0 188.0 203.0 140.0 101.0 20.0 -61.0 -128.0 -182.0 -229.0 -255.0 -205.0 -162.0 -95.0 -45.0 -10.0 4.0 11.0 -42.0 -119.0 -195.0 -260.0 -336.0 -337.0 -301.0 -252.0 -143.0 -58.0 1.0 -12.0 -40.0 -111.0 -185.0 -260.0 -302.0 -327.0 -304.0 -248.0 -213.0 -144.0 -65.0 18.0 29.0 57.0 73.0 69.0 29.0 -1.0 -11.0 -28.0 26.0 92.0 168.0 198.0 256.0 274.0 284.0 292.0 276.0 249.0 252.0 267.0 239.0 252.0 239.0 246.0 260.0 258.0 216.0 227.0 248.0 235.0 235.0 221.0 190.0 163.0 136.0 52.0 46.0 41.0 32.0 26.0 55.0 89.0 105.0 157.0 145.0 152.0 130.0 144.0 97.0 86.0 104.0 122.0 246.0 284.0 371.0 428.0 475.0 411.0 362.0 254.0 66.0 -26.0 -152.0 -181.0 -157.0 -54.0 30.0 161.0 244.0 243.0 209.0 109.0 -21.0 -199.0 -350.0 -482.0 -519.0 -513.0 -476.0 -376.0 -224.0 -130.0 -84.0 -63.0 -139.0 -243.0 -376.0 -500.0 -569.0 -573.0 -531.0 -447.0 -308.0 -200.0 -170.0 -156.0 -183.0 -239.0 -282.0 -316.0 -327.0 -273.0 -204.0 -111.0 16.0 123.0 231.0 286.0 313.0 323.0 312.0 218.0 184.0 188.0 158.0 205.0 253.0 314.0 373.0 439.0 415.0 393.0 366.0 310.0 247.0 162.0 145.0 155.0 158.0 158.0 204.0 204.0 211.0 175.0 101.0 54.0 -9.0 -99.0 -123.0 -103.0 -137.0 -87.0 -71.0 -77.0 -86.0 -93.0 -140.0 -188.0 -177.0 -212.0 -223.0 -220.0 -214.0 -243.0 -228.0 -236.0 -251.0 -198.0 -174.0 -158.0 -56.0 146.0 220.0 270.0 416.0 387.0 271.0 163.0 -14.0 -213.0 -308.0 -357.0 -359.0 -173.0 -12.0 147.0 314.0 425.0 366.0 258.0 126.0 -129.0 -315.0 -463.0 -522.0 -537.0 -458.0 -343.0 -166.0 -11.0 19.0 39.0 26.0 -76.0 -273.0 -405.0 -537.0 -619.0 -638.0 -605.0 -487.0 -320.0 -181.0 -51.0 75.0 80.0 37.0 -35.0 -150.0 -275.0 -325.0 -327.0 -232.0 -56.0 136.0 347.0 496.0 584.0 562.0 480.0 313.0 128.0 -5.0 -93.0 -96.0 -32.0 116.0 252.0 382.0 460.0 504.0 498.0 377.0 240.0 75.0 -77.0 -211.0 -253.0 -235.0 -160.0 -48.0 36.0 134.0 142.0 70.0 -15.0 -165.0 -313.0 -396.0 -470.0 -493.0 -428.0 -383.0 -327.0 -229.0 -191.0 -196.0 -191.0 -220.0 -307.0 -332.0 -370.0 -351.0 -195.0 -103.0 24.0 206.0 257.0 218.0 229.0 145.0 -36.0 -119.0 -195.0 -202.0 -132.0 -20.0 101.0 256.0 376.0 370.0 368.0 286.0 158.0 8.0 -121.0 -219.0 -288.0 -277.0 -229.0 -155.0 -90.0 -28.0 -7.0 -7.0 -77.0 -184.0 -279.0 -389.0 -471.0 -541.0 -536.0 -502.0 -449.0 -392.0 -328.0 -233.0 -221.0 -259.0 -285.0 -327.0 -410.0 -435.0 -410.0 -375.0 -284.0 -143.0 10.0 135.0 226.0 285.0 288.0 230.0 118.0 18.0 -35.0 -137.0 -206.0 -157.0 -75.0 -31.0 41.0 150.0 213.0 245.0 220.0 160.0 85.0 -13.0 -107.0 -180.0 -205.0 -199.0 -175.0 -134.0 -93.0 -64.0 -25.0 -29.0 -86.0 -131.0 -160.0 -232.0 -295.0 -329.0 -363.0 -368.0 -366.0 -323.0 -279.0 -229.0 -218.0 -225.0 -215.0 -251.0 -158.0 -66.0 -73.0 34.0 127.0 99.0 53.0 22.0 -94.0 -174.0 -191.0 -240.0 -181.0 -61.0 43.0 138.0 269.0 283.0 248.0 254.0 148.0 22.0 -49.0 -106.0 -178.0 -202.0 -206.0 -184.0 -133.0 -91.0 -81.0 -37.0 -34.0 -129.0 -202.0 -283.0 -375.0 -482.0 -529.0 -534.0 -523.0 -509.0 -460.0 -408.0 -410.0 -410.0 -421.0 -425.0 -450.0 -479.0 -500.0 -453.0 -384.0 -321.0 -208.0 -112.0 -29.0 57.0 92.0 46.0 12.0 -28.0 -95.0 -149.0 -194.0 -176.0 -139.0 -109.0 -48.0 54.0 135.0 181.0 222.0 203.0 178.0 114.0 3.0 -59.0 -120.0 -162.0 -136.0 -71.0 -8.0 82.0 160.0 178.0 181.0 147.0 82.0 -27.0 -118.0 -158.0 -196.0 -226.0 -194.0 -143.0 -111.0 -46.0 32.0 87.0 128.0 141.0 91.0 58.0 -2.0 -87.0 -142.0 -175.0 -178.0 -152.0 -96.0 -46.0 44.0 126.0 148.0 147.0 139.0 87.0 -5.0 -61.0 -111.0 -152.0 -154.0 -145.0 -124.0 -82.0 -60.0 -39.0 -38.0 -73.0 -133.0 -182.0 -239.0 -319.0 -361.0 -365.0 -373.0 -375.0 -341.0 -305.0 -279.0 -300.0 -339.0 -370.0 -439.0 -521.0 -567.0 -586.0 -605.0 -570.0 -504.0 -427.0 -320.0 -213.0 -115.0 -30.0 27.0 11.0 -10.0 -18.0 -78.0 -152.0 -185.0 -175.0 -145.0 -100.0 -58.0 3.0 70.0 66.0 28.0 18.0 -13.0 -72.0 -98.0 -90.0 -70.0 -43.0 -19.0 4.0 32.0 24.0 -10.0 -32.0 -53.0 -92.0 -90.0 -57.0 -30.0 21.0 75.0 112.0 132.0 140.0 113.0 63.0 -4.0 -62.0 -104.0 -142.0 -150.0 -45.0 83.0 140.0 271.0 384.0 368.0 325.0 252.0 94.0 -45.0 -157.0 -264.0 -268.0 -208.0 -137.0 -15.0 112.0 170.0 214.0 219.0 127.0 13.0 -95.0 -231.0 -343.0 -395.0 -425.0 -398.0 -338.0 -262.0 -189.0 -146.0 -134.0 -165.0 -199.0 -291.0 -371.0 -441.0 -486.0 -490.0 -480.0 -424.0 -341.0 -256.0 -211.0 -184.0 -174.0 -200.0 -247.0 -302.0 -330.0 -332.0 -289.0 -171.0 -44.0 106.0 266.0 373.0 413.0 400.0 300.0 184.0 84.0 -33.0 -106.0 -94.0 -72.0 -36.0 65.0 113.0 169.0 211.0 198.0 154.0 105.0 -1.0 -125.0 -166.0 -251.0 -286.0 -272.0 -246.0 -208.0 -161.0 -96.0 -84.0 -48.0 -47.0 -65.0 -69.0 -91.0 -97.0 -109.0 -96.0 -109.0 -54.0 24.0 38.0 114.0 163.0 163.0 162.0 160.0 104.0 57.0 32.0 -31.0 -20.0 3.0 32.0 108.0 182.0 218.0 239.0 236.0 183.0 151.0 88.0 -8.0 -50.0 -67.0 -120.0 -125.0 -99.0 -103.0 -85.0 -83.0 -89.0 -129.0 -179.0 -247.0 -303.0 -327.0 -370.0 -362.0 -322.0 -310.0 -304.0 -246.0 -227.0 -262.0 -274.0 -273.0 -287.0 -300.0 -276.0 -228.0 -184.0 -141.0 -88.0 7.0 97.0 163.0 223.0 293.0 350.0 360.0 400.0 417.0 394.0 388.0 399.0 379.0 369.0 390.0 384.0 379.0 372.0 360.0 371.0 323.0 278.0 247.0 184.0 118.0 53.0 20.0 -22.0 -33.0 -53.0 -61.0 -45.0 -62.0 -88.0 -120.0 -154.0 -194.0 -211.0 -225.0 -245.0 -199.0 -175.0 -150.0 -101.0 -63.0 -52.0 -42.0 -23.0 31.0 129.0 164.0 236.0 306.0 297.0 295.0 289.0 233.0 199.0 159.0 155.0 166.0 209.0 250.0 307.0 353.0 346.0 395.0 342.0 334.0 253.0 199.0 134.0 35.0 -13.0 -118.0 -121.0 -201.0 -205.0 -180.0 -180.0 -137.0 -137.0 -110.0 -131.0 -183.0 -263.0 -342.0 -393.0 -477.0 -509.0 -497.0 -454.0 -386.0 -319.0 -238.0 -187.0 -140.0 -129.0 -120.0 -63.0 -20.0 41.0 127.0 237.0 328.0 409.0 496.0 502.0 505.0 474.0 421.0 390.0 327.0 320.0 328.0 353.0 373.0 424.0 453.0 445.0 442.0 386.0 343.0 260.0 179.0 96.0 31.0 -49.0 -92.0 -104.0 -158.0 -145.0 -141.0 -136.0 -144.0 -148.0 -168.0 -197.0 -209.0 -246.0 -246.0 -238.0 -211.0 -166.0 -127.0 -69.0 -17.0 0.0 39.0 47.0 42.0 49.0 35.0 25.0 19.0 32.0 44.0 106.0 153.0 208.0 282.0 296.0 330.0 334.0 314.0 286.0 254.0 235.0 211.0 207.0 194.0 197.0 180.0 168.0 142.0 85.0 30.0 -18.0 -54.0 -100.0 -116.0 -132.0 -130.0 -119.0 -130.0 -135.0 -145.0 -200.0 -251.0 -287.0 -315.0 -346.0 -335.0 -297.0 -261.0 -194.0 -125.0 -31.0 41.0 104.0 170.0 244.0 280.0 296.0 339.0 360.0 357.0 357.0 405.0 418.0 427.0 444.0 473.0 495.0 454.0 471.0 452.0 431.0 387.0 334.0 317.0 244.0 201.0 162.0 147.0 88.0 67.0 60.0 -8.0 -40.0 -82.0 -90.0 -128.0 -159.0 -141.0 -129.0 -136.0 -140.0 -82.0 -53.0 -30.0 -3.0 20.0 19.0 -16.0 -46.0 -71.0 -95.0 -131.0 -115.0 -81.0 -56.0 -3.0 60.0 94.0 110.0 109.0 109.0 94.0 94.0 91.0 105.0 128.0 132.0 177.0 187.0 195.0 190.0 175.0 165.0 119.0 89.0 55.0 33.0 16.0 20.0 50.0 56.0 83.0 83.0 78.0 41.0 19.0 -30.0 -98.0 -122.0 -141.0 -130.0 -132.0 -82.0 -51.0 17.0 77.0 131.0 203.0 255.0 279.0 295.0 339.0 356.0 374.0 408.0 444.0 457.0 500.0 529.0 545.0 555.0 585.0 565.0 544.0 539.0 498.0 475.0 433.0 415.0 379.0 368.0 323.0 286.0 256.0 201.0 150.0 73.0 18.0 -38.0 -73.0 -111.0 -131.0 -126.0 -136.0 -137.0 -132.0 -133.0 -125.0 -106.0 -69.0 -36.0 6.0 17.0 19.0 5.0 -31.0 -73.0 -115.0 -131.0 -177.0 -162.0 -131.0 -104.0 -79.0 -38.0 -9.0 -11.0 12.0 -5.0 -9.0 -24.0 -49.0 -53.0 -59.0 -73.0 -74.0 -60.0 -63.0 -59.0 -58.0 -53.0 -45.0 -48.0 -54.0 -32.0 -22.0 -31.0 -37.0 -59.0 -97.0 -134.0 -176.0 -232.0 -248.0 -230.0 -206.0 -167.0 -103.0 -29.0 28.0 80.0 133.0 189.0 253.0 297.0 345.0 396.0 454.0 504.0 539.0 578.0 609.0 634.0 655.0 681.0 687.0 703.0 690.0 672.0 670.0 642.0 609.0 584.0 574.0 530.0 506.0 467.0 416.0 354.0 268.0 200.0 125.0 47.0 -18.0 -56.0 -105.0 -136.0 -156.0 -176.0 -195.0 -229.0 -253.0 -257.0 -250.0 -241.0 -221.0 -212.0 -214.0 -212.0 -207.0 -234.0 -241.0 -249.0 -241.0 -250.0 -246.0 -203.0 -205.0 -195.0 -208.0 -187.0 -223.0 -232.0 -226.0 -227.0 -216.0 -222.0 -186.0 -190.0 -182.0 -198.0 -177.0 -175.0 -180.0 -169.0 -158.0 -139.0 -143.0 -125.0 -110.0 -117.0 -128.0 -130.0 -150.0 -181.0 -214.0 -217.0 -238.0 -254.0 -236.0 -222.0 -211.0 -190.0 -153.0 -129.0 -100.0 -46.0 3.0 71.0 139.0 227.0 307.0 364.0 431.0 482.0 540.0 551.0 580.0 608.0 619.0 637.0 640.0 671.0 676.0 670.0 667.0 657.0 630.0 585.0 559.0 508.0 465.0 431.0 390.0 363.0 313.0 291.0 232.0 175.0 117.0 44.0 -19.0 -96.0 -125.0 -173.0 -182.0 -200.0 -191.0 -180.0 -191.0 -195.0 -228.0 -246.0 -312.0 -344.0 -390.0 -416.0 -419.0 -434.0 -410.0 -386.0 -354.0 -351.0 -321.0 -304.0 -308.0 -301.0 -287.0 -281.0 -281.0 -279.0 -269.0 -262.0 -258.0 -247.0 -232.0 -215.0 -213.0 -198.0 -191.0 -185.0 -177.0 -155.0 -132.0 -103.0 -82.0 -68.0 -62.0 -65.0 -74.0 -94.0 -109.0 -115.0 -116.0 -110.0 -82.0 -70.0 -28.0 2.0 45.0 96.0 151.0 208.0 251.0 324.0 360.0 406.0 437.0 479.0 508.0 533.0 556.0 574.0 612.0 603.0 619.0 640.0 631.0 609.0 585.0 564.0 524.0 490.0 447.0 422.0 391.0 333.0 307.0 279.0 229.0 183.0 137.0 89.0 39.0 3.0 -42.0 -80.0 -94.0 -102.0 -109.0 -119.0 -111.0 -113.0 -134.0 -141.0 -154.0 -186.0 -219.0 -248.0 -283.0 -322.0 -343.0 -371.0 -390.0 -399.0 -411.0 -400.0 -416.0 -411.0 -413.0 -413.0 -413.0 -401.0 -376.0 -390.0 -367.0 -358.0 -345.0 -354.0 -360.0 -358.0 -372.0 -385.0 -401.0 -380.0 -369.0 -339.0 -286.0 -239.0 -208.0 -185.0 -172.0 -183.0 -210.0 -233.0 -241.0 -239.0 -217.0 -173.0 -113.0 -50.0 20.0 88.0 166.0 217.0 272.0 332.0 398.0 441.0 470.0 529.0 563.0 611.0 648.0 695.0 725.0 763.0 773.0 778.0 792.0 761.0 736.0 699.0 669.0 623.0 593.0 536.0 498.0 449.0 388.0 327.0 259.0 200.0 140.0 97.0 38.0 9.0 -46.0 -79.0 -113.0 -147.0 -182.0 -197.0 -218.0 -244.0 -245.0 -265.0 -271.0 -284.0 -272.0 -287.0 -287.0 -313.0 -324.0 -349.0 -394.0 -407.0 -447.0 -464.0 -494.0 -485.0 -490.0 -477.0 -461.0 -448.0 -422.0 -419.0 -417.0 -424.0 -436.0 -466.0 -475.0 -477.0 -468.0 -456.0 -436.0 -429.0 -410.0 -400.0 -392.0 -368.0 -357.0 -350.0 -339.0 -320.0 -316.0 -303.0 -287.0 -268.0 -238.0 -203.0 -161.0 -125.0 -81.0 -35.0 25.0 87.0 162.0 258.0 336.0 413.0 479.0 555.0 605.0 653.0 680.0 699.0 737.0 746.0 780.0 791.0 823.0 824.0 826.0 825.0 794.0 777.0 709.0 661.0 596.0 544.0 466.0 395.0 349.0 290.0 225.0 165.0 123.0 68.0 25.0 -26.0 -60.0 -108.0 -150.0 -188.0 -218.0 -239.0 -263.0 -272.0 -290.0 -306.0 -329.0 -341.0 -363.0 -403.0 -433.0 -460.0 -485.0 -521.0 -535.0 -535.0 -546.0 -539.0 -538.0 -532.0 -541.0 -549.0 -562.0 -581.0 -591.0 -602.0 -606.0 -595.0 -576.0 -552.0 -522.0 -501.0 -485.0 -467.0 -448.0 -431.0 -405.0 -387.0 -383.0 -367.0 -354.0 -353.0 -342.0 -320.0 -305.0 -265.0 -215.0 -161.0 -107.0 -51.0 20.0 86.0 165.0 248.0 327.0 403.0 461.0 520.0 562.0 601.0 625.0 637.0 666.0 686.0 731.0 766.0 795.0 833.0 846.0 853.0 828.0 794.0 756.0 700.0 645.0 581.0 531.0 476.0 415.0 381.0 339.0 299.0 261.0 217.0 156.0 103.0 57.0 1.0 -34.0 -82.0 -119.0 -154.0 -182.0 -221.0 -258.0 -294.0 -349.0 -383.0 -423.0 -464.0 -501.0 -520.0 -546.0 -562.0 -582.0 -597.0 -597.0 -615.0 -630.0 -649.0 -662.0 -692.0 -720.0 -741.0 -751.0 -756.0 -754.0 -719.0 -696.0 -660.0 -627.0 -598.0 -569.0 -549.0 -522.0 -490.0 -459.0 -427.0 -404.0 -384.0 -366.0 -358.0 -338.0 -323.0 -291.0 -260.0 -212.0 -148.0 -86.0 -31.0 30.0 101.0 164.0 260.0 336.0 423.0 493.0 568.0 637.0 690.0 743.0 786.0 837.0 861.0 894.0 918.0 940.0 937.0 940.0 924.0 899.0 879.0 831.0 796.0 739.0 688.0 618.0 571.0 509.0 447.0 400.0 349.0 312.0 271.0 245.0 216.0 183.0 122.0 83.0 34.0 -1.0 -54.0 -95.0 -123.0 -165.0 -192.0 -251.0 -278.0 -341.0 -382.0 -447.0 -500.0 -541.0 -604.0 -631.0 -683.0 -710.0 -761.0 -801.0 -838.0 -878.0 -901.0 -937.0 -943.0 -956.0 -964.0 -952.0 -941.0 -918.0 -894.0 -863.0 -829.0 -791.0 -747.0 -713.0 -667.0 -634.0 -606.0 -572.0 -537.0 -500.0 -473.0 -428.0 -386.0 -342.0 -274.0 -200.0 -131.0 -61.0 14.0 92.0 173.0 271.0 364.0 446.0 527.0 590.0 672.0 728.0 795.0 843.0 875.0 918.0 938.0 979.0 983.0 1028.0 1019.0 1009.0 1005.0 967.0 948.0 884.0 848.0 775.0 725.0 656.0 592.0 542.0 462.0 408.0 347.0 305.0 245.0 218.0 177.0 131.0 98.0 62.0 19.0 -34.0 -69.0 -118.0 -146.0 -190.0 -228.0 -262.0 -297.0 -341.0 -397.0 -437.0 -492.0 -555.0 -620.0 -675.0 -733.0 -791.0 -845.0 -886.0 -923.0 -968.0 -1004.0 -1025.0 -1067.0 -1107.0 -1137.0 -1158.0 -1179.0 -1186.0 -1168.0 -1154.0 -1114.0 -1053.0 -979.0 -910.0 -847.0 -787.0 -729.0 -685.0 -661.0 -624.0 -586.0 -539.0 -482.0 -402.0 -316.0 -237.0 -151.0 -61.0 37.0 131.0 243.0 342.0 431.0 524.0 605.0 670.0 747.0 808.0 868.0 933.0 987.0 1027.0 1083.0 1133.0 1134.0 1151.0 1138.0 1131.0 1091.0 1063.0 1024.0 971.0 939.0 865.0 827.0 763.0 700.0 622.0 552.0 484.0 408.0 364.0 294.0 240.0 192.0 139.0 96.0 51.0 7.0 -39.0 -85.0 -138.0 -200.0 -248.0 -308.0 -363.0 -415.0 -467.0 -511.0 -563.0 -617.0 -666.0 -717.0 -771.0 -837.0 -892.0 -943.0 -1002.0 -1042.0 -1085.0 -1109.0 -1143.0 -1170.0 -1177.0 -1192.0 -1191.0 -1202.0 -1190.0 -1165.0 -1130.0 -1087.0 -1046.0 -996.0 -944.0 -901.0 -861.0 -814.0 -762.0 -704.0 -639.0 -557.0 -479.0 -382.0 -275.0 -174.0 -66.0 45.0 159.0 271.0 373.0 463.0 553.0 634.0 707.0 773.0 837.0 896.0 954.0 1014.0 1067.0 1123.0 1167.0 1207.0 1218.0 1218.0 1200.0 1173.0 1152.0 1116.0 1085.0 1045.0 1009.0 962.0 918.0 873.0 827.0 773.0 718.0 681.0 640.0 592.0 528.0 474.0 413.0 345.0 273.0 213.0 144.0 80.0 17.0 -49.0 -98.0 -159.0 -225.0 -306.0 -371.0 -448.0 -532.0 -597.0 -666.0 -735.0 -804.0 -874.0 -948.0 -1009.0 -1066.0 -1135.0 -1182.0 -1229.0 -1279.0 -1310.0 -1331.0 -1340.0 -1350.0 -1336.0 -1300.0 -1249.0 -1197.0 -1147.0 -1086.0 -1031.0 -989.0 -958.0 -923.0 -885.0 -827.0 -763.0 -678.0 -570.0 -460.0 -350.0 -226.0 -105.0 -4.0 117.0 218.0 302.0 391.0 484.0 566.0 644.0 732.0 804.0 879.0 956.0 1019.0 1081.0 1144.0 1186.0 1210.0 1231.0 1242.0 1232.0 1227.0 1207.0 1186.0 1172.0 1134.0 1108.0 1067.0 1031.0 972.0 920.0 875.0 812.0 800.0 765.0 741.0 708.0 672.0 631.0 569.0 521.0 440.0 380.0 311.0 238.0 174.0 103.0 48.0 -37.0 -111.0 -199.0 -296.0 -377.0 -481.0 -565.0 -666.0 -759.0 -852.0 -941.0 -1024.0 -1104.0 -1170.0 -1243.0 -1300.0 -1362.0 -1411.0 -1463.0 -1504.0 -1525.0 -1533.0 -1524.0 -1480.0 -1415.0 -1358.0 -1284.0 -1217.0 -1142.0 -1082.0 -1023.0 -948.0 -893.0 -803.0 -712.0 -614.0 -500.0 -389.0 -255.0 -143.0 -9.0 101.0 208.0 317.0 390.0 487.0 564.0 636.0 698.0 773.0 849.0 893.0 966.0 1019.0 1068.0 1112.0 1130.0 1147.0 1150.0 1148.0 1127.0 1129.0 1128.0 1111.0 1101.0 1089.0 1071.0 1034.0 1005.0 959.0 925.0 891.0 865.0 847.0 821.0 788.0 737.0 700.0 650.0 604.0 539.0 485.0 434.0 378.0 327.0 267.0 212.0 141.0 70.0 -24.0 -106.0 -204.0 -302.0 -396.0 -497.0 -596.0 -703.0 -790.0 -893.0 -979.0 -1059.0 -1133.0 -1201.0 -1268.0 -1327.0 -1391.0 -1441.0 -1479.0 -1496.0 -1498.0 -1482.0 -1450.0 -1414.0 -1365.0 -1331.0 -1280.0 -1222.0 -1166.0 -1089.0 -997.0 -890.0 -788.0 -659.0 -518.0 -396.0 -250.0 -108.0 23.0 148.0 261.0 372.0 467.0 563.0 639.0 715.0 798.0 867.0 931.0 1007.0 1073.0 1123.0 1166.0 1198.0 1224.0 1222.0 1223.0 1208.0 1198.0 1186.0 1158.0 1150.0 1130.0 1119.0 1090.0 1070.0 1043.0 1010.0 991.0 968.0 974.0 967.0 957.0 927.0 887.0 832.0 765.0 693.0 614.0 543.0 475.0 423.0 355.0 308.0 245.0 180.0 115.0 41.0 -33.0 -125.0 -208.0 -313.0 -407.0 -501.0 -599.0 -688.0 -764.0 -832.0 -899.0 -952.0 -1010.0 -1069.0 -1141.0 -1189.0 -1243.0 -1272.0 -1295.0 -1310.0 -1297.0 -1282.0 -1247.0 -1232.0 -1206.0 -1185.0 -1152.0 -1094.0 -1043.0 -975.0 -880.0 -765.0 -650.0 -539.0 -417.0 -287.0 -160.0 -36.0 83.0 203.0 298.0 382.0 471.0 538.0 610.0 680.0 750.0 838.0 923.0 1002.0 1061.0 1114.0 1132.0 1131.0 1119.0 1108.0 1099.0 1080.0 1080.0 1074.0 1082.0 1068.0 1058.0 1055.0 1038.0 1023.0 992.0 993.0 976.0 971.0 967.0 957.0 946.0 895.0 850.0 779.0 723.0 647.0 572.0 511.0 442.0 388.0 311.0 256.0 172.0 97.0 16.0 -87.0 -169.0 -266.0 -352.0 -454.0 -553.0 -654.0 -747.0 -817.0 -890.0 -935.0 -988.0 -1026.0 -1062.0 -1089.0 -1112.0 -1140.0 -1149.0 -1155.0 -1150.0 -1134.0 -1107.0 -1093.0 -1070.0 -1036.0 -994.0 -955.0 -916.0 -855.0 -798.0 -710.0 -628.0 -535.0 -421.0 -316.0 -202.0 -105.0 6.0 103.0 188.0 281.0 358.0 437.0 504.0 576.0 636.0 704.0 771.0 830.0 904.0 962.0 1006.0 1024.0 1047.0 1053.0 1034.0 1024.0 1003.0 986.0 973.0 952.0 942.0 937.0 923.0 909.0 910.0 917.0 916.0 919.0 919.0 914.0 901.0 870.0 831.0 778.0 717.0 650.0 586.0 520.0 452.0 387.0 323.0 257.0 186.0 113.0 31.0 -57.0 -149.0 -243.0 -342.0 -438.0 -538.0 -644.0 -728.0 -813.0 -882.0 -938.0 -989.0 -1019.0 -1053.0 -1064.0 -1078.0 -1091.0 -1085.0 -1080.0 -1052.0 -1033.0 -1003.0 -970.0 -934.0 -902.0 -875.0 -838.0 -794.0 -740.0 -686.0 -621.0 -558.0 -487.0 -406.0 -315.0 -217.0 -138.0 -50.0 25.0 104.0 181.0 240.0 313.0 371.0 437.0 488.0 566.0 643.0 706.0 792.0 856.0 921.0 962.0 990.0 1012.0 1017.0 1016.0 1013.0 1013.0 1001.0 996.0 988.0 978.0 973.0 960.0 934.0 923.0 925.0 920.0 904.0 894.0 875.0 854.0 833.0 793.0 753.0 686.0 622.0 554.0 477.0 419.0 341.0 278.0 199.0 129.0 51.0 -42.0 -117.0 -220.0 -305.0 -414.0 -505.0 -602.0 -702.0 -781.0 -869.0 -933.0 -1003.0 -1049.0 -1081.0 -1101.0 -1119.0 -1131.0 -1134.0 -1120.0 -1111.0 -1084.0 -1051.0 -1017.0 -966.0 -924.0 -856.0 -805.0 -747.0 -685.0 -617.0 -537.0 -462.0 -364.0 -277.0 -166.0 -85.0 -5.0 80.0 129.0 190.0 225.0 280.0 331.0 377.0 429.0 482.0 552.0 581.0 634.0 680.0 721.0 762.0 774.0 811.0 827.0 844.0 843.0 862.0 873.0 859.0 871.0 863.0 868.0 861.0 859.0 851.0 850.0 836.0 815.0 823.0 817.0 814.0 804.0 788.0 753.0 726.0 671.0 600.0 537.0 450.0 388.0 311.0 255.0 199.0 131.0 75.0 1.0 -52.0 -154.0 -240.0 -313.0 -403.0 -479.0 -572.0 -635.0 -705.0 -761.0 -819.0 -859.0 -888.0 -929.0 -953.0 -977.0 -989.0 -1009.0 -1012.0 -1009.0 -992.0 -963.0 -928.0 -878.0 -836.0 -784.0 -740.0 -708.0 -667.0 -621.0 -563.0 -510.0 -449.0 -375.0 -304.0 -216.0 -124.0 -34.0 44.0 114.0 177.0 233.0 275.0 312.0 345.0 385.0 434.0 475.0 532.0 599.0 665.0 710.0 755.0 791.0 803.0 818.0 822.0 814.0 818.0 813.0 803.0 811.0 815.0 815.0 809.0 802.0 790.0 767.0 740.0 713.0 686.0 655.0 645.0 634.0 614.0 600.0 562.0 527.0 477.0 400.0 335.0 257.0 183.0 105.0 32.0 -30.0 -100.0 -152.0 -222.0 -273.0 -337.0 -417.0 -482.0 -560.0 -624.0 -704.0 -766.0 -815.0 -857.0 -896.0 -929.0 -938.0 -945.0 -952.0 -953.0 -940.0 -929.0 -916.0 -910.0 -887.0 -856.0 -842.0 -803.0 -763.0 -714.0 -658.0 -595.0 -525.0 -470.0 -405.0 -347.0 -284.0 -220.0 -164.0 -90.0 -2.0 84.0 156.0 225.0 295.0 341.0 384.0 421.0 458.0 491.0 520.0 563.0 606.0 655.0 688.0 724.0 752.0 773.0 779.0 771.0 764.0 748.0 725.0 702.0 692.0 679.0 668.0 663.0 655.0 645.0 631.0 605.0 579.0 547.0 506.0 456.0 412.0 371.0 329.0 291.0 258.0 241.0 202.0 152.0 109.0 50.0 3.0 -72.0 -141.0 -198.0 -269.0 -320.0 -390.0 -416.0 -448.0 -484.0 -515.0 -551.0 -560.0 -615.0 -634.0 -657.0 -678.0 -687.0 -712.0 -697.0 -699.0 -676.0 -663.0 -643.0 -609.0 -613.0 -595.0 -589.0 -575.0 -559.0 -547.0 -525.0 -502.0 -471.0 -446.0 -410.0 -378.0 -342.0 -319.0 -293.0 -271.0 -247.0 -230.0 -220.0 -201.0 -192.0 -159.0 -147.0 -110.0 -63.0 -15.0 49.0 104.0 183.0 238.0 299.0 348.0 392.0 442.0 466.0 509.0 536.0 583.0 613.0 653.0 704.0 737.0 776.0 791.0 812.0 805.0 801.0 778.0 746.0 720.0 674.0 637.0 585.0 538.0 485.0 428.0 372.0 308.0 243.0 169.0 107.0 37.0 -31.0 -89.0 -152.0 -196.0 -246.0 -281.0 -322.0 -359.0 -399.0 -444.0 -485.0 -535.0 -570.0 -616.0 -658.0 -684.0 -714.0 -741.0 -760.0 -776.0 -794.0 -810.0 -827.0 -843.0 -856.0 -877.0 -892.0 -886.0 -881.0 -869.0 -840.0 -813.0 -749.0 -698.0 -647.0 -589.0 -529.0 -450.0 -375.0 -273.0 -193.0 -92.0 -11.0 73.0 163.0 219.0 295.0 348.0 408.0 461.0 515.0 562.0 609.0 653.0 671.0 696.0 702.0 696.0 684.0 663.0 632.0 601.0 578.0 549.0 527.0 501.0 483.0 475.0 455.0 438.0 419.0 399.0 371.0 344.0 306.0 284.0 261.0 229.0 208.0 181.0 160.0 136.0 104.0 70.0 38.0 -12.0 -59.0 -118.0 -170.0 -221.0 -286.0 -320.0 -369.0 -405.0 -456.0 -485.0 -509.0 -543.0 -549.0 -577.0 -584.0 -584.0 -599.0 -586.0 -569.0 -554.0 -533.0 -507.0 -472.0 -444.0 -411.0 -383.0 -355.0 -321.0 -307.0 -281.0 -242.0 -219.0 -184.0 -158.0 -129.0 -90.0 -70.0 -46.0 -18.0 1.0 6.0 11.0 15.0 20.0 33.0 33.0 41.0 62.0 59.0 62.0 75.0 78.0 80.0 79.0 79.0 78.0 85.0 77.0 78.0 86.0 80.0 87.0 80.0 88.0 93.0 89.0 83.0 82.0 85.0 73.0 72.0 70.0 69.0 62.0 50.0 45.0 38.0 17.0 -1.0 -18.0 -41.0 -62.0 -84.0 -103.0 -121.0 -148.0 -178.0 -205.0 -229.0 -245.0 -256.0 -259.0 -255.0 -255.0 -259.0 -260.0 -270.0 -281.0 -298.0 -308.0 -319.0 -321.0 -313.0 -308.0 -287.0 -276.0 -261.0 -249.0 -241.0 -244.0 -255.0 -254.0 -276.0 -293.0 -313.0 -327.0 -324.0 -334.0 -327.0 -323.0 -313.0 -305.0 -305.0 -300.0 -298.0 -289.0 -289.0 -271.0 -247.0 -224.0 -197.0 -156.0 -112.0 -76.0 -41.0 -10.0 23.0 41.0 61.0 80.0 101.0 121.0 141.0 160.0 181.0 198.0 202.0 215.0 220.0 216.0 210.0 200.0 187.0 173.0 163.0 145.0 139.0 136.0 126.0 120.0 109.0 106.0 96.0 83.0 70.0 58.0 39.0 16.0 -3.0 -22.0 -35.0 -54.0 -71.0 -79.0 -100.0 -123.0 -144.0 -168.0 -191.0 -214.0 -239.0 -266.0 -279.0 -297.0 -312.0 -313.0 -313.0 -313.0 -312.0 -303.0 -300.0 -292.0 -290.0 -281.0 -274.0 -268.0 -258.0 -251.0 -240.0 -229.0 -214.0 -203.0 -185.0 -170.0 -160.0 -147.0 -138.0 -129.0 -115.0 -102.0 -93.0 -77.0 -66.0 -48.0 -29.0 -14.0 7.0 26.0 45.0 62.0 78.0 91.0 105.0 126.0 135.0 147.0 154.0 161.0 164.0 162.0 163.0 147.0 131.0 104.0 79.0 49.0 8.0 -29.0 -66.0 -104.0 -147.0 -192.0 -229.0 -264.0 -298.0 -329.0 -355.0 -377.0 -393.0 -407.0 -420.0 -424.0 -429.0 -429.0 -423.0 -418.0 -396.0 -379.0 -356.0 -330.0 -301.0 -262.0 -234.0 -195.0 -158.0 -122.0 -86.0 -52.0 -14.0 11.0 40.0 69.0 96.0 124.0 147.0 174.0 198.0 218.0 237.0 255.0 270.0 284.0 291.0 302.0 305.0 307.0 305.0 292.0 294.0 279.0 268.0 255.0 240.0 227.0 206.0 186.0 167.0 150.0 124.0 103.0 81.0 57.0 42.0 15.0 -7.0 -34.0 -59.0 -82.0 -114.0 -136.0 -166.0 -188.0 -213.0 -241.0 -264.0 -282.0 -294.0 -314.0 -329.0 -340.0 -351.0 -358.0 -365.0 -366.0 -365.0 -358.0 -357.0 -353.0 -344.0 -337.0 -324.0 -312.0 -288.0 -273.0 -252.0 -223.0 -195.0 -165.0 -138.0 -108.0 -80.0 -53.0 -33.0 -9.0 17.0 37.0 57.0 75.0 89.0 106.0 120.0 129.0 136.0 140.0 143.0 149.0 149.0 150.0 150.0 144.0 145.0 141.0 141.0 144.0 138.0 139.0 140.0 138.0 138.0 141.0 148.0 149.0 155.0 159.0 169.0 171.0 166.0 168.0 167.0 164.0 161.0 169.0 166.0 162.0 152.0 145.0 137.0 118.0 106.0 86.0 71.0 50.0 28.0 6.0 -17.0 -41.0 -69.0 -93.0 -120.0 -143.0 -169.0 -192.0 -213.0 -234.0 -250.0 -267.0 -281.0 -293.0 -308.0 -317.0 -327.0 -337.0 -343.0 -346.0 -348.0 -356.0 -359.0 -364.0 -363.0 -366.0 -371.0 -369.0 -363.0 -358.0 -357.0 -350.0 -330.0 -319.0 -309.0 -297.0 -278.0 -265.0 -249.0 -224.0 -204.0 -173.0 -149.0 -112.0 -84.0 -52.0 -17.0 10.0 58.0 86.0 118.0 147.0 179.0 212.0 237.0 271.0 291.0 320.0 339.0 354.0 367.0 369.0 375.0 367.0 366.0 362.0 354.0 347.0 334.0 328.0 316.0 304.0 292.0 275.0 265.0 247.0 229.0 211.0 190.0 175.0 153.0 134.0 117.0 95.0 81.0 67.0 58.0 48.0 30.0 12.0 -12.0 -32.0 -53.0 -77.0 -103.0 -131.0 -156.0 -188.0 -212.0 -237.0 -266.0 -291.0 -317.0 -334.0 -351.0 -373.0 -394.0 -405.0 -416.0 -424.0 -427.0 -431.0 -427.0 -427.0 -423.0 -417.0 -410.0 -396.0 -387.0 -365.0 -348.0 -321.0 -294.0 -269.0 -236.0 -206.0 -179.0 -151.0 -121.0 -90.0 -59.0 -34.0 0.0 32.0 63.0 93.0 118.0 148.0 171.0 200.0 224.0 253.0 282.0 305.0 334.0 358.0 378.0 396.0 416.0 434.0 451.0 464.0 475.0 489.0 500.0 515.0 523.0 533.0 543.0 546.0 546.0 546.0 543.0 536.0 518.0 502.0 483.0 455.0 432.0 401.0 376.0 343.0 310.0 271.0 230.0 190.0 138.0 91.0 39.0 -16.0 -69.0 -114.0 -165.0 -210.0 -256.0 -301.0 -338.0 -377.0 -407.0 -438.0 -464.0 -486.0 -501.0 -510.0 -519.0 -517.0 -508.0 -502.0 -488.0 -470.0 -454.0 -436.0 -416.0 -395.0 -372.0 -347.0 -325.0 -294.0 -265.0 -240.0 -211.0 -180.0 -151.0 -122.0 -94.0 -71.0 -46.0 -23.0 0.0 30.0 50.0 77.0 103.0 129.0 157.0 180.0 208.0 231.0 254.0 282.0 307.0 329.0 350.0 366.0 386.0 401.0 414.0 430.0 434.0 443.0 448.0 447.0 448.0 447.0 442.0 434.0 424.0 409.0 395.0 378.0 363.0 344.0 330.0 319.0 301.0 287.0 268.0 251.0 236.0 222.0 206.0 188.0 170.0 151.0 130.0 110.0 87.0 63.0 40.0 14.0 -7.0 -33.0 -57.0 -83.0 -111.0 -143.0 -170.0 -201.0 -236.0 -262.0 -294.0 -321.0 -352.0 -378.0 -398.0 -417.0 -422.0 -432.0 -438.0 -436.0 -431.0 -426.0 -422.0 -412.0 -399.0 -381.0 -364.0 -339.0 -311.0 -289.0 -254.0 -222.0 -184.0 -147.0 -111.0 -70.0 -30.0 10.0 45.0 83.0 123.0 158.0 195.0 230.0 266.0 302.0 335.0 366.0 401.0 435.0 465.0 494.0 519.0 544.0 571.0 597.0 621.0 640.0 657.0 670.0 676.0 686.0 690.0 693.0 690.0 677.0 661.0 635.0 618.0 590.0 558.0 525.0 485.0 449.0 408.0 364.0 310.0 262.0 208.0 159.0 108.0 58.0 7.0 -46.0 -95.0 -140.0 -180.0 -226.0 -261.0 -292.0 -320.0 -341.0 -362.0 -373.0 -386.0 -399.0 -405.0 -414.0 -419.0 -422.0 -414.0 -401.0 -390.0 -374.0 -355.0 -336.0 -320.0 -300.0 -280.0 -261.0 -243.0 -225.0 -207.0 -189.0 -173.0 -154.0 -136.0 -115.0 -96.0 -79.0 -52.0 -29.0 -3.0 22.0 43.0 74.0 101.0 127.0 159.0 191.0 221.0 251.0 282.0 312.0 340.0 363.0 386.0 413.0 437.0 458.0 476.0 493.0 503.0 512.0 519.0 523.0 523.0 516.0 510.0 504.0 493.0 486.0 469.0 453.0 439.0 421.0 404.0 385.0 364.0 343.0 323.0 302.0 281.0 258.0 249.0 251.0 231.0 193.0 157.0 117.0 103.0 73.0 24.0 -12.0 -35.0 -49.0 -95.0 -133.0 -190.0 -233.0 -266.0 -324.0 -357.0 -406.0 -431.0 -484.0 -531.0 -555.0 -591.0 -595.0 -617.0 -612.0 -604.0 -579.0 -560.0 -546.0 -503.0 -471.0 -417.0 -377.0 -322.0 -269.0 -217.0 -157.0 -114.0 -51.0 10.0 68.0 115.0 167.0 221.0 251.0 284.0 299.0 322.0 343.0 358.0 369.0 371.0 385.0 385.0 382.0 381.0 389.0 402.0 403.0 414.0 419.0 434.0 450.0 458.0 466.0 479.0 501.0 511.0 518.0 522.0 521.0 521.0 509.0 496.0 481.0 465.0 440.0 406.0 374.0 339.0 305.0 261.0 213.0 163.0 117.0 63.0 0.0 -54.0 -107.0 -156.0 -206.0 -255.0 -292.0 -324.0 -351.0 -372.0 -388.0 -397.0 -405.0 -408.0 -411.0 -406.0 -397.0 -392.0 -384.0 -365.0 -349.0 -333.0 -312.0 -293.0 -269.0 -244.0 -221.0 -206.0 -187.0 -169.0 -154.0 -137.0 -128.0 -113.0 -99.0 -89.0 -81.0 -71.0 -60.0 -47.0 -38.0 -28.0 -13.0 1.0 10.0 27.0 44.0 59.0 81.0 100.0 121.0 145.0 173.0 197.0 224.0 249.0 274.0 302.0 322.0 345.0 367.0 389.0 411.0 430.0 447.0 460.0 472.0 487.0 497.0 533.0 558.0 540.0 526.0 495.0 498.0 515.0 496.0 457.0 413.0 415.0 385.0 347.0 298.0 228.0 213.0 161.0 103.0 27.0 -30.0 -57.0 -132.0 -175.0 -230.0 -264.0 -298.0 -342.0 -363.0 -398.0 -398.0 -424.0 -441.0 -438.0 -438.0 -437.0 -446.0 -436.0 -439.0 -416.0 -406.0 -397.0 -379.0 -359.0 -339.0 -342.0 -323.0 -318.0 -306.0 -302.0 -305.0 -294.0 -292.0 -270.0 -271.0 -261.0 -238.0 -222.0 -195.0 -174.0 -137.0 -107.0 -67.0 -27.0 10.0 56.0 100.0 146.0 185.0 235.0 274.0 317.0 357.0 388.0 420.0 445.0 469.0 484.0 494.0 506.0 513.0 513.0 508.0 502.0 496.0 484.0 462.0 441.0 425.0 403.0 372.0 345.0 319.0 291.0 264.0 238.0 210.0 191.0 167.0 141.0 112.0 89.0 68.0 39.0 14.0 -12.0 -27.0 -46.0 -67.0 -87.0 -111.0 -127.0 -144.0 -165.0 -183.0 -204.0 -214.0 -229.0 -246.0 -259.0 -267.0 -276.0 -287.0 -293.0 -297.0 -298.0 -307.0 -308.0 -312.0 -307.0 -302.0 -294.0 -289.0 -282.0 -279.0 -270.0 -258.0 -252.0 -238.0 -225.0 -208.0 -194.0 -171.0 -152.0 -127.0 -104.0 -80.0 -56.0 -25.0 2.0 45.0 126.0 147.0 141.0 144.0 165.0 254.0 302.0 294.0 247.0 286.0 367.0 355.0 357.0 302.0 318.0 353.0 328.0 301.0 257.0 298.0 298.0 257.0 228.0 198.0 224.0 216.0 187.0 158.0 155.0 173.0 156.0 140.0 140.0 152.0 143.0 136.0 118.0 127.0 126.0 108.0 93.0 57.0 53.0 2.0 -33.0 -60.0 -97.0 -122.0 -187.0 -228.0 -269.0 -295.0 -318.0 -366.0 -392.0 -413.0 -433.0 -448.0 -460.0 -460.0 -449.0 -438.0 -440.0 -434.0 -412.0 -380.0 -364.0 -346.0 -316.0 -286.0 -254.0 -234.0 -208.0 -187.0 -160.0 -133.0 -120.0 -90.0 -68.0 -49.0 -33.0 -17.0 4.0 19.0 36.0 51.0 69.0 85.0 100.0 112.0 126.0 142.0 160.0 173.0 186.0 201.0 219.0 243.0 254.0 264.0 280.0 290.0 305.0 309.0 316.0 318.0 325.0 328.0 316.0 318.0 312.0 302.0 290.0 282.0 271.0 251.0 236.0 217.0 200.0 184.0 162.0 137.0 116.0 98.0 75.0 49.0 21.0 -5.0 -27.0 -50.0 -75.0 -100.0 -118.0 -137.0 -157.0 -183.0 -183.0 -148.0 -179.0 -221.0 -243.0 -251.0 -200.0 -211.0 -257.0 -323.0 -294.0 -249.0 -283.0 -293.0 -359.0 -350.0 -336.0 -354.0 -369.0 -394.0 -346.0 -358.0 -394.0 -403.0 -388.0 -338.0 -341.0 -350.0 -348.0 -303.0 -247.0 -240.0 -224.0 -173.0 -123.0 -86.0 -53.0 -23.0 54.0 101.0 131.0 158.0 193.0 263.0 282.0 301.0 323.0 355.0 377.0 358.0 366.0 370.0 390.0 393.0 353.0 345.0 348.0 349.0 330.0 307.0 292.0 281.0 257.0 224.0 201.0 188.0 168.0 127.0 93.0 68.0 56.0 30.0 -4.0 -22.0 -39.0 -56.0 -84.0 -107.0 -120.0 -126.0 -141.0 -168.0 -175.0 -170.0 -178.0 -185.0 -191.0 -191.0 -191.0 -197.0 -203.0 -213.0 -208.0 -198.0 -215.0 -224.0 -223.0 -223.0 -221.0 -232.0 -236.0 -235.0 -219.0 -210.0 -211.0 -201.0 -196.0 -186.0 -184.0 -174.0 -162.0 -149.0 -138.0 -134.0 -120.0 -104.0 -83.0 -70.0 -68.0 -54.0 -42.0 -27.0 -13.0 -6.0 10.0 19.0 23.0 35.0 65.0 73.0 70.0 74.0 83.0 108.0 116.0 113.0 99.0 112.0 141.0 132.0 128.0 113.0 106.0 103.0 82.0 67.0 50.0 43.0 27.0 0.0 -14.0 -24.0 -35.0 -48.0 -64.0 -72.0 -69.0 -60.0 -60.0 -71.0 -61.0 -50.0 -34.0 -27.0 -27.0 -8.0 16.0 35.0 36.0 38.0 60.0 78.0 73.0 58.0 45.0 49.0 36.0 2.0 -39.0 -67.0 -71.0 -105.0 -152.0 -189.0 -207.0 -226.0 -267.0 -303.0 -328.0 -335.0 -341.0 -370.0 -387.0 -388.0 -378.0 -379.0 -380.0 -368.0 -360.0 -344.0 -331.0 -311.0 -287.0 -264.0 -242.0 -226.0 -194.0 -159.0 -135.0 -113.0 -88.0 -64.0 -37.0 -14.0 7.0 37.0 61.0 68.0 79.0 97.0 119.0 135.0 139.0 152.0 169.0 183.0 188.0 194.0 205.0 227.0 238.0 225.0 227.0 237.0 242.0 243.0 230.0 214.0 209.0 201.0 188.0 171.0 162.0 155.0 131.0 106.0 93.0 88.0 70.0 49.0 26.0 9.0 5.0 -11.0 -29.0 -48.0 -52.0 -65.0 -83.0 -86.0 -96.0 -103.0 -125.0 -143.0 -156.0 -162.0 -176.0 -205.0 -235.0 -256.0 -272.0 -302.0 -327.0 -352.0 -373.0 -390.0 -415.0 -431.0 -440.0 -445.0 -455.0 -465.0 -460.0 -447.0 -430.0 -414.0 -396.0 -372.0 -336.0 -299.0 -265.0 -228.0 -193.0 -145.0 -98.0 -56.0 -24.0 12.0 46.0 72.0 88.0 102.0 118.0 128.0 132.0 130.0 129.0 125.0 118.0 109.0 100.0 94.0 86.0 73.0 61.0 57.0 53.0 43.0 41.0 32.0 29.0 28.0 21.0 24.0 31.0 41.0 42.0 38.0 45.0 52.0 61.0 64.0 62.0 61.0 67.0 47.0 39.0 53.0 39.0 46.0 28.0 11.0 -1.0 -12.0 -23.0 -41.0 -50.0 -59.0 -67.0 -70.0 -77.0 -84.0 -92.0 -110.0 -115.0 -128.0 -122.0 -115.0 -128.0 -135.0 -143.0 -143.0 -143.0 -144.0 -144.0 -146.0 -142.0 -135.0 -133.0 -124.0 -113.0 -104.0 -95.0 -86.0 -80.0 -68.0 -54.0 -42.0 -26.0 -4.0 11.0 16.0 33.0 44.0 62.0 65.0 61.0 55.0 51.0 53.0 42.0 17.0 2.0 -8.0 -31.0 -56.0 -76.0 -92.0 -106.0 -123.0 -149.0 -167.0 -174.0 -179.0 -187.0 -192.0 -193.0 -185.0 -176.0 -161.0 -144.0 -127.0 -98.0 -67.0 -38.0 -2.0 38.0 63.0 85.0 117.0 139.0 164.0 185.0 179.0 181.0 195.0 198.0 181.0 169.0 163.0 151.0 127.0 102.0 86.0 69.0 52.0 28.0 -2.0 -21.0 -42.0 -66.0 -93.0 -108.0 -123.0 -145.0 -157.0 -173.0 -185.0 -190.0 -191.0 -201.0 -202.0 -195.0 -196.0 -193.0 -183.0 -170.0 -158.0 -146.0 -136.0 -120.0 -103.0 -97.0 -92.0 -80.0 -54.0 -37.0 -26.0 -16.0 -1.0 15.0 28.0 43.0 45.0 54.0 61.0 62.0 66.0 69.0 66.0 62.0 52.0 48.0 48.0 42.0 31.0 24.0 23.0 22.0 18.0 17.0 22.0 28.0 44.0 54.0 56.0 67.0 88.0 106.0 117.0 131.0 142.0 153.0 161.0 161.0 155.0 149.0 138.0 111.0 86.0 58.0 32.0 3.0 -37.0 -76.0 -115.0 -146.0 -178.0 -213.0 -246.0 -277.0 -292.0 -304.0 -314.0 -325.0 -325.0 -316.0 -306.0 -292.0 -268.0 -235.0 -199.0 -161.0 -118.0 -82.0 -50.0 -5.0 34.0 64.0 96.0 122.0 137.0 168.0 192.0 196.0 203.0 210.0 224.0 225.0 221.0 207.0 196.0 202.0 194.0 178.0 157.0 144.0 133.0 120.0 96.0 72.0 55.0 42.0 23.0 0.0 -13.0 -30.0 -45.0 -64.0 -81.0 -86.0 -98.0 -104.0 -118.0 -128.0 -120.0 -112.0 -119.0 -120.0 -114.0 -109.0 -99.0 -97.0 -92.0 -80.0 -64.0 -53.0 -48.0 -39.0 -21.0 0.0 12.0 21.0 41.0 54.0 64.0 70.0 77.0 89.0 100.0 104.0 104.0 118.0 122.0 123.0 120.0 122.0 124.0 121.0 127.0 123.0 123.0 117.0 111.0 101.0 99.0 92.0 77.0 68.0 56.0 52.0 39.0 27.0 20.0 12.0 1.0 -9.0 -20.0 -28.0 -38.0 -47.0 -55.0 -62.0 -58.0 -64.0 -69.0 -67.0 -65.0 -56.0 -56.0 -50.0 -33.0 -17.0 -5.0 7.0 27.0 47.0 57.0 62.0 77.0 91.0 111.0 120.0 117.0 126.0 137.0 149.0 152.0 151.0 146.0 152.0 156.0 150.0 145.0 135.0 128.0 121.0 115.0 99.0 85.0 72.0 64.0 45.0 31.0 14.0 1.0 -5.0 -21.0 -32.0 -41.0 -41.0 -44.0 -50.0 -48.0 -48.0 -46.0 -37.0 -35.0 -29.0 -23.0 -15.0 -6.0 -2.0 8.0 23.0 32.0 45.0 62.0 75.0 87.0 102.0 113.0 130.0 146.0 149.0 160.0 170.0 180.0 185.0 180.0 179.0 176.0 176.0 173.0 161.0 147.0 135.0 126.0 107.0 86.0 69.0 48.0 22.0 -2.0 -25.0 -48.0 -70.0 -91.0 -111.0 -137.0 -144.0 -161.0 -170.0 -171.0 -184.0 -180.0 -176.0 -160.0 -149.0 -121.0 -98.0 -68.0 -39.0 -17.0 17.0 55.0 85.0 96.0 114.0 140.0 177.0 202.0 202.0 198.0 207.0 223.0 227.0 214.0 199.0 195.0 199.0 195.0 176.0 156.0 143.0 139.0 135.0 111.0 95.0 84.0 80.0 68.0 52.0 40.0 25.0 23.0 16.0 8.0 4.0 -3.0 -3.0 -9.0 -10.0 -11.0 -13.0 -12.0 -17.0 -11.0 -4.0 0.0 5.0 10.0 26.0 39.0 48.0 53.0 63.0 78.0 87.0 99.0 100.0 103.0 115.0 115.0 111.0 101.0 89.0 81.0 69.0 50.0 31.0 19.0 0.0 -22.0 -37.0 -51.0 -68.0 -85.0 -94.0 -104.0 -120.0 -128.0 -137.0 -139.0 -132.0 -130.0 -119.0 -112.0 -90.0 -63.0 -38.0 -23.0 -6.0 27.0 60.0 89.0 99.0 107.0 136.0 168.0 191.0 182.0 182.0 195.0 209.0 217.0 197.0 183.0 171.0 168.0 167.0 149.0 121.0 97.0 80.0 67.0 41.0 15.0 -12.0 -34.0 -39.0 -52.0 -62.0 -75.0 -75.0 -68.0 -64.0 -53.0 -44.0 -19.0 7.0 25.0 49.0 69.0 96.0 120.0 138.0 160.0 179.0 195.0 202.0 207.0 209.0 207.0 202.0 189.0 169.0 153.0 131.0 105.0 68.0 35.0 6.0 -33.0 -68.0 -104.0 -136.0 -166.0 -193.0 -218.0 -245.0 -257.0 -270.0 -286.0 -286.0 -284.0 -271.0 -260.0 -247.0 -212.0 -169.0 -147.0 -119.0 -69.0 -12.0 31.0 63.0 91.0 132.0 205.0 245.0 260.0 279.0 307.0 346.0 366.0 373.0 359.0 356.0 369.0 366.0 354.0 321.0 295.0 282.0 272.0 242.0 201.0 177.0 157.0 138.0 114.0 86.0 66.0 53.0 44.0 33.0 20.0 15.0 15.0 14.0 19.0 23.0 25.0 28.0 30.0 31.0 29.0 34.0 32.0 25.0 24.0 14.0 -1.0 -11.0 -21.0 -36.0 -51.0 -69.0 -92.0 -108.0 -125.0 -150.0 -172.0 -191.0 -208.0 -227.0 -236.0 -248.0 -255.0 -267.0 -274.0 -263.0 -261.0 -240.0 -228.0 -195.0 -150.0 -137.0 -108.0 -58.0 -4.0 33.0 65.0 98.0 137.0 198.0 243.0 257.0 288.0 313.0 349.0 367.0 374.0 372.0 359.0 378.0 378.0 357.0 329.0 305.0 292.0 281.0 253.0 218.0 192.0 183.0 160.0 144.0 124.0 102.0 96.0 88.0 87.0 81.0 84.0 88.0 93.0 102.0 109.0 119.0 124.0 130.0 141.0 150.0 155.0 151.0 146.0 154.0 147.0 138.0 123.0 105.0 93.0 70.0 37.0 9.0 -15.0 -48.0 -84.0 -121.0 -155.0 -189.0 -227.0 -263.0 -298.0 -326.0 -345.0 -366.0 -385.0 -398.0 -392.0 -378.0 -382.0 -369.0 -343.0 -298.0 -268.0 -245.0 -208.0 -163.0 -100.0 -48.0 -15.0 28.0 73.0 123.0 169.0 201.0 221.0 233.0 268.0 289.0 301.0 303.0 288.0 293.0 303.0 301.0 280.0 259.0 251.0 239.0 238.0 223.0 195.0 192.0 184.0 179.0 174.0 172.0 168.0 159.0 163.0 162.0 157.0 157.0 150.0 148.0 149.0 144.0 132.0 122.0 105.0 84.0 60.0 43.0 17.0 -15.0 -41.0 -72.0 -96.0 -129.0 -163.0 -197.0 -230.0 -255.0 -287.0 -309.0 -326.0 -353.0 -372.0 -387.0 -396.0 -404.0 -410.0 -409.0 -405.0 -390.0 -369.0 -349.0 -340.0 -321.0 -281.0 -237.0 -211.0 -189.0 -154.0 -115.0 -60.0 -21.0 3.0 33.0 72.0 112.0 145.0 186.0 185.0 188.0 221.0 242.0 255.0 243.0 234.0 239.0 245.0 248.0 223.0 203.0 193.0 187.0 186.0 170.0 153.0 138.0 134.0 134.0 132.0 117.0 110.0 112.0 108.0 108.0 109.0 106.0 106.0 105.0 102.0 101.0 100.0 94.0 84.0 78.0 65.0 49.0 34.0 14.0 -13.0 -28.0 -52.0 -74.0 -103.0 -137.0 -165.0 -188.0 -209.0 -249.0 -281.0 -299.0 -307.0 -323.0 -337.0 -359.0 -351.0 -322.0 -322.0 -323.0 -310.0 -270.0 -232.0 -211.0 -189.0 -166.0 -113.0 -59.0 -37.0 -8.0 18.0 51.0 81.0 118.0 128.0 116.0 134.0 149.0 152.0 144.0 118.0 109.0 109.0 100.0 80.0 58.0 45.0 32.0 30.0 30.0 13.0 10.0 21.0 26.0 31.0 36.0 48.0 56.0 71.0 88.0 98.0 120.0 138.0 148.0 164.0 174.0 183.0 187.0 193.0 190.0 173.0 164.0 148.0 130.0 99.0 66.0 30.0 -4.0 -39.0 -84.0 -128.0 -180.0 -228.0 -267.0 -301.0 -338.0 -382.0 -413.0 -443.0 -465.0 -477.0 -489.0 -485.0 -486.0 -452.0 -438.0 -433.0 -396.0 -358.0 -300.0 -272.0 -244.0 -199.0 -132.0 -45.0 -13.0 11.0 60.0 114.0 167.0 200.0 222.0 220.0 238.0 277.0 283.0 281.0 264.0 244.0 246.0 250.0 231.0 202.0 178.0 167.0 151.0 149.0 131.0 101.0 96.0 100.0 101.0 95.0 98.0 94.0 93.0 107.0 119.0 120.0 124.0 123.0 126.0 127.0 121.0 106.0 89.0 78.0 45.0 13.0 -11.0 -49.0 -87.0 -130.0 -174.0 -218.0 -267.0 -311.0 -360.0 -405.0 -450.0 -491.0 -515.0 -533.0 -554.0 -588.0 -588.0 -550.0 -521.0 -518.0 -525.0 -485.0 -408.0 -331.0 -294.0 -281.0 -234.0 -130.0 -26.0 28.0 49.0 68.0 140.0 219.0 261.0 262.0 245.0 261.0 287.0 303.0 279.0 229.0 201.0 176.0 154.0 125.0 77.0 30.0 0.0 -25.0 -49.0 -70.0 -83.0 -97.0 -102.0 -97.0 -87.0 -65.0 -51.0 -38.0 -23.0 9.0 44.0 65.0 84.0 100.0 115.0 123.0 143.0 145.0 131.0 115.0 89.0 75.0 52.0 18.0 -31.0 -85.0 -128.0 -169.0 -218.0 -275.0 -329.0 -374.0 -414.0 -451.0 -477.0 -511.0 -541.0 -547.0 -526.0 -485.0 -476.0 -479.0 -458.0 -385.0 -291.0 -250.0 -229.0 -188.0 -94.0 21.0 86.0 115.0 141.0 199.0 276.0 329.0 336.0 325.0 325.0 333.0 334.0 315.0 273.0 226.0 185.0 144.0 100.0 56.0 3.0 -50.0 -98.0 -132.0 -165.0 -195.0 -201.0 -223.0 -241.0 -240.0 -223.0 -197.0 -190.0 -179.0 -167.0 -130.0 -96.0 -76.0 -61.0 -46.0 -35.0 -24.0 -13.0 -20.0 -37.0 -64.0 -91.0 -116.0 -146.0 -197.0 -248.0 -302.0 -350.0 -395.0 -443.0 -482.0 -520.0 -539.0 -569.0 -592.0 -565.0 -517.0 -493.0 -499.0 -486.0 -419.0 -310.0 -222.0 -188.0 -146.0 -49.0 79.0 189.0 273.0 314.0 353.0 422.0 506.0 558.0 553.0 536.0 524.0 529.0 517.0 469.0 407.0 351.0 299.0 239.0 167.0 94.0 50.0 -2.0 -67.0 -122.0 -167.0 -181.0 -190.0 -215.0 -241.0 -242.0 -224.0 -210.0 -193.0 -171.0 -156.0 -140.0 -109.0 -77.0 -68.0 -68.0 -59.0 -57.0 -64.0 -84.0 -114.0 -141.0 -170.0 -210.0 -249.0 -295.0 -343.0 -396.0 -447.0 -496.0 -547.0 -585.0 -611.0 -629.0 -639.0 -644.0 -613.0 -552.0 -505.0 -485.0 -451.0 -368.0 -249.0 -144.0 -65.0 2.0 109.0 261.0 387.0 473.0 523.0 590.0 668.0 743.0 782.0 780.0 796.0 790.0 780.0 740.0 710.0 675.0 597.0 515.0 405.0 332.0 258.0 167.0 76.0 -25.0 -82.0 -154.0 -211.0 -263.0 -327.0 -366.0 -415.0 -431.0 -457.0 -473.0 -481.0 -506.0 -513.0 -536.0 -535.0 -526.0 -539.0 -555.0 -576.0 -581.0 -584.0 -584.0 -595.0 -613.0 -610.0 -610.0 -594.0 -576.0 -579.0 -580.0 -521.0 -397.0 -327.0 -315.0 -306.0 -223.0 -69.0 54.0 120.0 132.0 231.0 397.0 533.0 617.0 651.0 697.0 756.0 829.0 865.0 839.0 823.0 804.0 756.0 689.0 579.0 488.0 399.0 322.0 202.0 44.0 -59.0 -147.0 -199.0 -284.0 -373.0 -444.0 -459.0 -427.0 -449.0 -447.0 -426.0 -361.0 -287.0 -232.0 -178.0 -128.0 -28.0 60.0 119.0 160.0 186.0 227.0 262.0 283.0 247.0 210.0 185.0 131.0 67.0 -26.0 -86.0 -159.0 -231.0 -320.0 -428.0 -486.0 -542.0 -581.0 -626.0 -666.0 -686.0 -687.0 -634.0 -592.0 -534.0 -440.0 -329.0 -204.0 -109.0 -6.0 124.0 271.0 402.0 477.0 566.0 661.0 762.0 833.0 855.0 851.0 819.0 806.0 750.0 677.0 593.0 493.0 395.0 272.0 161.0 16.0 -102.0 -210.0 -320.0 -428.0 -541.0 -598.0 -638.0 -646.0 -662.0 -665.0 -634.0 -583.0 -527.0 -482.0 -402.0 -308.0 -200.0 -115.0 -56.0 -2.0 61.0 123.0 147.0 158.0 149.0 135.0 91.0 46.0 12.0 -32.0 -77.0 -165.0 -238.0 -312.0 -346.0 -370.0 -426.0 -448.0 -460.0 -419.0 -370.0 -287.0 -208.0 -150.0 -59.0 34.0 164.0 290.0 415.0 524.0 642.0 776.0 859.0 914.0 962.0 990.0 995.0 982.0 924.0 821.0 731.0 659.0 530.0 388.0 248.0 107.0 -18.0 -171.0 -328.0 -473.0 -562.0 -632.0 -706.0 -753.0 -771.0 -735.0 -696.0 -645.0 -604.0 -536.0 -425.0 -314.0 -195.0 -85.0 21.0 114.0 191.0 246.0 270.0 292.0 306.0 320.0 273.0 169.0 80.0 18.0 -17.0 -112.0 -237.0 -360.0 -454.0 -512.0 -587.0 -647.0 -702.0 -706.0 -667.0 -617.0 -541.0 -432.0 -276.0 -122.0 1.0 130.0 293.0 513.0 727.0 887.0 1008.0 1155.0 1312.0 1428.0 1483.0 1487.0 1475.0 1442.0 1392.0 1270.0 1126.0 980.0 844.0 701.0 519.0 304.0 66.0 -113.0 -269.0 -424.0 -586.0 -720.0 -793.0 -826.0 -844.0 -872.0 -874.0 -829.0 -760.0 -683.0 -591.0 -482.0 -349.0 -219.0 -115.0 -45.0 4.0 66.0 109.0 135.0 144.0 101.0 58.0 -3.0 -50.0 -108.0 -172.0 -247.0 -356.0 -425.0 -515.0 -570.0 -617.0 -644.0 -640.0 -611.0 -537.0 -463.0 -340.0 -220.0 -85.0 49.0 198.0 371.0 526.0 716.0 875.0 1026.0 1177.0 1280.0 1366.0 1402.0 1440.0 1414.0 1364.0 1308.0 1197.0 1095.0 948.0 835.0 703.0 551.0 373.0 159.0 9.0 -138.0 -254.0 -373.0 -468.0 -516.0 -542.0 -545.0 -568.0 -542.0 -508.0 -471.0 -417.0 -335.0 -239.0 -152.0 -75.0 -34.0 0.0 18.0 21.0 -15.0 -49.0 -94.0 -159.0 -235.0 -318.0 -372.0 -437.0 -479.0 -547.0 -619.0 -672.0 -742.0 -748.0 -732.0 -659.0 -575.0 -449.0 -294.0 -131.0 75.0 237.0 412.0 546.0 725.0 871.0 1031.0 1204.0 1321.0 1457.0 1512.0 1549.0 1513.0 1481.0 1395.0 1237.0 1106.0 931.0 768.0 574.0 415.0 256.0 78.0 -112.0 -334.0 -505.0 -635.0 -723.0 -816.0 -861.0 -846.0 -786.0 -724.0 -659.0 -585.0 -502.0 -381.0 -257.0 -127.0 1.0 141.0 272.0 366.0 405.0 417.0 388.0 338.0 251.0 156.0 50.0 -73.0 -198.0 -350.0 -427.0 -539.0 -643.0 -780.0 -891.0 -940.0 -996.0 -952.0 -946.0 -843.0 -699.0 -524.0 -310.0 -124.0 123.0 307.0 538.0 732.0 925.0 1123.0 1291.0 1464.0 1566.0 1673.0 1711.0 1714.0 1669.0 1544.0 1386.0 1202.0 1027.0 804.0 568.0 372.0 165.0 -32.0 -261.0 -479.0 -657.0 -819.0 -925.0 -1039.0 -1074.0 -1058.0 -995.0 -905.0 -837.0 -709.0 -606.0 -443.0 -309.0 -175.0 -20.0 117.0 287.0 374.0 444.0 458.0 453.0 418.0 314.0 196.0 46.0 -77.0 -215.0 -350.0 -458.0 -570.0 -675.0 -802.0 -900.0 -985.0 -1025.0 -1014.0 -970.0 -856.0 -700.0 -482.0 -261.0 -5.0 225.0 462.0 681.0 876.0 1063.0 1231.0 1409.0 1519.0 1633.0 1706.0 1746.0 1723.0 1654.0 1527.0 1342.0 1133.0 892.0 647.0 408.0 227.0 27.0 -156.0 -359.0 -523.0 -663.0 -794.0 -910.0 -1011.0 -1014.0 -985.0 -894.0 -797.0 -670.0 -538.0 -398.0 -249.0 -137.0 -19.0 80.0 185.0 264.0 323.0 345.0 339.0 316.0 230.0 103.0 -37.0 -214.0 -406.0 -596.0 -786.0 -906.0 -1001.0 -1039.0 -1108.0 -1163.0 -1149.0 -1140.0 -1053.0 -1014.0 -886.0 -703.0 -461.0 -150.0 135.0 481.0 762.0 1026.0 1234.0 1390.0 1523.0 1613.0 1681.0 1722.0 1762.0 1754.0 1717.0 1633.0 1501.0 1300.0 1053.0 782.0 474.0 211.0 18.0 -166.0 -317.0 -493.0 -604.0 -664.0 -769.0 -827.0 -939.0 -895.0 -854.0 -785.0 -660.0 -536.0 -302.0 -192.0 -25.0 69.0 171.0 277.0 292.0 338.0 294.0 283.0 226.0 140.0 21.0 -161.0 -292.0 -484.0 -680.0 -925.0 -1117.0 -1212.0 -1336.0 -1361.0 -1430.0 -1405.0 -1350.0 -1278.0 -1156.0 -1070.0 -835.0 -636.0 -339.0 -45.0 278.0 630.0 914.0 1216.0 1380.0 1559.0 1688.0 1774.0 1816.0 1807.0 1810.0 1750.0 1678.0 1539.0 1347.0 1145.0 888.0 633.0 311.0 68.0 -139.0 -331.0 -482.0 -660.0 -709.0 -812.0 -839.0 -900.0 -901.0 -829.0 -778.0 -663.0 -582.0 -386.0 -239.0 -84.0 40.0 168.0 298.0 382.0 439.0 454.0 444.0 404.0 313.0 182.0 32.0 -155.0 -297.0 -513.0 -703.0 -945.0 -1107.0 -1251.0 -1383.0 -1458.0 -1543.0 -1503.0 -1488.0 -1369.0 -1283.0 -1125.0 -924.0 -694.0 -402.0 -147.0 193.0 501.0 824.0 1086.0 1300.0 1497.0 1640.0 1733.0 1761.0 1768.0 1748.0 1683.0 1593.0 1443.0 1277.0 1084.0 867.0 622.0 336.0 83.0 -131.0 -313.0 -495.0 -659.0 -775.0 -819.0 -888.0 -936.0 -962.0 -899.0 -817.0 -755.0 -649.0 -523.0 -341.0 -213.0 -76.0 40.0 179.0 302.0 380.0 437.0 465.0 482.0 439.0 372.0 250.0 109.0 -39.0 -197.0 -398.0 -581.0 -756.0 -887.0 -1028.0 -1143.0 -1189.0 -1238.0 -1212.0 -1227.0 -1161.0 -1053.0 -922.0 -756.0 -573.0 -321.0 -84.0 197.0 450.0 694.0 891.0 1076.0 1226.0 1316.0 1387.0 1394.0 1421.0 1391.0 1349.0 1253.0 1143.0 1023.0 852.0 671.0 468.0 268.0 66.0 -76.0 -227.0 -353.0 -476.0 -537.0 -614.0 -692.0 -736.0 -759.0 -716.0 -709.0 -652.0 -592.0 -472.0 -362.0 -264.0 -176.0 -66.0 36.0 101.0 177.0 225.0 263.0 257.0 253.0 180.0 105.0 12.0 -93.0 -226.0 -374.0 -495.0 -633.0 -756.0 -876.0 -945.0 -959.0 -966.0 -954.0 -934.0 -830.0 -722.0 -657.0 -515.0 -374.0 -157.0 -5.0 196.0 419.0 618.0 827.0 940.0 1093.0 1168.0 1237.0 1239.0 1215.0 1174.0 1093.0 1017.0 889.0 764.0 605.0 470.0 304.0 143.0 -31.0 -171.0 -256.0 -357.0 -455.0 -538.0 -582.0 -626.0 -675.0 -680.0 -661.0 -637.0 -579.0 -510.0 -396.0 -301.0 -195.0 -104.0 -1.0 102.0 167.0 239.0 297.0 355.0 368.0 380.0 343.0 289.0 208.0 106.0 -21.0 -149.0 -272.0 -412.0 -551.0 -681.0 -765.0 -858.0 -893.0 -938.0 -925.0 -894.0 -848.0 -777.0 -690.0 -532.0 -394.0 -226.0 -62.0 131.0 327.0 506.0 661.0 808.0 941.0 1042.0 1097.0 1118.0 1144.0 1114.0 1074.0 974.0 879.0 775.0 638.0 499.0 317.0 187.0 32.0 -97.0 -210.0 -321.0 -410.0 -496.0 -559.0 -612.0 -655.0 -672.0 -657.0 -648.0 -593.0 -551.0 -446.0 -370.0 -255.0 -154.0 -52.0 80.0 142.0 253.0 308.0 402.0 407.0 417.0 421.0 390.0 338.0 233.0 170.0 56.0 -41.0 -165.0 -275.0 -400.0 -517.0 -625.0 -735.0 -780.0 -828.0 -824.0 -814.0 -764.0 -694.0 -611.0 -492.0 -400.0 -265.0 -126.0 24.0 161.0 319.0 493.0 638.0 742.0 841.0 932.0 978.0 978.0 937.0 895.0 827.0 736.0 594.0 476.0 363.0 235.0 94.0 -25.0 -134.0 -247.0 -334.0 -430.0 -503.0 -570.0 -604.0 -640.0 -665.0 -642.0 -623.0 -588.0 -529.0 -452.0 -336.0 -237.0 -116.0 -8.0 128.0 258.0 344.0 451.0 535.0 625.0 643.0 650.0 639.0 613.0 575.0 488.0 416.0 319.0 227.0 110.0 -3.0 -132.0 -274.0 -400.0 -543.0 -633.0 -719.0 -751.0 -779.0 -789.0 -749.0 -720.0 -617.0 -558.0 -444.0 -328.0 -189.0 -38.0 82.0 253.0 386.0 541.0 630.0 720.0 785.0 809.0 807.0 758.0 709.0 628.0 532.0 439.0 340.0 235.0 118.0 -3.0 -97.0 -235.0 -331.0 -415.0 -484.0 -552.0 -614.0 -633.0 -652.0 -637.0 -632.0 -592.0 -553.0 -480.0 -383.0 -272.0 -134.0 -15.0 145.0 281.0 424.0 527.0 607.0 708.0 736.0 781.0 779.0 774.0 743.0 669.0 608.0 489.0 392.0 240.0 105.0 -40.0 -199.0 -345.0 -522.0 -637.0 -777.0 -858.0 -925.0 -976.0 -970.0 -992.0 -919.0 -875.0 -765.0 -656.0 -532.0 -360.0 -238.0 -42.0 85.0 278.0 395.0 505.0 577.0 619.0 665.0 621.0 622.0 517.0 481.0 374.0 282.0 174.0 55.0 -14.0 -140.0 -220.0 -339.0 -407.0 -484.0 -554.0 -594.0 -623.0 -613.0 -618.0 -575.0 -512.0 -431.0 -325.0 -227.0 -74.0 62.0 228.0 370.0 519.0 669.0 772.0 897.0 955.0 1031.0 1059.0 1071.0 1044.0 976.0 896.0 766.0 639.0 466.0 321.0 151.0 -20.0 -186.0 -341.0 -476.0 -628.0 -764.0 -906.0 -1005.0 -1086.0 -1133.0 -1136.0 -1123.0 -1065.0 -992.0 -898.0 -774.0 -648.0 -507.0 -377.0 -246.0 -100.0 43.0 181.0 297.0 398.0 478.0 527.0 541.0 515.0 484.0 434.0 360.0 280.0 190.0 114.0 26.0 -54.0 -137.0 -202.0 -286.0 -357.0 -419.0 -463.0 -493.0 -512.0 -475.0 -431.0 -348.0 -270.0 -152.0 -40.0 72.0 177.0 291.0 385.0 480.0 566.0 648.0 732.0 780.0 825.0 823.0 831.0 777.0 731.0 645.0 557.0 455.0 340.0 233.0 118.0 19.0 -103.0 -196.0 -310.0 -382.0 -467.0 -533.0 -613.0 -678.0 -722.0 -778.0 -811.0 -834.0 -805.0 -787.0 -763.0 -725.0 -661.0 -607.0 -532.0 -470.0 -370.0 -288.0 -212.0 -123.0 -41.0 55.0 72.0 130.0 148.0 177.0 169.0 161.0 166.0 140.0 145.0 92.0 105.0 61.0 53.0 32.0 19.0 34.0 7.0 44.0 13.0 41.0 18.0 27.0 51.0 54.0 114.0 128.0 213.0 250.0 327.0 379.0 405.0 447.0 431.0 467.0 444.0 459.0 460.0 462.0 478.0 461.0 482.0 461.0 468.0 429.0 405.0 381.0 333.0 307.0 236.0 196.0 122.0 49.0 -36.0 -131.0 -215.0 -332.0 -431.0 -548.0 -669.0 -776.0 -864.0 -917.0 -971.0 -997.0 -1003.0 -992.0 -965.0 -941.0 -877.0 -804.0 -716.0 -625.0 -510.0 -385.0 -249.0 -123.0 -18.0 103.0 187.0 277.0 327.0 399.0 444.0 494.0 522.0 524.0 545.0 517.0 509.0 451.0 419.0 347.0 289.0 203.0 116.0 49.0 -45.0 -106.0 -206.0 -247.0 -313.0 -330.0 -341.0 -280.0 -183.0 -94.0 8.0 111.0 268.0 331.0 486.0 550.0 658.0 716.0 780.0 843.0 851.0 923.0 844.0 868.0 777.0 730.0 614.0 502.0 398.0 229.0 117.0 -86.0 -194.0 -390.0 -524.0 -692.0 -839.0 -976.0 -1134.0 -1208.0 -1318.0 -1346.0 -1378.0 -1348.0 -1294.0 -1223.0 -1110.0 -999.0 -851.0 -715.0 -560.0 -407.0 -235.0 -64.0 93.0 245.0 356.0 455.0 511.0 550.0 541.0 554.0 530.0 491.0 450.0 389.0 350.0 262.0 203.0 95.0 22.0 -84.0 -162.0 -219.0 -273.0 -293.0 -322.0 -279.0 -265.0 -205.0 -159.0 -67.0 21.0 92.0 224.0 333.0 498.0 595.0 727.0 837.0 897.0 977.0 955.0 995.0 919.0 887.0 784.0 691.0 614.0 449.0 387.0 211.0 147.0 -28.0 -107.0 -223.0 -317.0 -367.0 -473.0 -464.0 -563.0 -534.0 -597.0 -568.0 -586.0 -581.0 -573.0 -605.0 -581.0 -615.0 -567.0 -583.0 -549.0 -559.0 -528.0 -518.0 -532.0 -530.0 -549.0 -534.0 -561.0 -547.0 -536.0 -505.0 -492.0 -487.0 -459.0 -444.0 -424.0 -410.0 -368.0 -305.0 -234.0 -145.0 -60.0 66.0 165.0 284.0 395.0 489.0 583.0 645.0 708.0 729.0 766.0 742.0 731.0 689.0 616.0 563.0 480.0 409.0 315.0 270.0 204.0 181.0 157.0 139.0 163.0 154.0 197.0 201.0 250.0 264.0 312.0 358.0 366.0 430.0 428.0 502.0 504.0 551.0 573.0 612.0 653.0 636.0 672.0 618.0 604.0 501.0 417.0 294.0 152.0 2.0 -190.0 -340.0 -556.0 -740.0 -957.0 -1128.0 -1300.0 -1442.0 -1549.0 -1645.0 -1691.0 -1727.0 -1696.0 -1643.0 -1548.0 -1428.0 -1265.0 -1071.0 -866.0 -637.0 -398.0 -177.0 35.0 234.0 424.0 579.0 718.0 832.0 917.0 989.0 1008.0 1018.0 965.0 907.0 802.0 700.0 566.0 423.0 290.0 157.0 47.0 -87.0 -162.0 -248.0 -280.0 -314.0 -300.0 -258.0 -194.0 -99.0 2.0 150.0 270.0 456.0 603.0 792.0 929.0 1084.0 1204.0 1293.0 1370.0 1357.0 1395.0 1309.0 1274.0 1123.0 1027.0 898.0 730.0 613.0 402.0 295.0 82.0 -44.0 -215.0 -363.0 -504.0 -662.0 -764.0 -891.0 -963.0 -1050.0 -1082.0 -1120.0 -1130.0 -1139.0 -1124.0 -1100.0 -1067.0 -1006.0 -929.0 -831.0 -742.0 -631.0 -514.0 -437.0 -354.0 -283.0 -233.0 -177.0 -149.0 -88.0 -73.0 -37.0 -51.0 -60.0 -70.0 -119.0 -137.0 -173.0 -171.0 -165.0 -128.0 -65.0 24.0 112.0 217.0 303.0 413.0 501.0 577.0 656.0 721.0 805.0 841.0 890.0 924.0 952.0 964.0 958.0 944.0 922.0 886.0 830.0 766.0 695.0 622.0 548.0 495.0 456.0 413.0 383.0 315.0 293.0 252.0 215.0 179.0 113.0 108.0 47.0 65.0 23.0 54.0 72.0 64.0 134.0 131.0 201.0 193.0 227.0 222.0 211.0 184.0 125.0 94.0 19.0 -56.0 -154.0 -238.0 -373.0 -497.0 -645.0 -784.0 -922.0 -1054.0 -1152.0 -1262.0 -1317.0 -1365.0 -1374.0 -1356.0 -1317.0 -1240.0 -1157.0 -1035.0 -881.0 -731.0 -546.0 -386.0 -221.0 -57.0 103.0 259.0 373.0 520.0 616.0 735.0 817.0 894.0 958.0 980.0 996.0 955.0 942.0 854.0 793.0 683.0 591.0 496.0 387.0 317.0 208.0 159.0 69.0 36.0 -14.0 -42.0 -44.0 -57.0 -27.0 -9.0 53.0 112.0 198.0 284.0 408.0 527.0 631.0 718.0 788.0 853.0 871.0 905.0 876.0 889.0 842.0 790.0 739.0 666.0 635.0 503.0 431.0 312.0 212.0 102.0 -28.0 -119.0 -235.0 -330.0 -448.0 -526.0 -610.0 -681.0 -753.0 -804.0 -855.0 -907.0 -956.0 -1008.0 -1031.0 -1074.0 -1080.0 -1099.0 -1079.0 -1066.0 -1038.0 -1002.0 -975.0 -911.0 -865.0 -786.0 -722.0 -600.0 -501.0 -384.0 -259.0 -174.0 -43.0 35.0 130.0 204.0 271.0 344.0 384.0 456.0 516.0 570.0 629.0 652.0 699.0 716.0 713.0 721.0 701.0 700.0 663.0 639.0 603.0 562.0 527.0 481.0 446.0 401.0 372.0 343.0 313.0 294.0 293.0 288.0 290.0 312.0 324.0 377.0 430.0 481.0 541.0 575.0 635.0 653.0 684.0 674.0 653.0 627.0 561.0 535.0 448.0 427.0 344.0 272.0 218.0 113.0 74.0 -44.0 -110.0 -213.0 -316.0 -419.0 -543.0 -629.0 -762.0 -853.0 -983.0 -1066.0 -1170.0 -1268.0 -1338.0 -1412.0 -1439.0 -1479.0 -1458.0 -1448.0 -1390.0 -1329.0 -1241.0 -1130.0 -1042.0 -892.0 -770.0 -604.0 -431.0 -254.0 -42.0 129.0 298.0 433.0 571.0 677.0 724.0 778.0 785.0 818.0 801.0 779.0 787.0 737.0 707.0 638.0 582.0 506.0 404.0 322.0 226.0 155.0 66.0 6.0 -20.0 -35.0 -38.0 -10.0 38.0 94.0 152.0 211.0 296.0 371.0 451.0 537.0 633.0 715.0 784.0 855.0 924.0 989.0 1007.0 1017.0 993.0 948.0 861.0 764.0 650.0 512.0 393.0 231.0 131.0 -19.0 -133.0 -227.0 -353.0 -416.0 -510.0 -542.0 -589.0 -611.0 -614.0 -616.0 -607.0 -610.0 -585.0 -582.0 -579.0 -591.0 -603.0 -625.0 -650.0 -690.0 -738.0 -774.0 -816.0 -838.0 -867.0 -907.0 -921.0 -941.0 -938.0 -948.0 -955.0 -930.0 -895.0 -839.0 -795.0 -673.0 -578.0 -477.0 -378.0 -301.0 -185.0 -120.0 -57.0 11.0 90.0 162.0 248.0 326.0 421.0 508.0 573.0 645.0 699.0 739.0 741.0 754.0 731.0 725.0 704.0 660.0 657.0 626.0 609.0 596.0 584.0 561.0 544.0 536.0 527.0 523.0 515.0 535.0 549.0 569.0 600.0 643.0 669.0 734.0 785.0 826.0 862.0 847.0 837.0 775.0 702.0 573.0 464.0 319.0 172.0 64.0 -94.0 -158.0 -273.0 -356.0 -433.0 -527.0 -589.0 -694.0 -757.0 -857.0 -926.0 -1003.0 -1068.0 -1110.0 -1168.0 -1195.0 -1228.0 -1263.0 -1295.0 -1329.0 -1375.0 -1401.0 -1442.0 -1444.0 -1450.0 -1445.0 -1425.0 -1388.0 -1336.0 -1280.0 -1196.0 -1126.0 -1026.0 -926.0 -810.0 -684.0 -532.0 -385.0 -247.0 -76.0 62.0 209.0 346.0 465.0 595.0 699.0 811.0 933.0 1021.0 1122.0 1186.0 1238.0 1266.0 1280.0 1274.0 1214.0 1185.0 1127.0 1052.0 997.0 918.0 859.0 817.0 751.0 710.0 672.0 633.0 592.0 555.0 529.0 506.0 511.0 506.0 523.0 537.0 545.0 555.0 589.0 597.0 583.0 567.0 482.0 418.0 302.0 176.0 39.0 -87.0 -216.0 -351.0 -451.0 -607.0 -695.0 -805.0 -933.0 -1040.0 -1168.0 -1263.0 -1368.0 -1443.0 -1511.0 -1554.0 -1573.0 -1589.0 -1583.0 -1574.0 -1547.0 -1503.0 -1469.0 -1441.0 -1377.0 -1322.0 -1253.0 -1167.0 -1061.0 -925.0 -799.0 -646.0 -520.0 -386.0 -256.0 -165.0 -67.0 2.0 94.0 194.0 278.0 387.0 489.0 569.0 643.0 685.0 692.0 700.0 670.0 622.0 611.0 585.0 578.0 609.0 625.0 668.0 719.0 735.0 755.0 782.0 778.0 757.0 778.0 783.0 788.0 827.0 847.0 894.0 936.0 937.0 941.0 924.0 874.0 804.0 732.0 657.0 568.0 493.0 404.0 322.0 232.0 115.0 1.0 -116.0 -217.0 -321.0 -432.0 -534.0 -621.0 -703.0 -760.0 -813.0 -857.0 -848.0 -859.0 -836.0 -806.0 -770.0 -703.0 -659.0 -593.0 -536.0 -464.0 -390.0 -326.0 -261.0 -205.0 -180.0 -155.0 -159.0 -187.0 -222.0 -294.0 -354.0 -451.0 -544.0 -654.0 -760.0 -835.0 -917.0 -971.0 -1018.0 -1052.0 -1076.0 -1085.0 -1084.0 -1060.0 -1016.0 -958.0 -864.0 -730.0 -592.0 -434.0 -240.0 -70.0 99.0 287.0 441.0 590.0 734.0 842.0 950.0 1070.0 1134.0 1183.0 1248.0 1255.0 1258.0 1251.0 1199.0 1154.0 1116.0 1039.0 967.0 924.0 840.0 773.0 732.0 666.0 601.0 541.0 477.0 429.0 397.0 356.0 336.0 340.0 355.0 375.0 399.0 423.0 443.0 440.0 416.0 380.0 379.0 387.0 367.0 345.0 318.0 267.0 191.0 96.0 -40.0 -163.0 -287.0 -433.0 -537.0 -634.0 -722.0 -787.0 -841.0 -900.0 -950.0 -979.0 -1023.0 -1045.0 -1048.0 -1077.0 -1087.0 -1069.0 -1077.0 -1062.0 -1057.0 -1067.0 -1064.0 -1065.0 -1074.0 -1091.0 -1068.0 -1068.0 -1051.0 -1015.0 -1011.0 -965.0 -910.0 -862.0 -777.0 -671.0 -581.0 -463.0 -329.0 -196.0 -58.0 98.0 264.0 458.0 663.0 819.0 1008.0 1175.0 1298.0 1409.0 1491.0 1571.0 1630.0 1679.0 1693.0 1729.0 1736.0 1697.0 1656.0 1586.0 1510.0 1411.0 1302.0 1198.0 1091.0 987.0 877.0 765.0 648.0 543.0 445.0 332.0 258.0 191.0 125.0 87.0 58.0 35.0 14.0 -4.0 -30.0 -47.0 -79.0 -112.0 -92.0 -98.0 -136.0 -180.0 -259.0 -363.0 -451.0 -581.0 -718.0 -803.0 -898.0 -990.0 -1057.0 -1111.0 -1185.0 -1228.0 -1285.0 -1338.0 -1328.0 -1318.0 -1286.0 -1217.0 -1130.0 -1062.0 -973.0 -885.0 -813.0 -695.0 -600.0 -504.0 -376.0 -258.0 -177.0 -90.0 -7.0 30.0 97.0 131.0 170.0 217.0 256.0 266.0 278.0 297.0 283.0 295.0 298.0 302.0 325.0 363.0 392.0 436.0 505.0 571.0 643.0 729.0 794.0 856.0 936.0 985.0 1030.0 1091.0 1127.0 1168.0 1214.0 1249.0 1251.0 1264.0 1242.0 1175.0 1132.0 1044.0 947.0 871.0 775.0 654.0 551.0 436.0 292.0 185.0 58.0 -75.0 -162.0 -244.0 -336.0 -381.0 -447.0 -515.0 -547.0 -610.0 -654.0 -677.0 -681.0 -674.0 -649.0 -634.0 -627.0 -611.0 -592.0 -581.0 -577.0 -556.0 -545.0 -507.0 -484.0 -437.0 -396.0 -354.0 -310.0 -309.0 -259.0 -255.0 -236.0 -217.0 -201.0 -175.0 -177.0 -157.0 -182.0 -163.0 -175.0 -193.0 -180.0 -187.0 -180.0 -181.0 -157.0 -159.0 -134.0 -122.0 -111.0 -82.0 -60.0 -30.0 -11.0 40.0 63.0 106.0 130.0 147.0 192.0 223.0 260.0 297.0 369.0 407.0 460.0 503.0 526.0 570.0 591.0 616.0 626.0 667.0 673.0 692.0 712.0 710.0 721.0 697.0 688.0 648.0 628.0 574.0 517.0 478.0 410.0 367.0 307.0 262.0 199.0 155.0 103.0 43.0 25.0 -23.0 -50.0 -70.0 -95.0 -128.0 -140.0 -161.0 -181.0 -167.0 -156.0 -135.0 -129.0 -131.0 -158.0 -158.0 -177.0 -228.0 -240.0 -264.0 -274.0 -280.0 -276.0 -270.0 -269.0 -264.0 -288.0 -265.0 -255.0 -254.0 -235.0 -233.0 -214.0 -223.0 -231.0 -256.0 -261.0 -266.0 -301.0 -291.0 -295.0 -295.0 -297.0 -306.0 -309.0 -308.0 -306.0 -323.0 -309.0 -303.0 -304.0 -294.0 -293.0 -269.0 -244.0 -226.0 -206.0 -164.0 -118.0 -80.0 -30.0 13.0 60.0 113.0 154.0 207.0 258.0 317.0 365.0 406.0 451.0 489.0 533.0 554.0 589.0 613.0 636.0 647.0 645.0 661.0 659.0 660.0 644.0 631.0 621.0 596.0 571.0 535.0 500.0 464.0 418.0 377.0 339.0 294.0 254.0 212.0 167.0 114.0 61.0 19.0 -31.0 -74.0 -117.0 -156.0 -199.0 -239.0 -263.0 -308.0 -333.0 -366.0 -388.0 -399.0 -410.0 -402.0 -406.0 -386.0 -376.0 -356.0 -335.0 -317.0 -297.0 -293.0 -289.0 -302.0 -316.0 -344.0 -373.0 -398.0 -433.0 -460.0 -495.0 -527.0 -559.0 -585.0 -612.0 -635.0 -650.0 -667.0 -667.0 -662.0 -648.0 -625.0 -588.0 -537.0 -480.0 -422.0 -356.0 -286.0 -222.0 -161.0 -94.0 -25.0 35.0 107.0 164.0 220.0 273.0 318.0 359.0 394.0 416.0 437.0 464.0 474.0 488.0 506.0 531.0 550.0 563.0 562.0 585.0 596.0 588.0 604.0 607.0 621.0 626.0 628.0 628.0 633.0 626.0 604.0 598.0 576.0 567.0 541.0 519.0 501.0 469.0 442.0 385.0 341.0 264.0 200.0 132.0 52.0 -25.0 -115.0 -198.0 -296.0 -371.0 -451.0 -516.0 -571.0 -624.0 -660.0 -690.0 -720.0 -737.0 -747.0 -751.0 -746.0 -750.0 -734.0 -723.0 -705.0 -705.0 -695.0 -681.0 -679.0 -671.0 -665.0 -644.0 -632.0 -601.0 -578.0 -552.0 -526.0 -495.0 -454.0 -420.0 -376.0 -342.0 -299.0 -262.0 -229.0 -198.0 -169.0 -138.0 -115.0 -81.0 -57.0 -26.0 7.0 32.0 75.0 116.0 155.0 202.0 247.0 288.0 334.0 379.0 416.0 454.0 490.0 528.0 568.0 597.0 625.0 646.0 661.0 670.0 687.0 694.0 698.0 716.0 708.0 715.0 709.0 705.0 695.0 667.0 648.0 604.0 561.0 511.0 469.0 410.0 353.0 286.0 212.0 153.0 84.0 12.0 -66.0 -132.0 -199.0 -256.0 -308.0 -352.0 -391.0 -442.0 -479.0 -510.0 -530.0 -553.0 -567.0 -584.0 -612.0 -627.0 -636.0 -644.0 -659.0 -681.0 -690.0 -697.0 -700.0 -703.0 -706.0 -695.0 -684.0 -670.0 -649.0 -615.0 -573.0 -525.0 -474.0 -414.0 -351.0 -301.0 -244.0 -183.0 -120.0 -79.0 -30.0 15.0 56.0 91.0 107.0 131.0 148.0 174.0 180.0 187.0 205.0 213.0 219.0 222.0 220.0 235.0 237.0 230.0 249.0 247.0 261.0 264.0 261.0 276.0 285.0 291.0 304.0 318.0 339.0 357.0 380.0 412.0 442.0 483.0 508.0 530.0 555.0 574.0 580.0 589.0 590.0 576.0 569.0 547.0 525.0 491.0 451.0 403.0 346.0 290.0 221.0 151.0 80.0 11.0 -48.0 -113.0 -184.0 -254.0 -319.0 -375.0 -420.0 -465.0 -501.0 -527.0 -545.0 -565.0 -575.0 -582.0 -585.0 -587.0 -582.0 -576.0 -567.0 -546.0 -535.0 -522.0 -505.0 -491.0 -481.0 -464.0 -454.0 -436.0 -420.0 -408.0 -390.0 -367.0 -359.0 -357.0 -338.0 -322.0 -304.0 -285.0 -266.0 -241.0 -206.0 -192.0 -170.0 -142.0 -114.0 -85.0 -59.0 -29.0 3.0 49.0 84.0 120.0 159.0 204.0 241.0 282.0 321.0 354.0 391.0 424.0 459.0 483.0 510.0 534.0 561.0 593.0 612.0 628.0 654.0 671.0 689.0 694.0 697.0 699.0 697.0 683.0 661.0 652.0 628.0 604.0 574.0 546.0 516.0 475.0 430.0 364.0 308.0 241.0 176.0 106.0 32.0 -33.0 -101.0 -164.0 -229.0 -290.0 -348.0 -411.0 -469.0 -525.0 -574.0 -619.0 -654.0 -687.0 -715.0 -736.0 -752.0 -758.0 -768.0 -768.0 -768.0 -765.0 -758.0 -750.0 -742.0 -729.0 -711.0 -689.0 -658.0 -627.0 -587.0 -556.0 -513.0 -475.0 -438.0 -396.0 -354.0 -307.0 -263.0 -221.0 -179.0 -136.0 -89.0 -49.0 -14.0 37.0 77.0 124.0 177.0 218.0 260.0 299.0 341.0 380.0 427.0 464.0 499.0 547.0 594.0 626.0 662.0 704.0 726.0 752.0 762.0 766.0 775.0 774.0 771.0 762.0 756.0 746.0 734.0 718.0 694.0 673.0 639.0 599.0 562.0 529.0 482.0 434.0 387.0 332.0 278.0 223.0 169.0 103.0 41.0 -22.0 -92.0 -160.0 -226.0 -291.0 -355.0 -415.0 -477.0 -536.0 -590.0 -644.0 -691.0 -735.0 -771.0 -800.0 -823.0 -839.0 -848.0 -848.0 -846.0 -846.0 -833.0 -822.0 -805.0 -784.0 -762.0 -724.0 -690.0 -650.0 -604.0 -555.0 -503.0 -450.0 -398.0 -349.0 -293.0 -241.0 -188.0 -138.0 -84.0 -32.0 19.0 70.0 115.0 161.0 202.0 244.0 278.0 308.0 339.0 365.0 383.0 406.0 423.0 440.0 457.0 470.0 487.0 502.0 515.0 527.0 539.0 552.0 560.0 568.0 579.0 580.0 585.0 584.0 583.0 579.0 572.0 566.0 558.0 549.0 531.0 512.0 489.0 458.0 421.0 382.0 343.0 300.0 258.0 206.0 149.0 100.0 42.0 -18.0 -73.0 -127.0 -179.0 -225.0 -269.0 -311.0 -354.0 -395.0 -432.0 -470.0 -501.0 -529.0 -549.0 -563.0 -569.0 -576.0 -572.0 -567.0 -567.0 -553.0 -539.0 -523.0 -510.0 -485.0 -468.0 -449.0 -435.0 -418.0 -395.0 -374.0 -354.0 -332.0 -309.0 -290.0 -264.0 -247.0 -220.0 -201.0 -178.0 -150.0 -127.0 -95.0 -60.0 -25.0 15.0 54.0 95.0 135.0 175.0 207.0 240.0 279.0 307.0 330.0 356.0 377.0 401.0 416.0 437.0 457.0 468.0 483.0 489.0 496.0 499.0 495.0 495.0 489.0 481.0 477.0 469.0 463.0 452.0 441.0 428.0 421.0 413.0 398.0 390.0 378.0 371.0 354.0 345.0 331.0 315.0 299.0 271.0 247.0 212.0 179.0 141.0 95.0 47.0 0.0 -50.0 -107.0 -162.0 -217.0 -272.0 -332.0 -380.0 -428.0 -474.0 -516.0 -550.0 -583.0 -611.0 -625.0 -633.0 -637.0 -636.0 -628.0 -621.0 -604.0 -584.0 -556.0 -533.0 -503.0 -473.0 -436.0 -395.0 -358.0 -316.0 -277.0 -237.0 -202.0 -170.0 -140.0 -109.0 -85.0 -64.0 -36.0 -12.0 10.0 39.0 59.0 87.0 113.0 136.0 160.0 184.0 216.0 236.0 263.0 288.0 311.0 343.0 363.0 388.0 415.0 436.0 452.0 467.0 485.0 497.0 505.0 514.0 516.0 516.0 511.0 505.0 495.0 480.0 466.0 448.0 429.0 404.0 381.0 353.0 333.0 307.0 282.0 252.0 222.0 190.0 153.0 127.0 93.0 62.0 28.0 -5.0 -35.0 -69.0 -107.0 -142.0 -175.0 -208.0 -242.0 -276.0 -309.0 -336.0 -368.0 -403.0 -431.0 -453.0 -479.0 -501.0 -518.0 -527.0 -530.0 -534.0 -532.0 -529.0 -520.0 -503.0 -486.0 -465.0 -439.0 -409.0 -375.0 -327.0 -279.0 -230.0 -180.0 -128.0 -70.0 -23.0 35.0 80.0 134.0 177.0 218.0 249.0 364.0 467.0 404.0 333.0 208.0 252.0 343.0 345.0 326.0 302.0 387.0 436.0 430.0 359.0 313.0 303.0 306.0 324.0 298.0 332.0 395.0 368.0 421.0 347.0 350.0 368.0 311.0 335.0 284.0 309.0 269.0 282.0 271.0 236.0 217.0 176.0 128.0 85.0 52.0 37.0 41.0 -14.0 -45.0 -109.0 -99.0 -116.0 -188.0 -199.0 -181.0 -174.0 -188.0 -239.0 -269.0 -190.0 -279.0 -292.0 -234.0 -294.0 -232.0 -293.0 -325.0 -300.0 -342.0 -345.0 -380.0 -285.0 -339.0 -327.0 -311.0 -414.0 -251.0 -374.0 -338.0 -215.0 -302.0 -90.0 -133.0 -137.0 -50.0 -168.0 51.0 -25.0 83.0 132.0 87.0 321.0 180.0 287.0 186.0 188.0 327.0 302.0 312.0 294.0 335.0 401.0 343.0 301.0 340.0 279.0 422.0 275.0 272.0 335.0 225.0 380.0 215.0 245.0 329.0 234.0 304.0 172.0 241.0 209.0 179.0 298.0 164.0 286.0 243.0 194.0 274.0 38.0 117.0 69.0 139.0 120.0 30.0 155.0 17.0 46.0 -3.0 -190.0 -112.0 21.0 -198.0 4.0 -80.0 -151.0 -1.0 -182.0 -203.0 -97.0 -214.0 -122.0 -69.0 -186.0 -124.0 -109.0 -63.0 -271.0 -77.0 -278.0 -29.0 -88.0 -337.0 -3.0 -155.0 -128.0 -128.0 -268.0 -167.0 -70.0 -81.0 -245.0 -193.0 -35.0 -295.0 13.0 -228.0 -157.0 35.0 -171.0 65.0 -11.0 -24.0 174.0 24.0 103.0 47.0 238.0 205.0 188.0 422.0 60.0 527.0 246.0 261.0 458.0 341.0 360.0 338.0 375.0 347.0 426.0 365.0 230.0 315.0 333.0 195.0 426.0 137.0 246.0 160.0 269.0 233.0 124.0 78.0 -99.0 361.0 51.0 110.0 -5.0 -81.0 282.0 -81.0 36.0 -73.0 -96.0 228.0 -205.0 83.0 -79.0 -53.0 43.0 -474.0 133.0 -43.0 -249.0 -57.0 -318.0 183.0 -218.0 -236.0 -264.0 -338.0 389.0 -458.0 -161.0 -395.0 -6.0 176.0 -487.0 -121.0 -558.0 84.0 7.0 -325.0 -255.0 -294.0 -20.0 -117.0 -176.0 -302.0 -218.0 120.0 -187.0 -75.0 -94.0 -98.0 25.0 34.0 -44.0 34.0 111.0 131.0 210.0 -129.0 328.0 -25.0 554.0 -106.0 294.0 263.0 159.0 720.0 -274.0 619.0 88.0 441.0 265.0 244.0 313.0 320.0 234.0 241.0 327.0 210.0 455.0 15.0 199.0 189.0 267.0 213.0 56.0 116.0 -41.0 153.0 218.0 -368.0 448.0 -315.0 275.0 141.0 -210.0 37.0 -193.0 -6.0 -391.0 431.0 -498.0 374.0 -102.0 -93.0 21.0 -433.0 169.0 -526.0 199.0 -183.0 -17.0 286.0 -456.0 18.0 -53.0 -405.0 -69.0 -376.0 308.0 -46.0 -230.0 -37.0 -581.0 327.0 -149.0 -406.0 -304.0 -79.0 267.0 9.0 -447.0 -449.0 266.0 0.0 -212.0 -415.0 -53.0 285.0 -85.0 -119.0 -250.0 169.0 317.0 -316.0 -229.0 223.0 250.0 -74.0 -88.0 119.0 522.0 177.0 -170.0 83.0 -120.0 568.0 -120.0 42.0 378.0 229.0 368.0 -176.0 357.0 -48.0 183.0 211.0 43.0 231.0 408.0 225.0 -155.0 339.0 333.0 87.0 -124.0 284.0 154.0 445.0 60.0 -251.0 197.0 344.0 483.0 -367.0 -59.0 226.0 307.0 -85.0 -162.0 -300.0 366.0 217.0 -335.0 -202.0 -138.0 178.0 -80.0 -178.0 -439.0 24.0 -131.0 43.0 -559.0 -444.0 172.0 -168.0 -219.0 -112.0 -389.0 24.0 -303.0 -109.0 -252.0 37.0 -226.0 -128.0 120.0 -341.0 236.0 -568.0 293.0 -368.0 385.0 -409.0 -78.0 23.0 25.0 102.0 -456.0 44.0 49.0 60.0 54.0 -138.0 -668.0 1025.0 -269.0 306.0 -749.0 303.0 274.0 194.0 -41.0 -760.0 929.0 373.0 423.0 -786.0 187.0 245.0 889.0 -491.0 -178.0 342.0 851.0 438.0 -540.0 -73.0 247.0 817.0 -300.0 -116.0 -383.0 1312.0 -140.0 -20.0 -382.0 -35.0 582.0 -219.0 -209.0 -729.0 903.0 -161.0 167.0 -490.0 -523.0 424.0 -188.0 -395.0 -374.0 -129.0 353.0 176.0 -531.0 -115.0 -424.0 62.0 -251.0 -484.0 -209.0 -48.0 381.0 -308.0 -252.0 -615.0 142.0 -66.0 -556.0 -118.0 -440.0 438.0 -7.0 -494.0 -232.0 -77.0 57.0 -444.0 -256.0 -24.0 77.0 -165.0 6.0 -174.0 160.0 0.0 -303.0 -82.0 -106.0 560.0 -711.0 379.0 -97.0 207.0 452.0 -819.0 544.0 -35.0 283.0 -90.0 -421.0 175.0 285.0 173.0 -623.0 45.0 327.0 395.0 -236.0 -662.0 337.0 -86.0 385.0 -422.0 -357.0 207.0 408.0 285.0 -834.0 -69.0 116.0 249.0 -126.0 -218.0 -123.0 255.0 420.0 -283.0 -592.0 26.0 53.0 26.0 -64.0 -456.0 183.0 50.0 279.0 -671.0 -261.0 -189.0 -131.0 327.0 -689.0 44.0 -391.0 255.0 -107.0 -714.0 -211.0 -246.0 -9.0 205.0 -593.0 -665.0 397.0 -80.0 -173.0 -642.0 -165.0 -201.0 387.0 -449.0 -746.0 41.0 244.0 332.0 -738.0 -94.0 -533.0 385.0 -157.0 -338.0 -283.0 -190.0 650.0 -125.0 -357.0 -612.0 191.0 -60.0 191.0 -471.0 -284.0 300.0 366.0 -167.0 -530.0 101.0 1.0 471.0 -308.0 -361.0 -180.0 601.0 64.0 -106.0 -445.0 138.0 639.0 -304.0 -195.0 -481.0 456.0 263.0 -234.0 -108.0 -185.0 570.0 188.0 -584.0 127.0 -308.0 586.0 -95.0 -208.0 -152.0 -191.0 520.0 -278.0 212.0 -275.0 -2.0 35.0 -512.0 -195.0 -112.0 -214.0 220.0 198.0 104.0 -89.0 -279.0 -395.0 -291.0 -145.0 -643.0 268.0 283.0 98.0 398.0 -905.0 -34.0 -407.0 -517.0 20.0 -548.0 256.0 -15.0 245.0 -481.0 -635.0 -372.0 -518.0 262.0 -382.0 -601.0 208.0 -453.0 601.0 -831.0 -944.0 148.0 -381.0 645.0 -998.0 82.0 -292.0 164.0 59.0 -885.0 220.0 -255.0 316.0 101.0 -471.0 238.0 164.0 -358.0 112.0 -180.0 351.0 163.0 -258.0 -34.0 160.0 431.0 -83.0 -160.0 80.0 120.0 228.0 -223.0 71.0 -84.0 326.0 69.0 15.0 93.0 43.0 285.0 -151.0 266.0 -109.0 -10.0 84.0 388.0 134.0 257.0 -383.0 372.0 293.0 -171.0 -80.0 -334.0 569.0 284.0 -25.0 -173.0 -148.0 236.0 181.0 -892.0 -171.0 92.0 11.0 108.0 -570.0 -256.0 58.0 -234.0 -514.0 -762.0 -89.0 141.0 -26.0 -795.0 -408.0 -54.0 62.0 -286.0 -1026.0 110.0 194.0 84.0 -412.0 -321.0 -570.0 325.0 -11.0 -603.0 215.0 -106.0 -354.0 273.0 -339.0 -310.0 -58.0 -528.0 366.0 -352.0 352.0 -352.0 -115.0 250.0 -253.0 -115.0 -282.0 179.0 239.0 -176.0 40.0 414.0 -112.0 503.0 -526.0 147.0 265.0 284.0 154.0 -352.0 561.0 197.0 571.0 -595.0 65.0 346.0 278.0 216.0 -352.0 210.0 430.0 244.0 -78.0 -98.0 -203.0 580.0 -288.0 397.0 -614.0 12.0 262.0 19.0 515.0 -591.0 47.0 -446.0 324.0 -316.0 -371.0 -118.0 186.0 196.0 92.0 -924.0 -97.0 -55.0 -426.0 56.0 -875.0 317.0 -97.0 126.0 -616.0 -474.0 54.0 -169.0 -306.0 -594.0 -157.0 261.0 -129.0 -508.0 -168.0 -290.0 340.0 -254.0 -380.0 -173.0 -252.0 189.0 -302.0 -21.0 -273.0 235.0 307.0 -461.0 121.0 -492.0 137.0 121.0 -211.0 -127.0 138.0 431.0 49.0 -54.0 -145.0 252.0 -128.0 286.0 -21.0 59.0 353.0 253.0 -27.0 96.0 315.0 -159.0 232.0 -73.0 154.0 536.0 357.0 39.0 270.0 4.0 507.0 -52.0 -449.0 45.0 45.0 848.0 -80.0 426.0 256.0 -133.0 -32.0 -502.0 32.0 -106.0 54.0 290.0 333.0 498.0 128.0 -487.0 -112.0 -368.0 28.0 -114.0 38.0 747.0 -399.0 472.0 -633.0 -29.0 12.0 -336.0 94.0 -443.0 937.0 -509.0 40.0 -795.0 19.0 210.0 -355.0 287.0 -559.0 579.0 -55.0 -389.0 -545.0 -113.0 10.0 -40.0 -359.0 13.0 504.0 266.0 -496.0 -450.0 107.0 -118.0 -2.0 -411.0 -76.0 519.0 244.0 -309.0 196.0 -543.0 222.0 -96.0 8.0 172.0 -306.0 640.0 -126.0 158.0 -454.0 5.0 276.0 300.0 57.0 -31.0 238.0 503.0 -27.0 -431.0 361.0 -237.0 844.0 -251.0 217.0 456.0 -73.0 574.0 -454.0 290.0 -34.0 379.0 378.0 21.0 347.0 257.0 37.0 248.0 91.0 149.0 602.0 -382.0 289.0 34.0 439.0 -130.0 -322.0 308.0 -69.0 797.0 -472.0 166.0 224.0 13.0 200.0 -698.0 -164.0 83.0 310.0 -178.0 81.0 -90.0 212.0 -1.0 -581.0 -179.0 -513.0 -147.0 4.0 233.0 -61.0 222.0 -148.0 -192.0 -172.0 -509.0 -455.0 -108.0 96.0 234.0 245.0 -482.0 516.0 -238.0 -292.0 -502.0 -114.0 209.0 -92.0 245.0 119.0 327.0 -202.0 -125.0 -461.0 134.0 157.0 84.0 221.0 262.0 349.0 4.0 -262.0 93.0 218.0 411.0 160.0 167.0 550.0 413.0 377.0 -328.0 420.0 315.0 434.0 282.0 343.0 756.0 317.0 -43.0 11.0 204.0 180.0 388.0 260.0 485.0 935.0 98.0 -553.0 -17.0 -339.0 506.0 -326.0 9.0 838.0 663.0 428.0 -289.0 -427.0 -323.0 55.0 -470.0 162.0 104.0 685.0 172.0 123.0 -244.0 -438.0 -38.0 -513.0 299.0 -354.0 284.0 179.0 89.0 -152.0 -299.0 -389.0 -343.0 54.0 -390.0 130.0 -11.0 317.0 -205.0 -108.0 -472.0 -110.0 -363.0 -308.0 128.0 -25.0 529.0 -255.0 201.0 -40.0 64.0 -269.0 -408.0 -145.0 319.0 386.0 355.0 103.0 249.0 331.0 -105.0 -169.0 -107.0 359.0 423.0 385.0 177.0 758.0 56.0 204.0 -118.0 229.0 306.0 72.0 110.0 233.0 706.0 239.0 175.0 -166.0 231.0 -23.0 467.0 -39.0 63.0 181.0 98.0 588.0 -125.0 58.0 24.0 70.0 226.0 -65.0 -262.0 110.0 535.0 161.0 215.0 78.0 -275.0 201.0 -96.0 -36.0 -161.0 183.0 452.0 102.0 -37.0 -383.0 -70.0 62.0 -265.0 -181.0 -172.0 260.0 479.0 -447.0 -324.0 -432.0 34.0 -72.0 -507.0 -30.0 473.0 647.0 -15.0 -585.0 -485.0 -96.0 -310.0 -116.0 -171.0 577.0 732.0 26.0 219.0 -246.0 -234.0 -117.0 -352.0 97.0 252.0 636.0 425.0 70.0 248.0 -34.0 38.0 -4.0 -66.0 446.0 252.0 331.0 237.0 39.0 202.0 -300.0 134.0 92.0 398.0 278.0 60.0 553.0 234.0 289.0 -297.0 -132.0 158.0 126.0 616.0 80.0 597.0 634.0 214.0 111.0 -508.0 -150.0 14.0 114.0 231.0 388.0 411.0 294.0 142.0 -212.0 -321.0 -307.0 -119.0 67.0 233.0 261.0 191.0 210.0 12.0 -216.0 -229.0 -240.0 166.0 22.0 -67.0 336.0 54.0 150.0 -122.0 -184.0 0.0 2.0 -76.0 -47.0 45.0 44.0 233.0 -261.0 -185.0 -18.0 -1.0 4.0 -123.0 82.0 324.0 68.0 -153.0 -347.0 -175.0 -65.0 -129.0 49.0 334.0 565.0 266.0 54.0 -341.0 -150.0 -216.0 -128.0 -14.0 303.0 630.0 622.0 345.0 -31.0 -191.0 -281.0 -117.0 -34.0 145.0 318.0 600.0 259.0 198.0 -165.0 -106.0 109.0 -22.0 53.0 299.0 407.0 403.0 232.0 -185.0 -92.0 87.0 200.0 236.0 301.0 488.0 540.0 60.0 -54.0 -274.0 -97.0 33.0 160.0 207.0 456.0 480.0 208.0 -21.0 -350.0 -149.0 -308.0 -57.0 2.0 282.0 313.0 277.0 103.0 -179.0 -287.0 -388.0 -329.0 -83.0 260.0 259.0 269.0 111.0 146.0 -10.0 -347.0 -357.0 -111.0 55.0 126.0 -43.0 240.0 325.0 127.0 -131.0 -251.0 -134.0 -140.0 -48.0 -102.0 13.0 145.0 152.0 21.0 -99.0 -166.0 -134.0 -29.0 25.0 -73.0 37.0 59.0 86.0 25.0 -86.0 13.0 103.0 61.0 20.0 -21.0 49.0 219.0 66.0 74.0 95.0 232.0 86.0 -73.0 39.0 2.0 172.0 171.0 53.0 164.0 167.0 235.0 126.0 -123.0 12.0 126.0 114.0 26.0 39.0 111.0 150.0 109.0 -85.0 -13.0 137.0 118.0 9.0 39.0 109.0 166.0 39.0 -148.0 -2.0 -19.0 -54.0 -40.0 63.0 235.0 119.0 -20.0 -73.0 -127.0 -94.0 -131.0 -140.0 -126.0 -31.0 36.0 -49.0 -40.0 -138.0 -111.0 -105.0 -152.0 -47.0 -160.0 -170.0 -119.0 -189.0 -184.0 -164.0 -40.0 -142.0 -181.0 -64.0 -94.0 -118.0 -233.0 -257.0 -130.0 -81.0 -26.0 48.0 -27.0 -6.0 -20.0 -47.0 -47.0 -268.0 -147.0 -83.0 -39.0 73.0 175.0 344.0 30.0 -88.0 -133.0 -88.0 -58.0 2.0 201.0 326.0 369.0 177.0 -34.0 -138.0 -51.0 -81.0 48.0 116.0 402.0 524.0 289.0 78.0 -145.0 -110.0 -121.0 -162.0 -42.0 235.0 382.0 245.0 15.0 -79.0 -197.0 -179.0 -190.0 -131.0 -29.0 85.0 104.0 40.0 -30.0 -95.0 -198.0 -315.0 -193.0 -167.0 -96.0 -171.0 -112.0 -104.0 -81.0 -120.0 -240.0 -167.0 -184.0 -114.0 -122.0 -154.0 -159.0 -202.0 -183.0 -144.0 -94.0 -2.0 -81.0 -62.0 -100.0 -139.0 -70.0 -126.0 -103.0 -11.0 142.0 4.0 -126.0 -64.0 -27.0 -7.0 -92.0 -54.0 29.0 125.0 36.0 5.0 48.0 -39.0 -107.0 -83.0 -7.0 -46.0 -13.0 -26.0 112.0 139.0 92.0 88.0 -11.0 -46.0 -96.0 -53.0 -44.0 -41.0 13.0 97.0 95.0 53.0 63.0 1.0 -68.0 -36.0 -13.0 -85.0 -98.0 -59.0 48.0 97.0 51.0 59.0 -15.0 -110.0 -213.0 -218.0 -147.0 -8.0 34.0 -11.0 -8.0 -58.0 -71.0 -197.0 -245.0 -242.0 -130.0 -27.0 -53.0 -81.0 -82.0 -117.0 -239.0 -242.0 -231.0 -262.0 -177.0 -13.0 58.0 27.0 -128.0 -159.0 -201.0 -245.0 -227.0 -154.0 -51.0 10.0 65.0 -3.0 -46.0 -126.0 -98.0 -145.0 -139.0 4.0 62.0 82.0 15.0 -43.0 -98.0 -141.0 -210.0 -152.0 -87.0 -14.0 -10.0 -9.0 103.0 57.0 -57.0 -214.0 -210.0 -134.0 -166.0 -113.0 -29.0 140.0 252.0 37.0 -94.0 -166.0 -128.0 -86.0 -226.0 -68.0 75.0 111.0 124.0 65.0 56.0 -112.0 -186.0 -160.0 -125.0 -15.0 -9.0 121.0 163.0 84.0 -17.0 -143.0 -166.0 -192.0 -187.0 -95.0 32.0 130.0 175.0 115.0 -30.0 -144.0 -155.0 -225.0 -177.0 -73.0 52.0 123.0 74.0 34.0 24.0 19.0 -99.0 -242.0 -227.0 -73.0 -41.0 -73.0 -62.0 46.0 -20.0 -235.0 -270.0 -212.0 -134.0 -123.0 -99.0 -3.0 -44.0 -92.0 -200.0 -268.0 -252.0 -203.0 -128.0 -97.0 18.0 40.0 -23.0 -88.0 -122.0 -130.0 -124.0 -103.0 -107.0 -103.0 0.0 -65.0 -158.0 -168.0 -86.0 79.0 7.0 -61.0 -70.0 37.0 53.0 -49.0 -82.0 -123.0 -88.0 -1.0 15.0 65.0 73.0 67.0 113.0 14.0 -73.0 -95.0 -59.0 -41.0 -27.0 52.0 142.0 146.0 95.0 -41.0 -97.0 -31.0 5.0 5.0 -52.0 43.0 101.0 93.0 28.0 -57.0 24.0 18.0 -25.0 -25.0 -42.0 7.0 -72.0 -149.0 -106.0 -119.0 -68.0 -112.0 -168.0 -76.0 -86.0 -109.0 -185.0 -241.0 -143.0 -86.0 -78.0 -164.0 -132.0 -34.0 -123.0 -179.0 -229.0 -164.0 -77.0 -109.0 -48.0 -42.0 -19.0 -75.0 -188.0 -175.0 -220.0 -152.0 -67.0 -22.0 30.0 -6.0 -35.0 -115.0 -137.0 -76.0 -71.0 -34.0 22.0 66.0 57.0 10.0 -15.0 1.0 33.0 10.0 12.0 42.0 68.0 48.0 7.0 -16.0 62.0 93.0 77.0 133.0 66.0 69.0 64.0 35.0 26.0 -39.0 -41.0 7.0 59.0 102.0 34.0 37.0 106.0 51.0 -29.0 -137.0 -84.0 -25.0 -73.0 -26.0 52.0 102.0 59.0 -56.0 -65.0 -174.0 -125.0 -75.0 -116.0 -67.0 -111.0 14.0 -32.0 -78.0 -77.0 -98.0 -83.0 -171.0 -217.0 -109.0 -69.0 -110.0 -91.0 -86.0 29.0 -42.0 -93.0 -108.0 -159.0 -122.0 -143.0 -82.0 31.0 39.0 -25.0 -56.0 -111.0 -149.0 -203.0 -167.0 -101.0 9.0 105.0 113.0 121.0 61.0 -19.0 -115.0 -141.0 -135.0 -40.0 12.0 77.0 179.0 232.0 208.0 130.0 55.0 -85.0 -101.0 -97.0 -26.0 18.0 46.0 163.0 170.0 192.0 124.0 42.0 6.0 -98.0 -95.0 -130.0 -68.0 93.0 134.0 182.0 130.0 143.0 133.0 -43.0 -194.0 -251.0 -96.0 4.0 -8.0 47.0 146.0 251.0 95.0 -125.0 -188.0 -174.0 -151.0 -169.0 -117.0 -3.0 155.0 161.0 88.0 -2.0 -88.0 -166.0 -250.0 -248.0 -130.0 61.0 105.0 69.0 72.0 59.0 -53.0 -203.0 -311.0 -224.0 -141.0 -59.0 19.0 36.0 148.0 78.0 -33.0 -130.0 -165.0 -141.0 -165.0 -126.0 0.0 134.0 127.0 10.0 -23.0 -65.0 -124.0 -117.0 -117.0 35.0 123.0 113.0 91.0 -25.0 -30.0 -23.0 -86.0 -74.0 -13.0 101.0 143.0 120.0 15.0 -37.0 28.0 15.0 9.0 -17.0 50.0 152.0 147.0 76.0 33.0 15.0 37.0 74.0 36.0 6.0 70.0 125.0 70.0 27.0 10.0 99.0 133.0 73.0 73.0 56.0 84.0 47.0 -22.0 4.0 45.0 124.0 102.0 79.0 120.0 66.0 -3.0 -99.0 -76.0 2.0 -10.0 22.0 29.0 34.0 16.0 -73.0 -87.0 -44.0 -4.0 16.0 2.0 43.0 24.0 -24.0 -88.0 -115.0 -50.0 -50.0 -2.0 -44.0 12.0 78.0 -8.0 -78.0 -160.0 -68.0 -58.0 -130.0 -99.0 -61.0 72.0 90.0 29.0 64.0 3.0 -12.0 -103.0 -149.0 -68.0 -63.0 26.0 74.0 96.0 140.0 98.0 51.0 -51.0 -138.0 -70.0 3.0 77.0 134.0 179.0 211.0 126.0 45.0 -27.0 -91.0 -64.0 16.0 115.0 152.0 178.0 218.0 168.0 43.0 -33.0 -36.0 22.0 50.0 58.0 111.0 160.0 236.0 165.0 78.0 64.0 40.0 24.0 -35.0 10.0 81.0 134.0 148.0 124.0 143.0 113.0 56.0 -33.0 -64.0 -43.0 -50.0 -39.0 -7.0 43.0 91.0 105.0 45.0 -35.0 -76.0 -105.0 -134.0 -124.0 -82.0 13.0 57.0 92.0 76.0 -18.0 -64.0 -86.0 -89.0 -141.0 -120.0 -52.0 3.0 56.0 1.0 -31.0 -12.0 -31.0 -52.0 -114.0 -101.0 8.0 16.0 25.0 -1.0 26.0 100.0 33.0 0.0 -43.0 -15.0 29.0 -1.0 76.0 136.0 182.0 160.0 109.0 120.0 31.0 -8.0 -4.0 64.0 164.0 151.0 217.0 226.0 189.0 130.0 49.0 102.0 106.0 108.0 120.0 140.0 197.0 175.0 126.0 95.0 88.0 95.0 61.0 49.0 92.0 114.0 107.0 64.0 80.0 63.0 35.0 8.0 -37.0 38.0 40.0 44.0 51.0 44.0 33.0 -42.0 -63.0 -65.0 -9.0 3.0 17.0 34.0 4.0 -21.0 -79.0 -121.0 -106.0 -80.0 -67.0 -69.0 -46.0 33.0 42.0 -17.0 -89.0 -106.0 -83.0 -66.0 -74.0 -54.0 41.0 82.0 33.0 11.0 4.0 28.0 12.0 -13.0 10.0 33.0 102.0 44.0 48.0 63.0 104.0 130.0 31.0 66.0 78.0 59.0 18.0 13.0 117.0 146.0 158.0 157.0 146.0 160.0 75.0 23.0 -24.0 14.0 98.0 115.0 156.0 178.0 217.0 204.0 134.0 55.0 5.0 23.0 24.0 47.0 125.0 208.0 267.0 214.0 154.0 87.0 -7.0 -46.0 -63.0 -33.0 -6.0 52.0 140.0 116.0 84.0 36.0 -18.0 -40.0 -60.0 -41.0 -53.0 -8.0 49.0 78.0 68.0 40.0 42.0 -4.0 -55.0 -56.0 3.0 47.0 36.0 70.0 65.0 43.0 3.0 -50.0 -1.0 -41.0 -3.0 7.0 2.0 43.0 9.0 13.0 -11.0 -8.0 -10.0 -19.0 -6.0 -7.0 26.0 62.0 41.0 47.0 35.0 41.0 30.0 6.0 19.0 14.0 55.0 62.0 76.0 94.0 99.0 100.0 17.0 -9.0 44.0 61.0 71.0 54.0 99.0 138.0 127.0 108.0 65.0 74.0 43.0 30.0 38.0 60.0 101.0 87.0 54.0 40.0 37.0 23.0 10.0 24.0 59.0 58.0 46.0 16.0 5.0 -20.0 -11.0 13.0 27.0 73.0 72.0 90.0 64.0 44.0 -4.0 -49.0 -12.0 -22.0 15.0 31.0 40.0 72.0 44.0 41.0 19.0 7.0 5.0 -31.0 2.0 4.0 2.0 22.0 18.0 57.0 62.0 48.0 26.0 -7.0 -2.0 -15.0 -55.0 -70.0 -42.0 17.0 15.0 -10.0 0.0 47.0 42.0 -14.0 -33.0 -33.0 2.0 -8.0 -26.0 -32.0 -16.0 32.0 23.0 4.0 7.0 21.0 34.0 4.0 -18.0 14.0 18.0 10.0 2.0 -10.0 23.0 37.0 59.0 69.0 71.0 76.0 26.0 16.0 -12.0 -18.0 19.0 44.0 96.0 109.0 130.0 139.0 65.0 27.0 2.0 1.0 34.0 32.0 98.0 133.0 134.0 128.0 72.0 52.0 23.0 15.0 1.0 -3.0 35.0 55.0 73.0 81.0 91.0 93.0 78.0 39.0 0.0 -31.0 -23.0 -27.0 -5.0 21.0 30.0 60.0 51.0 10.0 -45.0 -36.0 -26.0 -34.0 -66.0 -56.0 -16.0 -20.0 -35.0 -42.0 -25.0 -20.0 -33.0 -71.0 -65.0 -46.0 -37.0 -55.0 -71.0 -36.0 -26.0 -37.0 -44.0 -26.0 3.0 -16.0 -9.0 16.0 30.0 38.0 -7.0 -17.0 -19.0 -7.0 4.0 -18.0 34.0 85.0 98.0 72.0 42.0 59.0 26.0 16.0 10.0 26.0 77.0 82.0 113.0 101.0 109.0 83.0 39.0 37.0 25.0 52.0 38.0 60.0 75.0 69.0 90.0 71.0 54.0 19.0 12.0 17.0 16.0 26.0 26.0 51.0 56.0 55.0 27.0 -13.0 -21.0 -6.0 -9.0 -9.0 24.0 28.0 14.0 -35.0 -69.0 -56.0 -41.0 -44.0 -56.0 -44.0 -23.0 -21.0 -54.0 -67.0 -52.0 -27.0 -29.0 -49.0 -58.0 -84.0 -79.0 -68.0 -48.0 -44.0 -23.0 -1.0 -38.0 -42.0 -62.0 -84.0 -105.0 -100.0 -45.0 -22.0 18.0 34.0 36.0 51.0 21.0 -11.0 -26.0 -32.0 -13.0 22.0 33.0 64.0 92.0 108.0 88.0 66.0 70.0 40.0 25.0 0.0 13.0 36.0 57.0 108.0 124.0 124.0 99.0 58.0 40.0 3.0 -18.0 9.0 65.0 121.0 131.0 146.0 123.0 74.0 28.0 -21.0 -31.0 -23.0 14.0 10.0 23.0 45.0 31.0 29.0 -33.0 -79.0 -114.0 -137.0 -149.0 -166.0 -146.0 -115.0 -65.0 -59.0 -51.0 -54.0 -80.0 -105.0 -137.0 -138.0 -114.0 -82.0 -55.0 -24.0 1.0 37.0 43.0 20.0 5.0 7.0 -4.0 -8.0 13.0 30.0 68.0 84.0 109.0 104.0 83.0 63.0 29.0 22.0 -4.0 -6.0 15.0 51.0 82.0 105.0 123.0 129.0 101.0 49.0 29.0 4.0 9.0 52.0 97.0 156.0 181.0 195.0 179.0 127.0 84.0 38.0 44.0 41.0 88.0 127.0 137.0 138.0 108.0 80.0 10.0 -37.0 -82.0 -101.0 -115.0 -109.0 -128.0 -150.0 -151.0 -181.0 -198.0 -223.0 -217.0 -213.0 -196.0 -197.0 -199.0 -182.0 -174.0 -161.0 -166.0 -136.0 -98.0 -89.0 -96.0 -90.0 -69.0 -49.0 -32.0 -11.0 36.0 31.0 28.0 17.0 2.0 8.0 -18.0 -5.0 13.0 73.0 98.0 99.0 107.0 63.0 54.0 40.0 44.0 46.0 65.0 144.0 194.0 235.0 224.0 240.0 262.0 233.0 213.0 192.0 234.0 285.0 273.0 254.0 261.0 273.0 247.0 191.0 164.0 148.0 142.0 113.0 86.0 60.0 18.0 -2.0 -53.0 -106.0 -165.0 -200.0 -257.0 -314.0 -343.0 -368.0 -363.0 -378.0 -348.0 -329.0 -310.0 -282.0 -287.0 -290.0 -307.0 -308.0 -336.0 -340.0 -310.0 -257.0 -195.0 -155.0 -92.0 -76.0 -99.0 -138.0 -169.0 -166.0 -175.0 -146.0 -103.0 -1.0 68.0 105.0 150.0 142.0 181.0 134.0 108.0 92.0 124.0 167.0 179.0 262.0 283.0 359.0 341.0 315.0 279.0 229.0 201.0 153.0 194.0 180.0 241.0 261.0 285.0 290.0 254.0 232.0 187.0 171.0 120.0 137.0 110.0 125.0 144.0 132.0 132.0 120.0 117.0 75.0 60.0 5.0 -28.0 -76.0 -136.0 -189.0 -254.0 -302.0 -353.0 -379.0 -421.0 -450.0 -456.0 -481.0 -485.0 -491.0 -504.0 -493.0 -477.0 -449.0 -454.0 -423.0 -408.0 -375.0 -334.0 -325.0 -259.0 -216.0 -144.0 -78.0 15.0 61.0 145.0 203.0 221.0 252.0 218.0 252.0 252.0 286.0 257.0 295.0 344.0 327.0 322.0 240.0 230.0 174.0 131.0 69.0 45.0 49.0 -1.0 28.0 19.0 53.0 73.0 70.0 77.0 78.0 83.0 74.0 114.0 129.0 169.0 241.0 270.0 292.0 305.0 286.0 264.0 219.0 210.0 191.0 192.0 182.0 166.0 161.0 99.0 30.0 -67.0 -150.0 -244.0 -351.0 -416.0 -474.0 -515.0 -527.0 -537.0 -516.0 -514.0 -475.0 -458.0 -453.0 -455.0 -474.0 -461.0 -484.0 -454.0 -444.0 -350.0 -246.0 -158.0 -50.0 58.0 141.0 141.0 172.0 156.0 144.0 140.0 159.0 187.0 246.0 302.0 298.0 331.0 310.0 243.0 172.0 118.0 32.0 -22.0 -46.0 -50.0 -13.0 -26.0 -1.0 21.0 27.0 -3.0 11.0 -6.0 -23.0 30.0 37.0 117.0 156.0 206.0 265.0 319.0 338.0 297.0 321.0 281.0 301.0 310.0 282.0 307.0 288.0 288.0 222.0 166.0 81.0 -16.0 -87.0 -195.0 -261.0 -328.0 -360.0 -419.0 -502.0 -529.0 -544.0 -564.0 -578.0 -580.0 -554.0 -534.0 -505.0 -516.0 -506.0 -482.0 -455.0 -400.0 -342.0 -222.0 -103.0 43.0 134.0 226.0 276.0 292.0 270.0 216.0 224.0 209.0 235.0 222.0 274.0 310.0 290.0 254.0 160.0 97.0 -24.0 -119.0 -226.0 -247.0 -226.0 -225.0 -172.0 -155.0 -54.0 -45.0 -56.0 -49.0 -24.0 19.0 -4.0 77.0 135.0 245.0 294.0 323.0 386.0 399.0 423.0 356.0 352.0 341.0 346.0 340.0 289.0 277.0 228.0 176.0 61.0 -46.0 -124.0 -193.0 -288.0 -361.0 -373.0 -442.0 -504.0 -587.0 -594.0 -623.0 -611.0 -590.0 -569.0 -464.0 -474.0 -421.0 -439.0 -378.0 -383.0 -337.0 -233.0 -134.0 114.0 178.0 363.0 441.0 514.0 489.0 381.0 336.0 218.0 265.0 157.0 177.0 227.0 261.0 274.0 156.0 107.0 -38.0 -136.0 -348.0 -430.0 -453.0 -453.0 -383.0 -369.0 -208.0 -145.0 -47.0 -70.0 -50.0 -10.0 -50.0 0.0 -25.0 123.0 194.0 273.0 366.0 402.0 501.0 422.0 402.0 334.0 320.0 289.0 191.0 233.0 184.0 204.0 110.0 52.0 -18.0 -137.0 -225.0 -374.0 -400.0 -464.0 -493.0 -563.0 -587.0 -568.0 -588.0 -539.0 -558.0 -494.0 -470.0 -461.0 -445.0 -468.0 -385.0 -418.0 -263.0 -150.0 51.0 238.0 304.0 555.0 536.0 588.0 459.0 431.0 380.0 280.0 321.0 214.0 376.0 343.0 344.0 284.0 168.0 70.0 -120.0 -213.0 -405.0 -399.0 -410.0 -385.0 -304.0 -240.0 -121.0 -84.0 -40.0 -24.0 9.0 19.0 17.0 57.0 100.0 201.0 293.0 341.0 452.0 510.0 528.0 493.0 450.0 412.0 348.0 298.0 224.0 224.0 187.0 128.0 58.0 0.0 -74.0 -188.0 -291.0 -377.0 -428.0 -507.0 -609.0 -661.0 -698.0 -716.0 -676.0 -687.0 -618.0 -567.0 -514.0 -520.0 -489.0 -444.0 -461.0 -372.0 -286.0 -73.0 143.0 344.0 505.0 717.0 747.0 719.0 644.0 531.0 468.0 359.0 341.0 274.0 422.0 396.0 397.0 340.0 226.0 116.0 -108.0 -242.0 -413.0 -418.0 -441.0 -369.0 -288.0 -170.0 -34.0 32.0 38.0 53.0 87.0 74.0 76.0 47.0 163.0 243.0 313.0 353.0 441.0 530.0 482.0 448.0 384.0 332.0 259.0 159.0 117.0 99.0 64.0 9.0 -56.0 -91.0 -189.0 -274.0 -379.0 -477.0 -518.0 -634.0 -722.0 -745.0 -762.0 -750.0 -747.0 -683.0 -648.0 -599.0 -571.0 -609.0 -539.0 -572.0 -493.0 -400.0 -237.0 16.0 231.0 459.0 620.0 736.0 695.0 668.0 536.0 418.0 346.0 300.0 289.0 345.0 432.0 399.0 403.0 291.0 148.0 -17.0 -220.0 -363.0 -448.0 -435.0 -377.0 -278.0 -136.0 -22.0 76.0 128.0 109.0 119.0 80.0 100.0 104.0 156.0 265.0 317.0 418.0 460.0 538.0 517.0 476.0 419.0 331.0 284.0 211.0 176.0 145.0 141.0 97.0 66.0 -8.0 -101.0 -206.0 -335.0 -436.0 -539.0 -575.0 -645.0 -730.0 -754.0 -773.0 -770.0 -754.0 -769.0 -682.0 -669.0 -636.0 -596.0 -596.0 -506.0 -493.0 -293.0 -185.0 53.0 309.0 481.0 650.0 659.0 717.0 553.0 462.0 312.0 218.0 164.0 174.0 213.0 241.0 305.0 234.0 181.0 -5.0 -140.0 -315.0 -447.0 -498.0 -483.0 -372.0 -246.0 -85.0 65.0 210.0 253.0 261.0 276.0 222.0 194.0 188.0 226.0 287.0 372.0 467.0 501.0 592.0 575.0 534.0 463.0 369.0 312.0 217.0 176.0 125.0 132.0 139.0 89.0 49.0 -13.0 -94.0 -215.0 -343.0 -436.0 -509.0 -597.0 -704.0 -745.0 -763.0 -739.0 -764.0 -755.0 -695.0 -675.0 -633.0 -680.0 -582.0 -596.0 -542.0 -398.0 -230.0 69.0 222.0 501.0 563.0 639.0 604.0 437.0 302.0 117.0 117.0 -1.0 62.0 103.0 175.0 230.0 153.0 66.0 -111.0 -207.0 -411.0 -505.0 -508.0 -442.0 -298.0 -170.0 11.0 151.0 302.0 345.0 283.0 278.0 244.0 209.0 187.0 185.0 275.0 338.0 448.0 469.0 544.0 593.0 537.0 489.0 379.0 361.0 266.0 224.0 201.0 216.0 250.0 223.0 192.0 159.0 78.0 -59.0 -176.0 -298.0 -361.0 -471.0 -582.0 -634.0 -686.0 -691.0 -703.0 -700.0 -659.0 -621.0 -548.0 -554.0 -508.0 -487.0 -440.0 -312.0 -176.0 72.0 276.0 517.0 664.0 697.0 649.0 520.0 346.0 155.0 12.0 -39.0 -29.0 33.0 113.0 157.0 161.0 89.0 -27.0 -202.0 -335.0 -452.0 -487.0 -438.0 -321.0 -156.0 19.0 198.0 297.0 405.0 375.0 287.0 245.0 136.0 111.0 53.0 128.0 213.0 335.0 456.0 459.0 608.0 557.0 506.0 381.0 348.0 295.0 206.0 263.0 253.0 353.0 354.0 351.0 304.0 243.0 121.0 -50.0 -156.0 -281.0 -376.0 -494.0 -570.0 -658.0 -669.0 -653.0 -666.0 -618.0 -592.0 -534.0 -543.0 -528.0 -536.0 -495.0 -380.0 -251.0 -20.0 173.0 467.0 608.0 640.0 605.0 453.0 281.0 70.0 -53.0 -169.0 -105.0 2.0 30.0 143.0 163.0 99.0 -10.0 -189.0 -332.0 -440.0 -434.0 -398.0 -284.0 -74.0 64.0 217.0 261.0 314.0 296.0 156.0 96.0 -13.0 1.0 -48.0 -5.0 89.0 164.0 323.0 295.0 396.0 387.0 394.0 335.0 251.0 276.0 209.0 282.0 268.0 326.0 350.0 357.0 333.0 229.0 168.0 -8.0 -102.0 -250.0 -358.0 -473.0 -597.0 -672.0 -783.0 -793.0 -783.0 -742.0 -691.0 -631.0 -578.0 -512.0 -494.0 -493.0 -478.0 -310.0 -160.0 29.0 309.0 494.0 683.0 660.0 626.0 406.0 221.0 65.0 -142.0 -154.0 -140.0 3.0 72.0 191.0 222.0 127.0 69.0 -125.0 -256.0 -347.0 -351.0 -266.0 -143.0 58.0 167.0 313.0 366.0 375.0 278.0 99.0 48.0 -58.0 -76.0 -110.0 13.0 133.0 249.0 372.0 365.0 448.0 403.0 385.0 327.0 284.0 310.0 296.0 351.0 326.0 348.0 326.0 259.0 208.0 69.0 -15.0 -162.0 -257.0 -362.0 -454.0 -550.0 -665.0 -739.0 -813.0 -843.0 -788.0 -734.0 -680.0 -575.0 -514.0 -398.0 -446.0 -353.0 -356.0 -224.0 -94.0 92.0 344.0 456.0 669.0 563.0 597.0 387.0 224.0 38.0 -102.0 -117.0 -118.0 35.0 80.0 243.0 255.0 200.0 126.0 -11.0 -162.0 -206.0 -225.0 -148.0 -24.0 162.0 249.0 373.0 390.0 362.0 280.0 69.0 43.0 -88.0 -57.0 -89.0 84.0 153.0 291.0 414.0 394.0 505.0 402.0 427.0 369.0 323.0 311.0 340.0 348.0 333.0 369.0 325.0 250.0 198.0 63.0 -42.0 -144.0 -309.0 -383.0 -468.0 -576.0 -722.0 -786.0 -831.0 -883.0 -790.0 -777.0 -626.0 -528.0 -451.0 -335.0 -373.0 -302.0 -357.0 -163.0 -136.0 81.0 331.0 456.0 664.0 568.0 580.0 359.0 170.0 -50.0 -148.0 -179.0 -125.0 92.0 189.0 349.0 435.0 371.0 267.0 123.0 -42.0 -109.0 -115.0 -42.0 90.0 244.0 322.0 405.0 424.0 382.0 217.0 73.0 2.0 -35.0 -57.0 14.0 156.0 221.0 401.0 450.0 486.0 529.0 478.0 492.0 449.0 386.0 410.0 416.0 404.0 377.0 392.0 328.0 274.0 188.0 33.0 -46.0 -215.0 -365.0 -456.0 -560.0 -670.0 -718.0 -804.0 -797.0 -789.0 -759.0 -675.0 -619.0 -553.0 -481.0 -383.0 -444.0 -351.0 -258.0 -226.0 -59.0 142.0 294.0 464.0 569.0 485.0 439.0 303.0 69.0 -43.0 -100.0 -150.0 25.0 181.0 283.0 444.0 468.0 400.0 299.0 141.0 -25.0 -43.0 -85.0 -34.0 153.0 207.0 295.0 361.0 333.0 298.0 162.0 36.0 -26.0 -14.0 -44.0 63.0 198.0 220.0 423.0 431.0 479.0 507.0 452.0 494.0 438.0 403.0 370.0 417.0 340.0 313.0 297.0 194.0 166.0 46.0 -76.0 -168.0 -249.0 -385.0 -438.0 -494.0 -594.0 -709.0 -777.0 -874.0 -913.0 -831.0 -793.0 -697.0 -585.0 -387.0 -375.0 -338.0 -360.0 -354.0 -320.0 -283.0 -99.0 92.0 349.0 484.0 583.0 548.0 425.0 219.0 47.0 -123.0 -183.0 -80.0 69.0 263.0 429.0 557.0 546.0 453.0 247.0 82.0 -48.0 -151.0 -128.0 -31.0 90.0 221.0 272.0 300.0 348.0 198.0 35.0 -22.0 -77.0 -92.0 21.0 96.0 186.0 427.0 491.0 506.0 538.0 527.0 550.0 462.0 353.0 345.0 382.0 287.0 265.0 296.0 214.0 199.0 109.0 -31.0 -120.0 -231.0 -360.0 -465.0 -532.0 -582.0 -628.0 -713.0 -804.0 -821.0 -811.0 -762.0 -764.0 -651.0 -476.0 -428.0 -403.0 -346.0 -357.0 -379.0 -278.0 -239.0 -39.0 194.0 353.0 445.0 475.0 429.0 278.0 99.0 -71.0 -77.0 9.0 125.0 308.0 458.0 596.0 590.0 446.0 297.0 97.0 -23.0 -142.0 -141.0 -82.0 63.0 136.0 203.0 234.0 247.0 216.0 66.0 -14.0 -30.0 13.0 26.0 153.0 178.0 382.0 493.0 486.0 532.0 562.0 549.0 497.0 400.0 318.0 370.0 271.0 247.0 264.0 233.0 194.0 156.0 6.0 -76.0 -160.0 -316.0 -394.0 -450.0 -499.0 -516.0 -602.0 -742.0 -768.0 -836.0 -883.0 -850.0 -789.0 -692.0 -551.0 -507.0 -429.0 -395.0 -484.0 -442.0 -370.0 -273.0 -46.0 232.0 395.0 550.0 637.0 532.0 440.0 257.0 133.0 116.0 145.0 281.0 418.0 566.0 642.0 629.0 470.0 310.0 133.0 -60.0 -120.0 -160.0 -106.0 30.0 103.0 160.0 187.0 248.0 219.0 75.0 25.0 29.0 49.0 44.0 135.0 185.0 367.0 475.0 443.0 580.0 581.0 549.0 453.0 364.0 285.0 300.0 235.0 171.0 271.0 225.0 236.0 169.0 30.0 -30.0 -167.0 -338.0 -409.0 -464.0 -510.0 -523.0 -638.0 -766.0 -736.0 -889.0 -960.0 -902.0 -911.0 -778.0 -617.0 -487.0 -394.0 -303.0 -356.0 -301.0 -187.0 -127.0 56.0 277.0 475.0 601.0 677.0 653.0 522.0 396.0 305.0 214.0 243.0 358.0 454.0 551.0 643.0 601.0 468.0 343.0 125.0 -62.0 -152.0 -218.0 -215.0 -143.0 -87.0 -56.0 3.0 105.0 85.0 2.0 2.0 18.0 13.0 67.0 109.0 187.0 399.0 469.0 502.0 606.0 604.0 516.0 463.0 295.0 250.0 281.0 184.0 199.0 275.0 267.0 242.0 206.0 55.0 -18.0 -128.0 -303.0 -368.0 -430.0 -494.0 -498.0 -636.0 -781.0 -863.0 -960.0 -1048.0 -990.0 -914.0 -789.0 -538.0 -441.0 -354.0 -309.0 -315.0 -349.0 -254.0 -118.0 75.0 407.0 628.0 820.0 907.0 848.0 714.0 527.0 333.0 240.0 279.0 291.0 420.0 555.0 553.0 533.0 398.0 174.0 -39.0 -218.0 -397.0 -430.0 -382.0 -332.0 -199.0 -117.0 -68.0 84.0 97.0 -15.0 -18.0 15.0 6.0 64.0 126.0 237.0 468.0 511.0 521.0 611.0 576.0 458.0 377.0 292.0 256.0 295.0 265.0 267.0 344.0 311.0 248.0 167.0 33.0 -53.0 -132.0 -262.0 -358.0 -354.0 -423.0 -529.0 -645.0 -789.0 -914.0 -1070.0 -1161.0 -1129.0 -964.0 -829.0 -631.0 -370.0 -228.0 -140.0 -182.0 -151.0 -102.0 26.0 167.0 433.0 767.0 890.0 1047.0 985.0 843.0 633.0 417.0 239.0 127.0 251.0 290.0 436.0 476.0 447.0 367.0 130.0 -81.0 -357.0 -444.0 -523.0 -528.0 -410.0 -302.0 -149.0 -91.0 71.0 69.0 -7.0 7.0 -16.0 35.0 52.0 195.0 276.0 474.0 585.0 570.0 710.0 633.0 546.0 435.0 323.0 246.0 232.0 236.0 208.0 335.0 337.0 330.0 275.0 153.0 97.0 -78.0 -209.0 -314.0 -359.0 -406.0 -463.0 -561.0 -669.0 -744.0 -936.0 -1050.0 -1099.0 -1040.0 -905.0 -709.0 -440.0 -234.0 -59.0 34.0 55.0 48.0 161.0 282.0 408.0 752.0 943.0 1089.0 1172.0 1035.0 818.0 590.0 346.0 98.0 134.0 96.0 158.0 330.0 285.0 235.0 75.0 -112.0 -367.0 -517.0 -634.0 -645.0 -483.0 -446.0 -232.0 -88.0 36.0 149.0 114.0 73.0 52.0 80.0 20.0 137.0 223.0 322.0 504.0 542.0 611.0 633.0 574.0 460.0 392.0 278.0 250.0 283.0 233.0 315.0 356.0 311.0 282.0 216.0 80.0 -6.0 -142.0 -284.0 -338.0 -402.0 -485.0 -557.0 -651.0 -762.0 -876.0 -1029.0 -1095.0 -1154.0 -1058.0 -893.0 -652.0 -335.0 -72.0 158.0 239.0 379.0 404.0 476.0 496.0 631.0 893.0 930.0 1066.0 1030.0 939.0 676.0 415.0 181.0 -46.0 -74.0 -164.0 -37.0 -11.0 41.0 10.0 -136.0 -240.0 -446.0 -525.0 -645.0 -604.0 -531.0 -395.0 -230.0 -87.0 133.0 164.0 188.0 168.0 157.0 138.0 107.0 161.0 237.0 372.0 450.0 546.0 617.0 548.0 499.0 411.0 280.0 217.0 203.0 202.0 240.0 326.0 321.0 316.0 263.0 128.0 8.0 -171.0 -297.0 -398.0 -486.0 -528.0 -551.0 -632.0 -709.0 -804.0 -1011.0 -1125.0 -1185.0 -1254.0 -1095.0 -817.0 -485.0 -84.0 206.0 417.0 506.0 573.0 508.0 497.0 479.0 583.0 829.0 842.0 993.0 935.0 773.0 505.0 190.0 -137.0 -355.0 -340.0 -422.0 -258.0 -201.0 -98.0 -72.0 -215.0 -326.0 -490.0 -587.0 -710.0 -587.0 -533.0 -360.0 -133.0 -30.0 200.0 244.0 220.0 154.0 149.0 61.0 39.0 149.0 154.0 316.0 438.0 493.0 544.0 494.0 436.0 365.0 257.0 155.0 210.0 228.0 207.0 303.0 263.0 239.0 163.0 2.0 -157.0 -279.0 -426.0 -555.0 -607.0 -722.0 -729.0 -736.0 -823.0 -891.0 -930.0 -1011.0 -1010.0 -1019.0 -909.0 -659.0 -424.0 -88.0 252.0 484.0 572.0 686.0 636.0 583.0 509.0 466.0 567.0 590.0 617.0 564.0 533.0 316.0 120.0 -144.0 -430.0 -443.0 -561.0 -512.0 -460.0 -358.0 -283.0 -255.0 -302.0 -430.0 -416.0 -533.0 -482.0 -472.0 -389.0 -178.0 -6.0 156.0 290.0 352.0 267.0 267.0 112.0 68.0 145.0 109.0 221.0 420.0 506.0 548.0 568.0 464.0 385.0 281.0 175.0 168.0 200.0 220.0 261.0 235.0 167.0 121.0 -70.0 -246.0 -405.0 -522.0 -589.0 -672.0 -722.0 -697.0 -676.0 -792.0 -795.0 -846.0 -867.0 -854.0 -859.0 -733.0 -554.0 -344.0 -99.0 261.0 425.0 569.0 663.0 648.0 635.0 542.0 411.0 341.0 375.0 262.0 217.0 164.0 65.0 -69.0 -213.0 -400.0 -494.0 -463.0 -521.0 -494.0 -436.0 -355.0 -327.0 -301.0 -355.0 -351.0 -278.0 -277.0 -256.0 -157.0 -35.0 91.0 219.0 196.0 236.0 287.0 229.0 142.0 207.0 291.0 372.0 464.0 506.0 633.0 641.0 536.0 444.0 404.0 303.0 264.0 241.0 195.0 243.0 194.0 122.0 63.0 -31.0 -158.0 -267.0 -418.0 -541.0 -564.0 -674.0 -723.0 -713.0 -718.0 -655.0 -664.0 -672.0 -613.0 -529.0 -517.0 -466.0 -359.0 -247.0 -82.0 99.0 315.0 373.0 496.0 585.0 567.0 502.0 416.0 283.0 167.0 101.0 -87.0 -146.0 -243.0 -319.0 -383.0 -473.0 -509.0 -474.0 -452.0 -490.0 -420.0 -426.0 -374.0 -349.0 -366.0 -326.0 -246.0 -169.0 -121.0 -37.0 71.0 202.0 202.0 204.0 239.0 279.0 269.0 252.0 289.0 403.0 503.0 486.0 551.0 577.0 564.0 453.0 374.0 340.0 282.0 227.0 159.0 168.0 84.0 45.0 -56.0 -152.0 -226.0 -332.0 -406.0 -514.0 -515.0 -565.0 -578.0 -577.0 -544.0 -527.0 -512.0 -462.0 -477.0 -417.0 -397.0 -332.0 -237.0 -206.0 -150.0 -65.0 -27.0 109.0 172.0 211.0 305.0 361.0 286.0 249.0 207.0 -36.0 -119.0 -299.0 -393.0 -456.0 -464.0 -464.0 -476.0 -418.0 -481.0 -459.0 -524.0 -536.0 -536.0 -499.0 -434.0 -363.0 -211.0 -134.0 -37.0 44.0 106.0 152.0 165.0 194.0 173.0 240.0 303.0 298.0 374.0 436.0 520.0 516.0 537.0 502.0 486.0 441.0 301.0 322.0 289.0 268.0 194.0 160.0 84.0 -24.0 -112.0 -265.0 -277.0 -365.0 -374.0 -377.0 -413.0 -378.0 -389.0 -406.0 -461.0 -409.0 -445.0 -418.0 -383.0 -362.0 -266.0 -260.0 -200.0 -161.0 -122.0 -122.0 -112.0 -76.0 -10.0 9.0 63.0 153.0 153.0 173.0 197.0 39.0 -117.0 -177.0 -325.0 -400.0 -462.0 -475.0 -436.0 -403.0 -464.0 -488.0 -480.0 -550.0 -535.0 -541.0 -452.0 -301.0 -174.0 -76.0 41.0 144.0 169.0 193.0 167.0 152.0 184.0 202.0 248.0 322.0 407.0 478.0 512.0 546.0 540.0 534.0 450.0 374.0 308.0 262.0 256.0 229.0 201.0 149.0 145.0 23.0 -107.0 -195.0 -274.0 -306.0 -356.0 -321.0 -240.0 -220.0 -238.0 -306.0 -289.0 -304.0 -389.0 -375.0 -363.0 -220.0 -165.0 -156.0 -15.0 -17.0 -24.0 -53.0 -149.0 -266.0 -292.0 -187.0 -150.0 -44.0 115.0 291.0 387.0 347.0 166.0 -44.0 -231.0 -409.0 -571.0 -604.0 -450.0 -395.0 -257.0 -240.0 -243.0 -274.0 -403.0 -478.0 -502.0 -392.0 -233.0 -1.0 157.0 318.0 417.0 373.0 272.0 208.0 129.0 119.0 159.0 268.0 468.0 612.0 654.0 654.0 654.0 546.0 409.0 278.0 261.0 208.0 195.0 205.0 194.0 201.0 132.0 48.0 -64.0 -147.0 -245.0 -278.0 -309.0 -306.0 -214.0 -204.0 -201.0 -187.0 -209.0 -235.0 -271.0 -278.0 -242.0 -173.0 -136.0 -42.0 -30.0 -4.0 8.0 -95.0 -192.0 -214.0 -81.0 -36.0 85.0 185.0 364.0 433.0 386.0 281.0 81.0 -43.0 -256.0 -357.0 -434.0 -380.0 -303.0 -220.0 -174.0 -163.0 -155.0 -236.0 -296.0 -364.0 -339.0 -264.0 -155.0 8.0 197.0 313.0 375.0 390.0 351.0 311.0 293.0 262.0 315.0 408.0 480.0 561.0 545.0 527.0 540.0 497.0 368.0 353.0 362.0 314.0 302.0 248.0 212.0 176.0 66.0 -59.0 -70.0 -107.0 -172.0 -165.0 -191.0 -197.0 -213.0 -275.0 -293.0 -294.0 -313.0 -318.0 -250.0 -205.0 -141.0 -66.0 -21.0 0.0 19.0 -1.0 -141.0 -266.0 -345.0 -201.0 -62.0 51.0 222.0 466.0 595.0 539.0 411.0 152.0 9.0 -192.0 -325.0 -364.0 -262.0 -127.0 -32.0 3.0 -22.0 -6.0 -131.0 -249.0 -340.0 -316.0 -253.0 -157.0 -49.0 91.0 253.0 329.0 357.0 339.0 325.0 308.0 323.0 308.0 360.0 448.0 482.0 483.0 510.0 521.0 470.0 424.0 373.0 360.0 345.0 304.0 267.0 239.0 198.0 134.0 50.0 -33.0 -68.0 -88.0 -151.0 -233.0 -253.0 -262.0 -310.0 -335.0 -323.0 -277.0 -211.0 -164.0 -171.0 -72.0 -46.0 -68.0 -76.0 -183.0 -221.0 -284.0 -256.0 -141.0 90.0 207.0 408.0 618.0 615.0 565.0 380.0 169.0 -47.0 -158.0 -257.0 -175.0 -79.0 24.0 141.0 178.0 114.0 20.0 -70.0 -207.0 -296.0 -347.0 -266.0 -178.0 -76.0 23.0 187.0 270.0 302.0 323.0 329.0 308.0 293.0 309.0 323.0 382.0 415.0 486.0 529.0 557.0 576.0 576.0 515.0 487.0 428.0 371.0 334.0 298.0 270.0 236.0 194.0 116.0 88.0 -8.0 -95.0 -180.0 -218.0 -248.0 -287.0 -273.0 -274.0 -244.0 -262.0 -232.0 -233.0 -195.0 -152.0 -165.0 -137.0 -183.0 -170.0 -218.0 -131.0 -24.0 107.0 243.0 350.0 503.0 501.0 444.0 209.0 160.0 27.0 -114.0 -91.0 4.0 127.0 194.0 302.0 244.0 259.0 110.0 -66.0 -183.0 -266.0 -282.0 -249.0 -160.0 -105.0 57.0 114.0 132.0 144.0 173.0 187.0 189.0 184.0 252.0 362.0 378.0 374.0 448.0 497.0 488.0 502.0 483.0 512.0 506.0 462.0 418.0 428.0 363.0 291.0 232.0 159.0 137.0 78.0 22.0 -43.0 -57.0 -128.0 -204.0 -255.0 -281.0 -270.0 -280.0 -267.0 -237.0 -198.0 -178.0 -189.0 -230.0 -272.0 -291.0 -332.0 -329.0 -189.0 -19.0 179.0 311.0 417.0 496.0 442.0 258.0 64.0 -35.0 -140.0 -145.0 -73.0 116.0 282.0 381.0 380.0 324.0 241.0 63.0 -91.0 -212.0 -222.0 -216.0 -180.0 -113.0 -12.0 33.0 23.0 17.0 -33.0 -29.0 -20.0 -6.0 68.0 165.0 272.0 347.0 378.0 389.0 439.0 406.0 335.0 370.0 398.0 442.0 470.0 487.0 497.0 473.0 364.0 248.0 163.0 32.0 -22.0 -48.0 -41.0 -7.0 1.0 -23.0 -62.0 -124.0 -229.0 -272.0 -308.0 -318.0 -307.0 -284.0 -256.0 -219.0 -247.0 -289.0 -207.0 -131.0 -20.0 79.0 160.0 235.0 321.0 258.0 117.0 41.0 -84.0 -133.0 -113.0 -78.0 13.0 188.0 258.0 269.0 303.0 243.0 164.0 55.0 -65.0 -93.0 -75.0 -138.0 -120.0 -25.0 -29.0 -21.0 -47.0 -98.0 -96.0 -132.0 -224.0 -187.0 -109.0 -69.0 25.0 103.0 182.0 295.0 310.0 294.0 336.0 320.0 291.0 301.0 290.0 294.0 338.0 295.0 254.0 246.0 194.0 117.0 65.0 19.0 -5.0 -20.0 -62.0 -75.0 -73.0 -151.0 -230.0 -240.0 -241.0 -215.0 -249.0 -269.0 -270.0 -257.0 -306.0 -322.0 -252.0 -183.0 -58.0 18.0 116.0 189.0 246.0 111.0 -10.0 -63.0 -191.0 -247.0 -239.0 -161.0 -68.0 129.0 183.0 243.0 282.0 232.0 176.0 78.0 -18.0 -35.0 4.0 -80.0 -46.0 -2.0 31.0 14.0 -22.0 -59.0 -70.0 -110.0 -199.0 -214.0 -227.0 -190.0 -177.0 -100.0 -19.0 81.0 187.0 255.0 291.0 328.0 336.0 274.0 223.0 179.0 166.0 166.0 171.0 191.0 229.0 210.0 177.0 174.0 120.0 22.0 -10.0 -47.0 -77.0 -117.0 -131.0 -94.0 -68.0 -104.0 -150.0 -150.0 -209.0 -271.0 -326.0 -286.0 -232.0 -145.0 -44.0 62.0 129.0 148.0 119.0 -14.0 -78.0 -143.0 -199.0 -258.0 -217.0 -139.0 -18.0 104.0 138.0 211.0 245.0 209.0 104.0 73.0 37.0 10.0 16.0 41.0 119.0 167.0 189.0 141.0 132.0 76.0 -16.0 -107.0 -187.0 -223.0 -229.0 -241.0 -222.0 -130.0 -96.0 -43.0 21.0 62.0 90.0 111.0 79.0 86.0 121.0 102.0 107.0 126.0 124.0 126.0 108.0 60.0 56.0 44.0 37.0 27.0 38.0 51.0 55.0 7.0 -47.0 -58.0 -92.0 -125.0 -140.0 -129.0 -150.0 -118.0 -77.0 -63.0 -75.0 -86.0 -112.0 -116.0 -107.0 -127.0 -100.0 -102.0 -87.0 -89.0 -59.0 -127.0 -132.0 -142.0 -126.0 -74.0 -38.0 46.0 113.0 180.0 106.0 113.0 51.0 39.0 -6.0 -2.0 58.0 111.0 183.0 200.0 242.0 167.0 112.0 -29.0 -109.0 -192.0 -230.0 -217.0 -164.0 -111.0 -62.0 7.0 -40.0 -39.0 -79.0 -104.0 -143.0 -124.0 -92.0 -36.0 17.0 29.0 83.0 96.0 89.0 34.0 23.0 12.0 -4.0 -9.0 5.0 34.0 19.0 14.0 -23.0 -34.0 -52.0 -80.0 -96.0 -99.0 -110.0 -123.0 -140.0 -154.0 -107.0 -114.0 -114.0 -89.0 -41.0 -23.0 -30.0 -95.0 -146.0 -155.0 -208.0 -252.0 -241.0 -180.0 -94.0 -7.0 10.0 96.0 126.0 103.0 50.0 18.0 6.0 5.0 27.0 50.0 133.0 169.0 189.0 209.0 202.0 149.0 83.0 5.0 -50.0 -96.0 -120.0 -113.0 -97.0 -63.0 -25.0 -30.0 -81.0 -141.0 -175.0 -226.0 -292.0 -318.0 -278.0 -223.0 -177.0 -121.0 -51.0 3.0 -32.0 -51.0 -57.0 -46.0 -55.0 -49.0 -19.0 28.0 46.0 36.0 34.0 0.0 -40.0 -111.0 -140.0 -125.0 -116.0 -124.0 -87.0 -76.0 -90.0 -56.0 -78.0 -132.0 -149.0 -163.0 -193.0 -192.0 -232.0 -247.0 -169.0 -148.0 -156.0 -102.0 -48.0 -29.0 13.0 14.0 15.0 50.0 33.0 27.0 54.0 62.0 79.0 131.0 151.0 164.0 162.0 149.0 131.0 95.0 21.0 -24.0 -51.0 -59.0 -50.0 -43.0 -27.0 -18.0 -20.0 -82.0 -157.0 -260.0 -338.0 -419.0 -480.0 -503.0 -473.0 -400.0 -310.0 -189.0 -90.0 -14.0 -5.0 -4.0 -27.0 -61.0 -79.0 -54.0 -28.0 -3.0 39.0 46.0 65.0 40.0 -2.0 -50.0 -61.0 -60.0 -69.0 -79.0 -107.0 -85.0 -90.0 -122.0 -148.0 -128.0 -120.0 -129.0 -119.0 -127.0 -119.0 -134.0 -167.0 -175.0 -136.0 -113.0 -107.0 -36.0 39.0 117.0 156.0 140.0 150.0 156.0 146.0 96.0 93.0 115.0 136.0 150.0 134.0 143.0 154.0 143.0 84.0 67.0 57.0 62.0 70.0 58.0 38.0 12.0 -50.0 -149.0 -222.0 -293.0 -350.0 -379.0 -366.0 -325.0 -260.0 -216.0 -170.0 -126.0 -128.0 -129.0 -146.0 -152.0 -141.0 -122.0 -95.0 -47.0 -2.0 36.0 77.0 84.0 110.0 120.0 101.0 71.0 43.0 0.0 -46.0 -89.0 -140.0 -140.0 -135.0 -148.0 -142.0 -100.0 -101.0 -115.0 -142.0 -175.0 -212.0 -255.0 -294.0 -291.0 -232.0 -190.0 -104.0 -15.0 89.0 142.0 166.0 151.0 140.0 129.0 76.0 57.0 40.0 87.0 107.0 133.0 144.0 178.0 165.0 143.0 132.0 88.0 80.0 50.0 56.0 53.0 57.0 32.0 5.0 -31.0 -82.0 -138.0 -202.0 -242.0 -275.0 -278.0 -282.0 -264.0 -230.0 -199.0 -174.0 -162.0 -148.0 -164.0 -178.0 -178.0 -165.0 -131.0 -80.0 -21.0 4.0 32.0 34.0 11.0 -37.0 -58.0 -72.0 -95.0 -94.0 -88.0 -57.0 -68.0 -131.0 -202.0 -206.0 -228.0 -260.0 -274.0 -238.0 -176.0 -137.0 -143.0 -170.0 -155.0 -176.0 -220.0 -238.0 -203.0 -147.0 -69.0 -13.0 80.0 166.0 199.0 207.0 229.0 226.0 170.0 147.0 101.0 90.0 87.0 102.0 108.0 143.0 179.0 211.0 225.0 181.0 164.0 135.0 101.0 32.0 9.0 8.0 -1.0 -1.0 -16.0 -30.0 -49.0 -76.0 -128.0 -152.0 -182.0 -209.0 -192.0 -161.0 -145.0 -138.0 -132.0 -133.0 -122.0 -95.0 -83.0 -55.0 -15.0 20.0 41.0 15.0 -30.0 -75.0 -95.0 -145.0 -194.0 -193.0 -143.0 -103.0 -74.0 -56.0 -92.0 -131.0 -192.0 -258.0 -327.0 -333.0 -329.0 -293.0 -219.0 -141.0 -63.0 -30.0 -12.0 -20.0 -31.0 -79.0 -105.0 -109.0 -101.0 -92.0 -78.0 -50.0 2.0 65.0 100.0 148.0 157.0 186.0 192.0 175.0 150.0 121.0 100.0 77.0 68.0 51.0 60.0 47.0 62.0 77.0 63.0 72.0 89.0 120.0 118.0 118.0 97.0 73.0 10.0 -41.0 -65.0 -83.0 -73.0 -81.0 -55.0 -48.0 -29.0 -43.0 -46.0 -51.0 -32.0 -24.0 -48.0 -26.0 -27.0 -16.0 -38.0 -52.0 -66.0 -55.0 -57.0 -59.0 -52.0 -74.0 -91.0 -156.0 -200.0 -252.0 -279.0 -295.0 -280.0 -227.0 -158.0 -75.0 -44.0 -4.0 -8.0 -45.0 -101.0 -132.0 -153.0 -149.0 -113.0 -59.0 14.0 76.0 127.0 119.0 116.0 80.0 25.0 -33.0 -52.0 -45.0 -40.0 -16.0 5.0 41.0 58.0 53.0 43.0 48.0 14.0 -23.0 -40.0 -41.0 -9.0 35.0 104.0 163.0 225.0 252.0 225.0 183.0 117.0 41.0 -9.0 -17.0 -8.0 53.0 131.0 183.0 211.0 212.0 166.0 109.0 58.0 5.0 -9.0 -22.0 -23.0 7.0 43.0 68.0 63.0 54.0 45.0 20.0 6.0 -28.0 -71.0 -104.0 -121.0 -130.0 -125.0 -109.0 -86.0 -66.0 -41.0 -8.0 -7.0 1.0 -5.0 10.0 22.0 39.0 49.0 51.0 64.0 72.0 78.0 67.0 64.0 66.0 81.0 65.0 47.0 9.0 -25.0 -52.0 -80.0 -109.0 -109.0 -99.0 -105.0 -77.0 -74.0 -65.0 -56.0 -56.0 -65.0 -73.0 -82.0 -93.0 -68.0 -58.0 -38.0 -15.0 8.0 40.0 66.0 91.0 115.0 139.0 128.0 117.0 117.0 122.0 89.0 73.0 89.0 120.0 143.0 158.0 184.0 171.0 164.0 133.0 122.0 124.0 122.0 104.0 102.0 102.0 85.0 73.0 31.0 13.0 19.0 25.0 14.0 33.0 55.0 73.0 81.0 74.0 82.0 88.0 83.0 65.0 85.0 124.0 143.0 145.0 146.0 125.0 103.0 41.0 -12.0 -27.0 -47.0 -50.0 -46.0 -16.0 5.0 19.0 -37.0 -87.0 -119.0 -154.0 -186.0 -221.0 -215.0 -195.0 -163.0 -164.0 -146.0 -147.0 -132.0 -109.0 -104.0 -60.0 -23.0 -1.0 2.0 35.0 44.0 31.0 24.0 -2.0 -1.0 17.0 44.0 60.0 91.0 143.0 176.0 198.0 197.0 186.0 169.0 174.0 149.0 124.0 121.0 107.0 88.0 108.0 131.0 137.0 152.0 150.0 155.0 149.0 125.0 102.0 102.0 93.0 101.0 105.0 113.0 140.0 169.0 195.0 236.0 266.0 289.0 301.0 279.0 255.0 194.0 136.0 61.0 32.0 28.0 36.0 56.0 87.0 140.0 155.0 130.0 46.0 -32.0 -112.0 -193.0 -249.0 -285.0 -269.0 -239.0 -178.0 -106.0 -68.0 -40.0 -42.0 -65.0 -101.0 -139.0 -191.0 -210.0 -197.0 -156.0 -97.0 -53.0 -10.0 20.0 57.0 70.0 68.0 46.0 32.0 22.0 34.0 30.0 0.0 23.0 38.0 58.0 119.0 155.0 164.0 189.0 164.0 110.0 42.0 -15.0 -36.0 -15.0 17.0 84.0 195.0 244.0 289.0 286.0 282.0 280.0 219.0 173.0 174.0 198.0 201.0 225.0 233.0 275.0 326.0 328.0 338.0 316.0 266.0 173.0 81.0 17.0 -25.0 -33.0 -10.0 43.0 83.0 92.0 95.0 55.0 -35.0 -103.0 -158.0 -181.0 -179.0 -141.0 -98.0 -60.0 -54.0 -80.0 -78.0 -87.0 -89.0 -91.0 -73.0 -55.0 -61.0 -57.0 -44.0 -44.0 -34.0 -5.0 4.0 21.0 49.0 34.0 33.0 11.0 -24.0 -37.0 -34.0 -19.0 -4.0 55.0 43.0 34.0 28.0 21.0 -1.0 -12.0 -13.0 -4.0 56.0 83.0 112.0 146.0 144.0 101.0 114.0 103.0 139.0 192.0 234.0 310.0 370.0 349.0 291.0 267.0 170.0 147.0 138.0 153.0 202.0 232.0 238.0 259.0 221.0 114.0 39.0 -40.0 -44.0 -51.0 -40.0 -24.0 10.0 29.0 7.0 -34.0 -67.0 -71.0 -84.0 -79.0 -82.0 -70.0 -34.0 -17.0 -46.0 -51.0 -48.0 -51.0 -20.0 12.0 57.0 92.0 93.0 102.0 104.0 91.0 42.0 9.0 8.0 16.0 12.0 22.0 29.0 22.0 32.0 10.0 9.0 17.0 -5.0 -15.0 -3.0 -38.0 -70.0 -61.0 -74.0 -36.0 24.0 52.0 90.0 180.0 198.0 171.0 169.0 114.0 91.0 80.0 55.0 86.0 179.0 233.0 267.0 287.0 285.0 273.0 231.0 161.0 124.0 112.0 107.0 87.0 62.0 95.0 54.0 7.0 -41.0 -39.0 -37.0 -16.0 -9.0 11.0 64.0 27.0 -4.0 -64.0 -99.0 -128.0 -115.0 -62.0 0.0 86.0 149.0 189.0 172.0 153.0 93.0 17.0 -26.0 -39.0 -19.0 7.0 82.0 118.0 159.0 166.0 137.0 131.0 78.0 52.0 3.0 11.0 15.0 33.0 58.0 61.0 90.0 66.0 68.0 47.0 46.0 33.0 43.0 55.0 28.0 24.0 7.0 31.0 52.0 76.0 107.0 156.0 186.0 182.0 178.0 168.0 122.0 83.0 80.0 70.0 95.0 108.0 127.0 130.0 110.0 80.0 -11.0 -55.0 -91.0 -134.0 -118.0 -77.0 -45.0 -11.0 10.0 1.0 -32.0 -64.0 -118.0 -153.0 -118.0 -88.0 -47.0 -15.0 -3.0 11.0 20.0 -12.0 -37.0 -35.0 -2.0 31.0 74.0 87.0 109.0 126.0 73.0 66.0 52.0 43.0 34.0 46.0 56.0 90.0 113.0 113.0 165.0 178.0 162.0 178.0 144.0 111.0 83.0 23.0 -8.0 -25.0 -12.0 5.0 44.0 64.0 57.0 102.0 110.0 106.0 73.0 27.0 1.0 -29.0 -30.0 -47.0 -20.0 -12.0 37.0 44.0 34.0 30.0 -6.0 -34.0 -85.0 -98.0 -122.0 -104.0 -109.0 -112.0 -95.0 -60.0 -75.0 -111.0 -113.0 -125.0 -129.0 -164.0 -170.0 -187.0 -147.0 -151.0 -187.0 -168.0 -137.0 -72.0 -35.0 -3.0 17.0 45.0 37.0 10.0 -6.0 -15.0 -54.0 -70.0 -50.0 -12.0 65.0 81.0 104.0 110.0 150.0 112.0 49.0 45.0 19.0 42.0 54.0 83.0 90.0 128.0 118.0 103.0 92.0 54.0 19.0 5.0 43.0 56.0 65.0 71.0 65.0 19.0 32.0 26.0 6.0 -5.0 6.0 33.0 43.0 24.0 -21.0 -92.0 -118.0 -156.0 -203.0 -126.0 -89.0 -59.0 -24.0 -23.0 -71.0 -120.0 -202.0 -258.0 -269.0 -263.0 -267.0 -228.0 -178.0 -167.0 -140.0 -173.0 -191.0 -239.0 -247.0 -245.0 -192.0 -189.0 -163.0 -112.0 -59.0 6.0 -48.0 -28.0 -42.0 -53.0 -73.0 -69.0 -93.0 -55.0 29.0 3.0 33.0 51.0 55.0 40.0 51.0 15.0 24.0 106.0 89.0 71.0 117.0 127.0 81.0 22.0 4.0 14.0 3.0 6.0 -8.0 56.0 103.0 94.0 105.0 123.0 104.0 61.0 20.0 -29.0 -46.0 -70.0 -85.0 -66.0 -37.0 -59.0 -48.0 -67.0 -96.0 -84.0 -108.0 -117.0 -145.0 -140.0 -176.0 -176.0 -215.0 -262.0 -280.0 -271.0 -243.0 -239.0 -195.0 -204.0 -189.0 -215.0 -208.0 -271.0 -271.0 -258.0 -242.0 -206.0 -193.0 -136.0 -90.0 -44.0 -75.0 -50.0 -51.0 -36.0 -69.0 -72.0 -36.0 -12.0 27.0 11.0 30.0 44.0 73.0 64.0 64.0 65.0 61.0 91.0 71.0 69.0 88.0 81.0 43.0 48.0 56.0 54.0 74.0 70.0 70.0 80.0 71.0 39.0 46.0 53.0 40.0 21.0 -2.0 -7.0 -16.0 -40.0 -47.0 -51.0 -68.0 -71.0 -51.0 -61.0 -84.0 -113.0 -134.0 -172.0 -201.0 -211.0 -200.0 -184.0 -143.0 -141.0 -178.0 -145.0 -192.0 -264.0 -255.0 -263.0 -319.0 -283.0 -243.0 -244.0 -192.0 -184.0 -204.0 -159.0 -151.0 -179.0 -155.0 -150.0 -160.0 -148.0 -119.0 -100.0 -68.0 -42.0 -42.0 10.0 6.0 7.0 3.0 1.0 -1.0 -42.0 29.0 32.0 49.0 58.0 65.0 60.0 68.0 58.0 -13.0 16.0 -5.0 12.0 12.0 31.0 44.0 63.0 66.0 48.0 48.0 29.0 15.0 -18.0 5.0 -2.0 8.0 -25.0 -13.0 -3.0 -28.0 -34.0 -61.0 -64.0 -87.0 -83.0 -125.0 -130.0 -130.0 -154.0 -163.0 -145.0 -127.0 -149.0 -130.0 -170.0 -204.0 -184.0 -218.0 -260.0 -270.0 -231.0 -221.0 -182.0 -151.0 -129.0 -100.0 -99.0 -149.0 -194.0 -183.0 -202.0 -184.0 -145.0 -82.0 -55.0 -3.0 33.0 50.0 12.0 9.0 -39.0 -46.0 -29.0 -64.0 9.0 20.0 57.0 81.0 111.0 82.0 81.0 29.0 0.0 -11.0 -32.0 -29.0 -15.0 75.0 71.0 118.0 111.0 106.0 120.0 87.0 72.0 42.0 26.0 11.0 14.0 12.0 2.0 29.0 40.0 52.0 61.0 68.0 26.0 22.0 -23.0 -75.0 -88.0 -123.0 -119.0 -165.0 -95.0 -95.0 -84.0 -102.0 -96.0 -97.0 -120.0 -132.0 -202.0 -189.0 -248.0 -204.0 -208.0 -158.0 -106.0 -90.0 -67.0 -58.0 -41.0 -113.0 -128.0 -154.0 -172.0 -160.0 -71.0 -59.0 -2.0 46.0 63.0 68.0 41.0 25.0 -59.0 -20.0 -77.0 -77.0 -27.0 21.0 27.0 58.0 107.0 94.0 105.0 58.0 49.0 -39.0 -22.0 -43.0 -42.0 16.0 56.0 90.0 120.0 133.0 107.0 98.0 56.0 19.0 5.0 10.0 -14.0 38.0 38.0 71.0 106.0 86.0 75.0 56.0 23.0 -18.0 -27.0 -78.0 -115.0 -117.0 -83.0 -33.0 -22.0 13.0 -7.0 -17.0 -48.0 -113.0 -142.0 -162.0 -168.0 -158.0 -106.0 -74.0 -34.0 3.0 9.0 12.0 1.0 -24.0 -32.0 -73.0 -36.0 -18.0 6.0 38.0 67.0 96.0 106.0 107.0 63.0 56.0 21.0 15.0 4.0 57.0 46.0 57.0 69.0 93.0 117.0 87.0 79.0 64.0 86.0 70.0 66.0 48.0 71.0 107.0 89.0 98.0 121.0 118.0 93.0 83.0 98.0 33.0 71.0 65.0 67.0 106.0 95.0 111.0 79.0 110.0 48.0 66.0 40.0 23.0 -1.0 -2.0 15.0 5.0 41.0 4.0 34.0 20.0 24.0 -2.0 2.0 -10.0 -11.0 -17.0 -16.0 -14.0 -15.0 -9.0 -22.0 14.0 -10.0 40.0 38.0 58.0 69.0 78.0 107.0 97.0 79.0 42.0 56.0 69.0 78.0 87.0 124.0 147.0 185.0 150.0 152.0 114.0 96.0 62.0 7.0 45.0 17.0 77.0 28.0 71.0 80.0 90.0 85.0 68.0 80.0 53.0 100.0 26.0 48.0 20.0 57.0 -7.0 32.0 28.0 2.0 40.0 0.0 42.0 24.0 111.0 31.0 59.0 64.0 21.0 2.0 -34.0 -30.0 -38.0 -8.0 9.0 58.0 64.0 81.0 7.0 27.0 -18.0 -47.0 -59.0 -82.0 6.0 -29.0 54.0 51.0 94.0 96.0 62.0 47.0 -6.0 52.0 4.0 17.0 23.0 72.0 82.0 106.0 145.0 114.0 116.0 117.0 79.0 80.0 103.0 74.0 75.0 84.0 119.0 115.0 119.0 120.0 126.0 88.0 78.0 46.0 45.0 64.0 72.0 64.0 100.0 130.0 93.0 109.0 39.0 30.0 -23.0 -11.0 -40.0 -16.0 44.0 59.0 105.0 96.0 114.0 48.0 37.0 -41.0 -50.0 -75.0 -65.0 -68.0 -19.0 43.0 37.0 82.0 36.0 63.0 -20.0 9.0 -44.0 -61.0 -60.0 -56.0 -14.0 -7.0 75.0 32.0 113.0 88.0 93.0 62.0 19.0 -18.0 -38.0 -13.0 0.0 70.0 70.0 170.0 157.0 183.0 140.0 118.0 95.0 69.0 90.0 54.0 102.0 88.0 132.0 113.0 126.0 118.0 125.0 116.0 93.0 110.0 85.0 84.0 54.0 48.0 66.0 79.0 72.0 80.0 84.0 101.0 61.0 42.0 6.0 -16.0 -35.0 -40.0 -37.0 -19.0 14.0 -5.0 17.0 -6.0 14.0 -11.0 2.0 -48.0 -37.0 -35.0 -63.0 -40.0 -83.0 -17.0 -29.0 -5.0 -48.0 -5.0 -32.0 -37.0 -31.0 -103.0 -70.0 -75.0 -36.0 -62.0 21.0 16.0 14.0 17.0 17.0 28.0 -4.0 1.0 -51.0 -28.0 -2.0 8.0 2.0 40.0 72.0 83.0 81.0 74.0 73.0 45.0 44.0 43.0 46.0 45.0 72.0 81.0 127.0 137.0 99.0 65.0 24.0 20.0 -11.0 -50.0 -14.0 9.0 60.0 98.0 78.0 120.0 95.0 81.0 -4.0 -10.0 -60.0 -77.0 -69.0 -78.0 19.0 33.0 90.0 60.0 91.0 76.0 23.0 -66.0 -131.0 -125.0 -146.0 -97.0 -58.0 -6.0 65.0 88.0 76.0 45.0 -8.0 -89.0 -142.0 -171.0 -169.0 -100.0 -73.0 30.0 84.0 132.0 158.0 107.0 29.0 2.0 -60.0 -152.0 -114.0 -73.0 -26.0 24.0 90.0 78.0 120.0 87.0 17.0 21.0 15.0 1.0 13.0 41.0 34.0 82.0 52.0 49.0 24.0 36.0 73.0 20.0 57.0 68.0 58.0 51.0 40.0 32.0 10.0 61.0 26.0 8.0 41.0 36.0 56.0 5.0 32.0 -14.0 4.0 -4.0 -55.0 -21.0 -66.0 8.0 -36.0 -34.0 -3.0 -12.0 -5.0 9.0 -18.0 -61.0 -50.0 -54.0 -70.0 -84.0 -30.0 -78.0 -51.0 -33.0 5.0 -23.0 -29.0 -17.0 -47.0 -43.0 -54.0 -64.0 -110.0 -33.0 -37.0 -2.0 -20.0 2.0 -18.0 -44.0 -29.0 -101.0 -92.0 -101.0 -54.0 -68.0 -34.0 -37.0 -71.0 -20.0 -19.0 2.0 -10.0 12.0 35.0 7.0 4.0 -41.0 -53.0 -62.0 -67.0 -61.0 -20.0 12.0 31.0 40.0 30.0 36.0 -14.0 -58.0 -103.0 -101.0 -91.0 -76.0 -48.0 -8.0 21.0 44.0 26.0 -18.0 -14.0 -48.0 -88.0 -116.0 -95.0 -57.0 -31.0 -51.0 -17.0 -40.0 4.0 -36.0 -85.0 -28.0 -75.0 -64.0 -84.0 -35.0 -56.0 -37.0 -48.0 -60.0 -40.0 -33.0 -42.0 -83.0 -48.0 -60.0 -33.0 -86.0 -67.0 -56.0 -67.0 -63.0 -70.0 -67.0 -75.0 -39.0 -69.0 -68.0 -47.0 -8.0 -69.0 -98.0 -79.0 -119.0 -109.0 -131.0 -110.0 -116.0 -49.0 -20.0 -46.0 -36.0 -57.0 -28.0 -108.0 -101.0 -94.0 -103.0 -61.0 -47.0 -19.0 -72.0 -30.0 -37.0 -91.0 -66.0 -47.0 -81.0 -85.0 -29.0 -58.0 -87.0 -56.0 -31.0 -64.0 -25.0 -6.0 -26.0 -35.0 -14.0 -38.0 -94.0 -75.0 -51.0 -55.0 -47.0 -13.0 -47.0 -35.0 -23.0 -69.0 -87.0 -63.0 -63.0 -66.0 -24.0 -39.0 -31.0 -33.0 -41.0 -15.0 -42.0 -35.0 -54.0 -26.0 -14.0 -10.0 -60.0 -72.0 -61.0 -118.0 -96.0 -90.0 -63.0 -97.0 -20.0 -21.0 -1.0 -18.0 -70.0 -85.0 -153.0 -108.0 -143.0 -138.0 -86.0 -47.0 -16.0 -9.0 -29.0 -86.0 -116.0 -125.0 -182.0 -164.0 -142.0 -87.0 -39.0 -10.0 25.0 18.0 -17.0 -84.0 -123.0 -174.0 -120.0 -122.0 -88.0 -63.0 -18.0 -7.0 -31.0 -42.0 -124.0 -88.0 -93.0 -64.0 -44.0 -31.0 -40.0 -30.0 -34.0 -56.0 -64.0 -115.0 -84.0 -54.0 20.0 18.0 10.0 25.0 65.0 51.0 -3.0 -28.0 -71.0 -12.0 -30.0 -36.0 -29.0 41.0 61.0 40.0 28.0 2.0 12.0 -61.0 -59.0 -61.0 -31.0 -40.0 -65.0 -31.0 2.0 2.0 -24.0 -35.0 -54.0 -47.0 -52.0 -104.0 -105.0 -50.0 -36.0 -84.0 -48.0 5.0 -54.0 -76.0 -101.0 -96.0 -79.0 -57.0 -61.0 -44.0 10.0 8.0 -39.0 -83.0 -61.0 -95.0 -126.0 -107.0 -79.0 -32.0 14.0 13.0 -20.0 23.0 3.0 -68.0 -73.0 -89.0 -71.0 -49.0 -28.0 -13.0 4.0 28.0 6.0 -37.0 -24.0 15.0 -30.0 -24.0 -9.0 10.0 14.0 7.0 10.0 -13.0 17.0 -16.0 -11.0 -38.0 -1.0 31.0 8.0 23.0 24.0 23.0 -35.0 -8.0 -72.0 -61.0 -47.0 -42.0 -1.0 15.0 68.0 25.0 24.0 -31.0 -17.0 -64.0 -93.0 -77.0 -78.0 -50.0 -25.0 37.0 24.0 5.0 -56.0 -57.0 -75.0 -100.0 -112.0 -131.0 -52.0 10.0 27.0 34.0 24.0 23.0 -13.0 -63.0 -119.0 -120.0 -100.0 -142.0 -55.0 19.0 48.0 47.0 20.0 12.0 -37.0 -59.0 -120.0 -140.0 -112.0 -45.0 -15.0 15.0 35.0 64.0 45.0 -41.0 -37.0 -74.0 -70.0 -63.0 -19.0 -5.0 35.0 80.0 86.0 62.0 17.0 46.0 -18.0 -50.0 -26.0 -35.0 -10.0 57.0 64.0 19.0 22.0 56.0 15.0 10.0 -18.0 0.0 4.0 2.0 5.0 -75.0 -24.0 0.0 -7.0 -19.0 52.0 59.0 30.0 42.0 1.0 -10.0 -32.0 -25.0 -49.0 -13.0 21.0 44.0 55.0 63.0 60.0 -5.0 -26.0 -1.0 2.0 -43.0 -32.0 12.0 68.0 39.0 34.0 24.0 -1.0 42.0 -17.0 -21.0 -33.0 22.0 37.0 -1.0 25.0 35.0 53.0 -21.0 -6.0 9.0 11.0 9.0 13.0 26.0 59.0 65.0 58.0 24.0 11.0 29.0 -19.0 5.0 -15.0 13.0 -20.0 7.0 3.0 -21.0 38.0 47.0 62.0 39.0 67.0 28.0 -3.0 -12.0 -35.0 -48.0 -31.0 24.0 12.0 25.0 59.0 33.0 18.0 2.0 -5.0 -56.0 -27.0 -6.0 -9.0 -6.0 5.0 66.0 34.0 67.0 48.0 49.0 34.0 31.0 41.0 -5.0 49.0 56.0 56.0 53.0 81.0 70.0 62.0 65.0 46.0 42.0 55.0 66.0 42.0 39.0 14.0 15.0 6.0 20.0 40.0 28.0 36.0 74.0 65.0 34.0 3.0 0.0 -23.0 -19.0 -18.0 -25.0 30.0 46.0 82.0 28.0 62.0 63.0 10.0 -7.0 -20.0 6.0 -3.0 25.0 43.0 67.0 84.0 72.0 37.0 24.0 6.0 3.0 -39.0 -38.0 -9.0 9.0 36.0 67.0 104.0 95.0 81.0 53.0 29.0 8.0 15.0 -39.0 5.0 60.0 97.0 119.0 127.0 162.0 134.0 138.0 63.0 57.0 51.0 82.0 39.0 39.0 94.0 85.0 87.0 31.0 86.0 65.0 65.0 30.0 57.0 56.0 68.0 57.0 19.0 73.0 55.0 45.0 24.0 68.0 72.0 86.0 48.0 68.0 77.0 73.0 49.0 11.0 32.0 43.0 49.0 19.0 46.0 82.0 101.0 66.0 63.0 39.0 49.0 8.0 -3.0 4.0 -14.0 33.0 11.0 29.0 40.0 71.0 36.0 6.0 12.0 -17.0 -28.0 -37.0 -21.0 -8.0 11.0 19.0 47.0 40.0 47.0 55.0 44.0 54.0 46.0 28.0 3.0 24.0 40.0 50.0 73.0 81.0 104.0 121.0 102.0 80.0 39.0 7.0 8.0 19.0 14.0 22.0 61.0 95.0 113.0 115.0 126.0 96.0 58.0 26.0 18.0 -7.0 0.0 22.0 50.0 107.0 105.0 128.0 108.0 87.0 44.0 19.0 -10.0 -20.0 -18.0 -5.0 30.0 39.0 72.0 57.0 70.0 44.0 34.0 -15.0 -35.0 -25.0 -21.0 -3.0 35.0 60.0 56.0 61.0 30.0 21.0 -27.0 -15.0 -35.0 -17.0 11.0 28.0 49.0 51.0 64.0 -7.0 -1.0 -24.0 -39.0 -21.0 -37.0 -13.0 4.0 51.0 43.0 49.0 56.0 59.0 51.0 -6.0 31.0 -3.0 43.0 16.0 26.0 87.0 76.0 129.0 76.0 90.0 70.0 48.0 15.0 -17.0 -4.0 10.0 39.0 61.0 113.0 113.0 146.0 120.0 92.0 63.0 30.0 -7.0 -60.0 -14.0 -15.0 16.0 32.0 69.0 112.0 94.0 85.0 49.0 15.0 -38.0 -66.0 -85.0 -69.0 -36.0 -18.0 -4.0 48.0 57.0 60.0 39.0 12.0 24.0 -20.0 -26.0 -33.0 -33.0 -8.0 26.0 34.0 41.0 71.0 77.0 72.0 45.0 32.0 -10.0 -26.0 -36.0 -25.0 7.0 29.0 95.0 96.0 114.0 113.0 89.0 44.0 12.0 -10.0 -15.0 6.0 19.0 47.0 66.0 94.0 84.0 81.0 60.0 67.0 54.0 25.0 44.0 44.0 60.0 69.0 62.0 103.0 92.0 92.0 63.0 40.0 50.0 24.0 14.0 4.0 35.0 40.0 70.0 60.0 77.0 75.0 63.0 37.0 7.0 18.0 -18.0 -7.0 -7.0 21.0 47.0 48.0 47.0 26.0 -5.0 -18.0 -49.0 -71.0 -38.0 -3.0 12.0 19.0 44.0 45.0 10.0 -16.0 -11.0 -13.0 4.0 30.0 68.0 91.0 119.0 112.0 79.0 68.0 34.0 15.0 -3.0 11.0 24.0 46.0 67.0 76.0 81.0 94.0 87.0 55.0 47.0 38.0 48.0 24.0 37.0 65.0 84.0 98.0 92.0 101.0 106.0 101.0 72.0 47.0 37.0 46.0 27.0 25.0 42.0 63.0 77.0 78.0 77.0 64.0 64.0 30.0 1.0 -4.0 5.0 0.0 22.0 45.0 53.0 64.0 59.0 54.0 28.0 18.0 -6.0 -17.0 -21.0 0.0 10.0 18.0 22.0 26.0 39.0 15.0 10.0 -9.0 -15.0 -19.0 -15.0 -10.0 -16.0 7.0 17.0 10.0 13.0 1.0 -6.0 -7.0 -5.0 -4.0 14.0 46.0 49.0 60.0 64.0 71.0 56.0 38.0 35.0 24.0 26.0 35.0 47.0 43.0 79.0 87.0 78.0 74.0 54.0 43.0 18.0 21.0 23.0 46.0 68.0 81.0 69.0 87.0 72.0 38.0 21.0 7.0 9.0 -15.0 24.0 30.0 46.0 60.0 47.0 22.0 0.0 -10.0 -58.0 -66.0 -52.0 -27.0 -17.0 -3.0 24.0 39.0 38.0 17.0 -4.0 -19.0 -15.0 -25.0 -25.0 -5.0 22.0 23.0 28.0 43.0 28.0 12.0 -29.0 -60.0 -92.0 -110.0 -125.0 -124.0 -111.0 -75.0 -43.0 -38.0 -5.0 -11.0 -20.0 -59.0 -71.0 -81.0 -86.0 -71.0 -42.0 9.0 37.0 73.0 77.0 69.0 56.0 38.0 25.0 11.0 28.0 49.0 73.0 88.0 108.0 118.0 94.0 73.0 35.0 21.0 7.0 1.0 8.0 20.0 49.0 73.0 72.0 78.0 84.0 67.0 50.0 40.0 46.0 35.0 50.0 63.0 84.0 98.0 112.0 117.0 94.0 88.0 74.0 56.0 38.0 48.0 64.0 71.0 79.0 88.0 85.0 66.0 44.0 14.0 -21.0 -53.0 -89.0 -120.0 -128.0 -140.0 -147.0 -156.0 -159.0 -161.0 -168.0 -180.0 -209.0 -220.0 -238.0 -224.0 -205.0 -186.0 -145.0 -111.0 -80.0 -64.0 -55.0 -59.0 -59.0 -55.0 -58.0 -35.0 1.0 24.0 50.0 52.0 55.0 46.0 36.0 25.0 1.0 4.0 18.0 32.0 31.0 52.0 73.0 72.0 85.0 97.0 109.0 125.0 160.0 179.0 205.0 240.0 242.0 260.0 263.0 274.0 269.0 260.0 274.0 260.0 253.0 237.0 210.0 185.0 158.0 137.0 103.0 82.0 80.0 53.0 26.0 12.0 -22.0 -62.0 -108.0 -149.0 -199.0 -242.0 -270.0 -294.0 -301.0 -300.0 -278.0 -275.0 -272.0 -265.0 -273.0 -292.0 -298.0 -310.0 -313.0 -300.0 -292.0 -262.0 -234.0 -194.0 -172.0 -158.0 -146.0 -140.0 -132.0 -126.0 -106.0 -103.0 -82.0 -34.0 -3.0 15.0 46.0 89.0 101.0 104.0 113.0 126.0 140.0 157.0 173.0 190.0 222.0 235.0 245.0 242.0 244.0 221.0 195.0 179.0 150.0 138.0 122.0 118.0 97.0 77.0 59.0 33.0 -4.0 -35.0 -52.0 -49.0 -34.0 -27.0 15.0 47.0 89.0 116.0 133.0 158.0 178.0 201.0 196.0 216.0 238.0 272.0 287.0 283.0 306.0 304.0 297.0 255.0 219.0 172.0 113.0 56.0 -13.0 -57.0 -114.0 -157.0 -222.0 -283.0 -336.0 -408.0 -463.0 -536.0 -578.0 -613.0 -631.0 -633.0 -619.0 -581.0 -549.0 -509.0 -474.0 -438.0 -425.0 -405.0 -382.0 -360.0 -321.0 -271.0 -189.0 -117.0 -35.0 36.0 101.0 141.0 156.0 172.0 160.0 164.0 173.0 186.0 206.0 234.0 258.0 265.0 267.0 241.0 207.0 160.0 118.0 76.0 50.0 42.0 45.0 48.0 48.0 55.0 37.0 18.0 -1.0 -3.0 6.0 2.0 43.0 83.0 123.0 173.0 198.0 222.0 218.0 250.0 240.0 240.0 270.0 269.0 285.0 270.0 281.0 256.0 228.0 183.0 127.0 81.0 19.0 -24.0 -88.0 -131.0 -175.0 -231.0 -281.0 -350.0 -407.0 -479.0 -545.0 -600.0 -657.0 -694.0 -722.0 -721.0 -726.0 -721.0 -702.0 -685.0 -663.0 -661.0 -639.0 -596.0 -554.0 -533.0 -500.0 -414.0 -333.0 -269.0 -218.0 -129.0 -19.0 41.0 89.0 152.0 233.0 282.0 293.0 328.0 353.0 377.0 382.0 354.0 352.0 347.0 343.0 297.0 257.0 230.0 193.0 145.0 69.0 39.0 8.0 -20.0 -55.0 -76.0 -62.0 -61.0 -50.0 -63.0 -14.0 38.0 59.0 110.0 166.0 241.0 274.0 305.0 349.0 383.0 409.0 416.0 429.0 453.0 459.0 446.0 418.0 401.0 349.0 280.0 209.0 122.0 47.0 -39.0 -121.0 -212.0 -280.0 -342.0 -419.0 -495.0 -574.0 -630.0 -712.0 -781.0 -825.0 -854.0 -871.0 -877.0 -850.0 -822.0 -780.0 -753.0 -725.0 -701.0 -663.0 -638.0 -612.0 -570.0 -523.0 -440.0 -375.0 -284.0 -223.0 -141.0 -63.0 6.0 69.0 105.0 179.0 224.0 255.0 283.0 333.0 350.0 362.0 381.0 380.0 381.0 371.0 349.0 317.0 282.0 253.0 200.0 160.0 130.0 92.0 60.0 24.0 14.0 -25.0 -33.0 -46.0 -77.0 -72.0 -69.0 -46.0 -36.0 63.0 165.0 193.0 304.0 372.0 433.0 427.0 434.0 460.0 398.0 442.0 403.0 424.0 420.0 415.0 396.0 286.0 265.0 135.0 26.0 -102.0 -202.0 -292.0 -405.0 -457.0 -542.0 -602.0 -672.0 -747.0 -822.0 -900.0 -954.0 -1014.0 -1044.0 -1034.0 -1018.0 -971.0 -921.0 -844.0 -766.0 -710.0 -657.0 -621.0 -558.0 -520.0 -494.0 -442.0 -361.0 -268.0 -201.0 -107.0 -12.0 74.0 152.0 192.0 248.0 278.0 304.0 311.0 334.0 373.0 383.0 417.0 423.0 436.0 415.0 378.0 340.0 285.0 248.0 178.0 139.0 105.0 79.0 53.0 18.0 -1.0 -44.0 -73.0 -110.0 -137.0 -148.0 -145.0 -119.0 -95.0 -56.0 7.0 70.0 125.0 185.0 383.0 490.0 442.0 593.0 645.0 678.0 539.0 523.0 555.0 428.0 495.0 363.0 421.0 392.0 361.0 252.0 55.0 45.0 -173.0 -307.0 -486.0 -568.0 -648.0 -749.0 -764.0 -883.0 -894.0 -937.0 -1010.0 -1093.0 -1146.0 -1103.0 -1142.0 -1126.0 -1016.0 -924.0 -814.0 -749.0 -651.0 -572.0 -530.0 -499.0 -511.0 -423.0 -359.0 -313.0 -246.0 -136.0 6.0 42.0 124.0 189.0 228.0 245.0 245.0 281.0 262.0 310.0 331.0 346.0 371.0 402.0 426.0 379.0 389.0 347.0 307.0 259.0 201.0 173.0 141.0 135.0 86.0 78.0 99.0 70.0 19.0 -8.0 4.0 -38.0 -61.0 -35.0 -15.0 31.0 85.0 153.0 231.0 331.0 426.0 450.0 515.0 579.0 584.0 586.0 545.0 547.0 493.0 478.0 427.0 351.0 364.0 283.0 210.0 72.0 12.0 -96.0 -269.0 -374.0 -504.0 -583.0 -698.0 -770.0 -838.0 -898.0 -923.0 -996.0 -1030.0 -1051.0 -1045.0 -1032.0 -1021.0 -949.0 -876.0 -785.0 -704.0 -632.0 -533.0 -483.0 -441.0 -415.0 -351.0 -280.0 -245.0 -160.0 -88.0 31.0 80.0 128.0 166.0 190.0 246.0 208.0 231.0 246.0 298.0 315.0 324.0 367.0 378.0 403.0 366.0 344.0 328.0 306.0 277.0 240.0 246.0 261.0 232.0 229.0 240.0 244.0 199.0 160.0 180.0 165.0 149.0 135.0 171.0 200.0 210.0 237.0 270.0 316.0 363.0 397.0 406.0 464.0 599.0 615.0 608.0 666.0 699.0 728.0 562.0 530.0 468.0 402.0 321.0 145.0 207.0 121.0 63.0 -66.0 -152.0 -207.0 -405.0 -497.0 -663.0 -729.0 -815.0 -890.0 -912.0 -969.0 -935.0 -977.0 -986.0 -982.0 -966.0 -912.0 -918.0 -808.0 -734.0 -629.0 -537.0 -471.0 -351.0 -309.0 -244.0 -249.0 -198.0 -128.0 -106.0 -57.0 -6.0 90.0 143.0 163.0 191.0 229.0 273.0 275.0 274.0 320.0 370.0 408.0 433.0 468.0 507.0 546.0 548.0 527.0 545.0 559.0 550.0 516.0 519.0 544.0 525.0 501.0 500.0 484.0 467.0 432.0 401.0 378.0 352.0 335.0 302.0 290.0 291.0 292.0 292.0 295.0 314.0 322.0 323.0 326.0 367.0 430.0 419.0 472.0 471.0 496.0 466.0 383.0 370.0 233.0 217.0 113.0 49.0 7.0 -68.0 -85.0 -208.0 -253.0 -361.0 -445.0 -536.0 -652.0 -703.0 -774.0 -795.0 -841.0 -855.0 -837.0 -858.0 -840.0 -851.0 -819.0 -781.0 -760.0 -674.0 -620.0 -508.0 -425.0 -357.0 -267.0 -241.0 -167.0 -172.0 -137.0 -91.0 -75.0 -10.0 18.0 122.0 161.0 206.0 253.0 284.0 361.0 368.0 432.0 483.0 535.0 607.0 640.0 699.0 731.0 777.0 794.0 792.0 830.0 828.0 834.0 820.0 801.0 808.0 775.0 752.0 692.0 675.0 659.0 582.0 525.0 479.0 449.0 359.0 297.0 272.0 246.0 218.0 175.0 180.0 179.0 171.0 145.0 101.0 95.0 112.0 151.0 106.0 147.0 208.0 208.0 203.0 120.0 170.0 74.0 7.0 -55.0 -130.0 -115.0 -217.0 -208.0 -283.0 -271.0 -300.0 -392.0 -405.0 -480.0 -480.0 -579.0 -605.0 -614.0 -646.0 -634.0 -676.0 -640.0 -630.0 -613.0 -592.0 -584.0 -498.0 -450.0 -391.0 -327.0 -275.0 -191.0 -165.0 -119.0 -115.0 -83.0 -23.0 -16.0 46.0 85.0 188.0 244.0 276.0 368.0 407.0 493.0 545.0 605.0 690.0 753.0 837.0 869.0 932.0 959.0 967.0 981.0 974.0 999.0 965.0 958.0 955.0 928.0 885.0 819.0 789.0 716.0 616.0 543.0 454.0 378.0 274.0 202.0 146.0 57.0 21.0 -33.0 -57.0 -97.0 -122.0 -115.0 -148.0 -136.0 -146.0 -117.0 -113.0 -91.0 39.0 28.0 96.0 147.0 181.0 227.0 125.0 194.0 108.0 101.0 85.0 -2.0 55.0 -37.0 5.0 -91.0 -132.0 -153.0 -276.0 -284.0 -408.0 -419.0 -461.0 -491.0 -486.0 -544.0 -495.0 -541.0 -555.0 -554.0 -578.0 -534.0 -559.0 -471.0 -411.0 -361.0 -259.0 -231.0 -139.0 -110.0 -86.0 -44.0 -52.0 17.0 45.0 102.0 162.0 226.0 353.0 393.0 475.0 511.0 591.0 662.0 674.0 751.0 797.0 885.0 918.0 962.0 1029.0 1046.0 1064.0 1054.0 1043.0 1012.0 953.0 920.0 840.0 756.0 699.0 606.0 510.0 378.0 294.0 194.0 67.0 -25.0 -119.0 -160.0 -232.0 -282.0 -311.0 -317.0 -292.0 -330.0 -313.0 -273.0 -255.0 -230.0 -209.0 -150.0 -108.0 -2.0 98.0 116.0 237.0 281.0 328.0 265.0 233.0 247.0 107.0 110.0 18.0 25.0 -33.0 -80.0 -94.0 -214.0 -214.0 -349.0 -396.0 -471.0 -510.0 -509.0 -563.0 -507.0 -526.0 -489.0 -474.0 -496.0 -475.0 -495.0 -450.0 -459.0 -430.0 -335.0 -279.0 -178.0 -121.0 -20.0 41.0 70.0 122.0 100.0 137.0 121.0 171.0 202.0 223.0 310.0 334.0 427.0 449.0 510.0 527.0 566.0 638.0 651.0 728.0 747.0 847.0 879.0 903.0 929.0 914.0 930.0 862.0 832.0 757.0 699.0 637.0 540.0 478.0 395.0 318.0 232.0 138.0 61.0 -45.0 -129.0 -202.0 -274.0 -300.0 -366.0 -363.0 -373.0 -361.0 -341.0 -344.0 -296.0 -291.0 -234.0 -228.0 -203.0 -147.0 -103.0 14.0 39.0 129.0 156.0 175.0 218.0 99.0 105.0 -7.0 -21.0 -96.0 -179.0 -133.0 -215.0 -158.0 -249.0 -251.0 -271.0 -342.0 -337.0 -422.0 -372.0 -401.0 -400.0 -362.0 -360.0 -305.0 -336.0 -294.0 -289.0 -305.0 -272.0 -291.0 -233.0 -211.0 -154.0 -92.0 -75.0 20.0 30.0 50.0 32.0 7.0 18.0 -53.0 -16.0 -13.0 41.0 111.0 133.0 256.0 292.0 357.0 370.0 424.0 501.0 503.0 577.0 627.0 695.0 716.0 743.0 757.0 713.0 705.0 659.0 593.0 518.0 464.0 424.0 329.0 253.0 178.0 87.0 2.0 -122.0 -212.0 -301.0 -367.0 -425.0 -482.0 -477.0 -484.0 -482.0 -477.0 -452.0 -426.0 -403.0 -378.0 -345.0 -301.0 -253.0 -215.0 -197.0 -85.0 8.0 28.0 93.0 108.0 194.0 136.0 75.0 75.0 -9.0 13.0 -86.0 -54.0 -69.0 -69.0 -57.0 -136.0 -119.0 -209.0 -220.0 -285.0 -310.0 -298.0 -316.0 -272.0 -291.0 -259.0 -255.0 -289.0 -303.0 -341.0 -338.0 -364.0 -386.0 -346.0 -306.0 -255.0 -231.0 -196.0 -159.0 -150.0 -163.0 -204.0 -192.0 -197.0 -204.0 -177.0 -111.0 -22.0 24.0 94.0 161.0 218.0 257.0 286.0 340.0 383.0 452.0 513.0 545.0 599.0 635.0 652.0 618.0 607.0 585.0 531.0 477.0 409.0 374.0 304.0 246.0 158.0 69.0 4.0 -74.0 -163.0 -244.0 -275.0 -325.0 -360.0 -386.0 -386.0 -373.0 -378.0 -361.0 -353.0 -317.0 -310.0 -305.0 -288.0 -273.0 -247.0 -244.0 -207.0 -100.0 -21.0 26.0 82.0 129.0 206.0 135.0 103.0 48.0 15.0 6.0 -77.0 -49.0 -64.0 11.0 -34.0 -67.0 -77.0 -126.0 -153.0 -274.0 -268.0 -295.0 -302.0 -311.0 -322.0 -296.0 -337.0 -374.0 -428.0 -476.0 -519.0 -578.0 -594.0 -580.0 -548.0 -503.0 -472.0 -425.0 -384.0 -328.0 -337.0 -356.0 -347.0 -325.0 -292.0 -272.0 -166.0 -78.0 22.0 104.0 202.0 290.0 318.0 392.0 430.0 487.0 540.0 595.0 671.0 700.0 747.0 763.0 762.0 746.0 693.0 664.0 583.0 520.0 451.0 396.0 327.0 229.0 185.0 106.0 33.0 -69.0 -137.0 -181.0 -260.0 -295.0 -320.0 -320.0 -323.0 -326.0 -313.0 -319.0 -314.0 -311.0 -327.0 -326.0 -314.0 -286.0 -272.0 -246.0 -181.0 -20.0 30.0 39.0 138.0 159.0 206.0 47.0 40.0 0.0 -101.0 -79.0 -190.0 -102.0 -140.0 -104.0 -122.0 -206.0 -166.0 -291.0 -312.0 -388.0 -399.0 -400.0 -450.0 -401.0 -452.0 -436.0 -474.0 -557.0 -578.0 -651.0 -647.0 -702.0 -718.0 -591.0 -572.0 -483.0 -463.0 -388.0 -286.0 -334.0 -259.0 -313.0 -241.0 -202.0 -181.0 -33.0 4.0 184.0 234.0 335.0 451.0 457.0 561.0 577.0 671.0 733.0 773.0 888.0 873.0 939.0 941.0 870.0 855.0 754.0 748.0 611.0 533.0 508.0 373.0 352.0 193.0 131.0 14.0 -99.0 -132.0 -305.0 -311.0 -373.0 -420.0 -435.0 -491.0 -417.0 -483.0 -480.0 -466.0 -490.0 -433.0 -494.0 -417.0 -414.0 -377.0 -293.0 -320.0 -203.0 -99.0 -23.0 8.0 69.0 133.0 156.0 64.0 6.0 -56.0 -135.0 -123.0 -241.0 -219.0 -184.0 -150.0 -160.0 -229.0 -187.0 -257.0 -316.0 -369.0 -400.0 -404.0 -425.0 -397.0 -423.0 -425.0 -431.0 -492.0 -525.0 -596.0 -614.0 -648.0 -678.0 -591.0 -566.0 -488.0 -437.0 -394.0 -295.0 -306.0 -279.0 -304.0 -279.0 -213.0 -195.0 -70.0 34.0 195.0 313.0 399.0 544.0 587.0 664.0 693.0 737.0 833.0 858.0 958.0 962.0 1013.0 1042.0 971.0 918.0 795.0 753.0 627.0 494.0 395.0 293.0 256.0 113.0 17.0 -79.0 -159.0 -247.0 -405.0 -457.0 -519.0 -547.0 -583.0 -593.0 -513.0 -506.0 -473.0 -457.0 -441.0 -416.0 -434.0 -427.0 -443.0 -385.0 -333.0 -325.0 -273.0 -213.0 -103.0 54.0 15.0 84.0 171.0 130.0 132.0 -113.0 -69.0 -201.0 -275.0 -223.0 -354.0 -163.0 -203.0 -115.0 -164.0 -241.0 -200.0 -367.0 -369.0 -480.0 -456.0 -436.0 -467.0 -407.0 -474.0 -442.0 -525.0 -622.0 -635.0 -732.0 -692.0 -721.0 -627.0 -508.0 -462.0 -323.0 -322.0 -239.0 -201.0 -211.0 -209.0 -212.0 -80.0 -12.0 112.0 261.0 416.0 575.0 640.0 740.0 816.0 868.0 904.0 923.0 972.0 1024.0 1032.0 1018.0 1000.0 967.0 898.0 786.0 675.0 593.0 460.0 308.0 187.0 72.0 -41.0 -172.0 -261.0 -349.0 -426.0 -488.0 -548.0 -600.0 -621.0 -616.0 -639.0 -609.0 -576.0 -538.0 -507.0 -497.0 -429.0 -413.0 -388.0 -376.0 -350.0 -300.0 -292.0 -274.0 -261.0 -226.0 -234.0 -244.0 -232.0 -219.0 -18.0 111.0 53.0 182.0 190.0 199.0 -48.0 -248.0 -256.0 -456.0 -339.0 -421.0 -284.0 -103.0 -35.0 38.0 -154.0 -123.0 -285.0 -446.0 -565.0 -652.0 -591.0 -608.0 -528.0 -520.0 -485.0 -432.0 -516.0 -484.0 -515.0 -490.0 -413.0 -392.0 -231.0 -176.0 -39.0 13.0 15.0 143.0 213.0 329.0 367.0 500.0 691.0 744.0 809.0 862.0 946.0 988.0 919.0 994.0 990.0 1011.0 970.0 881.0 897.0 761.0 707.0 553.0 447.0 371.0 212.0 112.0 -58.0 -132.0 -245.0 -393.0 -445.0 -536.0 -562.0 -612.0 -652.0 -632.0 -660.0 -582.0 -607.0 -591.0 -508.0 -507.0 -447.0 -501.0 -438.0 -393.0 -409.0 -374.0 -382.0 -274.0 -271.0 -269.0 -239.0 -233.0 -199.0 -267.0 -277.0 -293.0 -242.0 -31.0 -28.0 108.0 251.0 278.0 303.0 53.0 40.0 -163.0 -239.0 -222.0 -308.0 -56.0 -9.0 162.0 160.0 114.0 110.0 -120.0 -209.0 -374.0 -432.0 -426.0 -424.0 -331.0 -327.0 -228.0 -227.0 -287.0 -253.0 -290.0 -237.0 -257.0 -193.0 -52.0 -23.0 81.0 85.0 144.0 217.0 239.0 329.0 363.0 490.0 578.0 610.0 692.0 693.0 743.0 747.0 717.0 736.0 699.0 726.0 662.0 599.0 556.0 440.0 400.0 271.0 190.0 107.0 -18.0 -57.0 -180.0 -291.0 -387.0 -440.0 -470.0 -588.0 -596.0 -583.0 -587.0 -575.0 -615.0 -548.0 -500.0 -468.0 -446.0 -442.0 -331.0 -325.0 -325.0 -321.0 -323.0 -259.0 -281.0 -273.0 -258.0 -191.0 -96.0 -100.0 -11.0 40.0 84.0 78.0 44.0 82.0 16.0 12.0 -6.0 19.0 57.0 52.0 106.0 101.0 129.0 134.0 108.0 100.0 88.0 96.0 83.0 61.0 75.0 70.0 59.0 22.0 -18.0 -40.0 -99.0 -124.0 -163.0 -159.0 -165.0 -152.0 -101.0 -63.0 -22.0 -23.0 8.0 20.0 -17.0 -28.0 -28.0 -21.0 10.0 77.0 170.0 250.0 326.0 377.0 422.0 448.0 437.0 465.0 510.0 538.0 566.0 613.0 634.0 575.0 519.0 432.0 295.0 207.0 86.0 32.0 -44.0 -89.0 -108.0 -193.0 -226.0 -328.0 -375.0 -452.0 -516.0 -535.0 -555.0 -481.0 -461.0 -410.0 -336.0 -269.0 -203.0 -204.0 -179.0 -164.0 -174.0 -155.0 -194.0 -197.0 -180.0 -153.0 -153.0 -167.0 -97.0 -84.0 -88.0 -94.0 -61.0 -59.0 -87.0 -70.0 -50.0 69.0 421.0 516.0 588.0 736.0 749.0 679.0 281.0 164.0 -131.0 -104.0 -56.0 -155.0 215.0 339.0 544.0 378.0 270.0 168.0 -129.0 -275.0 -506.0 -466.0 -396.0 -281.0 -166.0 -158.0 -12.0 -21.0 -120.0 -213.0 -322.0 -255.0 -290.0 -277.0 -188.0 -87.0 49.0 -28.0 32.0 139.0 205.0 191.0 175.0 342.0 392.0 411.0 436.0 522.0 556.0 527.0 535.0 529.0 529.0 487.0 423.0 336.0 289.0 224.0 145.0 43.0 -31.0 -83.0 -173.0 -256.0 -358.0 -393.0 -392.0 -396.0 -405.0 -340.0 -228.0 -176.0 -170.0 -112.0 -68.0 -87.0 -91.0 -123.0 -98.0 -75.0 -57.0 -66.0 -30.0 6.0 -29.0 -12.0 -36.0 -35.0 -46.0 -36.0 28.0 94.0 159.0 207.0 258.0 286.0 274.0 270.0 237.0 234.0 274.0 282.0 315.0 333.0 363.0 348.0 327.0 263.0 217.0 194.0 162.0 154.0 114.0 159.0 150.0 132.0 91.0 45.0 -12.0 -112.0 -176.0 -258.0 -286.0 -305.0 -315.0 -315.0 -291.0 -243.0 -240.0 -238.0 -231.0 -215.0 -200.0 -224.0 -219.0 -220.0 -150.0 -87.0 -45.0 44.0 123.0 206.0 210.0 267.0 268.0 288.0 429.0 492.0 508.0 582.0 645.0 607.0 535.0 412.0 258.0 199.0 161.0 55.0 44.0 55.0 66.0 34.0 -53.0 -136.0 -149.0 -174.0 -262.0 -250.0 -189.0 -101.0 -32.0 1.0 63.0 147.0 173.0 120.0 57.0 42.0 -3.0 -82.0 -175.0 -177.0 -156.0 -157.0 -123.0 -127.0 -37.0 1.0 2.0 -46.0 -15.0 86.0 125.0 172.0 177.0 304.0 344.0 328.0 277.0 240.0 250.0 252.0 277.0 284.0 375.0 390.0 378.0 313.0 227.0 164.0 113.0 46.0 23.0 81.0 118.0 146.0 135.0 114.0 56.0 -19.0 -142.0 -235.0 -292.0 -350.0 -394.0 -421.0 -395.0 -398.0 -381.0 -344.0 -319.0 -272.0 -238.0 -233.0 -244.0 -252.0 -241.0 -230.0 -165.0 -63.0 43.0 134.0 220.0 360.0 397.0 384.0 492.0 596.0 623.0 655.0 685.0 700.0 653.0 540.0 386.0 313.0 285.0 193.0 182.0 180.0 199.0 208.0 185.0 115.0 67.0 79.0 70.0 34.0 35.0 93.0 125.0 103.0 46.0 43.0 7.0 -76.0 -179.0 -230.0 -234.0 -273.0 -280.0 -251.0 -222.0 -183.0 -157.0 -145.0 -140.0 -131.0 -123.0 -127.0 -99.0 -81.0 -38.0 54.0 152.0 229.0 276.0 315.0 327.0 299.0 229.0 151.0 98.0 73.0 100.0 139.0 199.0 268.0 318.0 344.0 306.0 264.0 226.0 166.0 139.0 150.0 189.0 223.0 244.0 239.0 202.0 160.0 51.0 -67.0 -156.0 -214.0 -274.0 -328.0 -332.0 -312.0 -315.0 -361.0 -324.0 -266.0 -237.0 -226.0 -156.0 -83.0 -77.0 -66.0 -86.0 -93.0 -38.0 36.0 91.0 174.0 276.0 384.0 401.0 375.0 358.0 443.0 559.0 511.0 544.0 632.0 688.0 607.0 437.0 358.0 258.0 180.0 89.0 32.0 95.0 145.0 163.0 101.0 29.0 -9.0 -130.0 -259.0 -398.0 -436.0 -380.0 -356.0 -318.0 -251.0 -122.0 -93.0 -151.0 -197.0 -228.0 -243.0 -298.0 -284.0 -214.0 -139.0 -59.0 -20.0 38.0 69.0 41.0 13.0 -9.0 -4.0 -38.0 -39.0 11.0 72.0 110.0 98.0 162.0 209.0 206.0 185.0 177.0 192.0 206.0 209.0 227.0 311.0 370.0 384.0 383.0 400.0 382.0 359.0 307.0 261.0 285.0 316.0 311.0 264.0 268.0 255.0 178.0 80.0 -6.0 -39.0 -81.0 -139.0 -162.0 -140.0 -126.0 -156.0 -183.0 -195.0 -208.0 -230.0 -260.0 -252.0 -183.0 -148.0 -125.0 -116.0 -79.0 -77.0 -152.0 -174.0 -176.0 -75.0 -44.0 -29.0 37.0 123.0 176.0 76.0 79.0 112.0 228.0 325.0 330.0 400.0 435.0 395.0 226.0 21.0 -143.0 -253.0 -297.0 -351.0 -295.0 -154.0 -116.0 -102.0 -113.0 -184.0 -250.0 -306.0 -378.0 -373.0 -285.0 -201.0 -114.0 -13.0 20.0 -3.0 -9.0 -102.0 -165.0 -183.0 -222.0 -145.0 -75.0 -32.0 11.0 57.0 80.0 37.0 37.0 5.0 29.0 81.0 97.0 177.0 226.0 287.0 310.0 361.0 411.0 405.0 423.0 364.0 335.0 333.0 298.0 226.0 179.0 227.0 207.0 198.0 192.0 156.0 181.0 170.0 122.0 101.0 137.0 185.0 205.0 227.0 261.0 317.0 353.0 309.0 273.0 250.0 222.0 162.0 69.0 47.0 -5.0 -76.0 -147.0 -212.0 -290.0 -375.0 -406.0 -430.0 -420.0 -376.0 -349.0 -309.0 -275.0 -259.0 -278.0 -347.0 -386.0 -428.0 -424.0 -470.0 -449.0 -354.0 -348.0 -339.0 -355.0 -344.0 -392.0 -403.0 -387.0 -301.0 -70.0 124.0 265.0 383.0 425.0 379.0 234.0 -9.0 -195.0 -276.0 -238.0 -199.0 -89.0 97.0 246.0 309.0 241.0 193.0 124.0 33.0 -29.0 -55.0 5.0 88.0 183.0 236.0 251.0 266.0 199.0 126.0 54.0 -9.0 -20.0 14.0 92.0 154.0 217.0 268.0 260.0 217.0 131.0 54.0 -29.0 -63.0 -49.0 -69.0 -63.0 -16.0 -11.0 -2.0 18.0 -16.0 37.0 86.0 83.0 118.0 179.0 186.0 219.0 237.0 218.0 288.0 338.0 343.0 365.0 400.0 382.0 379.0 327.0 258.0 257.0 209.0 166.0 152.0 145.0 108.0 82.0 54.0 -15.0 -48.0 -116.0 -147.0 -173.0 -212.0 -234.0 -273.0 -286.0 -354.0 -425.0 -491.0 -561.0 -617.0 -678.0 -722.0 -746.0 -724.0 -674.0 -643.0 -561.0 -503.0 -472.0 -458.0 -469.0 -479.0 -508.0 -521.0 -517.0 -461.0 -385.0 -274.0 -165.0 -57.0 27.0 88.0 94.0 103.0 163.0 206.0 332.0 528.0 648.0 732.0 802.0 747.0 612.0 483.0 299.0 139.0 153.0 189.0 268.0 377.0 423.0 444.0 421.0 279.0 103.0 28.0 -46.0 -113.0 -62.0 -16.0 32.0 92.0 17.0 -77.0 -170.0 -256.0 -354.0 -408.0 -375.0 -313.0 -154.0 -87.0 -71.0 -5.0 28.0 20.0 -59.0 -38.0 5.0 62.0 107.0 90.0 175.0 194.0 146.0 45.0 -15.0 -63.0 -89.0 -80.0 -85.0 21.0 237.0 376.0 373.0 467.0 454.0 365.0 238.0 53.0 -76.0 -105.0 -66.0 -83.0 53.0 146.0 147.0 178.0 92.0 -31.0 -108.0 -174.0 -232.0 -196.0 -118.0 -86.0 -18.0 -7.0 -58.0 -115.0 -211.0 -301.0 -369.0 -396.0 -388.0 -319.0 -243.0 -205.0 -151.0 -128.0 -137.0 -163.0 -210.0 -242.0 -257.0 -249.0 -238.0 -222.0 -190.0 -141.0 -89.0 -80.0 -77.0 -45.0 -23.0 -41.0 -84.0 -81.0 -94.0 -122.0 -93.0 -67.0 -11.0 13.0 53.0 49.0 22.0 42.0 11.0 7.0 45.0 182.0 366.0 495.0 593.0 598.0 542.0 388.0 138.0 -82.0 -252.0 -256.0 -194.0 -82.0 96.0 200.0 272.0 208.0 54.0 -106.0 -246.0 -313.0 -349.0 -284.0 -196.0 -87.0 -23.0 -111.0 -145.0 -225.0 -327.0 -377.0 -389.0 -299.0 -154.0 -48.0 14.0 91.0 123.0 65.0 23.0 -14.0 -35.0 68.0 76.0 135.0 220.0 241.0 239.0 179.0 167.0 130.0 132.0 136.0 161.0 212.0 208.0 199.0 173.0 87.0 60.0 9.0 -11.0 10.0 13.0 83.0 78.0 90.0 46.0 7.0 -8.0 -82.0 -73.0 -88.0 -72.0 -73.0 -96.0 -98.0 -151.0 -179.0 -229.0 -268.0 -272.0 -290.0 -286.0 -308.0 -326.0 -320.0 -334.0 -301.0 -283.0 -246.0 -195.0 -170.0 -145.0 -171.0 -154.0 -165.0 -155.0 -107.0 -20.0 72.0 118.0 174.0 174.0 147.0 79.0 1.0 -97.0 -119.0 -112.0 -94.0 -64.0 25.0 106.0 196.0 276.0 233.0 258.0 220.0 176.0 72.0 14.0 -52.0 -142.0 -132.0 -180.0 -180.0 -189.0 -183.0 -147.0 -148.0 -140.0 -136.0 -128.0 -104.0 -87.0 -59.0 -33.0 34.0 75.0 64.0 78.0 64.0 45.0 23.0 -6.0 -4.0 45.0 86.0 91.0 131.0 169.0 182.0 156.0 86.0 67.0 45.0 23.0 -31.0 -32.0 -4.0 26.0 77.0 42.0 75.0 93.0 103.0 79.0 14.0 0.0 -31.0 -40.0 -100.0 -100.0 -70.0 -104.0 -131.0 -204.0 -263.0 -298.0 -385.0 -470.0 -537.0 -532.0 -515.0 -513.0 -476.0 -470.0 -427.0 -414.0 -440.0 -419.0 -423.0 -383.0 -326.0 -275.0 -204.0 -140.0 -64.0 -58.0 -32.0 -15.0 -27.0 7.0 5.0 39.0 113.0 154.0 212.0 284.0 327.0 379.0 427.0 426.0 372.0 362.0 337.0 303.0 290.0 229.0 200.0 209.0 152.0 74.0 14.0 -49.0 -118.0 -155.0 -149.0 -170.0 -145.0 -158.0 -154.0 -116.0 -133.0 -125.0 -88.0 -81.0 -74.0 -31.0 -23.0 -19.0 -25.0 -52.0 -85.0 -65.0 -99.0 -96.0 -35.0 -8.0 50.0 80.0 104.0 95.0 103.0 82.0 65.0 74.0 58.0 64.0 50.0 32.0 7.0 -13.0 -41.0 -93.0 -88.0 -89.0 -107.0 -102.0 -121.0 -148.0 -196.0 -250.0 -304.0 -307.0 -308.0 -337.0 -304.0 -286.0 -299.0 -313.0 -357.0 -412.0 -464.0 -485.0 -508.0 -508.0 -455.0 -398.0 -301.0 -210.0 -165.0 -92.0 -43.0 -8.0 -22.0 11.0 73.0 74.0 140.0 161.0 223.0 255.0 235.0 185.0 150.0 151.0 63.0 71.0 93.0 111.0 169.0 176.0 189.0 229.0 206.0 166.0 128.0 87.0 34.0 68.0 74.0 42.0 119.0 124.0 131.0 112.0 73.0 44.0 26.0 -18.0 -46.0 15.0 39.0 65.0 99.0 108.0 96.0 67.0 10.0 -43.0 -79.0 -102.0 -110.0 -65.0 -47.0 -42.0 -34.0 -67.0 -106.0 -163.0 -209.0 -250.0 -239.0 -220.0 -190.0 -122.0 -101.0 -73.0 -69.0 -95.0 -113.0 -126.0 -134.0 -143.0 -92.0 -49.0 9.0 56.0 46.0 56.0 10.0 -35.0 -73.0 -101.0 -117.0 -107.0 -64.0 -40.0 24.0 43.0 27.0 34.0 44.0 55.0 60.0 51.0 83.0 111.0 122.0 143.0 150.0 164.0 163.0 175.0 156.0 162.0 166.0 147.0 156.0 121.0 75.0 61.0 50.0 15.0 10.0 18.0 34.0 53.0 54.0 45.0 56.0 50.0 18.0 9.0 -11.0 -42.0 -65.0 -88.0 -127.0 -173.0 -206.0 -232.0 -262.0 -274.0 -277.0 -237.0 -202.0 -176.0 -146.0 -135.0 -125.0 -142.0 -162.0 -189.0 -180.0 -177.0 -179.0 -156.0 -147.0 -137.0 -150.0 -171.0 -194.0 -188.0 -178.0 -152.0 -114.0 -75.0 -29.0 -4.0 -2.0 0.0 15.0 10.0 19.0 3.0 31.0 43.0 37.0 35.0 33.0 45.0 31.0 50.0 27.0 50.0 82.0 98.0 113.0 141.0 174.0 210.0 226.0 208.0 214.0 227.0 234.0 220.0 260.0 288.0 320.0 344.0 356.0 349.0 325.0 301.0 266.0 247.0 216.0 213.0 229.0 252.0 259.0 271.0 261.0 235.0 200.0 152.0 115.0 99.0 85.0 47.0 35.0 46.0 53.0 33.0 11.0 14.0 16.0 7.0 -14.0 -31.0 -33.0 -47.0 -70.0 -109.0 -140.0 -171.0 -205.0 -256.0 -308.0 -338.0 -370.0 -390.0 -416.0 -422.0 -408.0 -393.0 -378.0 -364.0 -345.0 -313.0 -293.0 -281.0 -262.0 -225.0 -190.0 -154.0 -102.0 -67.0 -20.0 9.0 29.0 56.0 60.0 68.0 87.0 119.0 143.0 170.0 216.0 266.0 306.0 326.0 333.0 328.0 307.0 277.0 255.0 213.0 173.0 169.0 174.0 178.0 178.0 185.0 194.0 186.0 169.0 144.0 138.0 105.0 89.0 113.0 128.0 154.0 164.0 173.0 169.0 158.0 141.0 139.0 114.0 89.0 78.0 94.0 114.0 125.0 143.0 142.0 149.0 128.0 118.0 79.0 38.0 -1.0 -16.0 -33.0 -37.0 -22.0 -20.0 -15.0 -41.0 -41.0 -47.0 -58.0 -95.0 -114.0 -133.0 -160.0 -195.0 -227.0 -258.0 -283.0 -305.0 -323.0 -316.0 -318.0 -296.0 -287.0 -286.0 -278.0 -269.0 -277.0 -282.0 -280.0 -281.0 -268.0 -251.0 -239.0 -214.0 -166.0 -140.0 -120.0 -88.0 -46.0 -8.0 17.0 39.0 48.0 75.0 90.0 93.0 107.0 111.0 138.0 172.0 209.0 219.0 232.0 253.0 258.0 264.0 258.0 292.0 340.0 388.0 432.0 479.0 512.0 514.0 495.0 468.0 433.0 411.0 377.0 351.0 356.0 348.0 348.0 329.0 298.0 255.0 209.0 167.0 121.0 99.0 75.0 67.0 45.0 10.0 -19.0 -52.0 -72.0 -109.0 -121.0 -127.0 -127.0 -132.0 -166.0 -192.0 -229.0 -258.0 -287.0 -305.0 -290.0 -253.0 -207.0 -159.0 -118.0 -98.0 -101.0 -110.0 -135.0 -166.0 -183.0 -181.0 -179.0 -174.0 -159.0 -140.0 -120.0 -110.0 -101.0 -98.0 -86.0 -81.0 -71.0 -77.0 -88.0 -85.0 -85.0 -97.0 -96.0 -78.0 -70.0 -59.0 -71.0 -75.0 -75.0 -68.0 -79.0 -58.0 -11.0 30.0 89.0 133.0 169.0 183.0 189.0 186.0 180.0 181.0 199.0 225.0 262.0 300.0 328.0 341.0 333.0 311.0 294.0 293.0 282.0 301.0 335.0 380.0 412.0 429.0 426.0 399.0 348.0 277.0 208.0 164.0 154.0 161.0 192.0 225.0 255.0 256.0 242.0 186.0 126.0 71.0 20.0 -9.0 -20.0 -4.0 -8.0 -20.0 -45.0 -64.0 -90.0 -111.0 -120.0 -116.0 -110.0 -114.0 -128.0 -152.0 -163.0 -191.0 -204.0 -212.0 -206.0 -207.0 -182.0 -168.0 -176.0 -172.0 -162.0 -148.0 -142.0 -129.0 -126.0 -118.0 -119.0 -124.0 -116.0 -84.0 -57.0 -21.0 17.0 47.0 64.0 58.0 34.0 7.0 -1.0 -6.0 16.0 57.0 91.0 115.0 131.0 120.0 75.0 52.0 49.0 42.0 62.0 116.0 178.0 222.0 238.0 227.0 203.0 161.0 119.0 89.0 91.0 106.0 135.0 174.0 201.0 226.0 227.0 218.0 208.0 188.0 160.0 137.0 104.0 77.0 57.0 45.0 41.0 53.0 93.0 122.0 160.0 171.0 154.0 109.0 43.0 -24.0 -71.0 -85.0 -82.0 -38.0 19.0 75.0 106.0 108.0 81.0 41.0 1.0 -33.0 -45.0 -48.0 -33.0 -15.0 1.0 13.0 11.0 6.0 -11.0 -24.0 -30.0 -28.0 -42.0 -46.0 -48.0 -57.0 -63.0 -64.0 -46.0 -32.0 -11.0 14.0 39.0 51.0 63.0 58.0 45.0 39.0 42.0 50.0 54.0 69.0 82.0 92.0 90.0 100.0 101.0 96.0 90.0 65.0 53.0 45.0 39.0 44.0 53.0 65.0 74.0 92.0 102.0 106.0 119.0 120.0 124.0 131.0 140.0 147.0 153.0 137.0 107.0 79.0 45.0 25.0 24.0 35.0 52.0 75.0 80.0 81.0 74.0 39.0 -2.0 -36.0 -66.0 -79.0 -77.0 -77.0 -77.0 -93.0 -122.0 -158.0 -179.0 -200.0 -217.0 -217.0 -202.0 -181.0 -161.0 -135.0 -122.0 -116.0 -107.0 -121.0 -116.0 -119.0 -108.0 -97.0 -87.0 -66.0 -60.0 -30.0 -23.0 -3.0 -10.0 -26.0 -50.0 -73.0 -76.0 -78.0 -61.0 -35.0 7.0 33.0 61.0 71.0 72.0 77.0 65.0 61.0 65.0 79.0 90.0 90.0 83.0 78.0 72.0 50.0 43.0 37.0 33.0 34.0 37.0 35.0 33.0 45.0 43.0 33.0 26.0 25.0 20.0 15.0 13.0 18.0 33.0 43.0 46.0 49.0 53.0 46.0 36.0 27.0 26.0 40.0 54.0 72.0 88.0 98.0 99.0 82.0 71.0 59.0 44.0 49.0 54.0 62.0 74.0 71.0 58.0 38.0 13.0 -13.0 -27.0 -37.0 -43.0 -41.0 -37.0 -40.0 -46.0 -53.0 -69.0 -81.0 -96.0 -104.0 -108.0 -106.0 -101.0 -92.0 -95.0 -108.0 -117.0 -134.0 -152.0 -168.0 -175.0 -174.0 -167.0 -154.0 -140.0 -122.0 -112.0 -112.0 -114.0 -119.0 -131.0 -146.0 -158.0 -162.0 -162.0 -154.0 -146.0 -135.0 -122.0 -102.0 -94.0 -89.0 -87.0 -80.0 -62.0 -63.0 -57.0 -41.0 -25.0 -19.0 -18.0 -13.0 -22.0 -34.0 -54.0 -77.0 -91.0 -95.0 -100.0 -96.0 -89.0 -81.0 -70.0 -66.0 -65.0 -54.0 -37.0 -29.0 -23.0 -13.0 -7.0 -6.0 -6.0 -12.0 -19.0 -21.0 -23.0 -19.0 -20.0 -21.0 -20.0 -20.0 -21.0 -24.0 -21.0 -15.0 -12.0 -19.0 -28.0 -38.0 -46.0 -60.0 -70.0 -80.0 -82.0 -81.0 -90.0 -90.0 -95.0 -96.0 -98.0 -92.0 -88.0 -85.0 -79.0 -72.0 -64.0 -61.0 -57.0 -47.0 -36.0 -29.0 -20.0 -6.0 10.0 12.0 20.0 24.0 21.0 5.0 -9.0 -14.0 -20.0 -23.0 -16.0 -5.0 5.0 14.0 12.0 9.0 1.0 -19.0 -43.0 -67.0 -85.0 -93.0 -100.0 -107.0 -112.0 -116.0 -123.0 -133.0 -146.0 -157.0 -174.0 -186.0 -190.0 -188.0 -184.0 -177.0 -174.0 -175.0 -179.0 -177.0 -175.0 -174.0 -171.0 -172.0 -167.0 -163.0 -151.0 -143.0 -136.0 -122.0 -103.0 -84.0 -67.0 -42.0 -18.0 0.0 13.0 24.0 35.0 39.0 44.0 50.0 58.0 66.0 69.0 69.0 56.0 47.0 33.0 20.0 7.0 0.0 1.0 1.0 6.0 -1.0 -4.0 -14.0 -30.0 -42.0 -60.0 -68.0 -84.0 -98.0 -104.0 -116.0 -128.0 -136.0 -137.0 -134.0 -130.0 -120.0 -109.0 -95.0 -88.0 -87.0 -94.0 -102.0 -105.0 -99.0 -93.0 -82.0 -65.0 -54.0 -44.0 -44.0 -37.0 -37.0 -35.0 -26.0 -21.0 -9.0 -4.0 -13.0 -20.0 -33.0 -46.0 -56.0 -53.0 -41.0 -30.0 -18.0 -14.0 -16.0 -20.0 -27.0 -43.0 -49.0 -52.0 -54.0 -57.0 -68.0 -80.0 -95.0 -108.0 -123.0 -127.0 -119.0 -105.0 -90.0 -75.0 -59.0 -56.0 -63.0 -75.0 -82.0 -82.0 -85.0 -80.0 -73.0 -59.0 -43.0 -30.0 -22.0 -9.0 6.0 11.0 26.0 38.0 49.0 63.0 68.0 66.0 66.0 59.0 50.0 45.0 43.0 41.0 33.0 35.0 37.0 38.0 31.0 25.0 19.0 0.0 -27.0 -37.0 -50.0 -54.0 -56.0 -61.0 -62.0 -72.0 -76.0 -88.0 -91.0 -93.0 -101.0 -97.0 -94.0 -91.0 -87.0 -85.0 -87.0 -89.0 -96.0 -102.0 -104.0 -110.0 -109.0 -104.0 -94.0 -86.0 -73.0 -59.0 -58.0 -55.0 -56.0 -63.0 -70.0 -79.0 -92.0 -99.0 -103.0 -110.0 -109.0 -109.0 -103.0 -99.0 -97.0 -90.0 -78.0 -66.0 -60.0 -38.0 -23.0 -10.0 2.0 10.0 19.0 19.0 19.0 15.0 15.0 28.0 55.0 77.0 100.0 125.0 147.0 158.0 152.0 151.0 145.0 142.0 140.0 142.0 148.0 154.0 154.0 154.0 159.0 157.0 152.0 148.0 141.0 128.0 118.0 108.0 90.0 68.0 42.0 28.0 8.0 -1.0 -5.0 -9.0 -11.0 -21.0 -30.0 -35.0 -45.0 -61.0 -75.0 -87.0 -98.0 -106.0 -106.0 -105.0 -103.0 -104.0 -104.0 -101.0 -102.0 -99.0 -93.0 -89.0 -78.0 -69.0 -56.0 -40.0 -31.0 -15.0 -1.0 6.0 4.0 12.0 8.0 14.0 20.0 21.0 33.0 34.0 36.0 38.0 46.0 46.0 51.0 50.0 42.0 28.0 18.0 10.0 2.0 1.0 -5.0 2.0 -2.0 -5.0 -13.0 -21.0 -24.0 -33.0 -34.0 -32.0 -34.0 -31.0 -16.0 -9.0 -5.0 6.0 14.0 21.0 22.0 35.0 51.0 53.0 55.0 60.0 63.0 70.0 73.0 76.0 89.0 97.0 112.0 129.0 141.0 156.0 171.0 169.0 172.0 167.0 153.0 140.0 127.0 126.0 116.0 106.0 87.0 76.0 62.0 42.0 27.0 11.0 4.0 -3.0 -12.0 -15.0 -14.0 -21.0 -27.0 -36.0 -47.0 -49.0 -57.0 -70.0 -76.0 -73.0 -72.0 -66.0 -60.0 -53.0 -41.0 -35.0 -27.0 -21.0 -14.0 -3.0 2.0 6.0 15.0 38.0 55.0 69.0 85.0 93.0 106.0 111.0 114.0 118.0 123.0 124.0 128.0 132.0 134.0 136.0 127.0 120.0 110.0 96.0 85.0 76.0 67.0 58.0 60.0 62.0 67.0 68.0 63.0 60.0 47.0 30.0 22.0 9.0 -2.0 -4.0 -6.0 -12.0 -12.0 -12.0 -14.0 -21.0 -25.0 -29.0 -28.0 -27.0 -26.0 -19.0 -20.0 -19.0 -18.0 -13.0 -9.0 -8.0 -10.0 -11.0 -12.0 -9.0 0.0 2.0 8.0 21.0 26.0 27.0 28.0 24.0 19.0 13.0 12.0 19.0 31.0 36.0 40.0 40.0 31.0 19.0 4.0 -2.0 -5.0 -3.0 0.0 5.0 10.0 10.0 8.0 5.0 -5.0 -5.0 1.0 5.0 7.0 12.0 16.0 11.0 6.0 0.0 3.0 10.0 18.0 27.0 38.0 51.0 58.0 61.0 64.0 68.0 73.0 81.0 93.0 104.0 113.0 111.0 109.0 103.0 98.0 98.0 98.0 103.0 112.0 119.0 129.0 131.0 133.0 134.0 131.0 121.0 114.0 107.0 97.0 95.0 92.0 88.0 88.0 84.0 76.0 71.0 72.0 63.0 55.0 53.0 46.0 45.0 40.0 37.0 32.0 20.0 12.0 1.0 -7.0 -15.0 -29.0 -32.0 -27.0 -23.0 -20.0 -23.0 -29.0 -37.0 -46.0 -54.0 -47.0 -44.0 -30.0 -13.0 3.0 18.0 23.0 18.0 5.0 -7.0 -16.0 -19.0 -16.0 -4.0 11.0 26.0 37.0 42.0 37.0 37.0 26.0 15.0 15.0 18.0 21.0 31.0 41.0 45.0 55.0 53.0 48.0 44.0 41.0 46.0 48.0 54.0 65.0 73.0 78.0 72.0 71.0 68.0 66.0 61.0 50.0 39.0 30.0 22.0 16.0 14.0 13.0 15.0 16.0 18.0 21.0 23.0 25.0 24.0 19.0 19.0 11.0 4.0 -2.0 -1.0 2.0 1.0 5.0 6.0 8.0 6.0 3.0 0.0 2.0 11.0 25.0 36.0 37.0 38.0 36.0 28.0 21.0 20.0 18.0 22.0 34.0 45.0 55.0 62.0 66.0 69.0 69.0 69.0 71.0 78.0 83.0 88.0 91.0 93.0 89.0 80.0 82.0 75.0 76.0 85.0 86.0 93.0 98.0 93.0 92.0 90.0 79.0 67.0 57.0 51.0 45.0 44.0 43.0 45.0 51.0 52.0 48.0 40.0 37.0 37.0 31.0 22.0 20.0 18.0 18.0 21.0 21.0 21.0 18.0 11.0 13.0 8.0 5.0 5.0 5.0 13.0 12.0 8.0 2.0 -6.0 -11.0 -26.0 -36.0 -35.0 -30.0 -23.0 -22.0 -26.0 -27.0 -23.0 -26.0 -24.0 -29.0 -26.0 -27.0 -29.0 -29.0 -33.0 -30.0 -38.0 -40.0 -42.0 -39.0 -45.0 -53.0 -52.0 -53.0 -54.0 -54.0 -46.0 -33.0 -18.0 -6.0 4.0 0.0 -6.0 -8.0 -5.0 0.0 6.0 16.0 19.0 27.0 41.0 54.0 59.0 62.0 67.0 70.0 80.0 81.0 79.0 84.0 86.0 95.0 98.0 100.0 95.0 79.0 76.0 67.0 64.0 64.0 62.0 66.0 58.0 54.0 39.0 25.0 9.0 -3.0 3.0 5.0 13.0 20.0 16.0 9.0 0.0 -7.0 -19.0 -27.0 -28.0 -37.0 -39.0 -41.0 -41.0 -59.0 -70.0 -84.0 -97.0 -105.0 -111.0 -102.0 -94.0 -89.0 -78.0 -71.0 -84.0 -94.0 -112.0 -113.0 -108.0 -94.0 -74.0 -63.0 -48.0 -49.0 -54.0 -59.0 -69.0 -73.0 -73.0 -64.0 -49.0 -34.0 -18.0 -3.0 -3.0 -2.0 -2.0 -9.0 -11.0 -5.0 5.0 12.0 21.0 26.0 29.0 28.0 21.0 15.0 14.0 17.0 24.0 33.0 46.0 56.0 65.0 68.0 63.0 62.0 55.0 58.0 59.0 66.0 76.0 81.0 82.0 76.0 76.0 68.0 56.0 53.0 57.0 65.0 71.0 68.0 68.0 64.0 58.0 42.0 25.0 14.0 6.0 -1.0 -10.0 -14.0 -20.0 -21.0 -26.0 -41.0 -59.0 -74.0 -85.0 -86.0 -95.0 -100.0 -102.0 -104.0 -102.0 -107.0 -113.0 -121.0 -130.0 -136.0 -142.0 -146.0 -144.0 -137.0 -133.0 -137.0 -140.0 -145.0 -146.0 -147.0 -146.0 -135.0 -125.0 -116.0 -107.0 -101.0 -97.0 -98.0 -97.0 -95.0 -88.0 -80.0 -70.0 -56.0 -51.0 -44.0 -43.0 -38.0 -36.0 -33.0 -20.0 -11.0 2.0 12.0 24.0 36.0 40.0 42.0 46.0 48.0 52.0 58.0 66.0 78.0 87.0 95.0 104.0 116.0 126.0 127.0 127.0 124.0 128.0 133.0 131.0 126.0 115.0 105.0 104.0 99.0 92.0 79.0 70.0 67.0 69.0 69.0 70.0 71.0 65.0 56.0 46.0 32.0 18.0 4.0 -17.0 -29.0 -34.0 -29.0 -27.0 -33.0 -36.0 -34.0 -33.0 -42.0 -47.0 -46.0 -53.0 -62.0 -70.0 -78.0 -79.0 -82.0 -90.0 -99.0 -102.0 -105.0 -111.0 -114.0 -111.0 -104.0 -100.0 -97.0 -90.0 -88.0 -81.0 -79.0 -80.0 -80.0 -82.0 -82.0 -90.0 -93.0 -93.0 -93.0 -89.0 -82.0 -79.0 -69.0 -63.0 -56.0 -45.0 -38.0 -28.0 -34.0 -31.0 -35.0 -44.0 -53.0 -51.0 -41.0 -33.0 -21.0 -14.0 -2.0 7.0 6.0 10.0 14.0 17.0 22.0 21.0 28.0 34.0 38.0 46.0 51.0 53.0 52.0 47.0 46.0 48.0 48.0 48.0 42.0 44.0 40.0 35.0 33.0 29.0 26.0 22.0 27.0 26.0 27.0 19.0 5.0 -4.0 -21.0 -23.0 -29.0 -36.0 -37.0 -42.0 -48.0 -51.0 -53.0 -63.0 -74.0 -78.0 -79.0 -74.0 -75.0 -75.0 -76.0 -87.0 -93.0 -89.0 -83.0 -80.0 -74.0 -69.0 -65.0 -62.0 -68.0 -66.0 -66.0 -69.0 -72.0 -68.0 -54.0 -52.0 -44.0 -43.0 -48.0 -53.0 -45.0 -39.0 -27.0 -14.0 -2.0 3.0 -1.0 6.0 5.0 0.0 2.0 -1.0 -3.0 3.0 5.0 6.0 9.0 5.0 1.0 7.0 12.0 14.0 14.0 16.0 15.0 12.0 4.0 1.0 1.0 3.0 -2.0 -6.0 -6.0 -12.0 -16.0 -21.0 -21.0 -26.0 -26.0 -28.0 -27.0 -30.0 -29.0 -30.0 -34.0 -38.0 -37.0 -40.0 -47.0 -50.0 -49.0 -45.0 -56.0 -61.0 -71.0 -84.0 -96.0 -100.0 -101.0 -96.0 -101.0 -100.0 -96.0 -93.0 -95.0 -101.0 -105.0 -113.0 -109.0 -114.0 -103.0 -95.0 -81.0 -74.0 -70.0 -71.0 -76.0 -79.0 -90.0 -80.0 -79.0 -60.0 -40.0 -14.0 14.0 21.0 28.0 16.0 7.0 2.0 -9.0 -1.0 8.0 23.0 42.0 53.0 64.0 68.0 64.0 51.0 44.0 35.0 37.0 43.0 52.0 63.0 73.0 76.0 67.0 63.0 52.0 42.0 34.0 28.0 31.0 31.0 35.0 35.0 27.0 18.0 13.0 13.0 19.0 20.0 25.0 18.0 16.0 14.0 6.0 5.0 0.0 -1.0 6.0 15.0 21.0 21.0 17.0 23.0 11.0 3.0 -9.0 -13.0 -15.0 -13.0 -10.0 -9.0 0.0 4.0 13.0 13.0 9.0 -5.0 -14.0 -25.0 -34.0 -36.0 -39.0 -38.0 -42.0 -35.0 -42.0 -48.0 -55.0 -65.0 -63.0 -69.0 -70.0 -69.0 -59.0 -59.0 -60.0 -55.0 -50.0 -42.0 -39.0 -31.0 -24.0 -16.0 -11.0 -5.0 -4.0 -5.0 -2.0 1.0 10.0 17.0 24.0 28.0 32.0 29.0 33.0 41.0 45.0 53.0 58.0 67.0 75.0 76.0 79.0 71.0 65.0 58.0 54.0 62.0 66.0 74.0 75.0 77.0 70.0 54.0 50.0 42.0 36.0 42.0 48.0 52.0 51.0 49.0 49.0 42.0 27.0 19.0 13.0 3.0 1.0 -1.0 1.0 14.0 26.0 30.0 38.0 40.0 38.0 38.0 34.0 35.0 37.0 41.0 39.0 35.0 35.0 32.0 31.0 29.0 37.0 37.0 33.0 34.0 36.0 38.0 34.0 35.0 27.0 18.0 12.0 9.0 7.0 8.0 6.0 12.0 7.0 4.0 -1.0 -6.0 -12.0 -21.0 -29.0 -42.0 -37.0 -31.0 -20.0 -12.0 1.0 7.0 12.0 7.0 3.0 4.0 -1.0 2.0 3.0 7.0 15.0 26.0 22.0 14.0 6.0 1.0 -2.0 5.0 9.0 15.0 22.0 31.0 33.0 27.0 30.0 21.0 11.0 -2.0 -8.0 -11.0 -14.0 -12.0 -16.0 -18.0 -20.0 -17.0 -11.0 -4.0 2.0 3.0 1.0 7.0 7.0 -2.0 -6.0 -15.0 -16.0 -14.0 -1.0 15.0 24.0 29.0 25.0 32.0 31.0 30.0 23.0 25.0 34.0 40.0 53.0 63.0 66.0 63.0 54.0 45.0 48.0 53.0 60.0 63.0 69.0 73.0 75.0 73.0 65.0 61.0 57.0 61.0 59.0 55.0 49.0 41.0 31.0 20.0 17.0 19.0 27.0 34.0 45.0 48.0 45.0 40.0 30.0 27.0 31.0 39.0 55.0 64.0 70.0 73.0 63.0 61.0 53.0 50.0 55.0 61.0 73.0 78.0 82.0 78.0 68.0 59.0 59.0 59.0 60.0 57.0 59.0 68.0 67.0 71.0 69.0 58.0 44.0 30.0 28.0 29.0 32.0 34.0 29.0 23.0 16.0 15.0 7.0 -6.0 -7.0 -7.0 5.0 12.0 13.0 12.0 -4.0 -15.0 -15.0 -15.0 -5.0 11.0 24.0 34.0 38.0 40.0 46.0 48.0 45.0 42.0 42.0 47.0 51.0 60.0 64.0 73.0 80.0 85.0 89.0 80.0 76.0 66.0 64.0 70.0 71.0 72.0 66.0 64.0 55.0 48.0 52.0 51.0 47.0 41.0 39.0 34.0 19.0 13.0 5.0 0.0 0.0 0.0 8.0 8.0 9.0 8.0 7.0 7.0 2.0 6.0 10.0 11.0 14.0 15.0 14.0 15.0 14.0 17.0 23.0 27.0 29.0 35.0 35.0 38.0 30.0 37.0 45.0 48.0 60.0 60.0 65.0 67.0 69.0 74.0 78.0 82.0 67.0 59.0 58.0 63.0 73.0 73.0 84.0 86.0 87.0 87.0 87.0 90.0 83.0 82.0 79.0 82.0 83.0 79.0 66.0 58.0 61.0 69.0 72.0 76.0 72.0 66.0 66.0 62.0 64.0 68.0 77.0 79.0 83.0 80.0 75.0 72.0 68.0 64.0 66.0 68.0 75.0 77.0 70.0 67.0 60.0 53.0 52.0 44.0 36.0 32.0 31.0 36.0 33.0 36.0 31.0 29.0 25.0 17.0 7.0 -5.0 -2.0 5.0 9.0 12.0 14.0 -2.0 -10.0 -23.0 -34.0 -39.0 -37.0 -27.0 -18.0 -9.0 -9.0 -11.0 -26.0 -36.0 -39.0 -31.0 -22.0 -2.0 6.0 7.0 9.0 -3.0 -9.0 -10.0 -10.0 -5.0 7.0 24.0 38.0 49.0 54.0 58.0 56.0 54.0 52.0 48.0 42.0 46.0 52.0 57.0 69.0 73.0 74.0 70.0 57.0 46.0 42.0 41.0 44.0 46.0 48.0 60.0 67.0 71.0 69.0 65.0 53.0 46.0 43.0 38.0 33.0 35.0 34.0 38.0 37.0 40.0 41.0 34.0 34.0 34.0 36.0 32.0 29.0 28.0 29.0 24.0 17.0 10.0 6.0 -10.0 -15.0 -12.0 -13.0 -6.0 -7.0 -3.0 -5.0 -12.0 -22.0 -31.0 -34.0 -32.0 -31.0 -21.0 -14.0 -8.0 -6.0 -20.0 -32.0 -38.0 -41.0 -36.0 -30.0 -19.0 -8.0 0.0 6.0 2.0 -4.0 -10.0 -19.0 -25.0 -30.0 -22.0 -16.0 -11.0 -3.0 -3.0 -3.0 -16.0 -21.0 -27.0 -30.0 -28.0 -30.0 -21.0 -16.0 -15.0 -16.0 -16.0 -12.0 -20.0 -27.0 -25.0 -23.0 -19.0 -15.0 -8.0 -4.0 -3.0 -1.0 -5.0 -11.0 -3.0 -5.0 -9.0 -10.0 -6.0 0.0 -3.0 3.0 3.0 6.0 6.0 -5.0 -9.0 -10.0 -9.0 -7.0 0.0 11.0 23.0 23.0 18.0 13.0 7.0 -3.0 -14.0 -17.0 -16.0 -14.0 -10.0 -7.0 -16.0 -28.0 -45.0 -55.0 -64.0 -62.0 -51.0 -43.0 -31.0 -20.0 -16.0 -22.0 -31.0 -47.0 -62.0 -68.0 -73.0 -66.0 -56.0 -50.0 -45.0 -42.0 -40.0 -40.0 -44.0 -56.0 -64.0 -67.0 -65.0 -54.0 -48.0 -39.0 -38.0 -34.0 -36.0 -37.0 -38.0 -41.0 -46.0 -50.0 -49.0 -43.0 -39.0 -35.0 -36.0 -39.0 -40.0 -42.0 -40.0 -47.0 -42.0 -35.0 -30.0 -28.0 -25.0 -24.0 -26.0 -30.0 -38.0 -42.0 -42.0 -39.0 -36.0 -36.0 -38.0 -35.0 -38.0 -44.0 -43.0 -39.0 -34.0 -29.0 -27.0 -23.0 -24.0 -27.0 -29.0 -21.0 -25.0 -26.0 -22.0 -19.0 -12.0 -8.0 -10.0 -16.0 -16.0 -20.0 -26.0 -33.0 -43.0 -46.0 -51.0 -52.0 -44.0 -41.0 -38.0 -42.0 -47.0 -55.0 -56.0 -63.0 -66.0 -64.0 -63.0 -57.0 -57.0 -53.0 -51.0 -58.0 -69.0 -74.0 -72.0 -70.0 -66.0 -63.0 -55.0 -48.0 -52.0 -61.0 -70.0 -77.0 -81.0 -76.0 -75.0 -69.0 -62.0 -59.0 -63.0 -68.0 -70.0 -81.0 -86.0 -89.0 -85.0 -81.0 -76.0 -71.0 -72.0 -73.0 -80.0 -82.0 -81.0 -83.0 -84.0 -90.0 -91.0 -78.0 -72.0 -63.0 -59.0 -61.0 -63.0 -70.0 -75.0 -80.0 -79.0 -76.0 -76.0 -68.0 -65.0 -62.0 -62.0 -72.0 -73.0 -71.0 -70.0 -74.0 -69.0 -58.0 -57.0 -60.0 -60.0 -70.0 -80.0 -78.0 -81.0 -76.0 -71.0 -70.0 -72.0 -73.0 -71.0 -68.0 -71.0 -80.0 -81.0 -85.0 -88.0 -97.0 -100.0 -96.0 -95.0 -88.0 -89.0 -90.0 -95.0 -102.0 -109.0 -121.0 -128.0 -130.0 -132.0 -133.0 -135.0 -124.0 -121.0 -118.0 -121.0 -125.0 -123.0 -126.0 -121.0 -124.0 -121.0 -116.0 -109.0 -98.0 -91.0 -94.0 -94.0 -92.0 -90.0 -89.0 -89.0 -84.0 -85.0 -76.0 -76.0 -77.0 -78.0 -85.0 -83.0 -85.0 -79.0 -77.0 -75.0 -73.0 -79.0 -82.0 -87.0 -90.0 -85.0 -88.0 -93.0 -96.0 -102.0 -98.0 -102.0 -101.0 -104.0 -107.0 -104.0 -104.0 -98.0 -99.0 -98.0 -103.0 -105.0 -101.0 -102.0 -101.0 -97.0 -90.0 -88.0 -95.0 -93.0 -90.0 -90.0 -89.0 -93.0 -89.0 -86.0 -89.0 -87.0 -87.0 -75.0 -65.0 -68.0 -66.0 -60.0 -61.0 -59.0 -60.0 -56.0 -56.0 -56.0 -56.0 -57.0 -51.0 -48.0 -40.0 -41.0 -39.0 -37.0 -40.0 -51.0 -51.0 -51.0 -54.0 -58.0 -65.0 -64.0 -59.0 -54.0 -53.0 -49.0 -44.0 -50.0 -60.0 -62.0 -57.0 -65.0 -70.0 -71.0 -68.0 -60.0 -57.0 -55.0 -61.0 -73.0 -74.0 -76.0 -86.0 -68.0 -78.0 -65.0 -60.0 -70.0 -61.0 -80.0 -77.0 -86.0 -83.0 -65.0 -77.0 -69.0 -66.0 -76.0 -64.0 -84.0 -80.0 -77.0 -86.0 -71.0 -82.0 -64.0 -58.0 -63.0 -58.0 -69.0 -64.0 -74.0 -90.0 -74.0 -71.0 -62.0 -56.0 -67.0 -63.0 -71.0 -74.0 -83.0 -80.0 -69.0 -65.0 -47.0 -42.0 -46.0 -47.0 -59.0 -58.0 -57.0 -57.0 -47.0 -46.0 -38.0 -43.0 -48.0 -48.0 -51.0 -47.0 -50.0 -49.0 -44.0 -42.0 -38.0 -36.0 -34.0 -28.0 -36.0 -38.0 -41.0 -45.0 -51.0 -58.0 -51.0 -45.0 -34.0 -37.0 -35.0 -35.0 -39.0 -41.0 -51.0 -62.0 -65.0 -64.0 -65.0 -55.0 -49.0 -47.0 -52.0 -62.0 -66.0 -73.0 -76.0 -85.0 -81.0 -75.0 -74.0 -70.0 -73.0 -67.0 -68.0 -75.0 -82.0 -79.0 -73.0 -68.0 -66.0 -59.0 -56.0 -54.0 -54.0 -58.0 -54.0 -58.0 -54.0 -51.0 -46.0 -34.0 -35.0 -38.0 -40.0 -36.0 -33.0 -33.0 -29.0 -24.0 -21.0 -25.0 -27.0 -25.0 -18.0 -15.0 -13.0 -2.0 6.0 17.0 14.0 9.0 1.0 -2.0 -5.0 -5.0 3.0 15.0 18.0 20.0 18.0 13.0 8.0 -7.0 -4.0 -13.0 -14.0 -22.0 -23.0 -13.0 -15.0 -10.0 -16.0 -15.0 -13.0 -16.0 -30.0 -29.0 -34.0 -34.0 -30.0 -29.0 -24.0 -25.0 -30.0 -39.0 -44.0 -49.0 -43.0 -42.0 -45.0 -47.0 -47.0 -47.0 -49.0 -52.0 -48.0 -50.0 -53.0 -52.0 -49.0 -46.0 -46.0 -47.0 -51.0 -51.0 -57.0 -62.0 -57.0 -50.0 -44.0 -38.0 -29.0 -32.0 -35.0 -42.0 -49.0 -51.0 -53.0 -42.0 -41.0 -31.0 -29.0 -33.0 -39.0 -40.0 -41.0 -41.0 -31.0 -23.0 -12.0 -9.0 -4.0 0.0 4.0 -4.0 0.0 1.0 11.0 15.0 19.0 29.0 32.0 41.0 40.0 42.0 47.0 53.0 47.0 44.0 51.0 59.0 58.0 60.0 59.0 60.0 55.0 53.0 58.0 65.0 74.0 74.0 65.0 64.0 60.0 57.0 61.0 63.0 67.0 65.0 68.0 61.0 56.0 50.0 46.0 46.0 46.0 45.0 40.0 46.0 40.0 34.0 28.0 16.0 5.0 2.0 4.0 -2.0 1.0 10.0 5.0 3.0 -1.0 -1.0 -6.0 -8.0 -9.0 -11.0 5.0 14.0 17.0 23.0 21.0 26.0 28.0 29.0 31.0 33.0 44.0 47.0 53.0 55.0 59.0 62.0 57.0 53.0 48.0 53.0 49.0 47.0 57.0 57.0 56.0 52.0 54.0 55.0 58.0 61.0 69.0 68.0 73.0 74.0 70.0 72.0 70.0 68.0 65.0 79.0 80.0 87.0 86.0 85.0 84.0 81.0 77.0 69.0 60.0 62.0 58.0 49.0 46.0 44.0 35.0 25.0 37.0 40.0 46.0 57.0 64.0 66.0 68.0 56.0 49.0 55.0 59.0 68.0 73.0 87.0 83.0 87.0 76.0 73.0 76.0 72.0 71.0 65.0 70.0 73.0 69.0 60.0 52.0 42.0 36.0 31.0 35.0 39.0 45.0 49.0 47.0 51.0 51.0 49.0 41.0 39.0 38.0 47.0 56.0 67.0 76.0 73.0 66.0 60.0 64.0 71.0 69.0 76.0 90.0 95.0 93.0 92.0 87.0 86.0 93.0 95.0 103.0 110.0 122.0 130.0 131.0 128.0 123.0 121.0 121.0 126.0 130.0 137.0 135.0 138.0 143.0 137.0 142.0 142.0 147.0 150.0 153.0 152.0 148.0 143.0 125.0 120.0 120.0 124.0 129.0 129.0 136.0 135.0 127.0 120.0 111.0 102.0 90.0 93.0 97.0 103.0 107.0 96.0 85.0 77.0 72.0 72.0 73.0 73.0 74.0 73.0 65.0 61.0 67.0 66.0 61.0 59.0 66.0 68.0 58.0 55.0 55.0 60.0 65.0 57.0 61.0 70.0 75.0 80.0 77.0 80.0 75.0 67.0 60.0 58.0 62.0 67.0 77.0 84.0 96.0 107.0 106.0 102.0 90.0 86.0 92.0 87.0 100.0 106.0 118.0 116.0 110.0 110.0 107.0 106.0 92.0 89.0 96.0 104.0 112.0 114.0 111.0 109.0 103.0 105.0 116.0 123.0 125.0 127.0 126.0 130.0 132.0 128.0 131.0 132.0 133.0 132.0 136.0 137.0 137.0 136.0 133.0 129.0 128.0 127.0 120.0 118.0 125.0 134.0 128.0 125.0 123.0 118.0 116.0 110.0 101.0 107.0 117.0 118.0 112.0 108.0 107.0 97.0 91.0 84.0 84.0 83.0 83.0 91.0 95.0 93.0 89.0 82.0 79.0 72.0 62.0 67.0 70.0 77.0 77.0 76.0 73.0 73.0 78.0 75.0 83.0 88.0 91.0 97.0 87.0 81.0 77.0 73.0 72.0 73.0 82.0 85.0 93.0 89.0 85.0 83.0 82.0 79.0 78.0 75.0 80.0 90.0 87.0 92.0 88.0 94.0 91.0 86.0 85.0 89.0 101.0 110.0 114.0 113.0 109.0 103.0 94.0 87.0 97.0 108.0 116.0 121.0 122.0 118.0 105.0 94.0 89.0 92.0 101.0 105.0 106.0 112.0 116.0 117.0 105.0 98.0 97.0 89.0 98.0 108.0 118.0 118.0 111.0 103.0 93.0 95.0 90.0 84.0 89.0 91.0 99.0 104.0 99.0 97.0 88.0 88.0 81.0 83.0 87.0 80.0 75.0 71.0 79.0 75.0 76.0 80.0 66.0 67.0 67.0 72.0 83.0 87.0 90.0 81.0 80.0 70.0 61.0 58.0 56.0 68.0 79.0 88.0 90.0 77.0 66.0 58.0 50.0 55.0 58.0 69.0 66.0 73.0 72.0 61.0 62.0 55.0 60.0 56.0 61.0 73.0 74.0 84.0 83.0 92.0 90.0 82.0 81.0 75.0 76.0 80.0 87.0 92.0 91.0 88.0 88.0 94.0 90.0 91.0 92.0 91.0 91.0 86.0 86.0 79.0 78.0 73.0 74.0 77.0 76.0 75.0 67.0 69.0 64.0 61.0 64.0 67.0 71.0 78.0 81.0 81.0 72.0 58.0 55.0 50.0 49.0 47.0 54.0 59.0 57.0 53.0 50.0 49.0 40.0 40.0 46.0 56.0 60.0 60.0 52.0 46.0 44.0 42.0 40.0 33.0 43.0 60.0 65.0 63.0 62.0 62.0 60.0 48.0 38.0 38.0 53.0 63.0 63.0 72.0 74.0 71.0 61.0 56.0 50.0 46.0 53.0 53.0 49.0 46.0 48.0 51.0 43.0 39.0 39.0 35.0 35.0 45.0 44.0 41.0 41.0 42.0 43.0 45.0 43.0 36.0 42.0 35.0 42.0 42.0 34.0 35.0 35.0 45.0 45.0 49.0 41.0 32.0 24.0 7.0 7.0 8.0 16.0 23.0 24.0 26.0 19.0 11.0 6.0 5.0 9.0 6.0 11.0 20.0 16.0 17.0 15.0 13.0 6.0 2.0 0.0 1.0 4.0 5.0 2.0 -8.0 -17.0 -25.0 -34.0 -44.0 -47.0 -48.0 -47.0 -45.0 -43.0 -45.0 -47.0 -57.0 -69.0 -67.0 -62.0 -54.0 -45.0 -35.0 -31.0 -29.0 -26.0 -31.0 -43.0 -51.0 -59.0 -58.0 -61.0 -54.0 -43.0 -40.0 -35.0 -29.0 -40.0 -53.0 -58.0 -66.0 -57.0 -57.0 -48.0 -38.0 -38.0 -41.0 -38.0 -36.0 -44.0 -48.0 -55.0 -51.0 -47.0 -44.0 -44.0 -38.0 -33.0 -39.0 -40.0 -46.0 -54.0 -59.0 -60.0 -62.0 -61.0 -57.0 -62.0 -70.0 -75.0 -71.0 -74.0 -70.0 -72.0 -77.0 -77.0 -75.0 -77.0 -78.0 -69.0 -68.0 -68.0 -69.0 -68.0 -67.0 -70.0 -75.0 -73.0 -73.0 -72.0 -69.0 -71.0 -70.0 -74.0 -73.0 -74.0 -82.0 -85.0 -90.0 -84.0 -77.0 -71.0 -62.0 -62.0 -64.0 -68.0 -72.0 -76.0 -76.0 -77.0 -80.0 -78.0 -78.0 -77.0 -82.0 -88.0 -90.0 -94.0 -89.0 -88.0 -91.0 -84.0 -84.0 -79.0 -75.0 -88.0 -95.0 -87.0 -89.0 -94.0 -94.0 -91.0 -82.0 -87.0 -83.0 -89.0 -97.0 -99.0 -111.0 -107.0 -111.0 -104.0 -104.0 -97.0 -87.0 -86.0 -86.0 -97.0 -102.0 -108.0 -108.0 -98.0 -85.0 -82.0 -74.0 -77.0 -83.0 -80.0 -81.0 -81.0 -75.0 -73.0 -70.0 -73.0 -80.0 -88.0 -89.0 -95.0 -106.0 -103.0 -97.0 -85.0 -81.0 -85.0 -84.0 -87.0 -94.0 -101.0 -106.0 -104.0 -101.0 -96.0 -88.0 -80.0 -73.0 -76.0 -80.0 -85.0 -98.0 -96.0 -89.0 -91.0 -93.0 -100.0 -100.0 -96.0 -99.0 -102.0 -95.0 -87.0 -74.0 -69.0 -65.0 -72.0 -91.0 -101.0 -109.0 -116.0 -119.0 -106.0 -92.0 -89.0 -84.0 -85.0 -95.0 -100.0 -105.0 -109.0 -109.0 -102.0 -100.0 -97.0 -100.0 -104.0 -106.0 -113.0 -105.0 -107.0 -98.0 -98.0 -97.0 -95.0 -102.0 -99.0 -103.0 -107.0 -111.0 -113.0 -113.0 -107.0 -97.0 -92.0 -90.0 -90.0 -91.0 -84.0 -91.0 -94.0 -95.0 -95.0 -92.0 -96.0 -96.0 -99.0 -91.0 -96.0 -91.0 -82.0 -82.0 -77.0 -80.0 -83.0 -91.0 -102.0 -108.0 -114.0 -105.0 -106.0 -106.0 -95.0 -96.0 -99.0 -103.0 -107.0 -110.0 -114.0 -120.0 -124.0 -116.0 -111.0 -110.0 -120.0 -131.0 -132.0 -124.0 -116.0 -113.0 -110.0 -112.0 -117.0 -126.0 -127.0 -127.0 -128.0 -133.0 -131.0 -129.0 -131.0 -133.0 -131.0 -127.0 -124.0 -123.0 -123.0 -115.0 -112.0 -113.0 -119.0 -120.0 -118.0 -118.0 -119.0 -115.0 -113.0 -104.0 -104.0 -98.0 -104.0 -106.0 -112.0 -118.0 -112.0 -115.0 -115.0 -126.0 -121.0 -122.0 -126.0 -137.0 -144.0 -141.0 -136.0 -130.0 -133.0 -131.0 -140.0 -138.0 -138.0 -142.0 -137.0 -136.0 -127.0 -127.0 -124.0 -119.0 -128.0 -125.0 -132.0 -133.0 -134.0 -135.0 -130.0 -121.0 -112.0 -108.0 -109.0 -117.0 -122.0 -121.0 -115.0 -120.0 -116.0 -115.0 -113.0 -117.0 -118.0 -109.0 -104.0 -100.0 -94.0 -95.0 -97.0 -100.0 -107.0 -110.0 -118.0 -117.0 -122.0 -111.0 -103.0 -108.0 -109.0 -116.0 -123.0 -124.0 -116.0 -111.0 -113.0 -108.0 -117.0 -123.0 -123.0 -126.0 -114.0 -120.0 -119.0 -123.0 -123.0 -118.0 -118.0 -116.0 -121.0 -127.0 -125.0 -109.0 -108.0 -116.0 -125.0 -134.0 -137.0 -138.0 -130.0 -118.0 -113.0 -112.0 -112.0 -118.0 -120.0 -122.0 -125.0 -122.0 -113.0 -103.0 -102.0 -101.0 -100.0 -95.0 -95.0 -97.0 -84.0 -81.0 -87.0 -93.0 -98.0 -84.0 -79.0 -82.0 -84.0 -89.0 -91.0 -99.0 -99.0 -103.0 -102.0 -95.0 -95.0 -97.0 -95.0 -94.0 -97.0 -104.0 -103.0 -100.0 -99.0 -97.0 -103.0 -103.0 -104.0 -103.0 -98.0 -87.0 -83.0 -83.0 -81.0 -79.0 -84.0 -94.0 -93.0 -89.0 -85.0 -80.0 -69.0 -68.0 -65.0 -76.0 -74.0 -77.0 -79.0 -67.0 -70.0 -66.0 -68.0 -72.0 -75.0 -78.0 -72.0 -63.0 -60.0 -57.0 -53.0 -51.0 -59.0 -54.0 -41.0 -46.0 -39.0 -46.0 -44.0 -48.0 -57.0 -49.0 -54.0 -42.0 -33.0 -35.0 -37.0 -38.0 -41.0 -50.0 -53.0 -58.0 -61.0 -57.0 -52.0 -49.0 -39.0 -26.0 -18.0 -20.0 -40.0 -58.0 -72.0 -63.0 -48.0 -28.0 -18.0 -19.0 -20.0 -30.0 -37.0 -39.0 -33.0 -24.0 -4.0 10.0 19.0 14.0 9.0 4.0 1.0 4.0 4.0 10.0 16.0 16.0 11.0 7.0 -5.0 -13.0 -24.0 -34.0 -44.0 -31.0 -14.0 1.0 10.0 9.0 3.0 -5.0 -8.0 -14.0 -9.0 -4.0 -4.0 7.0 15.0 14.0 13.0 4.0 1.0 0.0 10.0 16.0 9.0 -2.0 -11.0 -20.0 -15.0 -13.0 -12.0 -7.0 -5.0 -2.0 0.0 -4.0 0.0 -6.0 -9.0 4.0 11.0 29.0 22.0 25.0 26.0 21.0 17.0 14.0 22.0 24.0 30.0 34.0 30.0 25.0 33.0 36.0 34.0 30.0 28.0 32.0 25.0 17.0 2.0 2.0 16.0 19.0 30.0 25.0 20.0 17.0 11.0 14.0 8.0 8.0 14.0 20.0 28.0 17.0 17.0 25.0 17.0 18.0 12.0 24.0 31.0 32.0 43.0 40.0 34.0 29.0 28.0 31.0 27.0 39.0 51.0 45.0 51.0 53.0 54.0 48.0 46.0 44.0 37.0 39.0 43.0 44.0 48.0 46.0 50.0 56.0 53.0 46.0 45.0 46.0 46.0 51.0 54.0 58.0 70.0 60.0 69.0 74.0 58.0 46.0 38.0 44.0 52.0 67.0 68.0 72.0 69.0 62.0 59.0 54.0 47.0 41.0 47.0 62.0 79.0 95.0 102.0 82.0 68.0 68.0 77.0 72.0 73.0 75.0 83.0 97.0 90.0 75.0 60.0 60.0 68.0 77.0 87.0 84.0 71.0 70.0 68.0 78.0 83.0 80.0 76.0 66.0 66.0 61.0 60.0 74.0 74.0 81.0 81.0 77.0 75.0 57.0 49.0 47.0 57.0 84.0 100.0 110.0 106.0 93.0 93.0 97.0 96.0 98.0 111.0 119.0 111.0 110.0 105.0 104.0 112.0 118.0 121.0 122.0 125.0 110.0 99.0 94.0 98.0 106.0 118.0 141.0 145.0 145.0 146.0 135.0 131.0 130.0 131.0 147.0 153.0 165.0 150.0 151.0 147.0 129.0 142.0 138.0 147.0 150.0 147.0 161.0 148.0 154.0 157.0 149.0 154.0 140.0 133.0 123.0 119.0 133.0 142.0 145.0 144.0 137.0 136.0 126.0 110.0 112.0 124.0 141.0 139.0 128.0 122.0 113.0 107.0 109.0 114.0 114.0 119.0 129.0 126.0 126.0 129.0 118.0 110.0 105.0 100.0 103.0 106.0 112.0 118.0 120.0 121.0 127.0 126.0 126.0 123.0 117.0 117.0 116.0 127.0 123.0 124.0 124.0 124.0 135.0 122.0 120.0 121.0 120.0 124.0 123.0 126.0 132.0 136.0 132.0 124.0 124.0 123.0 128.0 133.0 128.0 142.0 140.0 135.0 140.0 132.0 136.0 133.0 131.0 135.0 137.0 143.0 134.0 135.0 128.0 113.0 120.0 117.0 109.0 123.0 132.0 128.0 130.0 128.0 110.0 112.0 114.0 113.0 125.0 128.0 139.0 135.0 127.0 121.0 115.0 129.0 126.0 142.0 140.0 127.0 125.0 115.0 112.0 120.0 116.0 103.0 107.0 106.0 106.0 111.0 114.0 107.0 105.0 109.0 107.0 111.0 116.0 107.0 113.0 122.0 122.0 114.0 112.0 122.0 122.0 135.0 130.0 124.0 114.0 95.0 94.0 83.0 89.0 112.0 120.0 131.0 124.0 106.0 86.0 81.0 89.0 78.0 87.0 99.0 110.0 111.0 108.0 105.0 97.0 89.0 89.0 99.0 116.0 123.0 132.0 138.0 124.0 100.0 87.0 97.0 102.0 106.0 112.0 120.0 114.0 127.0 120.0 96.0 89.0 70.0 58.0 56.0 84.0 98.0 101.0 102.0 91.0 85.0 77.0 79.0 78.0 74.0 79.0 76.0 78.0 80.0 86.0 78.0 72.0 67.0 61.0 72.0 73.0 78.0 76.0 59.0 52.0 39.0 41.0 44.0 31.0 35.0 37.0 43.0 53.0 64.0 74.0 70.0 59.0 52.0 58.0 60.0 59.0 55.0 53.0 64.0 75.0 75.0 69.0 67.0 62.0 60.0 62.0 59.0 65.0 63.0 57.0 58.0 62.0 59.0 62.0 59.0 51.0 58.0 54.0 57.0 61.0 69.0 86.0 95.0 95.0 99.0 98.0 89.0 87.0 83.0 80.0 85.0 96.0 93.0 99.0 99.0 84.0 85.0 88.0 84.0 78.0 84.0 86.0 83.0 74.0 64.0 57.0 61.0 69.0 74.0 84.0 85.0 84.0 80.0 63.0 64.0 62.0 55.0 76.0 79.0 83.0 80.0 69.0 64.0 52.0 50.0 47.0 45.0 51.0 45.0 44.0 39.0 30.0 28.0 28.0 26.0 26.0 27.0 20.0 24.0 32.0 28.0 27.0 25.0 16.0 20.0 25.0 16.0 16.0 15.0 20.0 25.0 27.0 34.0 42.0 48.0 56.0 46.0 40.0 50.0 46.0 55.0 46.0 36.0 37.0 27.0 28.0 13.0 22.0 27.0 36.0 54.0 38.0 34.0 18.0 18.0 26.0 26.0 50.0 52.0 56.0 57.0 65.0 56.0 44.0 53.0 46.0 42.0 41.0 35.0 23.0 23.0 18.0 18.0 30.0 34.0 37.0 37.0 22.0 16.0 5.0 1.0 0.0 1.0 10.0 9.0 15.0 10.0 3.0 0.0 6.0 11.0 7.0 8.0 14.0 13.0 3.0 -1.0 15.0 21.0 13.0 9.0 0.0 -12.0 -5.0 -8.0 -9.0 1.0 5.0 18.0 16.0 20.0 -2.0 -9.0 -16.0 -27.0 -10.0 -10.0 2.0 13.0 5.0 6.0 -2.0 -11.0 -18.0 -32.0 -20.0 -13.0 -11.0 -12.0 -27.0 -29.0 -23.0 -13.0 -13.0 -13.0 -18.0 -18.0 -13.0 -9.0 -12.0 -20.0 -24.0 -24.0 -23.0 -16.0 -15.0 -20.0 -31.0 -45.0 -40.0 -31.0 -22.0 -23.0 -33.0 -46.0 -50.0 -51.0 -52.0 -40.0 -23.0 -14.0 -15.0 -25.0 -37.0 -46.0 -49.0 -64.0 -70.0 -51.0 -42.0 -29.0 -20.0 -42.0 -58.0 -69.0 -76.0 -70.0 -66.0 -58.0 -51.0 -47.0 -44.0 -56.0 -70.0 -79.0 -88.0 -94.0 -104.0 -92.0 -74.0 -71.0 -80.0 -87.0 -92.0 -107.0 -112.0 -117.0 -113.0 -101.0 -89.0 -82.0 -88.0 -91.0 -100.0 -103.0 -106.0 -112.0 -101.0 -89.0 -84.0 -81.0 -84.0 -96.0 -97.0 -95.0 -97.0 -94.0 -98.0 -99.0 -99.0 -96.0 -88.0 -92.0 -99.0 -98.0 -96.0 -92.0 -93.0 -88.0 -85.0 -86.0 -81.0 -89.0 -98.0 -105.0 -111.0 -123.0 -121.0 -109.0 -97.0 -79.0 -83.0 -92.0 -93.0 -112.0 -121.0 -127.0 -133.0 -119.0 -112.0 -108.0 -104.0 -109.0 -109.0 -111.0 -113.0 -123.0 -123.0 -125.0 -125.0 -114.0 -113.0 -106.0 -110.0 -116.0 -118.0 -116.0 -102.0 -99.0 -96.0 -106.0 -118.0 -115.0 -119.0 -105.0 -108.0 -120.0 -114.0 -110.0 -96.0 -97.0 -106.0 -105.0 -113.0 -114.0 -122.0 -130.0 -129.0 -137.0 -122.0 -124.0 -112.0 -99.0 -109.0 -116.0 -129.0 -119.0 -119.0 -120.0 -108.0 -103.0 -92.0 -98.0 -113.0 -125.0 -125.0 -120.0 -108.0 -95.0 -92.0 -94.0 -117.0 -130.0 -139.0 -134.0 -125.0 -123.0 -112.0 -97.0 -93.0 -91.0 -100.0 -124.0 -136.0 -134.0 -115.0 -107.0 -91.0 -81.0 -84.0 -91.0 -106.0 -116.0 -124.0 -126.0 -121.0 -117.0 -115.0 -113.0 -112.0 -95.0 -95.0 -103.0 -112.0 -132.0 -122.0 -116.0 -107.0 -98.0 -92.0 -99.0 -108.0 -114.0 -118.0 -107.0 -111.0 -109.0 -107.0 -105.0 -103.0 -105.0 -117.0 -127.0 -128.0 -120.0 -119.0 -113.0 -104.0 -110.0 -114.0 -116.0 -105.0 -101.0 -110.0 -114.0 -115.0 -106.0 -98.0 -101.0 -91.0 -88.0 -93.0 -103.0 -107.0 -101.0 -100.0 -100.0 -103.0 -105.0 -98.0 -101.0 -102.0 -104.0 -106.0 -100.0 -99.0 -83.0 -81.0 -81.0 -88.0 -111.0 -122.0 -124.0 -106.0 -89.0 -77.0 -63.0 -60.0 -72.0 -95.0 -117.0 -131.0 -127.0 -110.0 -97.0 -79.0 -77.0 -86.0 -94.0 -99.0 -104.0 -100.0 -84.0 -71.0 -58.0 -50.0 -61.0 -84.0 -93.0 -97.0 -86.0 -82.0 -86.0 -77.0 -83.0 -87.0 -89.0 -95.0 -90.0 -92.0 -97.0 -97.0 -98.0 -99.0 -94.0 -83.0 -83.0 -89.0 -86.0 -88.0 -93.0 -88.0 -93.0 -87.0 -79.0 -79.0 -73.0 -75.0 -76.0 -80.0 -83.0 -86.0 -85.0 -66.0 -54.0 -45.0 -59.0 -80.0 -91.0 -93.0 -84.0 -80.0 -74.0 -78.0 -60.0 -57.0 -47.0 -47.0 -66.0 -69.0 -79.0 -65.0 -51.0 -45.0 -39.0 -51.0 -53.0 -60.0 -63.0 -66.0 -68.0 -51.0 -55.0 -55.0 -47.0 -69.0 -77.0 -80.0 -80.0 -64.0 -55.0 -46.0 -55.0 -52.0 -58.0 -71.0 -72.0 -78.0 -77.0 -73.0 -71.0 -60.0 -50.0 -52.0 -53.0 -62.0 -71.0 -74.0 -80.0 -77.0 -76.0 -75.0 -71.0 -73.0 -69.0 -75.0 -69.0 -72.0 -79.0 -77.0 -93.0 -82.0 -78.0 -84.0 -75.0 -73.0 -58.0 -50.0 -62.0 -64.0 -63.0 -67.0 -75.0 -70.0 -59.0 -48.0 -39.0 -43.0 -49.0 -54.0 -61.0 -54.0 -50.0 -49.0 -42.0 -42.0 -39.0 -44.0 -42.0 -49.0 -54.0 -59.0 -66.0 -53.0 -55.0 -55.0 -53.0 -47.0 -41.0 -48.0 -44.0 -37.0 -47.0 -46.0 -54.0 -40.0 -30.0 -30.0 -17.0 -16.0 -10.0 -10.0 -5.0 -7.0 -7.0 -2.0 -7.0 -7.0 -10.0 -16.0 -4.0 -5.0 4.0 10.0 -1.0 -2.0 -13.0 -8.0 -10.0 -12.0 -19.0 -27.0 -14.0 -12.0 -1.0 2.0 2.0 0.0 -11.0 -20.0 -16.0 -10.0 -9.0 -2.0 -13.0 -6.0 -7.0 -13.0 -12.0 -19.0 -12.0 0.0 8.0 6.0 -2.0 -6.0 -8.0 -6.0 4.0 15.0 24.0 23.0 21.0 22.0 18.0 6.0 2.0 5.0 19.0 40.0 52.0 43.0 24.0 5.0 -1.0 3.0 15.0 24.0 29.0 43.0 44.0 52.0 42.0 37.0 31.0 19.0 21.0 29.0 46.0 53.0 55.0 45.0 34.0 25.0 21.0 20.0 24.0 25.0 31.0 41.0 38.0 40.0 25.0 22.0 12.0 11.0 20.0 23.0 37.0 41.0 48.0 47.0 34.0 31.0 23.0 15.0 25.0 33.0 45.0 43.0 39.0 35.0 28.0 31.0 29.0 22.0 15.0 21.0 28.0 38.0 32.0 19.0 17.0 7.0 5.0 0.0 3.0 14.0 23.0 27.0 29.0 24.0 17.0 16.0 15.0 15.0 18.0 32.0 41.0 41.0 31.0 25.0 27.0 32.0 35.0 32.0 32.0 40.0 40.0 39.0 36.0 26.0 26.0 20.0 19.0 22.0 27.0 40.0 47.0 47.0 40.0 35.0 27.0 24.0 38.0 39.0 50.0 54.0 47.0 46.0 39.0 40.0 52.0 58.0 68.0 72.0 69.0 64.0 47.0 42.0 35.0 48.0 59.0 53.0 51.0 49.0 47.0 39.0 38.0 42.0 45.0 40.0 43.0 33.0 28.0 30.0 31.0 43.0 50.0 60.0 61.0 65.0 65.0 59.0 53.0 51.0 48.0 50.0 51.0 45.0 42.0 35.0 25.0 23.0 19.0 22.0 20.0 24.0 20.0 9.0 14.0 5.0 12.0 23.0 26.0 37.0 28.0 35.0 40.0 43.0 38.0 34.0 54.0 59.0 63.0 60.0 48.0 49.0 44.0 42.0 51.0 52.0 53.0 54.0 53.0 48.0 39.0 41.0 38.0 36.0 37.0 41.0 51.0 51.0 56.0 50.0 42.0 37.0 38.0 38.0 35.0 37.0 35.0 45.0 60.0 63.0 55.0 53.0 52.0 54.0 49.0 54.0 60.0 58.0 52.0 51.0 57.0 58.0 64.0 54.0 52.0 46.0 39.0 38.0 38.0 48.0 44.0 41.0 35.0 27.0 23.0 26.0 38.0 43.0 49.0 51.0 42.0 38.0 32.0 37.0 37.0 29.0 35.0 33.0 42.0 41.0 34.0 22.0 14.0 18.0 20.0 28.0 30.0 26.0 18.0 9.0 4.0 7.0 13.0 30.0 34.0 39.0 50.0 50.0 48.0 50.0 47.0 41.0 44.0 56.0 59.0 62.0 66.0 66.0 73.0 69.0 73.0 74.0 66.0 56.0 51.0 51.0 51.0 49.0 58.0 61.0 60.0 66.0 54.0 51.0 51.0 46.0 48.0 48.0 53.0 60.0 68.0 69.0 69.0 69.0 55.0 56.0 58.0 60.0 65.0 64.0 65.0 64.0 60.0 54.0 47.0 45.0 45.0 39.0 47.0 48.0 46.0 47.0 46.0 49.0 54.0 50.0 42.0 42.0 34.0 35.0 45.0 47.0 59.0 65.0 69.0 71.0 56.0 49.0 48.0 53.0 63.0 73.0 70.0 64.0 68.0 58.0 47.0 48.0 50.0 52.0 47.0 45.0 33.0 20.0 14.0 11.0 17.0 22.0 33.0 42.0 42.0 36.0 37.0 36.0 38.0 42.0 46.0 52.0 55.0 56.0 51.0 46.0 37.0 38.0 42.0 52.0 61.0 60.0 52.0 43.0 35.0 32.0 34.0 39.0 29.0 31.0 36.0 34.0 41.0 37.0 38.0 40.0 39.0 28.0 28.0 30.0 40.0 41.0 41.0 55.0 49.0 48.0 48.0 42.0 40.0 45.0 58.0 62.0 67.0 68.0 61.0 57.0 53.0 50.0 53.0 58.0 63.0 61.0 53.0 44.0 35.0 40.0 40.0 38.0 41.0 43.0 52.0 57.0 56.0 60.0 64.0 61.0 58.0 59.0 60.0 64.0 67.0 67.0 70.0 72.0 78.0 81.0 71.0 66.0 70.0 67.0 63.0 51.0 47.0 47.0 52.0 59.0 58.0 60.0 61.0 60.0 53.0 47.0 44.0 44.0 46.0 54.0 60.0 63.0 58.0 42.0 37.0 34.0 44.0 54.0 50.0 49.0 51.0 64.0 63.0 57.0 49.0 48.0 49.0 42.0 46.0 52.0 58.0 60.0 52.0 57.0 54.0 39.0 29.0 27.0 29.0 33.0 40.0 40.0 41.0 42.0 39.0 34.0 24.0 20.0 18.0 28.0 38.0 48.0 59.0 56.0 53.0 48.0 51.0 43.0 34.0 36.0 37.0 45.0 47.0 47.0 43.0 35.0 35.0 35.0 37.0 35.0 32.0 34.0 31.0 39.0 43.0 46.0 40.0 31.0 28.0 25.0 28.0 35.0 36.0 27.0 28.0 25.0 26.0 26.0 19.0 20.0 22.0 21.0 20.0 21.0 20.0 21.0 25.0 23.0 20.0 11.0 8.0 5.0 6.0 14.0 11.0 12.0 13.0 13.0 11.0 11.0 12.0 19.0 21.0 15.0 23.0 23.0 22.0 21.0 20.0 14.0 7.0 4.0 14.0 19.0 29.0 37.0 37.0 42.0 36.0 36.0 26.0 24.0 32.0 37.0 47.0 46.0 43.0 44.0 31.0 24.0 20.0 18.0 24.0 30.0 36.0 34.0 34.0 33.0 30.0 28.0 26.0 25.0 23.0 27.0 30.0 28.0 28.0 26.0 23.0 24.0 24.0 27.0 29.0 26.0 28.0 23.0 20.0 21.0 26.0 29.0 31.0 36.0 37.0 39.0 31.0 22.0 26.0 26.0 26.0 35.0 29.0 27.0 25.0 21.0 22.0 23.0 30.0 32.0 26.0 25.0 23.0 20.0 19.0 14.0 18.0 20.0 27.0 32.0 36.0 37.0 31.0 30.0 32.0 34.0 37.0 38.0 36.0 40.0 39.0 43.0 43.0 46.0 50.0 42.0 36.0 35.0 34.0 32.0 34.0 31.0 32.0 30.0 27.0 35.0 32.0 26.0 25.0 27.0 24.0 22.0 24.0 28.0 33.0 25.0 22.0 16.0 15.0 23.0 28.0 33.0 37.0 32.0 27.0 23.0 22.0 24.0 27.0 29.0 35.0 43.0 43.0 40.0 30.0 28.0 33.0 36.0 37.0 42.0 30.0 24.0 19.0 16.0 20.0 23.0 20.0 22.0 23.0 14.0 18.0 13.0 14.0 23.0 26.0 20.0 24.0 25.0 21.0 23.0 27.0 33.0 29.0 17.0 17.0 13.0 3.0 6.0 1.0 -1.0 -1.0 -3.0 2.0 3.0 -3.0 -8.0 -7.0 1.0 -1.0 -3.0 -10.0 -17.0 -15.0 -14.0 -6.0 -4.0 -6.0 3.0 8.0 13.0 16.0 11.0 6.0 1.0 2.0 1.0 2.0 2.0 2.0 9.0 11.0 12.0 16.0 9.0 2.0 -4.0 -6.0 -4.0 -2.0 1.0 6.0 9.0 2.0 1.0 0.0 0.0 0.0 -5.0 0.0 3.0 1.0 -3.0 -5.0 -12.0 -11.0 -13.0 -17.0 -22.0 -25.0 -12.0 -12.0 -7.0 -8.0 -13.0 -20.0 -31.0 -34.0 -36.0 -32.0 -26.0 -22.0 -20.0 -19.0 -24.0 -28.0 -37.0 -40.0 -34.0 -30.0 -21.0 -19.0 -20.0 -24.0 -24.0 -25.0 -29.0 -29.0 -28.0 -28.0 -31.0 -33.0 -34.0 -31.0 -38.0 -43.0 -42.0 -39.0 -36.0 -41.0 -36.0 -34.0 -38.0 -37.0 -45.0 -43.0 -37.0 -32.0 -25.0 -24.0 -24.0 -25.0 -32.0 -44.0 -47.0 -46.0 -48.0 -39.0 -30.0 -22.0 -25.0 -31.0 -40.0 -46.0 -45.0 -42.0 -34.0 -33.0 -32.0 -36.0 -45.0 -55.0 -60.0 -63.0 -64.0 -58.0 -55.0 -52.0 -48.0 -46.0 -50.0 -55.0 -61.0 -58.0 -56.0 -56.0 -52.0 -55.0 -56.0 -60.0 -62.0 -63.0 -65.0 -66.0 -67.0 -65.0 -60.0 -59.0 -61.0 -57.0 -60.0 -60.0 -57.0 -62.0 -62.0 -63.0 -65.0 -67.0 -67.0 -68.0 -75.0 -75.0 -76.0 -77.0 -75.0 -74.0 -74.0 -73.0 -72.0 -79.0 -77.0 -77.0 -72.0 -68.0 -69.0 -72.0 -74.0 -79.0 -78.0 -76.0 -74.0 -69.0 -67.0 -60.0 -57.0 -59.0 -55.0 -57.0 -60.0 -61.0 -63.0 -62.0 -65.0 -64.0 -61.0 -62.0 -55.0 -55.0 -56.0 -55.0 -59.0 -66.0 -67.0 -65.0 -65.0 -60.0 -55.0 -60.0 -63.0 -67.0 -76.0 -75.0 -72.0 -76.0 -74.0 -72.0 -70.0 -72.0 -70.0 -69.0 -65.0 -67.0 -63.0 -63.0 -66.0 -69.0 -77.0 -78.0 -87.0 -84.0 -81.0 -80.0 -73.0 -71.0 -73.0 -83.0 -88.0 -90.0 -90.0 -87.0 -86.0 -84.0 -81.0 -78.0 -73.0 -73.0 -75.0 -69.0 -74.0 -76.0 -75.0 -73.0 -74.0 -71.0 -70.0 -77.0 -79.0 -82.0 -83.0 -82.0 -77.0 -72.0 -69.0 -68.0 -68.0 -68.0 -69.0 -70.0 -67.0 -67.0 -65.0 -63.0 -65.0 -68.0 -68.0 -68.0 -71.0 -62.0 -66.0 -62.0 -61.0 -66.0 -65.0 -66.0 -63.0 -61.0 -59.0 -60.0 -62.0 -63.0 -68.0 -64.0 -65.0 -64.0 -65.0 -68.0 -68.0 -67.0 -69.0 -68.0 -63.0 -68.0 -69.0 -71.0 -74.0 -75.0 -75.0 -72.0 -71.0 -69.0 -68.0 -65.0 -60.0 -60.0 -53.0 -52.0 -51.0 -44.0 -46.0 -45.0 -50.0 -53.0 -59.0 -57.0 -60.0 -57.0 -54.0 -54.0 -52.0 -53.0 -51.0 -52.0 -48.0 -51.0 -51.0 -51.0 -53.0 -48.0 -45.0 -45.0 -46.0 -49.0 -48.0 -47.0 -51.0 -53.0 -52.0 -53.0 -52.0 -52.0 -51.0 -45.0 -46.0 -44.0 -45.0 -40.0 -42.0 -42.0 -42.0 -40.0 -39.0 -45.0 -46.0 -44.0 -44.0 -43.0 -40.0 -37.0 -34.0 -31.0 -29.0 -38.0 -36.0 -36.0 -41.0 -41.0 -38.0 -37.0 -42.0 -35.0 -42.0 -42.0 -36.0 -38.0 -44.0 -47.0 -44.0 -45.0 -48.0 -49.0 -46.0 -46.0 -47.0 -47.0 -46.0 -46.0 -45.0 -44.0 -44.0 -49.0 -49.0 -51.0 -49.0 -46.0 -46.0 -44.0 -46.0 -47.0 -49.0 -48.0 -45.0 -41.0 -40.0 -40.0 -39.0 -37.0 -38.0 -38.0 -34.0 -26.0 -27.0 -26.0 -25.0 -25.0 -25.0 -23.0 -21.0 -25.0 -23.0 -26.0 -25.0 -22.0 -21.0 -20.0 -15.0 -11.0 -9.0 -10.0 -16.0 -18.0 -19.0 -17.0 -14.0 -14.0 -14.0 -16.0 -19.0 -22.0 -26.0 -26.0 -26.0 -26.0 -24.0 -25.0 -19.0 -17.0 -21.0 -21.0 -20.0 -19.0 -21.0 -23.0 -20.0 -22.0 -16.0 -14.0 -14.0 -12.0 -12.0 -12.0 -10.0 -7.0 -5.0 -5.0 -6.0 -3.0 -2.0 -6.0 -6.0 -7.0 -5.0 -5.0 -5.0 -3.0 -7.0 -7.0 -7.0 -7.0 -10.0 -8.0 -5.0 -1.0 0.0 3.0 5.0 1.0 4.0 0.0 3.0 7.0 7.0 9.0 11.0 11.0 8.0 10.0 6.0 5.0 5.0 3.0 8.0 8.0 9.0 11.0 10.0 12.0 11.0 12.0 14.0 17.0 19.0 17.0 22.0 23.0 21.0 24.0 23.0 25.0 25.0 29.0 31.0 32.0 29.0 29.0 27.0 24.0 24.0 29.0 31.0 34.0 34.0 37.0 37.0 34.0 29.0 29.0 29.0 28.0 32.0 32.0 41.0 45.0 40.0 39.0 36.0 36.0 34.0 37.0 39.0 35.0 37.0 37.0 34.0 33.0 33.0 33.0 33.0 32.0 34.0 37.0 32.0 30.0 32.0 36.0 32.0 35.0 33.0 33.0 38.0 36.0 38.0 36.0 37.0 38.0 43.0 42.0 42.0 40.0 40.0 43.0 43.0 43.0 44.0 44.0 49.0 51.0 55.0 58.0 59.0 58.0 57.0 59.0 60.0 62.0 63.0 65.0 68.0 64.0 61.0 62.0 63.0 64.0 63.0 69.0 68.0 65.0 64.0 64.0 65.0 60.0 61.0 60.0 63.0 66.0 62.0 64.0 64.0 67.0 72.0 71.0 74.0 76.0 75.0 75.0 76.0 73.0 72.0 71.0 67.0 68.0 69.0 71.0 72.0 70.0 67.0 67.0 71.0 69.0 70.0 75.0 72.0 72.0 69.0 66.0 70.0 66.0 69.0 70.0 69.0 68.0 67.0 64.0 57.0 60.0 64.0 63.0 63.0 61.0 63.0 56.0 56.0 59.0 55.0 57.0 59.0 59.0 56.0 56.0 54.0 54.0 49.0 55.0 52.0 49.0 52.0 46.0 46.0 43.0 43.0 46.0 48.0 53.0 49.0 48.0 49.0 47.0 51.0 51.0 54.0 57.0 53.0 55.0 59.0 55.0 55.0 57.0 57.0 57.0 57.0 60.0 61.0 62.0 62.0 61.0 61.0 60.0 59.0 60.0 61.0 58.0 57.0 60.0 55.0 57.0 55.0 51.0 49.0 49.0 50.0 45.0 50.0 50.0 49.0 52.0 47.0 42.0 43.0 50.0 46.0 44.0 44.0 47.0 48.0 43.0 40.0 38.0 39.0 35.0 34.0 34.0 32.0 29.0 28.0 27.0 28.0 27.0 26.0 22.0 25.0 27.0 28.0 24.0 23.0 23.0 20.0 21.0 20.0 22.0 20.0 22.0 22.0 20.0 18.0 14.0 17.0 16.0 18.0 19.0 18.0 21.0 25.0 20.0 15.0 18.0 15.0 16.0 20.0 19.0 16.0 18.0 26.0 24.0 22.0 22.0 21.0 23.0 24.0 28.0 27.0 28.0 27.0 25.0 26.0 30.0 28.0 23.0 26.0 26.0 28.0 28.0 31.0 30.0 29.0 28.0 25.0 28.0 30.0 28.0 30.0 32.0 31.0 29.0 29.0 25.0 22.0 22.0 17.0 23.0 24.0 20.0 20.0 14.0 17.0 17.0 18.0 17.0 19.0 19.0 13.0 14.0 10.0 8.0 10.0 8.0 8.0 10.0 10.0 9.0 6.0 7.0 7.0 3.0 3.0 5.0 7.0 8.0 8.0 4.0 6.0 4.0 -4.0 2.0 3.0 0.0 3.0 3.0 -2.0 0.0 2.0 6.0 7.0 7.0 4.0 4.0 6.0 6.0 8.0 4.0 13.0 10.0 8.0 12.0 14.0 14.0 13.0 12.0 10.0 11.0 7.0 5.0 5.0 5.0 5.0 6.0 4.0 3.0 3.0 3.0 -4.0 -1.0 -1.0 -6.0 -6.0 -3.0 -4.0 -6.0 -11.0 -13.0 -14.0 -15.0 -11.0 -16.0 -15.0 -13.0 -13.0 -19.0 -21.0 -17.0 -20.0 -19.0 -21.0 -16.0 -18.0 -20.0 -21.0 -23.0 -22.0 -25.0 -23.0 -23.0 -22.0 -26.0 -25.0 -24.0 -28.0 -25.0 -24.0 -26.0 -24.0 -27.0 -26.0 -24.0 -22.0 -18.0 -22.0 -18.0 -14.0 -14.0 -10.0 -12.0 -8.0 -11.0 -8.0 -7.0 -10.0 -4.0 -7.0 -8.0 -4.0 -2.0 0.0 3.0 2.0 3.0 5.0 0.0 -2.0 0.0 3.0 -2.0 -3.0 0.0 -2.0 0.0 -2.0 -2.0 -4.0 -5.0 -3.0 -4.0 -5.0 -9.0 -10.0 -11.0 -9.0 -14.0 -11.0 -13.0 -18.0 -14.0 -10.0 -10.0 -11.0 -12.0 -9.0 -6.0 -7.0 -7.0 -11.0 -9.0 -7.0 -7.0 -15.0 -14.0 -16.0 -21.0 -16.0 -22.0 -22.0 -21.0 -23.0 -29.0 -29.0 -26.0 -26.0 -27.0 -30.0 -26.0 -23.0 -29.0 -27.0 -25.0 -26.0 -22.0 -26.0 -23.0 -21.0 -24.0 -22.0 -23.0 -27.0 -22.0 -24.0 -26.0 -26.0 -25.0 -26.0 -31.0 -28.0 -29.0 -28.0 -30.0 -33.0 -35.0 -38.0 -34.0 -39.0 -44.0 -46.0 -46.0 -44.0 -45.0 -46.0 -51.0 -52.0 -51.0 -52.0 -49.0 -45.0 -44.0 -44.0 -46.0 -48.0 -46.0 -46.0 -44.0 -47.0 -47.0 -44.0 -45.0 -48.0 -50.0 -45.0 -44.0 -48.0 -47.0 -48.0 -49.0 -46.0 -52.0 -53.0 -50.0 -52.0 -55.0 -54.0 -51.0 -45.0 -48.0 -52.0 -50.0 -50.0 -50.0 -48.0 -49.0 -50.0 -45.0 -51.0 -50.0 -46.0 -47.0 -46.0 -47.0 -48.0 -45.0 -43.0 -38.0 -39.0 -41.0 -39.0 -39.0 -36.0 -40.0 -40.0 -37.0 -41.0 -41.0 -41.0 -41.0 -40.0 -36.0 -38.0 -36.0 -34.0 -31.0 -35.0 -33.0 -30.0 -33.0 -31.0 -30.0 -34.0 -36.0 -33.0 -28.0 -30.0 -31.0 -26.0 -35.0 -30.0 -34.0 -40.0 -31.0 -34.0 -35.0 -35.0 -35.0 -40.0 -37.0 -40.0 -41.0 -39.0 -36.0 -36.0 -35.0 -34.0 -39.0 -39.0 -37.0 -34.0 -34.0 -32.0 -30.0 -29.0 -28.0 -26.0 -26.0 -25.0 -29.0 -28.0 -25.0 -27.0 -25.0 -26.0 -24.0 -26.0 -26.0 -28.0 -29.0 -24.0 -23.0 -24.0 -21.0 -21.0 -21.0 -23.0 -25.0 -24.0 -27.0 -27.0 -28.0 -32.0 -30.0 -30.0 -26.0 -27.0 -24.0 -27.0 -32.0 -31.0 -30.0 -29.0 -32.0 -31.0 -31.0 -28.0 -26.0 -27.0 -31.0 -31.0 -31.0 -33.0 -33.0 -33.0 -35.0 -33.0 -31.0 -34.0 -31.0 -31.0 -28.0 -31.0 -32.0 -28.0 -28.0 -24.0 -29.0 -26.0 -21.0 -24.0 -26.0 -29.0 -24.0 -21.0 -23.0 -25.0 -27.0 -25.0 -22.0 -20.0 -26.0 -27.0 -26.0 -29.0 -26.0 -22.0 -26.0 -28.0 -25.0 -23.0 -17.0 -19.0 -16.0 -18.0 -21.0 -16.0 -20.0 -17.0 -16.0 -14.0 -14.0 -15.0 -9.0 -11.0 -7.0 -4.0 -5.0 -6.0 -11.0 -13.0 -11.0 -3.0 3.0 -1.0 -8.0 -10.0 -7.0 -1.0 8.0 3.0 -3.0 -2.0 -4.0 -3.0 0.0 4.0 7.0 0.0 -6.0 -8.0 -3.0 1.0 2.0 -4.0 -5.0 -8.0 -5.0 0.0 0.0 7.0 0.0 -4.0 1.0 8.0 9.0 7.0 7.0 9.0 11.0 7.0 6.0 6.0 10.0 8.0 8.0 10.0 11.0 8.0 8.0 12.0 12.0 12.0 11.0 13.0 12.0 16.0 15.0 16.0 17.0 9.0 14.0 17.0 14.0 17.0 13.0 11.0 5.0 7.0 6.0 8.0 4.0 2.0 0.0 -1.0 3.0 -1.0 -3.0 -6.0 -9.0 -5.0 -5.0 -6.0 -7.0 -9.0 -9.0 -6.0 -6.0 -4.0 -6.0 -7.0 -4.0 -7.0 -5.0 -9.0 -7.0 -3.0 -8.0 -3.0 -2.0 0.0 6.0 -1.0 3.0 6.0 7.0 13.0 8.0 13.0 16.0 13.0 13.0 16.0 16.0 14.0 17.0 23.0 20.0 22.0 18.0 17.0 20.0 21.0 20.0 19.0 20.0 17.0 22.0 20.0 22.0 29.0 30.0 29.0 32.0 27.0 29.0 30.0 23.0 26.0 23.0 23.0 20.0 21.0 23.0 21.0 19.0 20.0 21.0 21.0 20.0 24.0 23.0 23.0 19.0 21.0 22.0 24.0 25.0 23.0 22.0 22.0 18.0 20.0 30.0 23.0 23.0 28.0 36.0 33.0 29.0 35.0 34.0 35.0 33.0 35.0 36.0 39.0 37.0 40.0 40.0 40.0 35.0 36.0 45.0 35.0 38.0 40.0 42.0 44.0 42.0 42.0 44.0 47.0 42.0 39.0 41.0 46.0 43.0 41.0 45.0 47.0 46.0 46.0 39.0 43.0 43.0 43.0 44.0 43.0 45.0 43.0 46.0 46.0 50.0 47.0 44.0 47.0 46.0 47.0 52.0 50.0 46.0 49.0 48.0 46.0 53.0 53.0 46.0 46.0 45.0 47.0 48.0 45.0 44.0 45.0 44.0 43.0 44.0 42.0 43.0 43.0 39.0 40.0 44.0 48.0 41.0 43.0 46.0 44.0 41.0 41.0 41.0 41.0 42.0 39.0 41.0 46.0 43.0 41.0 44.0 43.0 43.0 47.0 51.0 43.0 46.0 47.0 46.0 47.0 46.0 46.0 49.0 47.0 44.0 50.0 47.0 43.0 40.0 38.0 40.0 41.0 43.0 43.0 42.0 43.0 39.0 36.0 44.0 40.0 39.0 43.0 41.0 42.0 40.0 39.0 33.0 40.0 43.0 40.0 41.0 38.0 40.0 42.0 40.0 45.0 38.0 35.0 38.0 35.0 35.0 34.0 37.0 41.0 38.0 36.0 39.0 36.0 39.0 41.0 42.0 40.0 39.0 44.0 42.0 44.0 43.0 48.0 46.0 45.0 48.0 49.0 52.0 49.0 50.0 55.0 54.0 54.0 54.0 51.0 50.0 49.0 50.0 53.0 54.0 56.0 57.0 55.0 56.0 56.0 54.0 56.0 56.0 51.0 51.0 55.0 56.0 53.0 51.0 48.0 48.0 50.0 49.0 48.0 48.0 46.0 42.0 40.0 42.0 39.0 36.0 41.0 41.0 40.0 40.0 43.0 44.0 45.0 41.0 41.0 44.0 41.0 45.0 42.0 40.0 42.0 45.0 45.0 45.0 45.0 46.0 47.0 50.0 54.0 50.0 52.0 51.0 51.0 51.0 47.0 48.0 46.0 46.0 45.0 46.0 46.0 45.0 41.0 41.0 45.0 44.0 43.0 41.0 42.0 40.0 41.0 40.0 44.0 42.0 37.0 36.0 35.0 35.0 35.0 36.0 36.0 35.0 31.0 37.0 33.0 32.0 36.0 31.0 27.0 26.0 25.0 24.0 24.0 22.0 21.0 18.0 20.0 18.0 14.0 15.0 11.0 13.0 13.0 14.0 12.0 14.0 12.0 12.0 12.0 9.0 14.0 12.0 10.0 11.0 6.0 2.0 4.0 3.0 3.0 -1.0 0.0 -4.0 -2.0 0.0 -3.0 -3.0 -1.0 -5.0 -10.0 -8.0 -8.0 -9.0 -14.0 -10.0 -9.0 -11.0 -11.0 -13.0 -10.0 -5.0 -7.0 -3.0 1.0 4.0 6.0 7.0 7.0 7.0 9.0 7.0 8.0 7.0 12.0 9.0 8.0 7.0 8.0 1.0 0.0 2.0 4.0 4.0 -2.0 4.0 1.0 -1.0 -1.0 -1.0 -3.0 -2.0 -4.0 1.0 0.0 -3.0 -4.0 -6.0 -10.0 -7.0 -5.0 -10.0 -4.0 -5.0 -8.0 -7.0 -5.0 -6.0 -5.0 -10.0 -14.0 -10.0 -11.0 -11.0 -14.0 -12.0 -12.0 -17.0 -17.0 -13.0 -10.0 -7.0 -10.0 -13.0 -13.0 -14.0 -15.0 -13.0 -12.0 -15.0 -13.0 -11.0 -13.0 -13.0 -14.0 -15.0 -12.0 -10.0 -8.0 -6.0 -9.0 -7.0 -7.0 -8.0 -6.0 -9.0 -14.0 -12.0 -12.0 -18.0 -19.0 -20.0 -21.0 -22.0 -20.0 -20.0 -22.0 -20.0 -24.0 -26.0 -25.0 -28.0 -30.0 -29.0 -34.0 -29.0 -28.0 -28.0 -25.0 -26.0 -25.0 -23.0 -26.0 -26.0 -25.0 -29.0 -28.0 -28.0 -30.0 -29.0 -28.0 -28.0 -32.0 -25.0 -24.0 -25.0 -22.0 -25.0 -21.0 -26.0 -24.0 -21.0 -26.0 -28.0 -30.0 -28.0 -30.0 -28.0 -31.0 -36.0 -33.0 -36.0 -37.0 -35.0 -34.0 -35.0 -40.0 -36.0 -37.0 -35.0 -37.0 -35.0 -33.0 -36.0 -34.0 -34.0 -34.0 -35.0 -36.0 -39.0 -36.0 -37.0 -39.0 -37.0 -38.0 -40.0 -38.0 -40.0 -39.0 -36.0 -37.0 -38.0 -40.0 -38.0 -37.0 -36.0 -36.0 -38.0 -38.0 -37.0 -39.0 -42.0 -41.0 -41.0 -44.0 -42.0 -37.0 -40.0 -43.0 -44.0 -48.0 -52.0 -49.0 -53.0 -53.0 -53.0 -56.0 -58.0 -58.0 -56.0 -56.0 -57.0 -61.0 -63.0 -65.0 -63.0 -60.0 -57.0 -56.0 -58.0 -60.0 -57.0 -56.0 -57.0 -57.0 -59.0 -59.0 -57.0 -55.0 -53.0 -52.0 -56.0 -52.0 -54.0 -54.0 -52.0 -55.0 -54.0 -49.0 -50.0 -52.0 -53.0 -51.0 -51.0 -51.0 -48.0 -50.0 -54.0 -52.0 -51.0 -56.0 -57.0 -61.0 -64.0 -62.0 -64.0 -64.0 -72.0 -74.0 -73.0 -81.0 -81.0 -78.0 -83.0 -79.0 -74.0 -78.0 -80.0 -79.0 -83.0 -76.0 -86.0 -83.0 -85.0 -82.0 -89.0 -44.0 22.0 -60.0 -66.0 -123.0 -153.0 -72.0 -113.0 -104.0 -95.0 -95.0 -55.0 -54.0 -71.0 -106.0 -124.0 -119.0 -122.0 -105.0 -91.0 -91.0 -75.0 -83.0 -87.0 -73.0 -80.0 -76.0 -80.0 -85.0 -83.0 -86.0 -82.0 -84.0 -85.0 -83.0 -83.0 -80.0 -82.0 -94.0 -93.0 -92.0 -89.0 -95.0 -101.0 -105.0 -101.0 -97.0 -102.0 -95.0 -98.0 -103.0 -106.0 -105.0 -98.0 -106.0 -101.0 -105.0 -113.0 -106.0 -105.0 -103.0 -100.0 -105.0 -103.0 -101.0 -103.0 -97.0 -106.0 -98.0 -97.0 -103.0 -102.0 -102.0 -100.0 -104.0 -102.0 -109.0 -101.0 -101.0 -100.0 -101.0 -103.0 -98.0 -104.0 -98.0 -103.0 -100.0 -103.0 -102.0 -95.0 -106.0 -102.0 -108.0 -103.0 -109.0 -104.0 -108.0 -102.0 -102.0 -109.0 -103.0 -109.0 -104.0 -111.0 -99.0 -105.0 -100.0 -104.0 -100.0 -99.0 -100.0 -101.0 -105.0 -108.0 -103.0 -101.0 -103.0 -95.0 -104.0 -89.0 -100.0 -98.0 -93.0 -99.0 -86.0 -94.0 -90.0 -83.0 -91.0 -87.0 -87.0 -92.0 -89.0 -85.0 -86.0 -87.0 -79.0 -88.0 -74.0 -77.0 -80.0 -71.0 -75.0 -72.0 -74.0 -73.0 -78.0 -69.0 -77.0 -65.0 -77.0 -82.0 -77.0 -87.0 -71.0 -71.0 -65.0 -58.0 -72.0 -55.0 -85.0 -55.0 -79.0 -88.0 -60.0 -95.0 -34.0 -87.0 -63.0 -64.0 -98.0 -40.0 -80.0 -62.0 -24.0 -104.0 -15.0 -96.0 -74.0 -25.0 -127.0 -3.0 -116.0 -44.0 -42.0 -92.0 -36.0 -84.0 -42.0 -60.0 -64.0 -42.0 -68.0 -60.0 -35.0 -70.0 -38.0 -47.0 -62.0 -20.0 -51.0 -33.0 -48.0 -38.0 -31.0 -46.0 -31.0 -46.0 -46.0 -22.0 -32.0 -44.0 -6.0 -51.0 -13.0 -35.0 -17.0 -36.0 -14.0 -24.0 -39.0 1.0 -49.0 7.0 -35.0 -1.0 -27.0 -12.0 -12.0 -26.0 11.0 -37.0 7.0 -14.0 -6.0 19.0 -24.0 30.0 -16.0 1.0 23.0 -20.0 11.0 9.0 -7.0 12.0 23.0 -31.0 30.0 -4.0 10.0 1.0 -5.0 -15.0 7.0 12.0 -26.0 20.0 -34.0 15.0 -7.0 -4.0 -19.0 17.0 -22.0 10.0 -4.0 -12.0 4.0 -16.0 16.0 -24.0 43.0 -29.0 29.0 -2.0 -9.0 34.0 -17.0 19.0 16.0 -45.0 75.0 -79.0 86.0 -25.0 -26.0 110.0 -141.0 162.0 -96.0 45.0 24.0 -41.0 45.0 -6.0 0.0 19.0 -7.0 21.0 -25.0 12.0 31.0 -98.0 131.0 -117.0 50.0 2.0 -30.0 26.0 3.0 4.0 0.0 10.0 -10.0 27.0 -19.0 33.0 -2.0 4.0 52.0 -53.0 75.0 -22.0 6.0 71.0 -93.0 144.0 -99.0 120.0 -44.0 71.0 4.0 28.0 83.0 -84.0 163.0 -152.0 173.0 -88.0 72.0 19.0 -15.0 95.0 -45.0 104.0 -51.0 99.0 -36.0 76.0 -24.0 77.0 -22.0 90.0 -34.0 53.0 29.0 -52.0 153.0 -129.0 201.0 -145.0 171.0 -105.0 102.0 -8.0 -24.0 137.0 -139.0 228.0 -160.0 173.0 -88.0 88.0 -10.0 23.0 37.0 -3.0 130.0 -86.0 176.0 -100.0 158.0 -36.0 63.0 52.0 -28.0 112.0 -30.0 80.0 18.0 68.0 33.0 49.0 36.0 49.0 3.0 117.0 -23.0 60.0 59.0 -15.0 113.0 15.0 44.0 77.0 -19.0 96.0 33.0 10.0 108.0 -38.0 101.0 18.0 73.0 15.0 55.0 27.0 25.0 78.0 -21.0 112.0 -36.0 114.0 17.0 33.0 59.0 23.0 50.0 36.0 98.0 -49.0 199.0 -133.0 240.0 -68.0 76.0 136.0 -130.0 257.0 -104.0 136.0 51.0 6.0 75.0 124.0 -130.0 319.0 -184.0 176.0 76.0 -84.0 251.0 -120.0 196.0 -41.0 142.0 -31.0 191.0 -95.0 210.0 -25.0 43.0 172.0 -103.0 216.0 -33.0 54.0 149.0 -53.0 172.0 52.0 -17.0 268.0 -192.0 330.0 -124.0 190.0 82.0 -27.0 244.0 -94.0 219.0 56.0 35.0 143.0 66.0 30.0 268.0 -96.0 222.0 57.0 91.0 141.0 11.0 224.0 -39.0 243.0 4.0 103.0 152.0 -9.0 273.0 -55.0 217.0 44.0 94.0 175.0 1.0 204.0 36.0 95.0 187.0 0.0 162.0 130.0 -40.0 270.0 -73.0 252.0 -10.0 176.0 80.0 37.0 242.0 -121.0 325.0 -29.0 83.0 178.0 -5.0 124.0 129.0 93.0 14.0 208.0 21.0 63.0 246.0 -118.0 336.0 -51.0 147.0 128.0 -32.0 335.0 -187.0 420.0 -113.0 79.0 359.0 -295.0 448.0 -48.0 9.0 346.0 -150.0 262.0 39.0 112.0 189.0 23.0 243.0 -65.0 187.0 162.0 -106.0 397.0 -191.0 275.0 143.0 -102.0 448.0 -298.0 477.0 -77.0 62.0 374.0 -345.0 485.0 -100.0 117.0 349.0 -217.0 479.0 -156.0 250.0 179.0 -109.0 416.0 -147.0 255.0 61.0 156.0 100.0 221.0 11.0 118.0 212.0 2.0 322.0 -65.0 251.0 4.0 206.0 48.0 148.0 154.0 -15.0 304.0 -69.0 258.0 33.0 142.0 106.0 40.0 217.0 -34.0 264.0 51.0 -15.0 308.0 -24.0 104.0 239.0 -80.0 152.0 160.0 -11.0 189.0 180.0 -61.0 223.0 138.0 -69.0 394.0 -57.0 158.0 142.0 15.0 132.0 117.0 146.0 -55.0 395.0 -271.0 437.0 -66.0 -38.0 384.0 -329.0 435.0 -123.0 220.0 21.0 125.0 175.0 -119.0 357.0 -177.0 212.0 73.0 -14.0 257.0 33.0 67.0 120.0 -13.0 181.0 101.0 -3.0 291.0 -195.0 309.0 -25.0 -45.0 436.0 -398.0 480.0 -101.0 -118.0 606.0 -592.0 628.0 -186.0 -4.0 343.0 -327.0 434.0 -177.0 188.0 36.0 98.0 54.0 189.0 -92.0 210.0 61.0 -22.0 222.0 -62.0 104.0 89.0 120.0 -53.0 148.0 -139.0 272.0 -113.0 154.0 133.0 -171.0 403.0 -219.0 102.0 222.0 -163.0 271.0 -40.0 82.0 139.0 -59.0 148.0 40.0 -85.0 202.0 -11.0 -129.0 401.0 -362.0 292.0 106.0 -201.0 309.0 -115.0 -48.0 238.0 -79.0 68.0 171.0 -161.0 258.0 -298.0 442.0 -363.0 229.0 174.0 -509.0 691.0 -418.0 234.0 112.0 -282.0 297.0 -50.0 -93.0 375.0 -439.0 506.0 -335.0 163.0 225.0 -466.0 665.0 -593.0 559.0 -269.0 169.0 47.0 -202.0 226.0 -168.0 140.0 44.0 -25.0 -95.0 234.0 -314.0 431.0 -311.0 206.0 -18.0 -342.0 514.0 -607.0 554.0 -105.0 -238.0 380.0 -225.0 40.0 328.0 -212.0 -30.0 215.0 -293.0 175.0 53.0 -104.0 40.0 76.0 -113.0 190.0 -207.0 217.0 48.0 -216.0 402.0 -228.0 -75.0 481.0 -552.0 450.0 -51.0 -376.0 620.0 -670.0 677.0 -279.0 -91.0 436.0 -722.0 625.0 -68.0 -428.0 807.0 -742.0 368.0 343.0 -774.0 891.0 -714.0 500.0 70.0 -353.0 553.0 -529.0 463.0 -44.0 -148.0 65.0 29.0 -228.0 472.0 -253.0 -24.0 409.0 -541.0 529.0 -236.0 -73.0 251.0 -257.0 193.0 -111.0 -30.0 194.0 -262.0 226.0 -55.0 -12.0 -29.0 154.0 -208.0 197.0 62.0 -177.0 46.0 -87.0 74.0 -94.0 367.0 -544.0 659.0 -542.0 414.0 67.0 -539.0 730.0 -710.0 443.0 -76.0 -144.0 189.0 45.0 -183.0 252.0 -206.0 115.0 46.0 -293.0 367.0 -482.0 501.0 -248.0 -56.0 162.0 -267.0 261.0 -152.0 60.0 -89.0 71.0 -140.0 160.0 -115.0 127.0 -48.0 -89.0 165.0 -195.0 307.0 -240.0 134.0 -94.0 -21.0 90.0 -24.0 -137.0 124.0 70.0 -273.0 415.0 -467.0 132.0 80.0 -223.0 354.0 -366.0 179.0 -95.0 -9.0 182.0 -366.0 378.0 -263.0 -120.0 428.0 -719.0 691.0 -289.0 -109.0 418.0 -672.0 737.0 -676.0 482.0 -64.0 -240.0 267.0 -193.0 -31.0 129.0 17.0 -343.0 407.0 -585.0 360.0 -162.0 -68.0 -55.0 -7.0 -43.0 -64.0 -22.0 -67.0 -103.0 -114.0 279.0 -517.0 517.0 -333.0 -83.0 258.0 -314.0 296.0 -91.0 -237.0 211.0 -189.0 65.0 137.0 -236.0 27.0 -51.0 -110.0 -26.0 24.0 -42.0 -15.0 -36.0 -116.0 -195.0 245.0 -476.0 145.0 47.0 -451.0 488.0 -233.0 8.0 212.0 -415.0 279.0 -290.0 107.0 88.0 -422.0 250.0 -81.0 -23.0 -5.0 54.0 -616.0 514.0 -209.0 -100.0 111.0 -250.0 102.0 -175.0 269.0 -490.0 359.0 -484.0 51.0 161.0 -384.0 330.0 -217.0 -215.0 239.0 -262.0 -66.0 236.0 -529.0 500.0 -465.0 -57.0 231.0 -561.0 398.0 -184.0 -160.0 117.0 -116.0 -256.0 161.0 -82.0 -414.0 414.0 -517.0 72.0 -17.0 -150.0 -31.0 31.0 -96.0 -167.0 352.0 -734.0 563.0 -728.0 305.0 -213.0 -78.0 -46.0 -189.0 318.0 -848.0 900.0 -927.0 218.0 418.0 -859.0 481.0 -31.0 -725.0 793.0 -560.0 -94.0 144.0 -256.0 71.0 -69.0 80.0 -541.0 388.0 -371.0 -151.0 181.0 -292.0 -463.0 876.0 -1047.0 347.0 375.0 -1259.0 1324.0 -995.0 409.0 -89.0 -551.0 487.0 -1094.0 808.0 -359.0 -350.0 486.0 -423.0 -186.0 628.0 -917.0 178.0 245.0 -908.0 835.0 -914.0 152.0 109.0 -432.0 249.0 -215.0 -148.0 -14.0 -107.0 -55.0 -449.0 368.0 -690.0 302.0 -280.0 -242.0 529.0 -702.0 749.0 -970.0 475.0 -243.0 -273.0 398.0 -562.0 41.0 117.0 -781.0 869.0 -835.0 153.0 448.0 -1230.0 1091.0 -988.0 405.0 35.0 -560.0 112.0 211.0 -767.0 1094.0 -1190.0 52.0 587.0 -1537.0 1663.0 -1460.0 595.0 -215.0 -560.0 652.0 -572.0 154.0 -299.0 -294.0 314.0 -160.0 -131.0 366.0 -983.0 697.0 -443.0 -305.0 395.0 -803.0 625.0 -509.0 40.0 90.0 -390.0 241.0 -441.0 -208.0 108.0 -241.0 228.0 116.0 -638.0 131.0 -137.0 -183.0 202.0 -151.0 -322.0 252.0 -100.0 -95.0 65.0 -582.0 471.0 -562.0 -51.0 313.0 -760.0 938.0 -664.0 62.0 7.0 -502.0 687.0 -957.0 576.0 -535.0 45.0 587.0 -1047.0 668.0 -663.0 108.0 307.0 -852.0 693.0 -709.0 264.0 193.0 -573.0 47.0 103.0 -331.0 127.0 -39.0 -542.0 603.0 -472.0 542.0 -830.0 494.0 -243.0 -131.0 533.0 -1026.0 448.0 -305.0 214.0 -405.0 51.0 -293.0 217.0 21.0 -284.0 229.0 -743.0 365.0 -91.0 -387.0 109.0 -191.0 -141.0 85.0 131.0 -621.0 378.0 -315.0 -423.0 679.0 -667.0 29.0 11.0 -410.0 -106.0 496.0 -289.0 -384.0 689.0 -986.0 542.0 420.0 -1419.0 1114.0 -621.0 -368.0 1125.0 -1149.0 176.0 69.0 -777.0 568.0 -198.0 -471.0 358.0 -443.0 -162.0 305.0 -302.0 -252.0 114.0 -470.0 130.0 255.0 -459.0 118.0 -73.0 -302.0 249.0 -44.0 -203.0 220.0 -487.0 148.0 -98.0 -253.0 383.0 -301.0 -406.0 425.0 -577.0 392.0 98.0 -763.0 308.0 -526.0 387.0 -172.0 131.0 -562.0 57.0 -124.0 -182.0 585.0 -850.0 363.0 -199.0 -364.0 622.0 -335.0 -139.0 225.0 -652.0 294.0 -138.0 40.0 -46.0 -95.0 -101.0 -11.0 219.0 -237.0 74.0 -370.0 -131.0 -70.0 350.0 -636.0 444.0 -170.0 -322.0 354.0 -360.0 204.0 -299.0 -183.0 -74.0 -111.0 -261.0 496.0 -724.0 244.0 -118.0 -59.0 152.0 -126.0 38.0 -571.0 781.0 -705.0 232.0 11.0 -195.0 111.0 182.0 -305.0 142.0 76.0 -576.0 1017.0 -1222.0 582.0 271.0 -1046.0 822.0 -340.0 -284.0 359.0 -152.0 -494.0 127.0 -3.0 57.0 -80.0 69.0 -291.0 -103.0 293.0 -573.0 137.0 -367.0 -104.0 273.0 -95.0 -230.0 142.0 -213.0 -92.0 -1.0 -468.0 580.0 -609.0 533.0 -223.0 -327.0 499.0 -540.0 125.0 23.0 -196.0 -74.0 119.0 -300.0 414.0 -533.0 386.0 -192.0 -295.0 521.0 -774.0 440.0 -269.0 -222.0 271.0 -118.0 -318.0 466.0 -439.0 138.0 352.0 -772.0 642.0 -552.0 272.0 -147.0 -302.0 200.0 -160.0 146.0 44.0 -31.0 -453.0 741.0 -605.0 187.0 159.0 -744.0 777.0 -473.0 -208.0 691.0 -600.0 125.0 463.0 -1130.0 847.0 53.0 -488.0 640.0 -852.0 504.0 -7.0 308.0 -338.0 39.0 320.0 -768.0 1183.0 -1031.0 381.0 196.0 -665.0 605.0 -168.0 22.0 226.0 -102.0 -432.0 611.0 -617.0 718.0 -247.0 -317.0 550.0 -514.0 752.0 -467.0 207.0 -261.0 -26.0 358.0 -234.0 433.0 -269.0 125.0 -24.0 147.0 -339.0 518.0 -374.0 -163.0 567.0 -716.0 822.0 -426.0 374.0 -159.0 54.0 77.0 -48.0 95.0 -152.0 179.0 -341.0 619.0 -444.0 434.0 -204.0 -46.0 217.0 -122.0 25.0 141.0 -280.0 204.0 67.0 -308.0 525.0 -271.0 137.0 -80.0 308.0 -231.0 314.0 -167.0 -177.0 414.0 -134.0 225.0 -133.0 17.0 121.0 258.0 -225.0 491.0 -495.0 254.0 332.0 -372.0 486.0 -519.0 642.0 -421.0 87.0 338.0 -397.0 618.0 -242.0 -109.0 511.0 -502.0 318.0 128.0 -542.0 781.0 -346.0 216.0 158.0 -200.0 36.0 257.0 -87.0 134.0 38.0 -142.0 521.0 -224.0 335.0 34.0 -97.0 -70.0 218.0 -402.0 479.0 -174.0 -385.0 851.0 -910.0 777.0 196.0 -577.0 738.0 -406.0 -60.0 583.0 -463.0 270.0 -84.0 -238.0 953.0 -660.0 419.0 77.0 -334.0 613.0 -309.0 236.0 82.0 -154.0 32.0 86.0 40.0 162.0 -223.0 247.0 -276.0 403.0 -44.0 -151.0 166.0 -536.0 733.0 -512.0 468.0 33.0 -299.0 148.0 -188.0 255.0 -30.0 278.0 -302.0 247.0 90.0 116.0 261.0 -336.0 310.0 -121.0 102.0 343.0 -223.0 105.0 95.0 -220.0 578.0 -294.0 267.0 6.0 -328.0 854.0 -674.0 723.0 -351.0 -96.0 359.0 -64.0 400.0 -100.0 114.0 146.0 155.0 -204.0 469.0 -470.0 460.0 -87.0 53.0 348.0 -305.0 692.0 -532.0 279.0 382.0 -769.0 1121.0 -501.0 -110.0 920.0 -928.0 920.0 -265.0 -177.0 484.0 -445.0 442.0 17.0 -245.0 608.0 22.0 -10.0 320.0 -185.0 31.0 262.0 -50.0 425.0 -256.0 53.0 562.0 -398.0 478.0 -165.0 25.0 16.0 172.0 15.0 48.0 218.0 -280.0 259.0 27.0 145.0 15.0 186.0 -144.0 -53.0 598.0 -327.0 254.0 113.0 -358.0 392.0 129.0 74.0 -112.0 45.0 -102.0 454.0 80.0 -64.0 337.0 -348.0 86.0 366.0 -5.0 165.0 -13.0 -280.0 475.0 3.0 205.0 185.0 -216.0 189.0 -4.0 162.0 96.0 349.0 -152.0 -3.0 314.0 -34.0 319.0 164.0 -302.0 180.0 313.0 -228.0 589.0 -383.0 349.0 -34.0 -68.0 677.0 -766.0 758.0 -222.0 -240.0 341.0 -239.0 308.0 68.0 -182.0 16.0 222.0 93.0 244.0 -169.0 86.0 -57.0 128.0 258.0 -208.0 283.0 -53.0 162.0 215.0 48.0 487.0 0.0 -418.0 292.0 147.0 220.0 18.0 -123.0 -95.0 26.0 850.0 -471.0 273.0 -184.0 -140.0 750.0 -461.0 436.0 -41.0 -116.0 228.0 33.0 287.0 64.0 132.0 -112.0 -27.0 121.0 253.0 94.0 93.0 -54.0 -70.0 476.0 -1.0 76.0 0.0 -12.0 -34.0 276.0 276.0 -183.0 311.0 140.0 -166.0 510.0 24.0 -255.0 542.0 -339.0 220.0 307.0 111.0 -73.0 55.0 387.0 -545.0 815.0 -122.0 -317.0 533.0 -505.0 448.0 173.0 -203.0 216.0 -254.0 -50.0 413.0 372.0 -393.0 216.0 177.0 -123.0 852.0 -164.0 -243.0 149.0 41.0 177.0 186.0 -162.0 207.0 -72.0 121.0 496.0 -332.0 413.0 -100.0 -111.0 141.0 127.0 -53.0 200.0 -159.0 -164.0 462.0 -203.0 222.0 -336.0 103.0 177.0 48.0 147.0 -307.0 186.0 98.0 35.0 176.0 95.0 -103.0 430.0 56.0 -201.0 457.0 -4.0 53.0 137.0 -130.0 312.0 -17.0 62.0 36.0 -159.0 315.0 201.0 99.0 -276.0 111.0 -64.0 183.0 216.0 -329.0 -80.0 15.0 341.0 -51.0 157.0 -187.0 -15.0 276.0 48.0 160.0 170.0 -212.0 8.0 187.0 -39.0 260.0 -13.0 -157.0 -55.0 398.0 -176.0 399.0 -162.0 -411.0 505.0 -147.0 -305.0 261.0 -202.0 53.0 184.0 -319.0 490.0 -258.0 380.0 -348.0 -165.0 544.0 -588.0 360.0 -28.0 -308.0 676.0 -230.0 -123.0 607.0 -326.0 118.0 407.0 -589.0 482.0 275.0 -606.0 628.0 -119.0 -137.0 205.0 -38.0 -69.0 16.0 335.0 -552.0 185.0 256.0 -359.0 535.0 -527.0 283.0 442.0 -330.0 -21.0 -187.0 281.0 65.0 199.0 -211.0 -111.0 169.0 47.0 194.0 -54.0 -145.0 22.0 -122.0 337.0 -164.0 -75.0 28.0 -340.0 526.0 -51.0 -56.0 119.0 -284.0 181.0 145.0 -73.0 24.0 -52.0 140.0 26.0 243.0 83.0 -85.0 140.0 -94.0 203.0 102.0 -7.0 183.0 -308.0 197.0 214.0 -112.0 25.0 -294.0 24.0 32.0 35.0 63.0 -358.0 -13.0 119.0 0.0 297.0 -71.0 -247.0 -63.0 165.0 262.0 -118.0 -179.0 65.0 132.0 193.0 -101.0 -49.0 -47.0 248.0 52.0 -202.0 141.0 -80.0 -91.0 17.0 -198.0 17.0 332.0 -245.0 169.0 -12.0 114.0 140.0 -124.0 71.0 -185.0 284.0 96.0 -191.0 82.0 -5.0 94.0 185.0 -244.0 114.0 12.0 14.0 55.0 -45.0 -7.0 -118.0 314.0 -114.0 -131.0 -30.0 -157.0 149.0 -12.0 -21.0 -80.0 -183.0 191.0 -56.0 -163.0 -122.0 -32.0 -113.0 41.0 273.0 -209.0 44.0 -15.0 -60.0 113.0 -16.0 13.0 -162.0 -43.0 199.0 -21.0 48.0 -265.0 11.0 -18.0 62.0 51.0 -365.0 220.0 -228.0 121.0 52.0 -263.0 75.0 1.0 31.0 -4.0 -214.0 -36.0 30.0 -35.0 89.0 -170.0 129.0 -116.0 99.0 153.0 -441.0 224.0 40.0 -242.0 272.0 -248.0 -184.0 232.0 -169.0 55.0 9.0 -252.0 -65.0 23.0 -40.0 -117.0 170.0 -358.0 52.0 219.0 -160.0 255.0 -181.0 -180.0 117.0 83.0 -34.0 184.0 -261.0 64.0 62.0 93.0 100.0 -336.0 -1.0 -256.0 104.0 21.0 -111.0 -284.0 -81.0 109.0 -10.0 0.0 -181.0 -235.0 36.0 43.0 -193.0 0.0 -213.0 -61.0 8.0 -161.0 -88.0 14.0 -207.0 -57.0 -19.0 -175.0 67.0 -92.0 69.0 -64.0 -179.0 -4.0 -88.0 133.0 -33.0 -223.0 1.0 -52.0 64.0 144.0 -276.0 -317.0 135.0 40.0 -93.0 -178.0 -408.0 57.0 41.0 -28.0 -120.0 -299.0 -200.0 -76.0 -5.0 -148.0 -56.0 -293.0 -134.0 156.0 -57.0 -187.0 18.0 -364.0 -13.0 119.0 -193.0 89.0 -307.0 -117.0 23.0 -43.0 -37.0 -136.0 -299.0 38.0 43.0 -165.0 -152.0 -221.0 -84.0 102.0 -50.0 -206.0 -110.0 -212.0 1.0 -29.0 -213.0 -355.0 42.0 -159.0 -130.0 34.0 -270.0 32.0 -235.0 -99.0 50.0 -154.0 -123.0 -136.0 -14.0 12.0 -25.0 -104.0 -241.0 14.0 -18.0 -117.0 -41.0 -351.0 42.0 -15.0 -211.0 11.0 -325.0 -130.0 -106.0 -54.0 -206.0 -255.0 15.0 -284.0 22.0 -172.0 -168.0 107.0 -230.0 -99.0 -68.0 -151.0 -154.0 -11.0 -162.0 -104.0 31.0 -168.0 -33.0 -32.0 -211.0 29.0 -64.0 -184.0 -8.0 -217.0 31.0 -21.0 -152.0 -190.0 -34.0 32.0 -137.0 -29.0 -240.0 -73.0 -58.0 -61.0 -39.0 -233.0 -176.0 -78.0 3.0 -47.0 -192.0 -105.0 -156.0 -53.0 105.0 -231.0 -103.0 -39.0 -191.0 50.0 119.0 -317.0 -82.0 -77.0 -146.0 73.0 -115.0 -74.0 -259.0 -118.0 -32.0 -113.0 -145.0 -295.0 -105.0 -26.0 -129.0 -100.0 -122.0 -102.0 -122.0 15.0 -152.0 -118.0 14.0 -85.0 93.0 -63.0 -146.0 -23.0 35.0 -38.0 -13.0 -81.0 -54.0 88.0 36.0 -67.0 -123.0 -117.0 8.0 45.0 -170.0 -79.0 -33.0 -85.0 16.0 -100.0 -58.0 -14.0 -92.0 -21.0 -120.0 -50.0 76.0 -147.0 -63.0 49.0 -22.0 6.0 -108.0 -96.0 -86.0 25.0 -9.0 -167.0 -77.0 1.0 38.0 -87.0 -119.0 -145.0 -27.0 90.0 -6.0 -98.0 -97.0 -50.0 0.0 63.0 -37.0 -143.0 -91.0 -11.0 -11.0 43.0 -55.0 0.0 11.0 37.0 17.0 -82.0 78.0 -15.0 12.0 33.0 -7.0 84.0 -6.0 33.0 1.0 3.0 23.0 22.0 75.0 -55.0 114.0 34.0 -35.0 58.0 14.0 -57.0 27.0 18.0 -75.0 -12.0 -175.0 -63.0 -50.0 -65.0 -128.0 -181.0 -187.0 -93.0 -59.0 -207.0 -134.0 -104.0 -112.0 -51.0 -75.0 -185.0 -43.0 -87.0 -22.0 -52.0 -102.0 -27.0 -27.0 44.0 60.0 58.0 -33.0 85.0 87.0 152.0 72.0 40.0 123.0 118.0 226.0 114.0 92.0 101.0 77.0 119.0 199.0 91.0 76.0 106.0 2.0 85.0 180.0 118.0 -12.0 -5.0 55.0 85.0 82.0 -22.0 -49.0 -3.0 -84.0 -15.0 -74.0 -259.0 -132.0 -75.0 -200.0 -158.0 -149.0 -248.0 -163.0 -184.0 -306.0 -252.0 -270.0 -309.0 -208.0 -270.0 -287.0 -249.0 -278.0 -213.0 -167.0 -159.0 -155.0 -131.0 -23.0 45.0 27.0 9.0 72.0 101.0 92.0 246.0 164.0 128.0 233.0 184.0 283.0 294.0 228.0 292.0 274.0 276.0 380.0 271.0 301.0 368.0 265.0 271.0 282.0 370.0 327.0 231.0 223.0 297.0 258.0 146.0 125.0 1.0 22.0 1.0 -127.0 -152.0 -231.0 -267.0 -188.0 -354.0 -449.0 -419.0 -514.0 -508.0 -630.0 -603.0 -561.0 -663.0 -654.0 -612.0 -607.0 -574.0 -557.0 -572.0 -493.0 -438.0 -352.0 -293.0 -256.0 -203.0 -98.0 -33.0 58.0 178.0 235.0 281.0 328.0 411.0 525.0 621.0 565.0 660.0 691.0 731.0 886.0 815.0 795.0 877.0 861.0 910.0 881.0 719.0 725.0 753.0 686.0 599.0 537.0 395.0 288.0 237.0 50.0 -69.0 -116.0 -263.0 -371.0 -447.0 -510.0 -544.0 -682.0 -830.0 -798.0 -863.0 -948.0 -960.0 -1057.0 -1031.0 -1036.0 -1020.0 -1013.0 -1055.0 -983.0 -830.0 -698.0 -668.0 -627.0 -406.0 -236.0 -159.0 -21.0 104.0 233.0 344.0 489.0 557.0 627.0 809.0 782.0 836.0 935.0 916.0 997.0 981.0 1011.0 977.0 977.0 1008.0 926.0 854.0 861.0 760.0 688.0 755.0 619.0 581.0 502.0 383.0 359.0 306.0 243.0 79.0 8.0 28.0 -68.0 -134.0 -300.0 -405.0 -463.0 -615.0 -667.0 -736.0 -800.0 -960.0 -1053.0 -1084.0 -1116.0 -1163.0 -1278.0 -1357.0 -1363.0 -1260.0 -1233.0 -1133.0 -1013.0 -967.0 -746.0 -555.0 -453.0 -236.0 -15.0 84.0 241.0 528.0 687.0 798.0 995.0 1039.0 1110.0 1277.0 1335.0 1416.0 1442.0 1422.0 1416.0 1393.0 1388.0 1318.0 1150.0 995.0 959.0 926.0 817.0 688.0 502.0 412.0 384.0 274.0 157.0 29.0 -90.0 -245.0 -286.0 -347.0 -491.0 -572.0 -709.0 -774.0 -896.0 -927.0 -928.0 -1132.0 -1210.0 -1268.0 -1292.0 -1282.0 -1339.0 -1509.0 -1577.0 -1410.0 -1355.0 -1226.0 -1102.0 -1074.0 -853.0 -600.0 -384.0 -217.0 -57.0 125.0 351.0 621.0 682.0 912.0 1111.0 1160.0 1337.0 1421.0 1497.0 1619.0 1668.0 1575.0 1621.0 1618.0 1481.0 1481.0 1343.0 1128.0 1108.0 967.0 855.0 779.0 641.0 541.0 395.0 295.0 134.0 126.0 -18.0 -216.0 -249.0 -373.0 -420.0 -493.0 -631.0 -748.0 -829.0 -918.0 -1010.0 -984.0 -1122.0 -1267.0 -1313.0 -1440.0 -1374.0 -1438.0 -1564.0 -1621.0 -1582.0 -1413.0 -1330.0 -1118.0 -1105.0 -988.0 -657.0 -514.0 -239.0 -61.0 118.0 292.0 533.0 811.0 909.0 1158.0 1271.0 1331.0 1485.0 1603.0 1704.0 1694.0 1711.0 1738.0 1649.0 1580.0 1501.0 1385.0 1192.0 1052.0 976.0 807.0 779.0 643.0 462.0 361.0 232.0 149.0 17.0 -60.0 -224.0 -338.0 -420.0 -482.0 -507.0 -691.0 -764.0 -800.0 -970.0 -1012.0 -982.0 -1139.0 -1290.0 -1337.0 -1472.0 -1510.0 -1452.0 -1611.0 -1619.0 -1599.0 -1521.0 -1293.0 -1161.0 -1051.0 -921.0 -685.0 -488.0 -190.0 57.0 174.0 382.0 620.0 865.0 1095.0 1210.0 1342.0 1463.0 1575.0 1715.0 1797.0 1842.0 1792.0 1796.0 1688.0 1554.0 1499.0 1336.0 1147.0 997.0 868.0 714.0 619.0 495.0 312.0 186.0 26.0 -95.0 -204.0 -284.0 -370.0 -527.0 -603.0 -636.0 -686.0 -752.0 -815.0 -906.0 -1049.0 -1076.0 -1050.0 -1164.0 -1239.0 -1323.0 -1471.0 -1470.0 -1403.0 -1496.0 -1501.0 -1457.0 -1449.0 -1183.0 -943.0 -853.0 -750.0 -564.0 -315.0 -10.0 256.0 397.0 509.0 726.0 1013.0 1231.0 1366.0 1455.0 1538.0 1632.0 1757.0 1840.0 1868.0 1799.0 1703.0 1596.0 1494.0 1415.0 1268.0 1031.0 841.0 698.0 574.0 503.0 320.0 178.0 86.0 -137.0 -249.0 -239.0 -413.0 -530.0 -545.0 -659.0 -688.0 -682.0 -782.0 -817.0 -866.0 -999.0 -1025.0 -1007.0 -1077.0 -1151.0 -1257.0 -1361.0 -1355.0 -1296.0 -1351.0 -1404.0 -1365.0 -1290.0 -1039.0 -847.0 -765.0 -603.0 -400.0 -238.0 38.0 292.0 465.0 612.0 781.0 1023.0 1213.0 1367.0 1439.0 1538.0 1645.0 1724.0 1751.0 1778.0 1743.0 1655.0 1494.0 1330.0 1266.0 1108.0 907.0 763.0 601.0 427.0 398.0 223.0 27.0 -37.0 -225.0 -339.0 -365.0 -485.0 -576.0 -547.0 -676.0 -740.0 -665.0 -736.0 -757.0 -803.0 -936.0 -952.0 -914.0 -983.0 -1068.0 -1128.0 -1220.0 -1217.0 -1160.0 -1197.0 -1226.0 -1167.0 -1126.0 -955.0 -737.0 -638.0 -495.0 -300.0 -98.0 135.0 370.0 516.0 677.0 883.0 1022.0 1195.0 1359.0 1446.0 1519.0 1567.0 1644.0 1654.0 1651.0 1620.0 1528.0 1385.0 1176.0 1084.0 913.0 744.0 600.0 379.0 212.0 118.0 64.0 -100.0 -251.0 -388.0 -536.0 -537.0 -575.0 -637.0 -670.0 -728.0 -712.0 -644.0 -659.0 -686.0 -673.0 -757.0 -786.0 -737.0 -765.0 -851.0 -896.0 -955.0 -962.0 -931.0 -985.0 -1011.0 -972.0 -913.0 -831.0 -653.0 -563.0 -442.0 -233.0 -111.0 105.0 314.0 464.0 600.0 773.0 932.0 1034.0 1204.0 1307.0 1391.0 1474.0 1475.0 1511.0 1530.0 1485.0 1447.0 1290.0 1080.0 963.0 877.0 705.0 522.0 375.0 175.0 77.0 38.0 -99.0 -227.0 -388.0 -522.0 -516.0 -562.0 -611.0 -637.0 -677.0 -658.0 -608.0 -600.0 -612.0 -610.0 -656.0 -711.0 -737.0 -707.0 -736.0 -809.0 -862.0 -895.0 -868.0 -852.0 -906.0 -925.0 -848.0 -819.0 -695.0 -570.0 -467.0 -336.0 -186.0 -20.0 152.0 353.0 467.0 625.0 727.0 851.0 1014.0 1117.0 1179.0 1235.0 1300.0 1297.0 1317.0 1307.0 1270.0 1186.0 1007.0 853.0 748.0 641.0 499.0 325.0 170.0 71.0 58.0 -55.0 -187.0 -284.0 -398.0 -423.0 -447.0 -493.0 -509.0 -491.0 -487.0 -448.0 -415.0 -433.0 -436.0 -441.0 -491.0 -568.0 -534.0 -572.0 -659.0 -693.0 -783.0 -774.0 -802.0 -840.0 -886.0 -846.0 -823.0 -808.0 -633.0 -529.0 -415.0 -309.0 -172.0 2.0 181.0 302.0 427.0 533.0 643.0 798.0 884.0 971.0 1046.0 1098.0 1132.0 1191.0 1191.0 1143.0 1132.0 1012.0 860.0 771.0 627.0 538.0 424.0 255.0 162.0 117.0 25.0 -99.0 -144.0 -257.0 -356.0 -361.0 -410.0 -448.0 -435.0 -439.0 -423.0 -391.0 -422.0 -391.0 -379.0 -446.0 -521.0 -541.0 -545.0 -633.0 -624.0 -720.0 -776.0 -750.0 -818.0 -843.0 -859.0 -843.0 -861.0 -758.0 -633.0 -550.0 -431.0 -330.0 -196.0 -15.0 112.0 194.0 346.0 437.0 546.0 670.0 793.0 870.0 926.0 1012.0 1028.0 1088.0 1091.0 1105.0 1044.0 919.0 830.0 731.0 667.0 528.0 437.0 347.0 265.0 187.0 100.0 35.0 -74.0 -176.0 -255.0 -280.0 -309.0 -334.0 -355.0 -369.0 -358.0 -369.0 -385.0 -403.0 -435.0 -528.0 -624.0 -621.0 -675.0 -679.0 -777.0 -870.0 -841.0 -881.0 -933.0 -979.0 -962.0 -1004.0 -910.0 -799.0 -723.0 -605.0 -488.0 -356.0 -220.0 -57.0 54.0 188.0 275.0 402.0 516.0 654.0 768.0 823.0 935.0 1016.0 1083.0 1115.0 1144.0 1142.0 1043.0 944.0 864.0 778.0 698.0 594.0 497.0 424.0 376.0 269.0 180.0 99.0 -33.0 -98.0 -157.0 -222.0 -254.0 -264.0 -275.0 -289.0 -284.0 -333.0 -337.0 -352.0 -442.0 -515.0 -576.0 -607.0 -672.0 -706.0 -812.0 -881.0 -918.0 -971.0 -1002.0 -1057.0 -1095.0 -1102.0 -993.0 -896.0 -822.0 -724.0 -601.0 -446.0 -272.0 -165.0 -50.0 107.0 208.0 318.0 491.0 593.0 711.0 861.0 927.0 1013.0 1110.0 1135.0 1144.0 1148.0 1047.0 1000.0 941.0 829.0 770.0 710.0 608.0 548.0 481.0 344.0 283.0 182.0 32.0 -20.0 -98.0 -188.0 -192.0 -234.0 -280.0 -280.0 -325.0 -363.0 -374.0 -452.0 -568.0 -625.0 -673.0 -737.0 -781.0 -875.0 -970.0 -987.0 -1046.0 -1121.0 -1147.0 -1199.0 -1229.0 -1182.0 -1114.0 -1011.0 -874.0 -794.0 -660.0 -491.0 -351.0 -219.0 -47.0 84.0 168.0 361.0 491.0 635.0 796.0 915.0 1024.0 1106.0 1181.0 1225.0 1278.0 1210.0 1155.0 1099.0 985.0 962.0 874.0 774.0 694.0 627.0 470.0 401.0 328.0 156.0 57.0 -73.0 -144.0 -179.0 -196.0 -290.0 -317.0 -339.0 -406.0 -414.0 -460.0 -555.0 -641.0 -695.0 -767.0 -792.0 -858.0 -951.0 -1005.0 -1069.0 -1130.0 -1154.0 -1198.0 -1247.0 -1251.0 -1199.0 -1079.0 -961.0 -873.0 -766.0 -595.0 -449.0 -303.0 -171.0 -37.0 93.0 229.0 399.0 533.0 731.0 866.0 991.0 1120.0 1197.0 1283.0 1369.0 1375.0 1287.0 1284.0 1187.0 1141.0 1108.0 1007.0 933.0 847.0 736.0 599.0 554.0 363.0 208.0 103.0 -34.0 -111.0 -169.0 -259.0 -324.0 -348.0 -445.0 -474.0 -512.0 -620.0 -707.0 -782.0 -868.0 -880.0 -905.0 -993.0 -1072.0 -1097.0 -1145.0 -1154.0 -1193.0 -1262.0 -1235.0 -1210.0 -1123.0 -1001.0 -874.0 -771.0 -619.0 -455.0 -326.0 -158.0 -39.0 84.0 246.0 387.0 530.0 699.0 837.0 974.0 1112.0 1189.0 1291.0 1336.0 1392.0 1392.0 1316.0 1283.0 1215.0 1140.0 1058.0 1003.0 900.0 805.0 698.0 574.0 455.0 318.0 208.0 71.0 -38.0 -126.0 -181.0 -250.0 -331.0 -361.0 -405.0 -470.0 -567.0 -629.0 -729.0 -803.0 -864.0 -923.0 -923.0 -1022.0 -1067.0 -1096.0 -1143.0 -1178.0 -1230.0 -1242.0 -1241.0 -1168.0 -1073.0 -999.0 -844.0 -683.0 -527.0 -404.0 -233.0 -80.0 61.0 230.0 347.0 517.0 667.0 843.0 976.0 1123.0 1220.0 1335.0 1413.0 1439.0 1496.0 1442.0 1420.0 1315.0 1249.0 1170.0 1073.0 995.0 861.0 780.0 648.0 478.0 344.0 203.0 69.0 -60.0 -192.0 -275.0 -331.0 -416.0 -472.0 -519.0 -557.0 -586.0 -683.0 -756.0 -828.0 -868.0 -902.0 -926.0 -953.0 -1009.0 -1059.0 -1089.0 -1103.0 -1128.0 -1151.0 -1158.0 -1110.0 -1056.0 -894.0 -780.0 -645.0 -500.0 -357.0 -206.0 -74.0 97.0 231.0 373.0 469.0 640.0 805.0 969.0 1086.0 1224.0 1324.0 1402.0 1484.0 1482.0 1518.0 1436.0 1391.0 1320.0 1214.0 1111.0 1031.0 919.0 775.0 680.0 507.0 363.0 216.0 70.0 -74.0 -180.0 -312.0 -385.0 -432.0 -523.0 -539.0 -590.0 -628.0 -676.0 -737.0 -812.0 -883.0 -894.0 -933.0 -936.0 -964.0 -1026.0 -1050.0 -1069.0 -1083.0 -1121.0 -1097.0 -1124.0 -1076.0 -981.0 -870.0 -730.0 -552.0 -397.0 -310.0 -128.0 35.0 175.0 338.0 502.0 599.0 788.0 953.0 1055.0 1235.0 1362.0 1405.0 1480.0 1534.0 1505.0 1514.0 1480.0 1326.0 1244.0 1163.0 993.0 910.0 803.0 636.0 490.0 344.0 159.0 38.0 -73.0 -250.0 -333.0 -423.0 -505.0 -547.0 -588.0 -631.0 -651.0 -660.0 -725.0 -748.0 -808.0 -851.0 -883.0 -857.0 -872.0 -910.0 -961.0 -1020.0 -1010.0 -1057.0 -1033.0 -1073.0 -1058.0 -1009.0 -903.0 -754.0 -654.0 -443.0 -367.0 -193.0 -50.0 50.0 275.0 378.0 521.0 659.0 831.0 937.0 1083.0 1264.0 1299.0 1417.0 1459.0 1447.0 1476.0 1420.0 1357.0 1256.0 1138.0 1007.0 886.0 781.0 636.0 519.0 350.0 212.0 58.0 -83.0 -187.0 -300.0 -399.0 -475.0 -519.0 -569.0 -588.0 -604.0 -615.0 -614.0 -637.0 -672.0 -713.0 -762.0 -749.0 -747.0 -760.0 -788.0 -816.0 -870.0 -884.0 -914.0 -935.0 -920.0 -934.0 -854.0 -783.0 -647.0 -565.0 -382.0 -261.0 -169.0 23.0 79.0 287.0 422.0 549.0 702.0 853.0 964.0 1058.0 1233.0 1276.0 1371.0 1411.0 1370.0 1369.0 1347.0 1226.0 1129.0 1056.0 875.0 771.0 652.0 486.0 378.0 257.0 90.0 -46.0 -141.0 -284.0 -360.0 -417.0 -536.0 -542.0 -567.0 -629.0 -607.0 -608.0 -624.0 -628.0 -628.0 -678.0 -701.0 -671.0 -691.0 -678.0 -686.0 -734.0 -785.0 -813.0 -838.0 -850.0 -831.0 -833.0 -793.0 -674.0 -571.0 -486.0 -287.0 -194.0 -68.0 67.0 182.0 317.0 452.0 600.0 685.0 865.0 959.0 1047.0 1185.0 1257.0 1295.0 1335.0 1313.0 1245.0 1232.0 1131.0 987.0 919.0 778.0 648.0 537.0 402.0 280.0 175.0 17.0 -107.0 -170.0 -310.0 -366.0 -438.0 -481.0 -512.0 -527.0 -554.0 -549.0 -530.0 -546.0 -537.0 -559.0 -578.0 -637.0 -585.0 -613.0 -593.0 -635.0 -705.0 -713.0 -775.0 -780.0 -793.0 -771.0 -776.0 -697.0 -643.0 -532.0 -424.0 -270.0 -160.0 -53.0 84.0 170.0 344.0 477.0 614.0 713.0 865.0 962.0 1050.0 1163.0 1209.0 1243.0 1280.0 1250.0 1194.0 1160.0 1085.0 930.0 840.0 734.0 587.0 482.0 338.0 218.0 101.0 -6.0 -152.0 -211.0 -302.0 -404.0 -415.0 -455.0 -490.0 -505.0 -498.0 -506.0 -487.0 -471.0 -461.0 -475.0 -501.0 -533.0 -518.0 -495.0 -537.0 -515.0 -595.0 -635.0 -677.0 -698.0 -726.0 -761.0 -701.0 -723.0 -612.0 -550.0 -474.0 -354.0 -237.0 -131.0 -26.0 125.0 210.0 380.0 485.0 609.0 748.0 828.0 950.0 996.0 1098.0 1105.0 1140.0 1139.0 1070.0 1105.0 973.0 885.0 795.0 672.0 568.0 438.0 321.0 186.0 78.0 -37.0 -150.0 -198.0 -285.0 -368.0 -394.0 -441.0 -448.0 -459.0 -463.0 -469.0 -437.0 -401.0 -417.0 -410.0 -410.0 -464.0 -479.0 -441.0 -477.0 -498.0 -512.0 -586.0 -611.0 -624.0 -683.0 -748.0 -688.0 -704.0 -689.0 -576.0 -570.0 -448.0 -351.0 -267.0 -164.0 -10.0 80.0 214.0 391.0 426.0 607.0 715.0 760.0 868.0 945.0 928.0 1002.0 1023.0 958.0 997.0 922.0 796.0 774.0 688.0 502.0 469.0 320.0 161.0 120.0 1.0 -118.0 -130.0 -195.0 -309.0 -291.0 -351.0 -392.0 -366.0 -390.0 -399.0 -364.0 -354.0 -381.0 -335.0 -356.0 -387.0 -401.0 -456.0 -455.0 -478.0 -505.0 -577.0 -605.0 -667.0 -700.0 -729.0 -793.0 -739.0 -757.0 -707.0 -658.0 -578.0 -494.0 -438.0 -299.0 -208.0 -84.0 71.0 192.0 287.0 421.0 520.0 613.0 725.0 780.0 788.0 842.0 895.0 870.0 903.0 849.0 776.0 731.0 667.0 559.0 482.0 382.0 251.0 175.0 81.0 14.0 -59.0 -86.0 -123.0 -167.0 -185.0 -196.0 -201.0 -207.0 -199.0 -193.0 -170.0 -164.0 -192.0 -183.0 -190.0 -225.0 -279.0 -329.0 -357.0 -403.0 -434.0 -471.0 -530.0 -594.0 -678.0 -713.0 -746.0 -787.0 -770.0 -783.0 -709.0 -698.0 -659.0 -551.0 -494.0 -351.0 -230.0 -129.0 -22.0 128.0 196.0 269.0 423.0 447.0 519.0 583.0 593.0 641.0 672.0 657.0 646.0 666.0 569.0 540.0 484.0 400.0 337.0 270.0 213.0 144.0 132.0 76.0 71.0 49.0 27.0 34.0 28.0 20.0 9.0 30.0 26.0 24.0 19.0 24.0 25.0 -16.0 -25.0 -84.0 -160.0 -241.0 -310.0 -360.0 -412.0 -491.0 -596.0 -658.0 -726.0 -778.0 -783.0 -837.0 -845.0 -822.0 -858.0 -774.0 -749.0 -673.0 -585.0 -534.0 -412.0 -281.0 -171.0 -54.0 29.0 118.0 176.0 241.0 312.0 309.0 417.0 371.0 442.0 454.0 425.0 486.0 438.0 427.0 370.0 361.0 314.0 287.0 298.0 256.0 253.0 261.0 257.0 274.0 277.0 276.0 295.0 315.0 316.0 304.0 311.0 296.0 272.0 278.0 224.0 210.0 132.0 50.0 -34.0 -126.0 -254.0 -298.0 -363.0 -471.0 -522.0 -651.0 -696.0 -749.0 -749.0 -883.0 -826.0 -879.0 -903.0 -781.0 -886.0 -758.0 -732.0 -704.0 -541.0 -505.0 -407.0 -326.0 -243.0 -138.0 -123.0 -20.0 -15.0 69.0 123.0 117.0 203.0 213.0 237.0 264.0 250.0 329.0 306.0 357.0 411.0 360.0 459.0 455.0 505.0 529.0 543.0 552.0 587.0 627.0 587.0 620.0 658.0 626.0 630.0 621.0 556.0 518.0 431.0 306.0 238.0 160.0 46.0 -84.0 -161.0 -285.0 -409.0 -534.0 -612.0 -633.0 -771.0 -720.0 -948.0 -864.0 -884.0 -991.0 -822.0 -906.0 -919.0 -838.0 -809.0 -807.0 -640.0 -687.0 -514.0 -552.0 -447.0 -414.0 -381.0 -225.0 -285.0 -167.0 -143.0 -73.0 -47.0 29.0 0.0 104.0 119.0 181.0 224.0 264.0 348.0 353.0 494.0 528.0 606.0 671.0 736.0 821.0 838.0 868.0 904.0 872.0 879.0 891.0 856.0 851.0 777.0 696.0 605.0 521.0 413.0 262.0 147.0 12.0 -141.0 -235.0 -292.0 -513.0 -506.0 -710.0 -758.0 -807.0 -949.0 -871.0 -1003.0 -886.0 -1000.0 -898.0 -952.0 -878.0 -774.0 -862.0 -635.0 -709.0 -654.0 -538.0 -557.0 -511.0 -374.0 -459.0 -294.0 -228.0 -266.0 -86.0 -136.0 -97.0 -7.0 0.0 92.0 180.0 138.0 308.0 283.0 358.0 531.0 467.0 672.0 691.0 732.0 807.0 842.0 853.0 880.0 934.0 858.0 926.0 823.0 810.0 730.0 702.0 634.0 501.0 486.0 260.0 243.0 74.0 -76.0 -106.0 -373.0 -347.0 -519.0 -630.0 -538.0 -826.0 -693.0 -801.0 -879.0 -754.0 -927.0 -779.0 -844.0 -840.0 -805.0 -796.0 -651.0 -720.0 -592.0 -572.0 -590.0 -432.0 -379.0 -412.0 -194.0 -230.0 -231.0 -70.0 -116.0 167.0 92.0 93.0 234.0 152.0 403.0 475.0 406.0 694.0 541.0 652.0 819.0 716.0 879.0 799.0 925.0 734.0 878.0 774.0 677.0 820.0 560.0 623.0 493.0 474.0 212.0 410.0 81.0 35.0 131.0 -282.0 -192.0 -284.0 -427.0 -434.0 -386.0 -702.0 -422.0 -693.0 -629.0 -614.0 -674.0 -643.0 -764.0 -576.0 -812.0 -574.0 -542.0 -664.0 -565.0 -480.0 -603.0 -366.0 -484.0 -445.0 -272.0 -373.0 -205.0 -166.0 -91.0 -92.0 166.0 51.0 161.0 274.0 172.0 455.0 489.0 492.0 748.0 583.0 859.0 857.0 785.0 1166.0 582.0 1130.0 765.0 794.0 1015.0 568.0 841.0 625.0 657.0 532.0 500.0 240.0 263.0 75.0 85.0 -58.0 -173.0 -211.0 -342.0 -413.0 -390.0 -453.0 -660.0 -335.0 -847.0 -507.0 -686.0 -640.0 -522.0 -727.0 -520.0 -734.0 -344.0 -622.0 -433.0 -368.0 -515.0 -432.0 -237.0 -620.0 -40.0 -313.0 -343.0 100.0 -347.0 281.0 -173.0 251.0 -131.0 332.0 146.0 278.0 633.0 143.0 773.0 458.0 775.0 693.0 618.0 682.0 739.0 841.0 795.0 847.0 779.0 723.0 721.0 672.0 616.0 526.0 532.0 286.0 570.0 -104.0 278.0 111.0 -143.0 339.0 -548.0 67.0 -434.0 -358.0 -82.0 -459.0 -371.0 -348.0 -676.0 -313.0 -432.0 -611.0 -234.0 -656.0 -220.0 -440.0 -424.0 -160.0 -525.0 -95.0 -456.0 -229.0 -179.0 -352.0 -29.0 -314.0 83.0 -282.0 41.0 -28.0 62.0 276.0 82.0 266.0 155.0 252.0 429.0 350.0 452.0 498.0 362.0 720.0 390.0 666.0 675.0 526.0 727.0 430.0 596.0 539.0 367.0 636.0 221.0 365.0 326.0 31.0 429.0 -84.0 127.0 0.0 -171.0 113.0 -267.0 -105.0 -343.0 -212.0 -278.0 -184.0 -252.0 -391.0 -162.0 -324.0 -162.0 -383.0 -230.0 -347.0 -162.0 -45.0 -322.0 -157.0 -272.0 -200.0 -49.0 -115.0 -1.0 -185.0 -8.0 -18.0 24.0 87.0 -46.0 111.0 27.0 168.0 293.0 293.0 269.0 321.0 315.0 328.0 449.0 296.0 395.0 484.0 246.0 576.0 432.0 512.0 402.0 518.0 238.0 272.0 359.0 17.0 377.0 45.0 159.0 148.0 -105.0 -11.0 -51.0 -14.0 42.0 -310.0 -94.0 -335.0 -38.0 -81.0 -308.0 -33.0 -272.0 -201.0 -36.0 -231.0 -129.0 46.0 -320.0 -77.0 24.0 -193.0 39.0 -42.0 -233.0 164.0 -187.0 162.0 -163.0 165.0 -12.0 162.0 294.0 -213.0 424.0 -65.0 387.0 156.0 223.0 227.0 312.0 384.0 270.0 399.0 389.0 213.0 627.0 135.0 359.0 487.0 -63.0 811.0 -229.0 563.0 199.0 71.0 349.0 -165.0 349.0 -157.0 161.0 -107.0 -209.0 252.0 -212.0 -68.0 -27.0 -390.0 46.0 -216.0 -108.0 -105.0 -157.0 -80.0 -67.0 -98.0 -88.0 -60.0 -5.0 -91.0 -69.0 104.0 -206.0 221.0 -85.0 54.0 67.0 45.0 32.0 207.0 125.0 29.0 144.0 41.0 239.0 122.0 326.0 -5.0 367.0 60.0 325.0 288.0 248.0 236.0 111.0 421.0 142.0 440.0 133.0 389.0 61.0 369.0 66.0 164.0 238.0 -75.0 275.0 -113.0 120.0 -79.0 -62.0 -61.0 115.0 -222.0 43.0 -197.0 -196.0 28.0 -250.0 -79.0 -178.0 -62.0 -123.0 35.0 -171.0 -43.0 2.0 27.0 56.0 -10.0 -23.0 42.0 4.0 167.0 143.0 25.0 137.0 149.0 141.0 245.0 145.0 149.0 283.0 180.0 303.0 206.0 207.0 178.0 234.0 207.0 161.0 262.0 256.0 250.0 316.0 62.0 182.0 170.0 169.0 163.0 143.0 28.0 134.0 -6.0 177.0 -23.0 21.0 90.0 -335.0 180.0 -483.0 236.0 -332.0 -135.0 59.0 -540.0 263.0 -497.0 22.0 -74.0 -330.0 114.0 -353.0 -37.0 -135.0 -63.0 -37.0 -183.0 172.0 -74.0 41.0 66.0 -150.0 97.0 207.0 -161.0 373.0 -133.0 122.0 387.0 -200.0 522.0 16.0 244.0 425.0 148.0 263.0 255.0 170.0 357.0 214.0 271.0 297.0 119.0 338.0 22.0 505.0 32.0 353.0 159.0 -147.0 485.0 -198.0 289.0 -53.0 -140.0 -35.0 -34.0 25.0 -260.0 67.0 -354.0 -154.0 10.0 -419.0 -67.0 -227.0 -374.0 31.0 -394.0 -67.0 -296.0 -196.0 0.0 -257.0 31.0 -196.0 -110.0 90.0 -59.0 -30.0 262.0 -339.0 421.0 -132.0 211.0 347.0 -223.0 593.0 -314.0 513.0 132.0 62.0 588.0 -124.0 490.0 132.0 51.0 588.0 -187.0 594.0 14.0 -1.0 537.0 -414.0 733.0 -175.0 135.0 342.0 -315.0 502.0 -247.0 259.0 -46.0 -262.0 361.0 -529.0 252.0 -162.0 -325.0 226.0 -495.0 -10.0 -114.0 -486.0 -62.0 -416.0 -290.0 -34.0 -547.0 129.0 -596.0 -6.0 -355.0 -356.0 222.0 -743.0 368.0 -488.0 -42.0 262.0 -375.0 395.0 -139.0 95.0 253.0 -102.0 551.0 -182.0 409.0 403.0 -55.0 845.0 -20.0 355.0 525.0 -4.0 514.0 248.0 155.0 448.0 17.0 454.0 67.0 117.0 329.0 -158.0 310.0 119.0 -159.0 312.0 -220.0 -192.0 226.0 -436.0 208.0 -269.0 -170.0 -122.0 -288.0 -101.0 -467.0 -111.0 -371.0 -235.0 -314.0 -280.0 -414.0 -70.0 -470.0 -145.0 -112.0 -670.0 333.0 -835.0 136.0 -229.0 -389.0 316.0 -571.0 181.0 -220.0 -21.0 184.0 13.0 111.0 257.0 6.0 282.0 218.0 159.0 240.0 352.0 316.0 334.0 525.0 49.0 581.0 206.0 302.0 379.0 84.0 411.0 143.0 281.0 357.0 40.0 222.0 140.0 -70.0 200.0 -105.0 -28.0 -47.0 -241.0 41.0 -384.0 -93.0 -397.0 -263.0 -238.0 -411.0 -222.0 -419.0 -270.0 -415.0 -370.0 -385.0 -481.0 -467.0 -276.0 -585.0 -106.0 -581.0 -245.0 -228.0 -439.0 -11.0 -470.0 -89.0 -317.0 -72.0 -6.0 -219.0 160.0 -97.0 66.0 307.0 -11.0 367.0 243.0 184.0 366.0 273.0 290.0 415.0 283.0 318.0 216.0 521.0 312.0 315.0 420.0 7.0 465.0 2.0 430.0 -6.0 194.0 182.0 -100.0 341.0 -213.0 199.0 -194.0 -115.0 -198.0 -266.0 -132.0 -190.0 -360.0 -141.0 -455.0 -268.0 -230.0 -498.0 -178.0 -549.0 -263.0 -365.0 -358.0 -429.0 -236.0 -570.0 -36.0 -482.0 -340.0 -179.0 -478.0 2.0 -258.0 -197.0 -67.0 -219.0 -98.0 68.0 -274.0 400.0 -352.0 348.0 135.0 62.0 532.0 -59.0 316.0 222.0 145.0 319.0 190.0 27.0 567.0 -51.0 637.0 -43.0 289.0 213.0 44.0 482.0 -302.0 494.0 -399.0 400.0 -135.0 -84.0 16.0 -260.0 -123.0 -152.0 -244.0 -274.0 -125.0 -516.0 139.0 -839.0 144.0 -702.0 -303.0 -271.0 -701.0 138.0 -810.0 -82.0 -496.0 -656.0 35.0 -611.0 -313.0 -2.0 -830.0 79.0 -365.0 -355.0 153.0 -433.0 -164.0 49.0 -325.0 280.0 -307.0 255.0 18.0 -106.0 719.0 -703.0 962.0 -445.0 359.0 394.0 -353.0 821.0 -396.0 375.0 179.0 -124.0 253.0 151.0 -209.0 534.0 -451.0 360.0 -278.0 -170.0 302.0 -627.0 456.0 -716.0 183.0 -418.0 -112.0 -104.0 -519.0 175.0 -610.0 -102.0 -385.0 -295.0 -144.0 -452.0 -88.0 -511.0 -229.0 -218.0 -491.0 -93.0 -597.0 -97.0 -326.0 -388.0 -89.0 -738.0 122.0 -467.0 -155.0 168.0 -773.0 362.0 -334.0 -154.0 256.0 -401.0 79.0 39.0 -67.0 283.0 -116.0 223.0 34.0 242.0 234.0 -246.0 488.0 -245.0 249.0 126.0 -29.0 245.0 3.0 6.0 -2.0 -94.0 -105.0 108.0 -264.0 27.0 -249.0 -335.0 171.0 -490.0 22.0 -135.0 -581.0 239.0 -559.0 -110.0 -139.0 -594.0 73.0 -419.0 -211.0 -155.0 -289.0 -243.0 -124.0 -371.0 -110.0 -248.0 -124.0 -302.0 -256.0 -259.0 -420.0 200.0 -636.0 425.0 -680.0 55.0 -156.0 -259.0 340.0 -560.0 449.0 -580.0 209.0 -60.0 -173.0 244.0 -207.0 106.0 -39.0 71.0 55.0 -35.0 156.0 -168.0 31.0 62.0 -55.0 10.0 -86.0 -182.0 30.0 -5.0 -104.0 14.0 -219.0 -178.0 77.0 -263.0 -139.0 71.0 -663.0 402.0 -502.0 -148.0 254.0 -735.0 362.0 -497.0 -177.0 99.0 -451.0 120.0 -223.0 -301.0 130.0 -339.0 -97.0 -17.0 -397.0 83.0 -353.0 29.0 -249.0 -113.0 140.0 -519.0 407.0 -435.0 -77.0 318.0 -509.0 385.0 -210.0 -18.0 126.0 -276.0 138.0 -132.0 -13.0 167.0 -186.0 56.0 17.0 -294.0 423.0 -528.0 397.0 -296.0 -390.0 353.0 -558.0 288.0 -243.0 -272.0 14.0 -222.0 43.0 -142.0 -466.0 462.0 -697.0 306.0 -176.0 -323.0 315.0 -543.0 379.0 -415.0 106.0 59.0 -272.0 111.0 -1.0 -220.0 206.0 -317.0 106.0 18.0 -172.0 216.0 -577.0 449.0 -335.0 -12.0 403.0 -730.0 520.0 -345.0 -127.0 271.0 -280.0 340.0 -332.0 -33.0 37.0 -178.0 278.0 -74.0 -86.0 54.0 -301.0 246.0 -188.0 231.0 -104.0 -53.0 170.0 -300.0 257.0 -279.0 0.0 -83.0 -26.0 -30.0 27.0 -293.0 -78.0 11.0 -271.0 442.0 -364.0 128.0 -223.0 -188.0 202.0 -307.0 178.0 -19.0 30.0 -146.0 352.0 -458.0 538.0 -413.0 156.0 261.0 -537.0 604.0 -679.0 342.0 -267.0 247.0 -87.0 -12.0 -80.0 2.0 -22.0 98.0 -112.0 -252.0 257.0 -492.0 422.0 -511.0 318.0 -114.0 -149.0 246.0 -577.0 368.0 -189.0 -233.0 456.0 -554.0 438.0 -176.0 -461.0 541.0 -602.0 568.0 -284.0 -254.0 314.0 -508.0 529.0 36.0 -473.0 510.0 -453.0 10.0 522.0 -680.0 534.0 -69.0 -228.0 641.0 -153.0 55.0 178.0 18.0 80.0 412.0 -249.0 323.0 -78.0 -16.0 377.0 -279.0 436.0 -282.0 81.0 4.0 21.0 185.0 -100.0 -108.0 141.0 -437.0 507.0 -539.0 90.0 197.0 -847.0 986.0 -1133.0 522.0 -198.0 -408.0 431.0 -472.0 -85.0 77.0 -363.0 122.0 -66.0 -381.0 408.0 -822.0 812.0 -779.0 277.0 96.0 -631.0 873.0 -766.0 466.0 101.0 -232.0 616.0 -320.0 215.0 616.0 -618.0 950.0 -203.0 35.0 955.0 -410.0 582.0 149.0 173.0 330.0 194.0 185.0 203.0 173.0 179.0 118.0 24.0 256.0 126.0 7.0 257.0 -19.0 -69.0 336.0 -475.0 397.0 -91.0 -328.0 542.0 -574.0 104.0 198.0 -647.0 209.0 31.0 -687.0 485.0 -476.0 -80.0 24.0 -323.0 -205.0 -110.0 -74.0 -445.0 94.0 -613.0 164.0 -325.0 207.0 -336.0 -3.0 -68.0 -162.0 427.0 -450.0 412.0 23.0 91.0 482.0 301.0 -60.0 629.0 -54.0 452.0 456.0 39.0 692.0 63.0 443.0 240.0 297.0 385.0 169.0 355.0 -89.0 548.0 197.0 18.0 594.0 -187.0 267.0 380.0 -259.0 175.0 248.0 -288.0 466.0 -266.0 7.0 113.0 -198.0 179.0 -337.0 118.0 -270.0 -87.0 -143.0 -329.0 -33.0 -162.0 -403.0 77.0 -310.0 -279.0 174.0 -697.0 86.0 -242.0 -265.0 228.0 -270.0 15.0 -159.0 -25.0 74.0 159.0 103.0 66.0 278.0 59.0 368.0 341.0 126.0 609.0 128.0 275.0 426.0 195.0 490.0 395.0 357.0 256.0 370.0 314.0 286.0 205.0 458.0 80.0 316.0 232.0 135.0 462.0 66.0 131.0 66.0 108.0 116.0 117.0 -48.0 219.0 14.0 87.0 -66.0 59.0 -91.0 23.0 -115.0 -247.0 90.0 -278.0 74.0 -344.0 -24.0 -178.0 -144.0 -129.0 -165.0 -160.0 -32.0 -192.0 -203.0 59.0 -135.0 217.0 -187.0 194.0 40.0 25.0 320.0 107.0 185.0 353.0 -19.0 269.0 351.0 164.0 566.0 210.0 280.0 346.0 228.0 311.0 317.0 323.0 419.0 129.0 411.0 246.0 206.0 450.0 37.0 417.0 192.0 59.0 373.0 -72.0 232.0 307.0 -62.0 235.0 53.0 61.0 50.0 74.0 -17.0 -17.0 100.0 -232.0 8.0 34.0 -177.0 82.0 -211.0 -212.0 25.0 -374.0 -34.0 -176.0 -184.0 -48.0 -143.0 -92.0 -131.0 -41.0 -165.0 124.0 -6.0 51.0 87.0 -33.0 140.0 210.0 156.0 248.0 186.0 111.0 328.0 108.0 413.0 302.0 174.0 299.0 25.0 201.0 230.0 252.0 251.0 179.0 211.0 107.0 107.0 171.0 73.0 156.0 101.0 39.0 215.0 55.0 119.0 174.0 52.0 118.0 103.0 86.0 13.0 47.0 100.0 -19.0 108.0 116.0 -26.0 83.0 -103.0 -20.0 38.0 -57.0 51.0 -101.0 -46.0 -45.0 -107.0 7.0 34.0 -12.0 29.0 26.0 -69.0 96.0 110.0 22.0 111.0 63.0 63.0 97.0 45.0 70.0 186.0 19.0 83.0 148.0 0.0 101.0 24.0 44.0 56.0 61.0 -22.0 43.0 72.0 15.0 94.0 -59.0 21.0 -1.0 17.0 2.0 66.0 115.0 57.0 113.0 71.0 140.0 154.0 151.0 60.0 117.0 112.0 147.0 151.0 156.0 171.0 135.0 105.0 80.0 147.0 114.0 188.0 126.0 148.0 141.0 158.0 175.0 190.0 238.0 224.0 217.0 204.0 291.0 308.0 346.0 303.0 285.0 322.0 307.0 275.0 272.0 289.0 219.0 179.0 144.0 45.0 -30.0 -89.0 -156.0 -184.0 -171.0 -211.0 -332.0 -346.0 -376.0 -396.0 -377.0 -479.0 -526.0 -458.0 -525.0 -500.0 -410.0 -481.0 -391.0 -422.0 -392.0 -331.0 -311.0 -326.0 -264.0 -153.0 -211.0 -31.0 -8.0 8.0 92.0 150.0 115.0 113.0 287.0 297.0 379.0 397.0 343.0 405.0 405.0 431.0 463.0 544.0 517.0 524.0 512.0 497.0 565.0 601.0 575.0 599.0 633.0 513.0 622.0 511.0 503.0 497.0 464.0 386.0 399.0 373.0 271.0 336.0 227.0 281.0 161.0 146.0 61.0 12.0 -35.0 -105.0 -157.0 -273.0 -379.0 -487.0 -533.0 -571.0 -601.0 -652.0 -705.0 -799.0 -747.0 -802.0 -867.0 -887.0 -894.0 -918.0 -912.0 -927.0 -898.0 -880.0 -750.0 -655.0 -603.0 -450.0 -417.0 -279.0 -96.0 65.0 277.0 358.0 445.0 599.0 627.0 743.0 776.0 826.0 855.0 917.0 918.0 853.0 808.0 726.0 660.0 557.0 542.0 388.0 286.0 221.0 72.0 80.0 84.0 -20.0 5.0 -49.0 -163.0 -85.0 -92.0 -116.0 -46.0 -14.0 42.0 123.0 185.0 184.0 219.0 289.0 285.0 356.0 338.0 364.0 365.0 306.0 294.0 229.0 191.0 154.0 69.0 -80.0 -101.0 -200.0 -326.0 -431.0 -548.0 -616.0 -766.0 -843.0 -829.0 -869.0 -895.0 -877.0 -983.0 -946.0 -991.0 -1062.0 -935.0 -859.0 -778.0 -702.0 -597.0 -522.0 -308.0 -106.0 17.0 107.0 243.0 274.0 368.0 461.0 512.0 694.0 624.0 648.0 565.0 517.0 496.0 426.0 394.0 245.0 198.0 50.0 -40.0 -84.0 -182.0 -195.0 -288.0 -340.0 -304.0 -199.0 -255.0 -259.0 -138.0 -149.0 -68.0 26.0 61.0 107.0 322.0 310.0 356.0 516.0 487.0 551.0 595.0 583.0 596.0 654.0 584.0 524.0 532.0 442.0 350.0 333.0 214.0 162.0 78.0 -23.0 -136.0 -237.0 -314.0 -499.0 -565.0 -703.0 -757.0 -776.0 -875.0 -880.0 -874.0 -1050.0 -1075.0 -1107.0 -1156.0 -1105.0 -1083.0 -986.0 -941.0 -818.0 -731.0 -481.0 -329.0 -222.0 -90.0 -12.0 120.0 239.0 343.0 309.0 418.0 500.0 465.0 424.0 388.0 323.0 289.0 236.0 134.0 114.0 61.0 -59.0 -105.0 -140.0 -205.0 -197.0 -257.0 -268.0 -231.0 -73.0 11.0 9.0 88.0 109.0 251.0 303.0 368.0 427.0 527.0 623.0 660.0 739.0 768.0 764.0 762.0 778.0 681.0 657.0 663.0 560.0 513.0 429.0 270.0 227.0 94.0 27.0 -41.0 -187.0 -239.0 -331.0 -500.0 -556.0 -631.0 -753.0 -863.0 -985.0 -975.0 -992.0 -979.0 -1011.0 -1053.0 -1095.0 -1136.0 -1158.0 -1111.0 -1015.0 -865.0 -783.0 -671.0 -493.0 -318.0 -205.0 -180.0 -53.0 68.0 179.0 242.0 283.0 307.0 443.0 416.0 334.0 331.0 280.0 192.0 173.0 98.0 32.0 102.0 -7.0 -107.0 -92.0 -128.0 -203.0 -146.0 -213.0 -149.0 -45.0 -98.0 10.0 190.0 208.0 296.0 287.0 308.0 486.0 489.0 501.0 511.0 670.0 645.0 685.0 692.0 642.0 697.0 602.0 544.0 551.0 539.0 463.0 417.0 294.0 251.0 201.0 146.0 46.0 -12.0 -32.0 -138.0 -216.0 -308.0 -347.0 -479.0 -602.0 -676.0 -843.0 -843.0 -888.0 -965.0 -926.0 -1014.0 -1107.0 -1160.0 -1193.0 -1154.0 -1158.0 -1140.0 -1050.0 -913.0 -716.0 -582.0 -341.0 -211.0 -163.0 -45.0 62.0 88.0 225.0 295.0 266.0 444.0 378.0 357.0 391.0 302.0 251.0 240.0 164.0 138.0 189.0 133.0 48.0 42.0 34.0 -11.0 41.0 -12.0 40.0 142.0 143.0 239.0 385.0 470.0 440.0 534.0 541.0 556.0 642.0 600.0 659.0 708.0 737.0 689.0 676.0 657.0 595.0 528.0 465.0 420.0 385.0 295.0 218.0 220.0 112.0 33.0 -16.0 -65.0 -146.0 -166.0 -266.0 -313.0 -364.0 -452.0 -529.0 -628.0 -731.0 -841.0 -1024.0 -1085.0 -1032.0 -1119.0 -1112.0 -1125.0 -1140.0 -1194.0 -1176.0 -1199.0 -1189.0 -1049.0 -951.0 -787.0 -612.0 -401.0 -135.0 26.0 136.0 170.0 286.0 348.0 408.0 545.0 473.0 599.0 578.0 460.0 473.0 407.0 353.0 338.0 240.0 201.0 233.0 155.0 110.0 126.0 87.0 49.0 54.0 -12.0 30.0 85.0 97.0 107.0 206.0 270.0 333.0 353.0 325.0 403.0 439.0 422.0 417.0 428.0 469.0 540.0 461.0 503.0 485.0 449.0 431.0 372.0 340.0 358.0 343.0 245.0 230.0 175.0 132.0 49.0 -11.0 -45.0 -89.0 -176.0 -240.0 -279.0 -375.0 -488.0 -606.0 -718.0 -848.0 -1002.0 -1026.0 -1069.0 -1038.0 -1012.0 -1074.0 -1084.0 -1120.0 -1160.0 -1163.0 -1133.0 -1023.0 -888.0 -863.0 -705.0 -505.0 -304.0 -210.0 -108.0 -25.0 34.0 111.0 135.0 186.0 291.0 374.0 343.0 326.0 312.0 315.0 301.0 270.0 289.0 355.0 379.0 380.0 389.0 404.0 405.0 350.0 318.0 327.0 286.0 341.0 304.0 310.0 351.0 385.0 368.0 375.0 432.0 390.0 408.0 404.0 473.0 469.0 564.0 561.0 598.0 626.0 623.0 599.0 612.0 630.0 542.0 574.0 471.0 407.0 360.0 315.0 220.0 189.0 121.0 5.0 -52.0 -98.0 -185.0 -284.0 -361.0 -456.0 -551.0 -716.0 -863.0 -949.0 -1046.0 -1180.0 -1165.0 -1199.0 -1218.0 -1224.0 -1292.0 -1333.0 -1342.0 -1403.0 -1410.0 -1335.0 -1306.0 -1148.0 -982.0 -790.0 -574.0 -326.0 -161.0 -44.0 68.0 204.0 348.0 470.0 572.0 670.0 768.0 713.0 769.0 744.0 714.0 761.0 732.0 691.0 705.0 682.0 579.0 563.0 484.0 374.0 306.0 215.0 174.0 138.0 106.0 147.0 116.0 74.0 77.0 158.0 213.0 333.0 353.0 412.0 480.0 475.0 484.0 539.0 654.0 632.0 746.0 730.0 797.0 804.0 773.0 727.0 687.0 655.0 603.0 552.0 463.0 454.0 314.0 248.0 147.0 47.0 -70.0 -195.0 -325.0 -413.0 -537.0 -693.0 -794.0 -934.0 -1043.0 -1172.0 -1337.0 -1392.0 -1367.0 -1384.0 -1370.0 -1366.0 -1364.0 -1394.0 -1417.0 -1405.0 -1345.0 -1222.0 -1104.0 -911.0 -757.0 -483.0 -230.0 -48.0 169.0 256.0 397.0 496.0 599.0 650.0 750.0 780.0 750.0 785.0 736.0 700.0 651.0 595.0 557.0 565.0 474.0 473.0 441.0 348.0 331.0 225.0 156.0 144.0 142.0 134.0 187.0 209.0 221.0 302.0 326.0 429.0 505.0 604.0 695.0 754.0 782.0 853.0 935.0 922.0 995.0 996.0 1039.0 1036.0 997.0 960.0 946.0 837.0 685.0 625.0 470.0 409.0 304.0 161.0 118.0 32.0 -119.0 -202.0 -286.0 -408.0 -464.0 -592.0 -661.0 -674.0 -770.0 -870.0 -925.0 -999.0 -1106.0 -1173.0 -1187.0 -1124.0 -1110.0 -1068.0 -1055.0 -1098.0 -1114.0 -1147.0 -1200.0 -1180.0 -1081.0 -977.0 -787.0 -605.0 -379.0 -169.0 -30.0 61.0 181.0 315.0 397.0 464.0 516.0 553.0 517.0 523.0 517.0 520.0 517.0 481.0 449.0 468.0 475.0 469.0 477.0 479.0 453.0 350.0 327.0 311.0 357.0 404.0 463.0 534.0 571.0 593.0 620.0 612.0 710.0 837.0 845.0 983.0 1037.0 1042.0 1058.0 1099.0 1079.0 1112.0 1123.0 1044.0 1056.0 1018.0 925.0 867.0 784.0 653.0 577.0 444.0 323.0 262.0 179.0 93.0 15.0 -101.0 -162.0 -246.0 -378.0 -427.0 -483.0 -583.0 -675.0 -779.0 -849.0 -919.0 -1031.0 -1104.0 -1172.0 -1277.0 -1301.0 -1286.0 -1284.0 -1260.0 -1274.0 -1285.0 -1358.0 -1425.0 -1432.0 -1348.0 -1295.0 -1100.0 -869.0 -675.0 -438.0 -198.0 -21.0 53.0 132.0 164.0 292.0 374.0 437.0 535.0 610.0 624.0 677.0 732.0 714.0 746.0 788.0 774.0 811.0 862.0 895.0 887.0 856.0 786.0 713.0 702.0 686.0 725.0 776.0 795.0 786.0 790.0 738.0 759.0 788.0 802.0 879.0 975.0 995.0 1018.0 1019.0 1001.0 1012.0 961.0 958.0 966.0 989.0 952.0 903.0 847.0 739.0 616.0 460.0 344.0 242.0 118.0 22.0 -65.0 -144.0 -231.0 -367.0 -511.0 -616.0 -728.0 -834.0 -902.0 -939.0 -998.0 -1079.0 -1179.0 -1239.0 -1308.0 -1361.0 -1447.0 -1430.0 -1421.0 -1441.0 -1395.0 -1397.0 -1369.0 -1428.0 -1415.0 -1498.0 -1414.0 -1324.0 -1111.0 -873.0 -671.0 -406.0 -162.0 13.0 51.0 256.0 324.0 460.0 568.0 677.0 792.0 902.0 923.0 955.0 975.0 932.0 964.0 928.0 952.0 962.0 956.0 899.0 872.0 794.0 677.0 627.0 598.0 605.0 614.0 643.0 687.0 757.0 760.0 781.0 854.0 889.0 979.0 1071.0 1222.0 1327.0 1366.0 1421.0 1420.0 1425.0 1390.0 1376.0 1329.0 1268.0 1186.0 1036.0 882.0 667.0 446.0 225.0 53.0 -127.0 -272.0 -423.0 -539.0 -649.0 -810.0 -942.0 -1076.0 -1170.0 -1256.0 -1338.0 -1344.0 -1342.0 -1345.0 -1326.0 -1351.0 -1362.0 -1400.0 -1419.0 -1480.0 -1463.0 -1373.0 -1316.0 -1241.0 -1190.0 -1171.0 -1224.0 -1202.0 -1206.0 -1127.0 -1004.0 -912.0 -701.0 -574.0 -353.0 -184.0 4.0 156.0 222.0 308.0 347.0 443.0 478.0 591.0 588.0 636.0 670.0 650.0 693.0 710.0 753.0 801.0 869.0 870.0 911.0 934.0 935.0 947.0 937.0 995.0 1027.0 1047.0 1117.0 1143.0 1217.0 1222.0 1243.0 1245.0 1255.0 1216.0 1197.0 1206.0 1176.0 1244.0 1177.0 1122.0 1075.0 984.0 801.0 705.0 569.0 408.0 304.0 116.0 -6.0 -135.0 -295.0 -465.0 -559.0 -648.0 -769.0 -817.0 -846.0 -882.0 -906.0 -949.0 -971.0 -1006.0 -1021.0 -1025.0 -1002.0 -967.0 -949.0 -932.0 -936.0 -996.0 -1032.0 -1088.0 -1214.0 -1228.0 -1219.0 -1270.0 -1219.0 -1214.0 -1259.0 -1292.0 -1341.0 -1355.0 -1348.0 -1274.0 -1233.0 -1013.0 -889.0 -699.0 -481.0 -329.0 -186.0 -158.0 -27.0 45.0 216.0 306.0 473.0 594.0 697.0 830.0 835.0 978.0 1040.0 1109.0 1210.0 1331.0 1373.0 1430.0 1474.0 1407.0 1426.0 1356.0 1317.0 1319.0 1315.0 1283.0 1299.0 1285.0 1188.0 1152.0 1064.0 979.0 914.0 877.0 842.0 849.0 892.0 844.0 789.0 760.0 640.0 517.0 451.0 351.0 265.0 214.0 96.0 6.0 -72.0 -243.0 -368.0 -443.0 -556.0 -650.0 -684.0 -733.0 -817.0 -883.0 -985.0 -1041.0 -1112.0 -1211.0 -1259.0 -1276.0 -1308.0 -1365.0 -1370.0 -1456.0 -1484.0 -1563.0 -1644.0 -1713.0 -1677.0 -1637.0 -1680.0 -1553.0 -1515.0 -1448.0 -1443.0 -1370.0 -1343.0 -1252.0 -1178.0 -1080.0 -806.0 -650.0 -401.0 -160.0 107.0 210.0 382.0 511.0 618.0 774.0 846.0 974.0 1079.0 1208.0 1268.0 1365.0 1400.0 1430.0 1468.0 1458.0 1471.0 1494.0 1470.0 1438.0 1439.0 1367.0 1279.0 1210.0 1128.0 1043.0 999.0 986.0 964.0 927.0 883.0 832.0 764.0 672.0 660.0 647.0 642.0 673.0 665.0 678.0 627.0 539.0 443.0 357.0 222.0 130.0 48.0 -65.0 -133.0 -266.0 -427.0 -577.0 -678.0 -817.0 -896.0 -968.0 -1025.0 -1064.0 -1163.0 -1239.0 -1294.0 -1358.0 -1455.0 -1485.0 -1509.0 -1530.0 -1527.0 -1503.0 -1511.0 -1517.0 -1546.0 -1587.0 -1582.0 -1546.0 -1514.0 -1420.0 -1313.0 -1257.0 -1199.0 -1161.0 -1135.0 -1120.0 -1019.0 -949.0 -739.0 -569.0 -357.0 -132.0 71.0 249.0 333.0 476.0 542.0 689.0 768.0 927.0 1022.0 1139.0 1235.0 1259.0 1332.0 1331.0 1392.0 1419.0 1491.0 1509.0 1533.0 1526.0 1447.0 1400.0 1316.0 1233.0 1178.0 1134.0 1059.0 1018.0 998.0 928.0 874.0 787.0 678.0 567.0 483.0 470.0 431.0 457.0 478.0 475.0 408.0 334.0 230.0 120.0 45.0 -93.0 -149.0 -240.0 -359.0 -464.0 -580.0 -724.0 -830.0 -927.0 -1056.0 -1109.0 -1159.0 -1203.0 -1238.0 -1297.0 -1366.0 -1415.0 -1474.0 -1528.0 -1533.0 -1505.0 -1478.0 -1417.0 -1392.0 -1355.0 -1337.0 -1387.0 -1405.0 -1381.0 -1315.0 -1263.0 -1150.0 -1036.0 -976.0 -935.0 -918.0 -916.0 -889.0 -810.0 -715.0 -539.0 -309.0 -106.0 110.0 302.0 398.0 500.0 616.0 687.0 823.0 976.0 1076.0 1198.0 1298.0 1310.0 1336.0 1343.0 1337.0 1364.0 1388.0 1396.0 1399.0 1390.0 1277.0 1213.0 1131.0 984.0 880.0 819.0 759.0 682.0 666.0 608.0 551.0 458.0 343.0 260.0 188.0 136.0 143.0 152.0 170.0 206.0 168.0 109.0 47.0 -42.0 -162.0 -211.0 -300.0 -339.0 -412.0 -512.0 -576.0 -688.0 -778.0 -877.0 -898.0 -941.0 -950.0 -952.0 -968.0 -972.0 -1035.0 -1081.0 -1135.0 -1180.0 -1213.0 -1233.0 -1208.0 -1188.0 -1167.0 -1177.0 -1197.0 -1229.0 -1290.0 -1307.0 -1288.0 -1221.0 -1167.0 -1065.0 -1009.0 -974.0 -937.0 -924.0 -883.0 -835.0 -720.0 -588.0 -408.0 -196.0 16.0 217.0 357.0 469.0 549.0 628.0 721.0 781.0 885.0 962.0 1045.0 1108.0 1116.0 1115.0 1128.0 1122.0 1093.0 1146.0 1137.0 1138.0 1115.0 1070.0 1003.0 909.0 821.0 731.0 692.0 641.0 621.0 601.0 560.0 510.0 417.0 323.0 218.0 173.0 162.0 117.0 187.0 222.0 213.0 192.0 144.0 54.0 -13.0 -72.0 -175.0 -162.0 -212.0 -271.0 -285.0 -393.0 -496.0 -566.0 -638.0 -719.0 -716.0 -747.0 -794.0 -806.0 -898.0 -961.0 -1083.0 -1176.0 -1249.0 -1274.0 -1284.0 -1269.0 -1229.0 -1276.0 -1271.0 -1323.0 -1375.0 -1406.0 -1346.0 -1292.0 -1196.0 -1106.0 -1025.0 -956.0 -946.0 -899.0 -880.0 -805.0 -740.0 -585.0 -443.0 -228.0 -27.0 126.0 242.0 314.0 395.0 444.0 521.0 585.0 718.0 794.0 866.0 919.0 947.0 952.0 943.0 954.0 966.0 1017.0 1043.0 1064.0 1077.0 1046.0 986.0 914.0 831.0 787.0 760.0 718.0 724.0 723.0 671.0 606.0 521.0 417.0 328.0 264.0 244.0 246.0 287.0 326.0 329.0 326.0 249.0 197.0 121.0 44.0 -5.0 -19.0 -53.0 -86.0 -116.0 -225.0 -283.0 -409.0 -493.0 -566.0 -617.0 -662.0 -691.0 -728.0 -826.0 -895.0 -1012.0 -1118.0 -1213.0 -1256.0 -1299.0 -1300.0 -1293.0 -1296.0 -1324.0 -1381.0 -1444.0 -1454.0 -1461.0 -1415.0 -1312.0 -1226.0 -1133.0 -1096.0 -1009.0 -995.0 -922.0 -864.0 -711.0 -549.0 -359.0 -106.0 68.0 255.0 329.0 438.0 449.0 525.0 589.0 683.0 801.0 885.0 984.0 1021.0 1036.0 995.0 1012.0 1004.0 1027.0 1070.0 1113.0 1139.0 1144.0 1105.0 1038.0 977.0 890.0 846.0 805.0 808.0 810.0 810.0 758.0 680.0 595.0 449.0 385.0 311.0 304.0 326.0 386.0 405.0 409.0 389.0 277.0 218.0 86.0 39.0 -21.0 -45.0 -92.0 -87.0 -166.0 -285.0 -374.0 -516.0 -575.0 -670.0 -696.0 -735.0 -737.0 -808.0 -870.0 -965.0 -1077.0 -1159.0 -1247.0 -1281.0 -1273.0 -1231.0 -1224.0 -1215.0 -1243.0 -1300.0 -1326.0 -1312.0 -1269.0 -1185.0 -1097.0 -992.0 -903.0 -819.0 -770.0 -683.0 -599.0 -511.0 -361.0 -167.0 52.0 214.0 372.0 465.0 517.0 529.0 541.0 580.0 606.0 685.0 750.0 831.0 900.0 925.0 941.0 939.0 942.0 939.0 981.0 1005.0 1039.0 1066.0 1051.0 1006.0 943.0 878.0 830.0 798.0 768.0 780.0 752.0 720.0 658.0 589.0 494.0 423.0 378.0 331.0 357.0 390.0 426.0 440.0 433.0 367.0 313.0 196.0 108.0 82.0 15.0 -39.0 -47.0 -74.0 -163.0 -228.0 -332.0 -397.0 -482.0 -545.0 -567.0 -574.0 -624.0 -689.0 -730.0 -828.0 -877.0 -947.0 -982.0 -984.0 -988.0 -1008.0 -1033.0 -1051.0 -1131.0 -1160.0 -1181.0 -1177.0 -1144.0 -1112.0 -1050.0 -977.0 -901.0 -877.0 -757.0 -696.0 -583.0 -434.0 -252.0 -57.0 88.0 257.0 338.0 467.0 460.0 547.0 567.0 642.0 701.0 768.0 866.0 911.0 989.0 964.0 1041.0 993.0 1028.0 1014.0 1023.0 1019.0 1005.0 984.0 926.0 882.0 786.0 771.0 712.0 711.0 696.0 704.0 682.0 656.0 603.0 545.0 530.0 472.0 469.0 487.0 520.0 531.0 556.0 526.0 472.0 419.0 308.0 260.0 170.0 111.0 48.0 5.0 -56.0 -116.0 -180.0 -272.0 -320.0 -406.0 -452.0 -505.0 -529.0 -612.0 -649.0 -718.0 -790.0 -845.0 -896.0 -922.0 -949.0 -963.0 -991.0 -1002.0 -1069.0 -1093.0 -1107.0 -1118.0 -1125.0 -1087.0 -1057.0 -1001.0 -942.0 -873.0 -772.0 -675.0 -547.0 -400.0 -199.0 -24.0 161.0 278.0 392.0 472.0 508.0 553.0 577.0 635.0 665.0 721.0 752.0 792.0 815.0 822.0 829.0 825.0 836.0 827.0 820.0 799.0 791.0 764.0 724.0 691.0 668.0 647.0 642.0 655.0 677.0 690.0 690.0 679.0 672.0 646.0 655.0 652.0 677.0 693.0 738.0 743.0 741.0 716.0 625.0 598.0 472.0 445.0 349.0 291.0 222.0 172.0 98.0 4.0 -39.0 -147.0 -191.0 -298.0 -319.0 -383.0 -423.0 -505.0 -558.0 -624.0 -705.0 -742.0 -790.0 -792.0 -815.0 -811.0 -834.0 -845.0 -894.0 -911.0 -925.0 -938.0 -932.0 -925.0 -889.0 -854.0 -804.0 -780.0 -704.0 -646.0 -559.0 -439.0 -272.0 -92.0 34.0 185.0 274.0 363.0 380.0 418.0 443.0 479.0 517.0 561.0 627.0 646.0 691.0 693.0 719.0 710.0 731.0 733.0 752.0 760.0 752.0 731.0 701.0 679.0 643.0 643.0 638.0 676.0 700.0 729.0 741.0 742.0 731.0 712.0 724.0 731.0 755.0 806.0 857.0 871.0 857.0 810.0 732.0 639.0 537.0 459.0 383.0 323.0 255.0 207.0 134.0 52.0 -35.0 -136.0 -209.0 -287.0 -341.0 -390.0 -428.0 -491.0 -534.0 -619.0 -686.0 -738.0 -788.0 -792.0 -792.0 -784.0 -787.0 -775.0 -800.0 -805.0 -812.0 -820.0 -852.0 -846.0 -814.0 -777.0 -745.0 -710.0 -639.0 -590.0 -507.0 -419.0 -248.0 -124.0 0.0 113.0 222.0 302.0 325.0 368.0 384.0 431.0 441.0 493.0 522.0 570.0 588.0 604.0 611.0 617.0 620.0 597.0 609.0 603.0 589.0 555.0 564.0 523.0 520.0 518.0 544.0 569.0 586.0 620.0 645.0 670.0 679.0 728.0 746.0 782.0 821.0 888.0 929.0 943.0 919.0 879.0 810.0 726.0 637.0 549.0 463.0 372.0 315.0 231.0 186.0 100.0 25.0 -77.0 -163.0 -252.0 -341.0 -411.0 -506.0 -561.0 -646.0 -694.0 -761.0 -794.0 -822.0 -843.0 -859.0 -852.0 -828.0 -832.0 -817.0 -818.0 -817.0 -838.0 -837.0 -812.0 -790.0 -768.0 -725.0 -673.0 -621.0 -531.0 -429.0 -309.0 -213.0 -99.0 6.0 100.0 198.0 273.0 343.0 386.0 429.0 452.0 479.0 508.0 536.0 559.0 573.0 589.0 598.0 578.0 571.0 554.0 533.0 512.0 495.0 483.0 480.0 488.0 480.0 496.0 488.0 496.0 510.0 533.0 558.0 614.0 652.0 689.0 746.0 787.0 821.0 853.0 860.0 843.0 827.0 769.0 727.0 640.0 570.0 472.0 392.0 290.0 210.0 129.0 42.0 -20.0 -120.0 -191.0 -295.0 -364.0 -492.0 -578.0 -678.0 -751.0 -815.0 -879.0 -879.0 -908.0 -916.0 -948.0 -945.0 -948.0 -938.0 -901.0 -869.0 -844.0 -823.0 -788.0 -762.0 -748.0 -721.0 -678.0 -616.0 -539.0 -427.0 -301.0 -183.0 -78.0 15.0 106.0 160.0 231.0 271.0 333.0 374.0 407.0 444.0 457.0 477.0 461.0 474.0 447.0 462.0 449.0 439.0 437.0 407.0 387.0 339.0 323.0 291.0 287.0 287.0 308.0 326.0 334.0 360.0 365.0 372.0 388.0 429.0 481.0 524.0 609.0 681.0 732.0 763.0 772.0 763.0 737.0 702.0 649.0 618.0 553.0 505.0 433.0 367.0 275.0 186.0 94.0 -6.0 -77.0 -179.0 -251.0 -358.0 -448.0 -574.0 -669.0 -754.0 -843.0 -895.0 -942.0 -955.0 -993.0 -1002.0 -1009.0 -991.0 -988.0 -967.0 -936.0 -894.0 -839.0 -792.0 -729.0 -696.0 -648.0 -601.0 -519.0 -438.0 -316.0 -211.0 -111.0 -10.0 60.0 147.0 185.0 244.0 274.0 304.0 338.0 356.0 391.0 386.0 404.0 384.0 377.0 380.0 356.0 364.0 334.0 334.0 307.0 279.0 237.0 213.0 207.0 178.0 201.0 211.0 240.0 251.0 274.0 298.0 317.0 355.0 384.0 444.0 495.0 560.0 618.0 655.0 685.0 699.0 699.0 686.0 661.0 623.0 573.0 522.0 462.0 400.0 332.0 240.0 167.0 65.0 -35.0 -153.0 -263.0 -384.0 -510.0 -617.0 -736.0 -826.0 -927.0 -1003.0 -1070.0 -1115.0 -1158.0 -1176.0 -1167.0 -1154.0 -1129.0 -1102.0 -1058.0 -1010.0 -965.0 -906.0 -845.0 -779.0 -696.0 -598.0 -479.0 -367.0 -240.0 -133.0 -26.0 40.0 116.0 180.0 237.0 294.0 331.0 394.0 416.0 446.0 452.0 470.0 457.0 433.0 417.0 402.0 386.0 349.0 329.0 299.0 273.0 228.0 202.0 187.0 183.0 169.0 171.0 182.0 188.0 196.0 202.0 237.0 267.0 312.0 364.0 436.0 493.0 555.0 601.0 620.0 631.0 621.0 616.0 599.0 586.0 553.0 523.0 476.0 411.0 348.0 268.0 187.0 105.0 9.0 -88.0 -208.0 -312.0 -437.0 -572.0 -688.0 -824.0 -924.0 -1028.0 -1088.0 -1150.0 -1187.0 -1210.0 -1215.0 -1205.0 -1204.0 -1177.0 -1150.0 -1104.0 -1051.0 -988.0 -930.0 -853.0 -768.0 -654.0 -554.0 -430.0 -306.0 -180.0 -75.0 26.0 139.0 201.0 272.0 306.0 370.0 407.0 445.0 481.0 505.0 537.0 533.0 543.0 529.0 509.0 473.0 430.0 383.0 343.0 309.0 278.0 259.0 242.0 230.0 223.0 209.0 213.0 211.0 210.0 221.0 235.0 261.0 279.0 317.0 358.0 408.0 457.0 496.0 526.0 546.0 545.0 530.0 508.0 474.0 426.0 376.0 336.0 291.0 247.0 188.0 141.0 76.0 -4.0 -79.0 -178.0 -277.0 -390.0 -498.0 -607.0 -715.0 -819.0 -916.0 -987.0 -1066.0 -1117.0 -1154.0 -1167.0 -1176.0 -1174.0 -1159.0 -1139.0 -1101.0 -1066.0 -1015.0 -967.0 -900.0 -818.0 -714.0 -598.0 -462.0 -340.0 -228.0 -116.0 -4.0 90.0 177.0 263.0 332.0 402.0 457.0 517.0 554.0 599.0 622.0 632.0 638.0 638.0 619.0 595.0 560.0 510.0 471.0 419.0 390.0 351.0 337.0 318.0 305.0 306.0 287.0 286.0 273.0 282.0 290.0 308.0 335.0 370.0 423.0 450.0 493.0 514.0 526.0 533.0 515.0 513.0 482.0 452.0 410.0 370.0 315.0 256.0 207.0 134.0 78.0 3.0 -57.0 -136.0 -219.0 -307.0 -403.0 -500.0 -617.0 -707.0 -812.0 -903.0 -986.0 -1056.0 -1118.0 -1174.0 -1210.0 -1231.0 -1228.0 -1235.0 -1213.0 -1193.0 -1158.0 -1116.0 -1066.0 -990.0 -920.0 -821.0 -707.0 -578.0 -455.0 -322.0 -198.0 -84.0 34.0 137.0 242.0 314.0 387.0 457.0 521.0 572.0 611.0 652.0 681.0 696.0 702.0 703.0 689.0 655.0 617.0 576.0 535.0 501.0 462.0 442.0 424.0 411.0 390.0 370.0 372.0 360.0 357.0 361.0 371.0 401.0 425.0 457.0 491.0 526.0 541.0 541.0 542.0 536.0 514.0 475.0 448.0 398.0 343.0 291.0 234.0 175.0 104.0 37.0 -37.0 -125.0 -208.0 -303.0 -396.0 -490.0 -593.0 -682.0 -775.0 -866.0 -948.0 -1025.0 -1096.0 -1157.0 -1203.0 -1237.0 -1262.0 -1269.0 -1263.0 -1257.0 -1241.0 -1207.0 -1171.0 -1133.0 -1075.0 -993.0 -906.0 -807.0 -696.0 -573.0 -455.0 -336.0 -220.0 -108.0 3.0 104.0 204.0 285.0 375.0 429.0 489.0 548.0 585.0 631.0 651.0 686.0 693.0 700.0 691.0 680.0 668.0 636.0 610.0 581.0 574.0 539.0 520.0 500.0 475.0 459.0 447.0 444.0 446.0 462.0 463.0 490.0 522.0 548.0 562.0 580.0 580.0 566.0 556.0 530.0 500.0 462.0 428.0 375.0 333.0 266.0 199.0 125.0 41.0 -40.0 -130.0 -217.0 -328.0 -415.0 -525.0 -619.0 -709.0 -802.0 -878.0 -965.0 -1035.0 -1113.0 -1162.0 -1214.0 -1254.0 -1271.0 -1291.0 -1287.0 -1280.0 -1260.0 -1240.0 -1201.0 -1156.0 -1109.0 -1052.0 -973.0 -888.0 -807.0 -710.0 -607.0 -491.0 -383.0 -266.0 -148.0 -29.0 77.0 174.0 260.0 337.0 409.0 464.0 518.0 568.0 619.0 648.0 681.0 706.0 714.0 715.0 709.0 705.0 701.0 691.0 683.0 673.0 655.0 636.0 607.0 585.0 560.0 548.0 548.0 551.0 570.0 585.0 596.0 601.0 610.0 612.0 607.0 599.0 591.0 582.0 561.0 532.0 482.0 433.0 374.0 311.0 238.0 162.0 88.0 4.0 -81.0 -180.0 -276.0 -376.0 -473.0 -562.0 -639.0 -705.0 -774.0 -832.0 -904.0 -972.0 -1039.0 -1098.0 -1134.0 -1168.0 -1185.0 -1194.0 -1187.0 -1174.0 -1161.0 -1139.0 -1113.0 -1080.0 -1043.0 -995.0 -933.0 -861.0 -785.0 -697.0 -618.0 -532.0 -443.0 -349.0 -240.0 -136.0 -35.0 60.0 151.0 230.0 300.0 367.0 429.0 485.0 537.0 593.0 640.0 682.0 718.0 742.0 761.0 776.0 796.0 802.0 808.0 827.0 837.0 844.0 838.0 824.0 799.0 779.0 760.0 738.0 729.0 718.0 708.0 701.0 682.0 659.0 635.0 618.0 598.0 567.0 526.0 484.0 447.0 392.0 337.0 276.0 201.0 125.0 48.0 -13.0 -93.0 -162.0 -240.0 -336.0 -416.0 -501.0 -586.0 -659.0 -722.0 -793.0 -851.0 -906.0 -954.0 -995.0 -1027.0 -1075.0 -1100.0 -1114.0 -1132.0 -1130.0 -1121.0 -1092.0 -1077.0 -1033.0 -993.0 -940.0 -878.0 -822.0 -749.0 -678.0 -599.0 -534.0 -461.0 -387.0 -312.0 -228.0 -154.0 -65.0 22.0 102.0 181.0 262.0 335.0 393.0 442.0 487.0 527.0 568.0 603.0 632.0 663.0 684.0 702.0 732.0 756.0 766.0 773.0 772.0 771.0 770.0 774.0 763.0 752.0 733.0 719.0 709.0 707.0 704.0 686.0 661.0 635.0 608.0 587.0 562.0 523.0 499.0 455.0 430.0 399.0 349.0 293.0 228.0 167.0 97.0 36.0 -39.0 -110.0 -184.0 -264.0 -335.0 -423.0 -489.0 -565.0 -642.0 -711.0 -781.0 -831.0 -877.0 -912.0 -955.0 -984.0 -1008.0 -1015.0 -1009.0 -1011.0 -1012.0 -1000.0 -987.0 -960.0 -915.0 -875.0 -827.0 -777.0 -708.0 -641.0 -573.0 -507.0 -453.0 -402.0 -341.0 -274.0 -199.0 -132.0 -61.0 12.0 74.0 147.0 199.0 253.0 296.0 336.0 383.0 437.0 482.0 520.0 553.0 587.0 622.0 651.0 684.0 707.0 739.0 767.0 784.0 800.0 821.0 829.0 824.0 833.0 833.0 837.0 835.0 824.0 822.0 810.0 809.0 795.0 774.0 740.0 705.0 676.0 641.0 603.0 550.0 488.0 420.0 358.0 284.0 216.0 138.0 62.0 -27.0 -122.0 -205.0 -295.0 -377.0 -470.0 -559.0 -640.0 -703.0 -758.0 -813.0 -859.0 -897.0 -926.0 -948.0 -956.0 -957.0 -959.0 -957.0 -944.0 -925.0 -904.0 -871.0 -841.0 -808.0 -775.0 -731.0 -674.0 -623.0 -569.0 -516.0 -467.0 -412.0 -352.0 -293.0 -237.0 -185.0 -126.0 -67.0 -7.0 56.0 121.0 177.0 235.0 293.0 346.0 392.0 438.0 483.0 528.0 570.0 616.0 656.0 681.0 712.0 736.0 755.0 780.0 795.0 811.0 817.0 824.0 828.0 830.0 825.0 810.0 805.0 798.0 786.0 770.0 756.0 738.0 713.0 679.0 650.0 610.0 565.0 517.0 461.0 410.0 358.0 301.0 230.0 159.0 84.0 1.0 -78.0 -148.0 -226.0 -300.0 -374.0 -450.0 -515.0 -575.0 -627.0 -675.0 -720.0 -760.0 -786.0 -799.0 -808.0 -807.0 -815.0 -824.0 -816.0 -800.0 -781.0 -769.0 -744.0 -723.0 -702.0 -668.0 -625.0 -584.0 -553.0 -514.0 -463.0 -417.0 -368.0 -318.0 -264.0 -205.0 -162.0 -115.0 -66.0 -11.0 42.0 100.0 166.0 223.0 282.0 334.0 385.0 432.0 476.0 516.0 549.0 590.0 622.0 655.0 690.0 716.0 734.0 746.0 766.0 782.0 796.0 802.0 805.0 803.0 801.0 791.0 779.0 768.0 753.0 739.0 718.0 697.0 678.0 653.0 626.0 596.0 554.0 507.0 456.0 405.0 347.0 283.0 216.0 143.0 71.0 -3.0 -77.0 -155.0 -228.0 -302.0 -363.0 -426.0 -490.0 -538.0 -588.0 -633.0 -669.0 -693.0 -719.0 -741.0 -750.0 -759.0 -757.0 -754.0 -754.0 -758.0 -750.0 -736.0 -724.0 -701.0 -680.0 -641.0 -606.0 -575.0 -538.0 -504.0 -463.0 -424.0 -386.0 -350.0 -300.0 -253.0 -212.0 -162.0 -109.0 -57.0 -5.0 60.0 114.0 166.0 222.0 268.0 319.0 362.0 400.0 440.0 481.0 521.0 557.0 591.0 626.0 659.0 685.0 703.0 725.0 747.0 761.0 773.0 777.0 781.0 792.0 792.0 782.0 768.0 756.0 737.0 712.0 691.0 665.0 635.0 599.0 562.0 518.0 475.0 427.0 362.0 305.0 241.0 168.0 96.0 27.0 -48.0 -125.0 -191.0 -253.0 -314.0 -376.0 -428.0 -475.0 -515.0 -548.0 -584.0 -610.0 -636.0 -655.0 -667.0 -682.0 -696.0 -711.0 -709.0 -706.0 -701.0 -695.0 -685.0 -666.0 -645.0 -617.0 -585.0 -553.0 -520.0 -490.0 -456.0 -419.0 -376.0 -331.0 -294.0 -250.0 -203.0 -152.0 -100.0 -50.0 6.0 51.0 105.0 156.0 206.0 254.0 300.0 341.0 384.0 425.0 468.0 514.0 550.0 586.0 629.0 661.0 689.0 718.0 746.0 769.0 781.0 801.0 809.0 813.0 814.0 806.0 796.0 783.0 756.0 732.0 700.0 671.0 637.0 592.0 556.0 508.0 465.0 416.0 362.0 310.0 246.0 184.0 110.0 44.0 -23.0 -87.0 -143.0 -202.0 -259.0 -314.0 -359.0 -399.0 -435.0 -470.0 -496.0 -523.0 -543.0 -564.0 -579.0 -589.0 -604.0 -612.0 -617.0 -616.0 -618.0 -609.0 -604.0 -597.0 -580.0 -560.0 -540.0 -520.0 -496.0 -471.0 -438.0 -405.0 -369.0 -332.0 -288.0 -249.0 -214.0 -167.0 -125.0 -80.0 -31.0 16.0 62.0 104.0 152.0 199.0 250.0 291.0 332.0 373.0 410.0 452.0 488.0 528.0 561.0 596.0 623.0 650.0 679.0 693.0 705.0 722.0 735.0 730.0 735.0 734.0 723.0 711.0 693.0 676.0 652.0 622.0 587.0 553.0 514.0 468.0 424.0 373.0 322.0 271.0 216.0 157.0 100.0 43.0 -11.0 -65.0 -116.0 -165.0 -212.0 -257.0 -299.0 -332.0 -361.0 -390.0 -417.0 -441.0 -464.0 -481.0 -496.0 -507.0 -519.0 -536.0 -549.0 -554.0 -560.0 -564.0 -566.0 -572.0 -573.0 -566.0 -551.0 -537.0 -519.0 -501.0 -476.0 -453.0 -426.0 -394.0 -359.0 -318.0 -280.0 -235.0 -190.0 -150.0 -107.0 -63.0 -18.0 28.0 72.0 117.0 160.0 208.0 247.0 287.0 327.0 360.0 395.0 427.0 460.0 487.0 511.0 535.0 557.0 575.0 583.0 590.0 597.0 603.0 603.0 603.0 600.0 593.0 579.0 565.0 545.0 519.0 487.0 458.0 425.0 383.0 345.0 300.0 260.0 209.0 164.0 115.0 63.0 20.0 -24.0 -72.0 -112.0 -159.0 -205.0 -229.0 -279.0 -310.0 -336.0 -371.0 -383.0 -414.0 -438.0 -451.0 -475.0 -485.0 -503.0 -517.0 -524.0 -531.0 -528.0 -532.0 -536.0 -535.0 -540.0 -536.0 -528.0 -520.0 -499.0 -489.0 -468.0 -439.0 -417.0 -383.0 -355.0 -320.0 -292.0 -260.0 -219.0 -177.0 -136.0 -97.0 -61.0 -16.0 25.0 61.0 103.0 139.0 177.0 212.0 249.0 277.0 301.0 324.0 343.0 365.0 384.0 404.0 420.0 434.0 440.0 447.0 453.0 456.0 458.0 450.0 449.0 434.0 421.0 412.0 394.0 373.0 349.0 320.0 285.0 259.0 227.0 198.0 164.0 124.0 92.0 56.0 17.0 -20.0 -59.0 -95.0 -129.0 -163.0 -192.0 -222.0 -252.0 -279.0 -307.0 -332.0 -359.0 -379.0 -402.0 -416.0 -433.0 -442.0 -446.0 -461.0 -463.0 -472.0 -475.0 -482.0 -481.0 -485.0 -482.0 -488.0 -474.0 -466.0 -441.0 -419.0 -391.0 -373.0 -343.0 -337.0 -305.0 -299.0 -243.0 -217.0 28.0 302.0 163.0 176.0 -173.0 -300.0 -404.0 -413.0 -215.0 -35.0 371.0 522.0 595.0 336.0 1.0 -225.0 -335.0 -271.0 -13.0 236.0 595.0 681.0 638.0 442.0 154.0 58.0 14.0 194.0 358.0 554.0 582.0 556.0 441.0 278.0 139.0 84.0 128.0 225.0 286.0 337.0 294.0 181.0 35.0 -98.0 -134.0 -180.0 -97.0 -94.0 -32.0 -22.0 -118.0 -164.0 -266.0 -316.0 -320.0 -328.0 -276.0 -280.0 -257.0 -285.0 -325.0 -349.0 -418.0 -395.0 -419.0 -370.0 -370.0 -379.0 -390.0 -423.0 -460.0 -437.0 -433.0 -426.0 -359.0 -375.0 -309.0 -374.0 -387.0 -391.0 -351.0 -282.0 -227.0 -146.0 -128.0 -70.0 -126.0 -146.0 -172.0 -185.0 -114.0 -37.0 25.0 152.0 190.0 194.0 169.0 93.0 50.0 67.0 154.0 227.0 322.0 343.0 374.0 319.0 263.0 182.0 169.0 206.0 292.0 404.0 402.0 433.0 335.0 306.0 234.0 206.0 228.0 274.0 337.0 344.0 322.0 218.0 165.0 68.0 44.0 23.0 62.0 88.0 76.0 36.0 -51.0 -107.0 -186.0 -226.0 -230.0 -228.0 -178.0 -135.0 -146.0 -125.0 -85.0 24.0 73.0 9.0 -152.0 -366.0 -563.0 -681.0 -713.0 -622.0 -422.0 -215.0 -49.0 -67.0 -169.0 -378.0 -582.0 -724.0 -724.0 -580.0 -383.0 -137.0 -12.0 56.0 -20.0 -147.0 -244.0 -275.0 -214.0 -98.0 43.0 127.0 186.0 142.0 39.0 -55.0 -117.0 -81.0 3.0 116.0 243.0 331.0 340.0 245.0 140.0 56.0 37.0 61.0 142.0 269.0 352.0 340.0 348.0 258.0 196.0 160.0 174.0 249.0 301.0 356.0 329.0 397.0 310.0 308.0 215.0 215.0 202.0 264.0 263.0 257.0 193.0 27.0 -16.0 -151.0 -90.0 147.0 242.0 17.0 76.0 -357.0 -330.0 -536.0 -640.0 -410.0 -363.0 59.0 36.0 155.0 -179.0 -349.0 -483.0 -596.0 -461.0 -323.0 -82.0 128.0 135.0 52.0 -57.0 -280.0 -201.0 -218.0 -54.0 30.0 77.0 41.0 -197.0 -303.0 -477.0 -434.0 -319.0 -94.0 100.0 161.0 122.0 -25.0 -269.0 -451.0 -492.0 -410.0 -206.0 -38.0 196.0 271.0 296.0 169.0 52.0 52.0 79.0 178.0 308.0 328.0 378.0 371.0 274.0 249.0 135.0 166.0 190.0 310.0 307.0 265.0 218.0 112.0 109.0 31.0 10.0 16.0 38.0 50.0 74.0 64.0 76.0 51.0 28.0 44.0 44.0 112.0 72.0 27.0 -46.0 -145.0 -158.0 -208.0 -166.0 -128.0 -137.0 -117.0 -189.0 -262.0 -348.0 -375.0 -340.0 -319.0 -240.0 -208.0 -198.0 -252.0 -339.0 -348.0 -361.0 -321.0 -247.0 -164.0 -109.0 -121.0 -177.0 -252.0 -254.0 -226.0 -140.0 -38.0 27.0 6.0 -24.0 -78.0 -177.0 -176.0 -171.0 -88.0 23.0 138.0 181.0 187.0 151.0 10.0 -22.0 -92.0 -40.0 62.0 131.0 222.0 249.0 269.0 252.0 260.0 250.0 267.0 273.0 261.0 211.0 251.0 253.0 234.0 311.0 281.0 370.0 374.0 324.0 249.0 166.0 169.0 161.0 177.0 180.0 202.0 190.0 165.0 141.0 127.0 129.0 130.0 136.0 81.0 -4.0 -60.0 -144.0 -135.0 -122.0 -49.0 65.0 89.0 76.0 -37.0 -163.0 -255.0 -284.0 -211.0 -112.0 -101.0 -57.0 -61.0 -125.0 -162.0 -209.0 -169.0 -115.0 -114.0 -37.0 -30.0 -72.0 -149.0 -188.0 -121.0 -28.0 73.0 89.0 143.0 102.0 24.0 -53.0 -124.0 -174.0 -38.0 92.0 194.0 372.0 337.0 269.0 149.0 13.0 -25.0 -17.0 28.0 208.0 326.0 380.0 380.0 299.0 193.0 97.0 110.0 151.0 213.0 242.0 295.0 368.0 292.0 221.0 208.0 198.0 269.0 287.0 268.0 232.0 142.0 80.0 80.0 132.0 208.0 257.0 271.0 166.0 18.0 -98.0 -181.0 -225.0 -155.0 -42.0 79.0 183.0 78.0 -30.0 -168.0 -247.0 -205.0 -143.0 -75.0 -51.0 -43.0 -121.0 -257.0 -272.0 -291.0 -160.0 35.0 -46.0 -15.0 -175.0 -229.0 -255.0 -352.0 -267.0 -130.0 301.0 303.0 362.0 100.0 -239.0 -261.0 -562.0 -361.0 -173.0 26.0 295.0 343.0 190.0 -29.0 -254.0 -410.0 -433.0 -329.0 -161.0 136.0 387.0 288.0 283.0 120.0 -123.0 -21.0 56.0 134.0 289.0 165.0 212.0 51.0 -97.0 -165.0 -145.0 58.0 112.0 384.0 222.0 115.0 -17.0 -220.0 -181.0 -120.0 49.0 236.0 388.0 341.0 281.0 157.0 -12.0 -87.0 -87.0 -33.0 72.0 112.0 129.0 129.0 52.0 -239.0 -32.0 -143.0 -70.0 185.0 -117.0 148.0 -255.0 -262.0 -405.0 -492.0 -302.0 -321.0 84.0 -3.0 185.0 43.0 -197.0 -326.0 -565.0 -506.0 -330.0 -111.0 122.0 94.0 -26.0 -94.0 -317.0 -310.0 -319.0 -227.0 -65.0 43.0 32.0 -9.0 -155.0 -397.0 -326.0 -257.0 -87.0 117.0 290.0 277.0 196.0 48.0 -154.0 -143.0 -205.0 -56.0 214.0 341.0 371.0 348.0 209.0 70.0 -60.0 -41.0 104.0 281.0 333.0 343.0 431.0 237.0 186.0 87.0 79.0 155.0 237.0 294.0 320.0 375.0 237.0 201.0 185.0 134.0 137.0 224.0 151.0 164.0 170.0 93.0 97.0 115.0 105.0 43.0 80.0 3.0 -3.0 14.0 -108.0 -82.0 -118.0 -171.0 -128.0 -140.0 -137.0 -166.0 -107.0 -135.0 -140.0 -193.0 -231.0 -210.0 -263.0 -129.0 -113.0 -100.0 -79.0 -89.0 -85.0 -144.0 -273.0 -216.0 -58.0 -21.0 41.0 -5.0 88.0 99.0 -7.0 -88.0 -245.0 -115.0 -48.0 -42.0 63.0 40.0 159.0 215.0 85.0 23.0 109.0 105.0 41.0 224.0 161.0 101.0 213.0 49.0 126.0 255.0 207.0 326.0 528.0 420.0 390.0 369.0 16.0 64.0 4.0 59.0 206.0 228.0 366.0 473.0 465.0 215.0 257.0 96.0 10.0 33.0 -62.0 -51.0 -21.0 -111.0 -132.0 1.0 -131.0 101.0 107.0 11.0 42.0 -202.0 -197.0 -260.0 -231.0 -262.0 -149.0 -20.0 -108.0 -56.0 -235.0 -294.0 -283.0 -190.0 -170.0 -155.0 -119.0 -240.0 -274.0 -451.0 -529.0 -447.0 -341.0 -199.0 -19.0 -8.0 -65.0 -83.0 -266.0 -345.0 -406.0 -381.0 -184.0 52.0 231.0 156.0 22.0 -209.0 -220.0 -222.0 -229.0 15.0 162.0 371.0 429.0 216.0 74.0 -131.0 -288.0 -211.0 -131.0 164.0 354.0 547.0 422.0 190.0 106.0 -85.0 102.0 54.0 187.0 292.0 318.0 255.0 63.0 -75.0 -163.0 60.0 208.0 406.0 296.0 278.0 136.0 -103.0 -267.0 -385.0 -280.0 -106.0 131.0 227.0 367.0 269.0 78.0 -125.0 -394.0 -541.0 -410.0 -263.0 -98.0 -11.0 -128.0 -136.0 -97.0 -237.0 -253.0 -263.0 -294.0 -192.0 -238.0 -372.0 -449.0 -376.0 -395.0 -67.0 -31.0 -28.0 115.0 -124.0 -269.0 -468.0 -482.0 -458.0 -207.0 34.0 40.0 181.0 74.0 -175.0 -241.0 -328.0 -344.0 -205.0 -108.0 37.0 72.0 41.0 -76.0 -232.0 -172.0 -171.0 -132.0 -31.0 123.0 182.0 153.0 199.0 99.0 45.0 87.0 19.0 -21.0 -76.0 -141.0 -1.0 49.0 191.0 352.0 417.0 430.0 327.0 257.0 59.0 -126.0 -191.0 -98.0 101.0 309.0 416.0 352.0 185.0 54.0 -10.0 -115.0 -173.0 -144.0 -33.0 -21.0 -155.0 -267.0 -372.0 -398.0 -283.0 -198.0 17.0 98.0 139.0 143.0 -136.0 -285.0 -487.0 -436.0 -455.0 -308.0 -136.0 -150.0 165.0 50.0 11.0 -54.0 -206.0 -191.0 -281.0 -367.0 -529.0 -456.0 -400.0 -297.0 -60.0 -75.0 111.0 295.0 46.0 19.0 7.0 -188.0 -162.0 -134.0 -104.0 50.0 134.0 83.0 131.0 155.0 25.0 54.0 121.0 93.0 270.0 201.0 -34.0 -66.0 -119.0 -56.0 173.0 361.0 320.0 350.0 326.0 204.0 134.0 14.0 94.0 337.0 450.0 369.0 342.0 129.0 -165.0 -124.0 -128.0 52.0 416.0 642.0 558.0 187.0 -217.0 -517.0 -390.0 -336.0 -191.0 345.0 692.0 806.0 423.0 -126.0 -444.0 -548.0 -470.0 -221.0 208.0 541.0 558.0 158.0 -368.0 -610.0 -572.0 -486.0 -143.0 106.0 367.0 417.0 -28.0 -603.0 -894.0 -780.0 -502.0 48.0 631.0 1051.0 931.0 370.0 -406.0 -930.0 -1101.0 -983.0 -439.0 231.0 739.0 966.0 771.0 163.0 -362.0 -908.0 -1029.0 -663.0 -147.0 409.0 633.0 621.0 332.0 -67.0 -444.0 -574.0 -336.0 -34.0 375.0 597.0 485.0 327.0 79.0 -127.0 -236.0 -184.0 94.0 269.0 345.0 286.0 365.0 444.0 301.0 224.0 59.0 -40.0 -18.0 -145.0 -23.0 268.0 307.0 591.0 648.0 501.0 173.0 -244.0 -483.0 -560.0 -246.0 -44.0 489.0 761.0 741.0 525.0 -47.0 -375.0 -773.0 -788.0 -527.0 -145.0 371.0 563.0 508.0 480.0 254.0 -147.0 -279.0 -394.0 -319.0 -95.0 -23.0 72.0 215.0 -84.0 -249.0 -170.0 -351.0 -96.0 8.0 -1.0 101.0 92.0 22.0 -27.0 -205.0 -466.0 -369.0 -288.0 -59.0 229.0 463.0 422.0 340.0 92.0 -411.0 -601.0 -738.0 -506.0 -103.0 438.0 838.0 848.0 691.0 232.0 -81.0 -399.0 -672.0 -548.0 -244.0 181.0 545.0 834.0 796.0 501.0 217.0 -208.0 -442.0 -485.0 -394.0 -115.0 378.0 714.0 824.0 737.0 426.0 -48.0 -626.0 -785.0 -657.0 -195.0 405.0 722.0 853.0 705.0 189.0 -280.0 -526.0 -522.0 -201.0 171.0 434.0 461.0 332.0 15.0 -273.0 -378.0 -229.0 141.0 347.0 328.0 168.0 -104.0 -294.0 -413.0 -344.0 17.0 257.0 396.0 295.0 -133.0 -602.0 -944.0 -863.0 -394.0 278.0 835.0 1019.0 738.0 122.0 -574.0 -1066.0 -907.0 -331.0 125.0 485.0 819.0 593.0 260.0 -258.0 -803.0 -741.0 -370.0 -44.0 276.0 549.0 322.0 176.0 -21.0 -213.0 -180.0 160.0 230.0 309.0 488.0 106.0 -59.0 -50.0 -113.0 6.0 259.0 189.0 343.0 332.0 53.0 84.0 153.0 303.0 365.0 472.0 139.0 -86.0 40.0 -140.0 -122.0 -40.0 181.0 540.0 696.0 456.0 279.0 68.0 -239.0 -429.0 -498.0 -276.0 206.0 527.0 398.0 416.0 189.0 -7.0 -97.0 -429.0 -488.0 -347.0 -173.0 96.0 307.0 110.0 114.0 113.0 -287.0 -317.0 -234.0 -109.0 101.0 169.0 -85.0 -240.0 -325.0 -525.0 -291.0 -199.0 33.0 505.0 539.0 328.0 -101.0 -503.0 -833.0 -883.0 -640.0 -206.0 390.0 727.0 866.0 537.0 11.0 -484.0 -784.0 -737.0 -488.0 -108.0 272.0 557.0 584.0 417.0 203.0 -91.0 -356.0 -362.0 -247.0 -32.0 111.0 117.0 182.0 282.0 261.0 138.0 127.0 69.0 -117.0 -190.0 -109.0 22.0 296.0 383.0 322.0 184.0 -56.0 -155.0 -242.0 -189.0 23.0 413.0 546.0 493.0 290.0 -162.0 -495.0 -568.0 -386.0 121.0 512.0 595.0 560.0 235.0 -120.0 -540.0 -765.0 -578.0 -70.0 404.0 670.0 544.0 117.0 -320.0 -568.0 -568.0 -332.0 146.0 527.0 656.0 356.0 -49.0 -453.0 -723.0 -670.0 -570.0 -51.0 595.0 790.0 615.0 112.0 -415.0 -725.0 -681.0 -677.0 -382.0 203.0 481.0 546.0 404.0 15.0 -245.0 -280.0 -307.0 -17.0 300.0 274.0 147.0 20.0 -324.0 -422.0 -273.0 -186.0 123.0 469.0 593.0 536.0 202.0 -333.0 -626.0 -657.0 -581.0 -131.0 373.0 611.0 696.0 613.0 361.0 66.0 -262.0 -556.0 -485.0 -315.0 94.0 392.0 409.0 348.0 382.0 238.0 -38.0 -264.0 -451.0 -334.0 -218.0 79.0 365.0 534.0 320.0 99.0 -139.0 -370.0 -476.0 -439.0 -165.0 251.0 507.0 560.0 481.0 -32.0 -462.0 -907.0 -974.0 -726.0 -226.0 346.0 791.0 896.0 533.0 -7.0 -564.0 -906.0 -1012.0 -688.0 -89.0 534.0 863.0 821.0 489.0 -120.0 -778.0 -1072.0 -969.0 -461.0 248.0 807.0 878.0 535.0 97.0 -379.0 -601.0 -703.0 -478.0 53.0 402.0 522.0 249.0 -43.0 -285.0 -460.0 -357.0 -15.0 375.0 535.0 388.0 115.0 -184.0 -365.0 -379.0 -270.0 150.0 435.0 578.0 306.0 -160.0 -357.0 -398.0 -274.0 -56.0 180.0 433.0 501.0 53.0 -457.0 -614.0 -472.0 -188.0 214.0 522.0 654.0 475.0 -117.0 -599.0 -755.0 -631.0 -159.0 287.0 639.0 762.0 485.0 -109.0 -736.0 -984.0 -838.0 -317.0 223.0 644.0 753.0 426.0 -142.0 -618.0 -862.0 -839.0 -436.0 75.0 478.0 702.0 601.0 135.0 -316.0 -692.0 -728.0 -378.0 -120.0 74.0 187.0 128.0 -124.0 -328.0 -461.0 -325.0 32.0 128.0 162.0 65.0 -153.0 -335.0 -483.0 -531.0 -186.0 269.0 472.0 424.0 113.0 -202.0 -379.0 -475.0 -470.0 -185.0 138.0 362.0 365.0 201.0 11.0 -233.0 -410.0 -384.0 -136.0 333.0 563.0 373.0 105.0 -157.0 -303.0 -237.0 -155.0 -7.0 241.0 370.0 438.0 383.0 162.0 -168.0 -329.0 -396.0 -337.0 -207.0 49.0 269.0 366.0 301.0 225.0 209.0 50.0 -243.0 -508.0 -445.0 -282.0 36.0 265.0 381.0 421.0 293.0 38.0 -223.0 -501.0 -546.0 -286.0 -23.0 202.0 330.0 250.0 86.0 -204.0 -393.0 -284.0 -59.0 126.0 241.0 275.0 115.0 -45.0 -277.0 -386.0 -387.0 -223.0 18.0 267.0 348.0 223.0 -71.0 -310.0 -419.0 -443.0 -219.0 52.0 367.0 425.0 297.0 16.0 -209.0 -433.0 -632.0 -569.0 -299.0 202.0 586.0 722.0 630.0 436.0 101.0 -287.0 -726.0 -857.0 -502.0 -59.0 276.0 517.0 766.0 704.0 386.0 -181.0 -538.0 -633.0 -509.0 -352.0 -176.0 110.0 375.0 612.0 534.0 287.0 -25.0 -176.0 -330.0 -426.0 -450.0 -271.0 78.0 355.0 434.0 355.0 214.0 -22.0 -204.0 -336.0 -377.0 -137.0 235.0 376.0 350.0 185.0 -118.0 -306.0 -407.0 -422.0 -224.0 139.0 375.0 443.0 329.0 0.0 -241.0 -485.0 -557.0 -404.0 -31.0 229.0 390.0 368.0 149.0 -41.0 -170.0 -145.0 -85.0 -33.0 -75.0 15.0 2.0 -127.0 -280.0 -316.0 -97.0 277.0 502.0 434.0 202.0 -98.0 -302.0 -415.0 -399.0 -254.0 19.0 316.0 402.0 260.0 60.0 -186.0 -341.0 -223.0 -11.0 305.0 451.0 318.0 108.0 -154.0 -356.0 -373.0 -161.0 43.0 257.0 403.0 321.0 226.0 37.0 -184.0 -313.0 -307.0 -189.0 -2.0 103.0 71.0 106.0 78.0 62.0 -2.0 -19.0 -125.0 -120.0 -117.0 -137.0 -110.0 -63.0 19.0 50.0 36.0 -7.0 92.0 94.0 19.0 -180.0 -246.0 -245.0 -167.0 -161.0 -134.0 4.0 130.0 180.0 111.0 -43.0 -76.0 -79.0 -159.0 -122.0 -71.0 -25.0 -97.0 -182.0 -226.0 -103.0 9.0 43.0 -25.0 25.0 75.0 53.0 -114.0 -288.0 -309.0 -114.0 112.0 180.0 345.0 332.0 94.0 -314.0 -538.0 -531.0 -238.0 27.0 283.0 480.0 448.0 232.0 -81.0 -346.0 -496.0 -365.0 -81.0 210.0 297.0 273.0 92.0 -89.0 -200.0 -214.0 -83.0 109.0 223.0 214.0 108.0 -73.0 -175.0 -209.0 -194.0 -38.0 181.0 252.0 223.0 36.0 -137.0 -125.0 -91.0 -73.0 -42.0 -26.0 -12.0 -32.0 -101.0 -72.0 -8.0 63.0 90.0 38.0 -41.0 -113.0 -251.0 -302.0 -214.0 -16.0 260.0 344.0 266.0 63.0 -201.0 -418.0 -454.0 -450.0 -334.0 -63.0 129.0 319.0 344.0 174.0 -4.0 -177.0 -301.0 -302.0 -208.0 -160.0 -72.0 -1.0 82.0 122.0 143.0 96.0 12.0 -47.0 -106.0 -79.0 -66.0 -1.0 40.0 165.0 199.0 199.0 189.0 230.0 289.0 320.0 294.0 240.0 177.0 30.0 -79.0 -126.0 -61.0 63.0 271.0 408.0 463.0 352.0 191.0 -20.0 -207.0 -345.0 -323.0 -233.0 -101.0 60.0 184.0 216.0 119.0 2.0 -207.0 -320.0 -372.0 -312.0 -251.0 -67.0 48.0 161.0 68.0 -54.0 -167.0 -269.0 -284.0 -256.0 -77.0 -42.0 85.0 -4.0 -27.0 -110.0 -120.0 -92.0 -142.0 -156.0 -127.0 -53.0 -85.0 -107.0 -169.0 -107.0 -62.0 74.0 181.0 292.0 316.0 270.0 167.0 118.0 126.0 30.0 -44.0 -88.0 6.0 137.0 273.0 296.0 298.0 265.0 204.0 129.0 26.0 -97.0 -116.0 -82.0 -48.0 26.0 59.0 88.0 130.0 166.0 147.0 102.0 12.0 -71.0 -153.0 -181.0 -154.0 -41.0 49.0 144.0 224.0 226.0 220.0 163.0 44.0 -77.0 -48.0 -7.0 -1.0 7.0 62.0 149.0 219.0 179.0 73.0 75.0 19.0 -8.0 -20.0 22.0 64.0 160.0 195.0 133.0 139.0 30.0 6.0 -50.0 -47.0 -30.0 59.0 40.0 93.0 59.0 33.0 -6.0 278.0 893.0 990.0 765.0 140.0 -458.0 -877.0 -834.0 -836.0 -322.0 399.0 917.0 1171.0 847.0 180.0 -537.0 -1021.0 -1400.0 -1015.0 -431.0 203.0 432.0 331.0 105.0 29.0 -89.0 -266.0 -304.0 -271.0 -81.0 -137.0 -323.0 -568.0 -530.0 -405.0 -156.0 92.0 264.0 327.0 225.0 5.0 -219.0 -320.0 -365.0 -174.0 249.0 652.0 785.0 739.0 432.0 13.0 -289.0 -406.0 -347.0 -116.0 209.0 497.0 724.0 616.0 277.0 -128.0 -425.0 -569.0 -439.0 -165.0 111.0 262.0 267.0 210.0 38.0 -143.0 -223.0 -192.0 -160.0 -75.0 -79.0 -91.0 -164.0 -249.0 -242.0 -100.0 -29.0 60.0 130.0 98.0 8.0 -73.0 -150.0 -159.0 -79.0 -47.0 43.0 79.0 63.0 -16.0 -9.0 7.0 83.0 147.0 163.0 117.0 48.0 -30.0 -20.0 39.0 83.0 115.0 160.0 183.0 141.0 77.0 -18.0 -34.0 -4.0 155.0 276.0 326.0 268.0 138.0 -20.0 -114.0 -147.0 -125.0 102.0 279.0 428.0 417.0 634.0 939.0 857.0 494.0 -73.0 -487.0 -680.0 -576.0 -506.0 -34.0 484.0 813.0 986.0 783.0 336.0 -149.0 -574.0 -898.0 -696.0 -376.0 -14.0 95.0 7.0 -60.0 97.0 113.0 12.0 -120.0 -263.0 -248.0 -289.0 -462.0 -663.0 -574.0 -371.0 -77.0 37.0 57.0 109.0 123.0 4.0 -145.0 -207.0 -272.0 -232.0 -163.0 222.0 766.0 1097.0 986.0 523.0 -6.0 -334.0 -475.0 -647.0 -453.0 23.0 624.0 956.0 947.0 592.0 183.0 -241.0 -603.0 -617.0 -427.0 -120.0 45.0 111.0 63.0 182.0 242.0 201.0 114.0 127.0 121.0 23.0 -137.0 -383.0 -450.0 -413.0 -198.0 58.0 359.0 484.0 534.0 405.0 148.0 -74.0 -233.0 -220.0 -139.0 44.0 203.0 387.0 355.0 279.0 153.0 52.0 22.0 54.0 52.0 5.0 21.0 -20.0 -9.0 -41.0 5.0 48.0 139.0 125.0 124.0 103.0 23.0 -49.0 -84.0 -11.0 53.0 159.0 117.0 109.0 42.0 -27.0 -111.0 -102.0 -48.0 -7.0 81.0 113.0 189.0 123.0 44.0 -64.0 -99.0 -123.0 -14.0 87.0 187.0 235.0 194.0 115.0 43.0 -71.0 336.0 1001.0 1091.0 876.0 230.0 -422.0 -815.0 -883.0 -916.0 -250.0 424.0 943.0 1251.0 1019.0 491.0 -90.0 -700.0 -1075.0 -739.0 -404.0 -10.0 64.0 -18.0 -88.0 64.0 47.0 39.0 -14.0 -56.0 -57.0 -278.0 -511.0 -651.0 -579.0 -504.0 -227.0 34.0 217.0 164.0 55.0 20.0 98.0 402.0 773.0 958.0 791.0 358.0 -216.0 -650.0 -828.0 -749.0 -284.0 336.0 819.0 1049.0 1001.0 581.0 16.0 -504.0 -760.0 -606.0 -259.0 52.0 224.0 232.0 102.0 -5.0 -102.0 -64.0 41.0 155.0 157.0 63.0 -171.0 -356.0 -423.0 -375.0 -169.0 68.0 246.0 280.0 237.0 110.0 54.0 -36.0 -83.0 -109.0 -41.0 12.0 52.0 82.0 79.0 54.0 35.0 92.0 133.0 218.0 227.0 205.0 145.0 102.0 1.0 -40.0 -27.0 18.0 115.0 198.0 286.0 314.0 273.0 153.0 105.0 78.0 102.0 165.0 214.0 194.0 155.0 144.0 131.0 161.0 168.0 185.0 171.0 137.0 55.0 -4.0 -71.0 -58.0 -11.0 10.0 45.0 63.0 52.0 -22.0 -66.0 -120.0 -70.0 -44.0 3.0 -14.0 0.0 10.0 13.0 7.0 7.0 5.0 -33.0 -44.0 -80.0 -56.0 -7.0 60.0 85.0 128.0 161.0 235.0 433.0 1009.0 1222.0 1027.0 420.0 -322.0 -801.0 -826.0 -621.0 -154.0 518.0 876.0 1168.0 1001.0 553.0 -35.0 -433.0 -714.0 -600.0 -382.0 -177.0 -116.0 -323.0 -473.0 -396.0 -99.0 103.0 186.0 -46.0 -240.0 -551.0 -893.0 -1131.0 -1074.0 -745.0 -325.0 11.0 96.0 59.0 32.0 372.0 814.0 1085.0 1016.0 623.0 10.0 -596.0 -1057.0 -1266.0 -941.0 -276.0 532.0 1147.0 1377.0 1023.0 347.0 -385.0 -788.0 -714.0 -326.0 67.0 211.0 156.0 -18.0 -136.0 -221.0 -128.0 70.0 393.0 581.0 457.0 70.0 -285.0 -545.0 -615.0 -422.0 -75.0 294.0 527.0 576.0 426.0 269.0 138.0 106.0 99.0 128.0 134.0 120.0 61.0 -13.0 3.0 104.0 224.0 263.0 231.0 161.0 91.0 49.0 22.0 30.0 33.0 46.0 45.0 43.0 42.0 90.0 168.0 227.0 235.0 180.0 148.0 105.0 42.0 -10.0 24.0 78.0 133.0 86.0 12.0 -35.0 -61.0 -80.0 -6.0 102.0 209.0 313.0 301.0 228.0 122.0 23.0 -76.0 -127.0 -158.0 -84.0 13.0 65.0 134.0 193.0 229.0 229.0 199.0 133.0 37.0 -83.0 -183.0 -227.0 -232.0 -184.0 -104.0 -7.0 40.0 106.0 102.0 72.0 29.0 0.0 -21.0 2.0 4.0 -83.0 -112.0 -131.0 -82.0 -8.0 73.0 64.0 100.0 -18.0 -149.0 -217.0 -163.0 -51.0 126.0 257.0 377.0 395.0 269.0 47.0 239.0 794.0 832.0 649.0 97.0 -410.0 -674.0 -640.0 -690.0 -210.0 292.0 609.0 817.0 584.0 155.0 -298.0 -673.0 -987.0 -671.0 -306.0 15.0 -43.0 -258.0 -418.0 -310.0 -267.0 -271.0 -313.0 -440.0 -506.0 -699.0 -847.0 -929.0 -761.0 -476.0 -91.0 189.0 367.0 376.0 271.0 237.0 351.0 500.0 457.0 300.0 46.0 -183.0 -260.0 -206.0 -71.0 113.0 385.0 605.0 723.0 560.0 237.0 -95.0 -294.0 -324.0 -158.0 36.0 95.0 59.0 -62.0 -120.0 -115.0 -30.0 23.0 75.0 73.0 49.0 -32.0 -143.0 -264.0 -299.0 -212.0 -55.0 75.0 90.0 28.0 -51.0 -53.0 13.0 86.0 114.0 116.0 62.0 -44.0 -132.0 -183.0 -175.0 -173.0 -147.0 -64.0 32.0 58.0 33.0 36.0 77.0 175.0 200.0 147.0 0.0 -94.0 -198.0 -213.0 -180.0 -67.0 66.0 192.0 257.0 234.0 187.0 22.0 -119.0 -231.0 -202.0 -169.0 -75.0 -38.0 26.0 68.0 56.0 -9.0 -68.0 -76.0 -68.0 -60.0 -82.0 -87.0 -175.0 -238.0 -280.0 -252.0 -196.0 -91.0 -32.0 -32.0 -83.0 -166.0 -209.0 -221.0 -208.0 -159.0 -88.0 -89.0 -159.0 -201.0 -251.0 -240.0 -169.0 -76.0 69.0 202.0 203.0 104.0 40.0 -22.0 -51.0 -93.0 -78.0 -4.0 76.0 81.0 78.0 135.0 203.0 211.0 135.0 41.0 -71.0 -89.0 -98.0 -53.0 69.0 206.0 207.0 182.0 491.0 661.0 570.0 189.0 -335.0 -695.0 -718.0 -800.0 -738.0 -310.0 15.0 264.0 259.0 113.0 -125.0 -328.0 -674.0 -723.0 -492.0 -204.0 -24.0 -124.0 -373.0 -473.0 -359.0 -373.0 -384.0 -479.0 -479.0 -512.0 -639.0 -809.0 -806.0 -717.0 -572.0 -307.0 -20.0 231.0 236.0 102.0 12.0 138.0 324.0 435.0 325.0 90.0 -104.0 -233.0 -280.0 -259.0 -112.0 124.0 378.0 425.0 325.0 121.0 -109.0 -267.0 -297.0 -190.0 19.0 175.0 117.0 -32.0 -214.0 -283.0 -283.0 -187.0 -73.0 71.0 114.0 29.0 -124.0 -298.0 -347.0 -287.0 -119.0 69.0 211.0 213.0 118.0 -50.0 -177.0 -194.0 -126.0 -37.0 39.0 21.0 -10.0 -46.0 -112.0 -186.0 -175.0 -114.0 -37.0 70.0 112.0 127.0 101.0 54.0 -2.0 -2.0 -54.0 -108.0 -133.0 -119.0 -83.0 -24.0 -15.0 18.0 62.0 71.0 47.0 12.0 -69.0 -189.0 -260.0 -297.0 -254.0 -224.0 -135.0 -66.0 16.0 12.0 -52.0 -175.0 -277.0 -306.0 -258.0 -167.0 -108.0 -54.0 -39.0 -67.0 -149.0 -150.0 -133.0 -69.0 33.0 138.0 172.0 138.0 22.0 -73.0 -89.0 -87.0 -4.0 140.0 198.0 175.0 140.0 73.0 24.0 7.0 -2.0 82.0 238.0 290.0 229.0 104.0 -10.0 -40.0 18.0 6.0 91.0 191.0 228.0 137.0 -4.0 -179.0 -258.0 -208.0 -102.0 75.0 243.0 293.0 149.0 -15.0 -188.0 -241.0 -240.0 -192.0 -131.0 8.0 -22.0 449.0 608.0 407.0 197.0 -186.0 -511.0 -551.0 -604.0 -750.0 -325.0 -176.0 76.0 142.0 159.0 48.0 94.0 -128.0 -310.0 -174.0 -184.0 -157.0 -286.0 -446.0 -573.0 -495.0 -672.0 -715.0 -772.0 -692.0 -613.0 -589.0 -562.0 -472.0 -407.0 -453.0 -423.0 -433.0 -390.0 -408.0 -287.0 -87.0 215.0 467.0 596.0 512.0 262.0 -7.0 -291.0 -392.0 -419.0 -326.0 -143.0 85.0 147.0 161.0 107.0 37.0 124.0 188.0 238.0 264.0 270.0 116.0 -12.0 -144.0 -161.0 -50.0 67.0 164.0 243.0 288.0 236.0 175.0 50.0 18.0 47.0 90.0 111.0 98.0 32.0 -42.0 -49.0 -22.0 69.0 163.0 188.0 112.0 20.0 -89.0 -128.0 -89.0 -80.0 -57.0 19.0 -1.0 -95.0 -135.0 -153.0 -119.0 0.0 93.0 126.0 138.0 53.0 -71.0 -154.0 -168.0 -112.0 -13.0 39.0 87.0 60.0 24.0 4.0 12.0 51.0 69.0 72.0 -31.0 -116.0 -209.0 -215.0 -191.0 -120.0 -19.0 65.0 101.0 93.0 80.0 24.0 55.0 69.0 97.0 94.0 87.0 70.0 110.0 136.0 175.0 255.0 286.0 282.0 216.0 145.0 38.0 13.0 -4.0 85.0 158.0 202.0 159.0 85.0 29.0 -19.0 19.0 65.0 171.0 184.0 152.0 46.0 -20.0 -138.0 -252.0 -264.0 -243.0 -2.0 256.0 253.0 193.0 161.0 -1.0 -58.0 8.0 27.0 219.0 346.0 171.0 -16.0 -130.0 -263.0 -267.0 -190.0 -99.0 93.0 155.0 -44.0 -203.0 -265.0 -266.0 -139.0 -15.0 39.0 47.0 -18.0 -146.0 -222.0 -266.0 -212.0 -148.0 -179.0 -267.0 -376.0 -558.0 -702.0 -740.0 -751.0 -682.0 -578.0 -508.0 -467.0 -433.0 -410.0 -414.0 -396.0 -294.0 -156.0 -16.0 128.0 189.0 265.0 455.0 559.0 543.0 482.0 322.0 133.0 52.0 -18.0 -23.0 101.0 185.0 169.0 151.0 127.0 113.0 172.0 237.0 298.0 385.0 430.0 399.0 293.0 142.0 54.0 42.0 68.0 133.0 203.0 227.0 206.0 134.0 99.0 102.0 119.0 179.0 267.0 301.0 305.0 265.0 215.0 197.0 220.0 229.0 208.0 163.0 69.0 10.0 -36.0 -67.0 -95.0 -83.0 -112.0 -180.0 -233.0 -261.0 -243.0 -159.0 -64.0 47.0 154.0 120.0 38.0 -48.0 -119.0 -94.0 8.0 77.0 108.0 111.0 20.0 -75.0 -143.0 -175.0 -106.0 39.0 110.0 147.0 152.0 50.0 -54.0 -131.0 -121.0 -32.0 106.0 205.0 247.0 258.0 203.0 119.0 37.0 -5.0 7.0 61.0 137.0 207.0 223.0 247.0 261.0 216.0 195.0 196.0 205.0 199.0 233.0 258.0 281.0 327.0 265.0 166.0 166.0 213.0 289.0 366.0 378.0 383.0 313.0 232.0 165.0 139.0 142.0 146.0 124.0 101.0 128.0 215.0 268.0 272.0 272.0 205.0 155.0 56.0 -8.0 -40.0 -91.0 -167.0 -251.0 -320.0 -363.0 -413.0 -419.0 -409.0 -522.0 -607.0 -678.0 -713.0 -689.0 -609.0 -547.0 -517.0 -438.0 -337.0 -263.0 -153.0 5.0 91.0 266.0 480.0 568.0 575.0 517.0 347.0 237.0 222.0 173.0 173.0 178.0 116.0 -6.0 -55.0 -129.0 -175.0 -102.0 -96.0 -63.0 54.0 98.0 54.0 30.0 -20.0 -54.0 9.0 45.0 67.0 127.0 147.0 114.0 121.0 123.0 110.0 109.0 77.0 54.0 62.0 68.0 71.0 135.0 193.0 220.0 234.0 225.0 201.0 191.0 179.0 174.0 218.0 259.0 237.0 204.0 207.0 154.0 72.0 32.0 36.0 120.0 229.0 293.0 318.0 315.0 246.0 161.0 113.0 61.0 68.0 106.0 97.0 100.0 87.0 25.0 -60.0 -137.0 -151.0 -82.0 -39.0 -33.0 0.0 6.0 -8.0 -40.0 -53.0 -45.0 24.0 84.0 160.0 219.0 158.0 71.0 -16.0 -83.0 -66.0 40.0 121.0 211.0 239.0 228.0 213.0 180.0 153.0 172.0 201.0 214.0 237.0 206.0 204.0 149.0 96.0 98.0 111.0 136.0 168.0 189.0 169.0 140.0 107.0 76.0 56.0 63.0 65.0 70.0 67.0 48.0 9.0 -40.0 -45.0 -53.0 -54.0 -43.0 -46.0 -67.0 -74.0 -67.0 -81.0 -100.0 -113.0 -112.0 -82.0 -13.0 23.0 46.0 78.0 130.0 154.0 178.0 221.0 212.0 200.0 185.0 143.0 116.0 163.0 211.0 244.0 239.0 212.0 156.0 82.0 -18.0 -120.0 -151.0 -164.0 -207.0 -242.0 -271.0 -319.0 -363.0 -393.0 -397.0 -369.0 -294.0 -233.0 -158.0 -65.0 -9.0 0.0 3.0 -1.0 4.0 55.0 90.0 112.0 175.0 231.0 233.0 244.0 243.0 211.0 171.0 132.0 106.0 93.0 65.0 50.0 70.0 110.0 167.0 193.0 175.0 136.0 100.0 65.0 56.0 58.0 64.0 75.0 72.0 87.0 95.0 101.0 102.0 100.0 100.0 107.0 92.0 42.0 16.0 -28.0 -63.0 -40.0 24.0 97.0 133.0 145.0 146.0 141.0 117.0 76.0 64.0 52.0 35.0 20.0 16.0 40.0 88.0 133.0 165.0 193.0 210.0 223.0 224.0 221.0 215.0 216.0 209.0 197.0 210.0 240.0 272.0 270.0 214.0 176.0 117.0 70.0 31.0 -14.0 -16.0 -21.0 -23.0 -24.0 -38.0 -63.0 -48.0 -58.0 -3.0 -17.0 32.0 24.0 -42.0 -64.0 -90.0 -51.0 -51.0 -71.0 -111.0 -78.0 -155.0 -101.0 -178.0 -182.0 -89.0 -185.0 -127.0 -149.0 -186.0 -133.0 -199.0 -143.0 -126.0 -149.0 -42.0 -145.0 -122.0 -92.0 -161.0 -122.0 -116.0 -121.0 -49.0 -83.0 7.0 -57.0 -47.0 -33.0 -107.0 -27.0 -142.0 -31.0 -54.0 -74.0 -23.0 -47.0 7.0 7.0 1.0 -3.0 -36.0 -28.0 -23.0 -29.0 11.0 0.0 43.0 33.0 37.0 60.0 5.0 21.0 30.0 56.0 146.0 131.0 156.0 129.0 124.0 167.0 138.0 216.0 200.0 211.0 205.0 98.0 143.0 32.0 57.0 44.0 -93.0 -9.0 -167.0 -113.0 -157.0 -180.0 -52.0 -89.0 -54.0 -50.0 -153.0 -115.0 -110.0 -156.0 -68.0 -138.0 -31.0 -93.0 -81.0 -123.0 -172.0 -192.0 -269.0 -246.0 -332.0 -276.0 -268.0 -262.0 -173.0 -155.0 -57.0 41.0 -3.0 85.0 20.0 38.0 24.0 -22.0 14.0 43.0 76.0 100.0 106.0 141.0 199.0 189.0 279.0 218.0 245.0 156.0 97.0 76.0 63.0 142.0 115.0 177.0 171.0 183.0 224.0 137.0 147.0 93.0 57.0 58.0 42.0 107.0 80.0 120.0 74.0 116.0 62.0 76.0 47.0 -39.0 46.0 -57.0 17.0 12.0 -58.0 111.0 37.0 88.0 129.0 46.0 97.0 -12.0 -63.0 -119.0 -174.0 -254.0 -205.0 -300.0 -188.0 -248.0 -259.0 -150.0 -321.0 -103.0 -283.0 -204.0 -196.0 -332.0 -138.0 -321.0 -212.0 -140.0 -255.0 -62.0 -135.0 -63.0 -30.0 -127.0 -27.0 -132.0 -136.0 -82.0 -149.0 -111.0 -132.0 -144.0 -65.0 -106.0 82.0 -26.0 60.0 83.0 -84.0 49.0 -211.0 -66.0 -208.0 -101.0 -60.0 -96.0 78.0 -63.0 87.0 -67.0 56.0 -43.0 49.0 45.0 -7.0 119.0 -55.0 101.0 -47.0 26.0 56.0 58.0 158.0 89.0 116.0 68.0 83.0 77.0 125.0 116.0 172.0 138.0 115.0 93.0 80.0 70.0 100.0 117.0 117.0 75.0 173.0 120.0 -9.0 163.0 -19.0 89.0 -9.0 15.0 -80.0 -145.0 -101.0 -205.0 -110.0 -154.0 -105.0 -34.0 -96.0 -31.0 -93.0 -142.0 -181.0 -234.0 -80.0 -236.0 -15.0 -188.0 -129.0 -144.0 -205.0 -139.0 -227.0 -75.0 -162.0 -84.0 -115.0 -159.0 -168.0 -139.0 -247.0 -30.0 -181.0 -18.0 -48.0 -70.0 39.0 -246.0 114.0 -236.0 -20.0 -39.0 -131.0 -40.0 -85.0 40.0 -110.0 75.0 -64.0 43.0 70.0 -22.0 130.0 -76.0 134.0 53.0 -42.0 180.0 -72.0 192.0 -50.0 138.0 15.0 -49.0 93.0 -261.0 102.0 -196.0 25.0 -29.0 -116.0 36.0 -156.0 -5.0 -92.0 -41.0 2.0 58.0 5.0 128.0 30.0 72.0 216.0 25.0 269.0 115.0 250.0 112.0 137.0 107.0 -92.0 49.0 -167.0 -105.0 -167.0 -222.0 -156.0 -124.0 -334.0 -118.0 -359.0 -159.0 -246.0 -264.0 -147.0 -392.0 -48.0 -337.0 -82.0 -168.0 -138.0 -58.0 -165.0 -74.0 -110.0 -185.0 34.0 -210.0 60.0 -125.0 -132.0 91.0 -326.0 180.0 -225.0 95.0 -61.0 83.0 -16.0 38.0 -35.0 7.0 -19.0 10.0 186.0 -66.0 349.0 -186.0 341.0 -210.0 91.0 -53.0 -72.0 72.0 -76.0 98.0 -11.0 10.0 -15.0 59.0 -194.0 119.0 -130.0 153.0 -161.0 171.0 -176.0 143.0 -20.0 -30.0 149.0 -120.0 194.0 -231.0 140.0 -323.0 61.0 -236.0 -137.0 -51.0 -113.0 -25.0 -69.0 -89.0 -150.0 -26.0 -162.0 -30.0 -156.0 30.0 -220.0 71.0 -298.0 -34.0 -205.0 -148.0 -122.0 -215.0 32.0 -315.0 118.0 -347.0 7.0 -112.0 -187.0 18.0 -86.0 -44.0 39.0 -46.0 -57.0 27.0 -119.0 22.0 -104.0 -177.0 28.0 -245.0 -60.0 -144.0 -168.0 -59.0 -228.0 68.0 -311.0 130.0 -199.0 -77.0 44.0 -300.0 45.0 -171.0 -167.0 80.0 -162.0 60.0 1.0 -72.0 207.0 -305.0 241.0 -106.0 -56.0 269.0 -192.0 238.0 35.0 22.0 200.0 2.0 181.0 11.0 135.0 54.0 71.0 73.0 150.0 -106.0 205.0 -41.0 -107.0 236.0 -259.0 234.0 -236.0 199.0 -294.0 111.0 -41.0 -104.0 187.0 -113.0 288.0 -35.0 160.0 -33.0 84.0 -165.0 247.0 -315.0 229.0 -142.0 -125.0 143.0 -424.0 154.0 -345.0 -42.0 -199.0 -135.0 -306.0 -131.0 -322.0 -132.0 -353.0 -135.0 -157.0 -315.0 66.0 -481.0 -86.0 -429.0 -147.0 -255.0 -128.0 -172.0 -287.0 -142.0 -320.0 -198.0 -201.0 -146.0 -109.0 1.0 -258.0 -16.0 -121.0 -407.0 101.0 -310.0 -16.0 101.0 -136.0 297.0 -104.0 17.0 128.0 -184.0 235.0 34.0 -8.0 384.0 -110.0 315.0 -48.0 23.0 86.0 -14.0 231.0 35.0 65.0 144.0 -51.0 113.0 -160.0 -106.0 114.0 -129.0 338.0 -163.0 210.0 -40.0 -17.0 120.0 -229.0 188.0 -86.0 -19.0 89.0 -172.0 214.0 -345.0 -30.0 82.0 -358.0 258.0 -95.0 -60.0 112.0 -125.0 -23.0 -101.0 -138.0 -37.0 -137.0 59.0 -84.0 18.0 -15.0 -223.0 -35.0 -216.0 -125.0 -14.0 -348.0 129.0 -384.0 74.0 16.0 -275.0 227.0 -166.0 18.0 -92.0 199.0 -219.0 177.0 32.0 -175.0 290.0 -71.0 1.0 45.0 -47.0 45.0 -12.0 -77.0 68.0 -155.0 -18.0 -1.0 26.0 42.0 -164.0 241.0 -388.0 16.0 110.0 -315.0 273.0 -40.0 -70.0 188.0 -155.0 -11.0 272.0 -403.0 715.0 -351.0 376.0 324.0 -435.0 596.0 -375.0 179.0 217.0 186.0 147.0 448.0 -252.0 394.0 -154.0 -56.0 306.0 -384.0 379.0 -128.0 91.0 220.0 -267.0 190.0 -16.0 -277.0 291.0 -307.0 198.0 -231.0 42.0 -52.0 -179.0 250.0 -282.0 -23.0 -6.0 -329.0 98.0 -128.0 -308.0 263.0 -494.0 188.0 -282.0 -100.0 101.0 -408.0 404.0 -577.0 117.0 -58.0 -315.0 256.0 -645.0 322.0 -384.0 -63.0 -35.0 -353.0 -80.0 -132.0 106.0 -247.0 152.0 -522.0 228.0 -312.0 -295.0 426.0 -759.0 524.0 51.0 -488.0 833.0 -801.0 650.0 -134.0 -268.0 949.0 -870.0 1026.0 -359.0 199.0 554.0 -555.0 882.0 -385.0 490.0 172.0 -193.0 699.0 -480.0 554.0 -106.0 -317.0 445.0 -357.0 279.0 -33.0 -145.0 324.0 -153.0 -33.0 214.0 -251.0 207.0 -37.0 -137.0 90.0 -13.0 286.0 -253.0 233.0 -80.0 -73.0 314.0 -289.0 163.0 -22.0 25.0 203.0 -119.0 164.0 -64.0 -38.0 90.0 -189.0 129.0 -94.0 248.0 -185.0 12.0 211.0 -130.0 -51.0 -18.0 -160.0 61.0 -47.0 -66.0 60.0 -394.0 471.0 -703.0 601.0 -542.0 -70.0 426.0 -594.0 642.0 -497.0 119.0 52.0 -279.0 215.0 -72.0 18.0 334.0 -15.0 322.0 -309.0 376.0 -282.0 346.0 -111.0 72.0 385.0 -490.0 643.0 -525.0 256.0 -289.0 378.0 38.0 72.0 381.0 -348.0 609.0 -317.0 132.0 259.0 -174.0 593.0 52.0 -148.0 805.0 -560.0 858.0 -161.0 69.0 724.0 -598.0 877.0 -603.0 636.0 -202.0 89.0 302.0 -366.0 558.0 -146.0 -18.0 221.0 -158.0 88.0 -118.0 -14.0 94.0 -246.0 240.0 -334.0 130.0 -113.0 139.0 -117.0 180.0 -197.0 420.0 -458.0 118.0 226.0 -308.0 607.0 -470.0 356.0 -172.0 236.0 3.0 146.0 101.0 398.0 -193.0 233.0 207.0 30.0 272.0 64.0 179.0 73.0 88.0 95.0 130.0 106.0 205.0 -117.0 420.0 -175.0 442.0 -245.0 397.0 -403.0 521.0 -113.0 -25.0 645.0 -613.0 755.0 -510.0 104.0 218.0 -107.0 401.0 143.0 -420.0 877.0 -780.0 496.0 -172.0 -88.0 931.0 -777.0 1044.0 -887.0 728.0 -73.0 -234.0 603.0 -565.0 754.0 -286.0 291.0 199.0 -527.0 502.0 -138.0 -42.0 436.0 -425.0 450.0 -250.0 -54.0 504.0 -720.0 738.0 -426.0 -48.0 524.0 -872.0 668.0 -675.0 557.0 77.0 -290.0 578.0 -587.0 509.0 -229.0 160.0 36.0 197.0 -22.0 214.0 111.0 -192.0 57.0 246.0 -95.0 148.0 167.0 20.0 215.0 -199.0 380.0 -458.0 555.0 -315.0 409.0 -53.0 -40.0 454.0 -221.0 361.0 -176.0 262.0 135.0 95.0 211.0 201.0 78.0 383.0 -98.0 417.0 82.0 352.0 -61.0 237.0 104.0 84.0 136.0 -36.0 245.0 101.0 274.0 -165.0 392.0 -304.0 397.0 -410.0 441.0 170.0 -22.0 474.0 -187.0 392.0 -8.0 169.0 -164.0 379.0 46.0 301.0 391.0 46.0 122.0 231.0 75.0 -61.0 228.0 49.0 404.0 -22.0 274.0 31.0 47.0 295.0 -184.0 275.0 42.0 42.0 186.0 -3.0 118.0 115.0 -7.0 68.0 36.0 43.0 -316.0 318.0 -78.0 -150.0 257.0 -188.0 372.0 -168.0 159.0 69.0 11.0 57.0 -167.0 316.0 216.0 121.0 154.0 -109.0 -8.0 418.0 -192.0 322.0 32.0 137.0 191.0 -62.0 248.0 -339.0 310.0 104.0 83.0 120.0 21.0 -256.0 346.0 -12.0 -112.0 121.0 -161.0 574.0 -220.0 483.0 -379.0 76.0 152.0 -192.0 392.0 -252.0 234.0 140.0 327.0 -210.0 172.0 -126.0 58.0 134.0 11.0 91.0 129.0 169.0 -41.0 62.0 -102.0 328.0 -127.0 301.0 -48.0 200.0 310.0 -280.0 289.0 -153.0 140.0 405.0 9.0 491.0 184.0 56.0 23.0 1.0 -80.0 283.0 293.0 6.0 516.0 14.0 29.0 -34.0 -107.0 -61.0 257.0 92.0 364.0 -101.0 418.0 -83.0 -499.0 679.0 -540.0 416.0 -5.0 179.0 260.0 -434.0 75.0 -99.0 -123.0 94.0 -72.0 208.0 -103.0 -71.0 308.0 -666.0 463.0 -202.0 76.0 269.0 -286.0 210.0 22.0 -217.0 21.0 -195.0 265.0 -21.0 -11.0 528.0 -588.0 686.0 -617.0 -10.0 333.0 -476.0 417.0 -36.0 295.0 -233.0 129.0 -19.0 -84.0 362.0 -341.0 192.0 316.0 92.0 -96.0 177.0 60.0 280.0 -23.0 15.0 181.0 -273.0 350.0 -182.0 317.0 -50.0 13.0 270.0 45.0 -265.0 253.0 -238.0 159.0 218.0 -268.0 582.0 -237.0 21.0 117.0 25.0 -230.0 192.0 -194.0 302.0 -5.0 -144.0 -97.0 -136.0 286.0 -16.0 168.0 -12.0 175.0 -296.0 -10.0 -251.0 -95.0 -140.0 193.0 303.0 -215.0 177.0 -108.0 -280.0 -61.0 -30.0 -284.0 595.0 -45.0 6.0 130.0 -188.0 19.0 -308.0 1.0 108.0 278.0 163.0 15.0 -175.0 67.0 -331.0 218.0 82.0 -10.0 241.0 -80.0 -6.0 -24.0 -116.0 -122.0 284.0 -134.0 197.0 -121.0 -44.0 177.0 -294.0 155.0 60.0 15.0 159.0 -193.0 114.0 27.0 -180.0 116.0 -39.0 305.0 55.0 -185.0 38.0 -240.0 140.0 -177.0 2.0 250.0 -64.0 104.0 -81.0 -203.0 -12.0 133.0 -113.0 -53.0 -81.0 147.0 -6.0 -218.0 -96.0 -161.0 161.0 -86.0 -50.0 -74.0 -43.0 242.0 -319.0 18.0 -178.0 36.0 137.0 -418.0 147.0 -145.0 -142.0 114.0 -210.0 83.0 29.0 -241.0 -24.0 -151.0 -42.0 -188.0 -7.0 -18.0 -376.0 32.0 -78.0 -57.0 -143.0 -292.0 -10.0 -167.0 -213.0 -103.0 -159.0 209.0 -47.0 -63.0 -132.0 -118.0 44.0 -366.0 -26.0 -153.0 340.0 -216.0 20.0 140.0 -152.0 137.0 -442.0 -8.0 -192.0 43.0 145.0 -51.0 134.0 16.0 -175.0 36.0 -283.0 83.0 172.0 -224.0 187.0 27.0 -138.0 52.0 -262.0 -19.0 305.0 -224.0 31.0 -2.0 56.0 -104.0 -171.0 -83.0 -111.0 245.0 112.0 -135.0 115.0 -209.0 53.0 -98.0 -383.0 540.0 -306.0 232.0 64.0 -443.0 256.0 -135.0 12.0 -354.0 88.0 -95.0 174.0 -177.0 -180.0 52.0 -234.0 89.0 -268.0 205.0 -282.0 159.0 -82.0 -135.0 -319.0 -219.0 1.0 123.0 -204.0 -127.0 289.0 -329.0 10.0 -321.0 3.0 -57.0 157.0 -384.0 -186.0 89.0 -165.0 -160.0 94.0 -57.0 62.0 -1.0 -401.0 154.0 -270.0 -1.0 -350.0 -11.0 -29.0 -43.0 240.0 -253.0 -199.0 -231.0 -129.0 -204.0 -176.0 39.0 99.0 102.0 -93.0 -220.0 -58.0 -198.0 -249.0 4.0 197.0 158.0 -191.0 -5.0 154.0 -13.0 -292.0 -114.0 13.0 9.0 122.0 -411.0 79.0 42.0 -45.0 -230.0 -62.0 -2.0 -307.0 108.0 -79.0 -217.0 -202.0 -14.0 -108.0 -49.0 -99.0 -48.0 -201.0 -203.0 -185.0 -230.0 74.0 113.0 62.0 101.0 -177.0 -128.0 -343.0 -180.0 -145.0 -43.0 139.0 -28.0 286.0 -364.0 5.0 -273.0 -123.0 -81.0 -327.0 156.0 -42.0 -30.0 -186.0 -190.0 -26.0 -264.0 -117.0 -139.0 19.0 97.0 -282.0 63.0 -122.0 170.0 3.0 -99.0 96.0 33.0 19.0 -94.0 -247.0 65.0 153.0 118.0 72.0 -115.0 87.0 -269.0 -238.0 -14.0 -32.0 175.0 29.0 9.0 181.0 -206.0 -56.0 -350.0 -43.0 35.0 203.0 271.0 -254.0 179.0 -223.0 -305.0 -145.0 -400.0 117.0 107.0 -5.0 262.0 -204.0 -59.0 -479.0 -483.0 37.0 44.0 301.0 -27.0 100.0 -41.0 -402.0 -225.0 -455.0 213.0 165.0 22.0 391.0 -287.0 -86.0 -512.0 -508.0 -20.0 -222.0 157.0 169.0 171.0 -5.0 -431.0 -581.0 -497.0 -326.0 -45.0 7.0 155.0 194.0 -183.0 -289.0 -592.0 -411.0 -141.0 -215.0 56.0 86.0 23.0 -81.0 -247.0 -130.0 -332.0 -62.0 1.0 -187.0 36.0 -4.0 -62.0 -71.0 -176.0 -180.0 -124.0 -271.0 63.0 -54.0 -125.0 -122.0 -241.0 -153.0 -12.0 -15.0 -77.0 37.0 -19.0 -120.0 -257.0 -109.0 -38.0 268.0 29.0 64.0 135.0 17.0 99.0 -158.0 -36.0 -152.0 66.0 158.0 38.0 78.0 -93.0 -167.0 -204.0 -268.0 -21.0 85.0 74.0 -58.0 -291.0 -309.0 -331.0 -98.0 -33.0 -104.0 14.0 21.0 -166.0 -302.0 -240.0 24.0 -96.0 -72.0 -67.0 -138.0 22.0 -96.0 -257.0 -227.0 -187.0 94.0 -11.0 -149.0 -44.0 -290.0 -26.0 -196.0 -153.0 -73.0 -127.0 -38.0 -83.0 -176.0 -141.0 -187.0 -145.0 -4.0 -143.0 177.0 -136.0 -59.0 -92.0 -302.0 -75.0 -185.0 -19.0 67.0 27.0 10.0 -71.0 -137.0 -139.0 -112.0 -99.0 -27.0 -15.0 -161.0 -7.0 -53.0 -140.0 -40.0 -97.0 -66.0 -16.0 -64.0 -64.0 -95.0 -98.0 -16.0 -44.0 45.0 -35.0 -71.0 -116.0 -127.0 -101.0 -126.0 -48.0 -118.0 29.0 171.0 -38.0 -179.0 -164.0 -244.0 -202.0 -161.0 -2.0 105.0 -10.0 -119.0 -223.0 -249.0 -317.0 -249.0 -90.0 -34.0 173.0 155.0 -84.0 -128.0 -233.0 -192.0 -238.0 -206.0 -6.0 0.0 74.0 -10.0 -85.0 -47.0 -115.0 -67.0 -126.0 -79.0 -47.0 -87.0 -79.0 -133.0 -35.0 -70.0 -65.0 -6.0 28.0 84.0 -29.0 -172.0 -154.0 -88.0 -12.0 -28.0 59.0 189.0 84.0 124.0 66.0 40.0 -10.0 -158.0 -92.0 -73.0 58.0 208.0 237.0 150.0 -9.0 -79.0 -111.0 -179.0 -78.0 34.0 28.0 153.0 226.0 72.0 -28.0 67.0 0.0 3.0 79.0 44.0 91.0 3.0 -49.0 28.0 122.0 232.0 191.0 144.0 97.0 113.0 1.0 -104.0 -22.0 -25.0 51.0 130.0 71.0 -12.0 -28.0 -48.0 -98.0 -55.0 -7.0 1.0 17.0 -37.0 -37.0 -144.0 -97.0 34.0 126.0 142.0 -68.0 -87.0 -92.0 -89.0 -57.0 53.0 194.0 244.0 156.0 9.0 -64.0 -131.0 -133.0 -136.0 -45.0 121.0 185.0 107.0 -12.0 -139.0 -157.0 -101.0 1.0 72.0 103.0 123.0 34.0 -58.0 -156.0 -152.0 -73.0 31.0 123.0 87.0 115.0 165.0 -1.0 -64.0 -68.0 41.0 144.0 116.0 203.0 170.0 100.0 67.0 33.0 13.0 111.0 171.0 104.0 98.0 76.0 -35.0 -14.0 45.0 107.0 137.0 107.0 71.0 -38.0 -84.0 -137.0 -123.0 -126.0 -5.0 126.0 185.0 123.0 11.0 12.0 -169.0 -202.0 -76.0 142.0 218.0 188.0 196.0 81.0 -56.0 -106.0 -33.0 18.0 60.0 134.0 161.0 128.0 15.0 -94.0 -69.0 -108.0 7.0 88.0 151.0 165.0 55.0 57.0 -155.0 -224.0 -180.0 -23.0 101.0 135.0 245.0 193.0 96.0 -39.0 -174.0 -101.0 14.0 38.0 111.0 123.0 208.0 211.0 65.0 4.0 -35.0 -82.0 -64.0 4.0 146.0 222.0 138.0 102.0 27.0 -26.0 -33.0 41.0 116.0 104.0 167.0 207.0 149.0 28.0 -55.0 52.0 115.0 127.0 179.0 193.0 193.0 141.0 84.0 77.0 57.0 15.0 34.0 109.0 136.0 70.0 88.0 76.0 27.0 -12.0 -81.0 -101.0 -63.0 52.0 132.0 133.0 154.0 125.0 60.0 -63.0 -138.0 -61.0 15.0 75.0 143.0 142.0 117.0 112.0 -26.0 -101.0 -51.0 53.0 86.0 144.0 191.0 146.0 119.0 63.0 34.0 43.0 53.0 102.0 115.0 101.0 82.0 53.0 95.0 73.0 59.0 33.0 14.0 38.0 52.0 92.0 122.0 108.0 90.0 34.0 41.0 50.0 15.0 24.0 72.0 111.0 160.0 183.0 106.0 121.0 113.0 73.0 66.0 49.0 87.0 165.0 199.0 155.0 68.0 44.0 25.0 48.0 34.0 31.0 147.0 155.0 101.0 124.0 106.0 41.0 42.0 47.0 76.0 120.0 162.0 140.0 131.0 125.0 97.0 98.0 62.0 82.0 122.0 69.0 19.0 54.0 76.0 60.0 51.0 22.0 70.0 139.0 81.0 60.0 31.0 -13.0 -27.0 -32.0 5.0 44.0 89.0 137.0 86.0 -27.0 -55.0 -23.0 17.0 40.0 63.0 85.0 101.0 33.0 -57.0 -50.0 10.0 59.0 34.0 68.0 105.0 62.0 45.0 16.0 37.0 44.0 45.0 89.0 49.0 -40.0 -21.0 37.0 28.0 67.0 123.0 156.0 147.0 94.0 47.0 -3.0 24.0 46.0 72.0 144.0 129.0 140.0 89.0 80.0 105.0 18.0 21.0 85.0 112.0 118.0 125.0 114.0 105.0 80.0 57.0 21.0 39.0 46.0 85.0 109.0 45.0 59.0 135.0 123.0 68.0 115.0 154.0 165.0 97.0 45.0 15.0 31.0 115.0 135.0 180.0 214.0 185.0 106.0 1.0 -26.0 19.0 100.0 132.0 123.0 111.0 52.0 48.0 -1.0 -56.0 -22.0 27.0 78.0 101.0 136.0 127.0 32.0 -58.0 -51.0 -25.0 -16.0 11.0 86.0 137.0 120.0 70.0 -3.0 12.0 28.0 36.0 87.0 123.0 158.0 107.0 14.0 -56.0 -41.0 19.0 39.0 100.0 123.0 117.0 37.0 -12.0 45.0 44.0 36.0 105.0 150.0 121.0 102.0 64.0 -3.0 -15.0 -6.0 22.0 42.0 51.0 73.0 71.0 41.0 -20.0 -3.0 21.0 -4.0 -42.0 -23.0 -4.0 -27.0 -65.0 -89.0 -20.0 36.0 67.0 58.0 78.0 66.0 -9.0 -48.0 -66.0 -40.0 23.0 40.0 89.0 91.0 48.0 -10.0 -78.0 -70.0 -55.0 -6.0 31.0 31.0 27.0 -44.0 -115.0 -124.0 -142.0 -41.0 29.0 84.0 94.0 9.0 -45.0 -88.0 -57.0 -95.0 -106.0 -40.0 79.0 143.0 90.0 32.0 20.0 22.0 -47.0 -54.0 -14.0 24.0 92.0 108.0 77.0 59.0 43.0 -36.0 -58.0 -1.0 35.0 78.0 82.0 83.0 108.0 92.0 49.0 -6.0 -74.0 -45.0 0.0 37.0 90.0 137.0 147.0 60.0 -18.0 -32.0 17.0 37.0 16.0 56.0 104.0 101.0 91.0 38.0 11.0 13.0 -1.0 8.0 74.0 144.0 123.0 51.0 32.0 17.0 -50.0 -32.0 0.0 72.0 107.0 78.0 68.0 57.0 52.0 20.0 -9.0 -4.0 -5.0 11.0 61.0 99.0 108.0 12.0 -40.0 -55.0 -77.0 -62.0 -21.0 74.0 94.0 63.0 28.0 -15.0 -32.0 -117.0 -154.0 -98.0 -41.0 38.0 56.0 50.0 36.0 -1.0 -32.0 -55.0 -95.0 -86.0 -40.0 -18.0 -12.0 20.0 58.0 32.0 -35.0 -85.0 -77.0 -29.0 -2.0 3.0 57.0 71.0 22.0 -27.0 -59.0 -75.0 -90.0 -70.0 7.0 78.0 109.0 81.0 65.0 32.0 -29.0 -31.0 -53.0 -40.0 15.0 45.0 64.0 52.0 -5.0 -60.0 -112.0 -117.0 -79.0 -27.0 18.0 43.0 51.0 1.0 -54.0 -48.0 -55.0 -97.0 -54.0 29.0 62.0 42.0 16.0 20.0 -25.0 -68.0 -62.0 -30.0 -3.0 21.0 66.0 55.0 10.0 -6.0 -8.0 -20.0 -12.0 -1.0 14.0 34.0 43.0 7.0 -22.0 -35.0 -90.0 -104.0 -79.0 -37.0 42.0 47.0 16.0 28.0 0.0 -61.0 -82.0 -57.0 -40.0 -17.0 11.0 21.0 4.0 -33.0 -74.0 -94.0 -115.0 -80.0 -11.0 1.0 1.0 2.0 -16.0 -65.0 -121.0 -140.0 -112.0 -52.0 -8.0 26.0 70.0 69.0 20.0 -48.0 -99.0 -99.0 -92.0 -104.0 -51.0 -2.0 18.0 18.0 33.0 27.0 -22.0 -35.0 -49.0 -40.0 -60.0 -12.0 78.0 87.0 76.0 69.0 8.0 -48.0 -76.0 -96.0 -64.0 6.0 80.0 63.0 -15.0 -56.0 -84.0 -112.0 -134.0 -106.0 -9.0 48.0 39.0 40.0 -21.0 -81.0 -112.0 -120.0 -79.0 -47.0 -12.0 -3.0 -4.0 -19.0 -39.0 -75.0 -83.0 -91.0 -74.0 -63.0 -37.0 -30.0 -46.0 -26.0 -58.0 -83.0 -109.0 -106.0 -102.0 -57.0 -41.0 -49.0 -48.0 -47.0 -64.0 -68.0 -39.0 -46.0 -46.0 -13.0 31.0 10.0 11.0 -11.0 -40.0 -93.0 -117.0 -94.0 -99.0 -71.0 -25.0 21.0 17.0 5.0 -12.0 -67.0 -111.0 -104.0 -64.0 -8.0 22.0 31.0 33.0 -26.0 -98.0 -140.0 -157.0 -130.0 -81.0 -41.0 -36.0 -15.0 -17.0 -45.0 -93.0 -100.0 -109.0 -113.0 -104.0 -94.0 -43.0 -70.0 -75.0 -84.0 -111.0 -135.0 -127.0 -108.0 -93.0 -86.0 -71.0 -47.0 -42.0 -47.0 -83.0 -98.0 -124.0 -131.0 -106.0 -63.0 -29.0 -16.0 11.0 -15.0 -53.0 -54.0 -71.0 -74.0 -60.0 -15.0 3.0 6.0 -19.0 -51.0 -84.0 -91.0 -95.0 -95.0 -71.0 -53.0 -12.0 -21.0 -39.0 -88.0 -73.0 -68.0 -52.0 -51.0 -80.0 -57.0 -66.0 -79.0 -99.0 -108.0 -78.0 -42.0 -27.0 -4.0 -2.0 -2.0 -68.0 -109.0 -107.0 -102.0 -80.0 -59.0 -34.0 -40.0 -79.0 -169.0 -227.0 -274.0 -282.0 -243.0 -173.0 -120.0 -72.0 -65.0 -121.0 -195.0 -240.0 -231.0 -205.0 -127.0 -43.0 24.0 -7.0 -39.0 -105.0 -151.0 -178.0 -158.0 -112.0 -62.0 8.0 -10.0 0.0 4.0 -16.0 -66.0 -71.0 -66.0 -40.0 -34.0 -19.0 5.0 40.0 48.0 12.0 22.0 13.0 13.0 -10.0 8.0 74.0 157.0 174.0 205.0 213.0 170.0 98.0 70.0 66.0 83.0 120.0 156.0 204.0 185.0 166.0 88.0 40.0 5.0 -16.0 -11.0 36.0 44.0 15.0 -45.0 -119.0 -209.0 -317.0 -361.0 -383.0 -365.0 -351.0 -292.0 -287.0 -307.0 -339.0 -378.0 -390.0 -434.0 -441.0 -400.0 -353.0 -316.0 -263.0 -215.0 -211.0 -228.0 -256.0 -277.0 -269.0 -253.0 -210.0 -131.0 -67.0 -38.0 -49.0 -19.0 -16.0 -47.0 -60.0 -10.0 49.0 51.0 130.0 163.0 174.0 174.0 187.0 179.0 205.0 234.0 262.0 359.0 379.0 380.0 379.0 372.0 319.0 297.0 278.0 270.0 309.0 304.0 289.0 285.0 249.0 183.0 159.0 139.0 104.0 60.0 32.0 10.0 -19.0 -60.0 -158.0 -242.0 -334.0 -424.0 -483.0 -498.0 -480.0 -446.0 -395.0 -366.0 -348.0 -394.0 -463.0 -554.0 -611.0 -615.0 -552.0 -459.0 -401.0 -307.0 -246.0 -265.0 -300.0 -344.0 -334.0 -313.0 -259.0 -135.0 8.0 120.0 155.0 205.0 226.0 236.0 191.0 163.0 191.0 271.0 290.0 317.0 368.0 389.0 340.0 273.0 234.0 190.0 201.0 204.0 237.0 264.0 306.0 303.0 307.0 253.0 218.0 188.0 189.0 184.0 235.0 282.0 308.0 349.0 298.0 261.0 208.0 170.0 117.0 149.0 144.0 196.0 195.0 178.0 122.0 38.0 -59.0 -173.0 -224.0 -321.0 -329.0 -334.0 -363.0 -432.0 -474.0 -503.0 -515.0 -523.0 -521.0 -493.0 -446.0 -457.0 -470.0 -488.0 -517.0 -519.0 -495.0 -392.0 -290.0 -183.0 -110.0 5.0 70.0 82.0 134.0 177.0 240.0 288.0 330.0 364.0 375.0 395.0 367.0 333.0 314.0 271.0 241.0 215.0 181.0 152.0 132.0 116.0 76.0 27.0 -18.0 8.0 37.0 34.0 66.0 97.0 138.0 116.0 122.0 142.0 152.0 149.0 163.0 222.0 254.0 272.0 299.0 301.0 286.0 256.0 219.0 211.0 178.0 152.0 120.0 123.0 49.0 -43.0 -147.0 -229.0 -291.0 -351.0 -404.0 -421.0 -369.0 -373.0 -361.0 -381.0 -389.0 -411.0 -412.0 -444.0 -424.0 -394.0 -347.0 -275.0 -196.0 -109.0 39.0 215.0 235.0 278.0 316.0 360.0 325.0 335.0 336.0 388.0 458.0 453.0 445.0 452.0 402.0 291.0 211.0 110.0 76.0 38.0 27.0 25.0 76.0 64.0 36.0 1.0 -25.0 -33.0 -40.0 -13.0 26.0 86.0 110.0 133.0 163.0 188.0 178.0 201.0 235.0 270.0 285.0 301.0 329.0 341.0 319.0 267.0 241.0 199.0 130.0 57.0 -16.0 -84.0 -140.0 -168.0 -232.0 -280.0 -324.0 -381.0 -418.0 -398.0 -372.0 -354.0 -313.0 -268.0 -243.0 -245.0 -296.0 -309.0 -278.0 -245.0 -138.0 -21.0 215.0 361.0 492.0 531.0 585.0 551.0 457.0 390.0 345.0 453.0 496.0 558.0 550.0 581.0 454.0 332.0 162.0 58.0 -6.0 -32.0 -31.0 -3.0 62.0 19.0 18.0 -55.0 -75.0 -125.0 -82.0 -71.0 -17.0 77.0 154.0 188.0 195.0 224.0 195.0 200.0 168.0 206.0 257.0 320.0 338.0 377.0 377.0 291.0 210.0 95.0 11.0 -91.0 -150.0 -186.0 -162.0 -185.0 -230.0 -322.0 -414.0 -475.0 -574.0 -538.0 -494.0 -372.0 -283.0 -175.0 -132.0 -156.0 -185.0 -269.0 -257.0 -211.0 -30.0 200.0 438.0 589.0 718.0 800.0 754.0 618.0 493.0 442.0 453.0 499.0 481.0 573.0 640.0 584.0 429.0 272.0 134.0 -10.0 -142.0 -228.0 -164.0 -60.0 -7.0 0.0 20.0 1.0 -70.0 -164.0 -220.0 -184.0 -61.0 49.0 139.0 259.0 327.0 315.0 252.0 174.0 164.0 202.0 225.0 256.0 341.0 404.0 371.0 285.0 184.0 89.0 -19.0 -134.0 -211.0 -225.0 -233.0 -254.0 -320.0 -363.0 -459.0 -522.0 -571.0 -554.0 -515.0 -467.0 -375.0 -318.0 -272.0 -318.0 -316.0 -354.0 -321.0 -251.0 -39.0 178.0 369.0 536.0 648.0 678.0 590.0 481.0 332.0 305.0 299.0 343.0 400.0 487.0 472.0 409.0 274.0 88.0 -62.0 -193.0 -261.0 -265.0 -172.0 -61.0 24.0 29.0 5.0 -18.0 -62.0 -155.0 -183.0 -106.0 51.0 155.0 264.0 390.0 442.0 398.0 305.0 262.0 243.0 246.0 255.0 343.0 429.0 466.0 398.0 322.0 228.0 71.0 -49.0 -176.0 -212.0 -239.0 -237.0 -237.0 -279.0 -371.0 -489.0 -549.0 -628.0 -646.0 -607.0 -526.0 -418.0 -382.0 -369.0 -349.0 -356.0 -384.0 -385.0 -252.0 -93.0 130.0 282.0 442.0 588.0 568.0 515.0 414.0 346.0 253.0 282.0 277.0 320.0 408.0 396.0 338.0 213.0 79.0 -82.0 -199.0 -323.0 -307.0 -219.0 -98.0 -38.0 38.0 68.0 43.0 20.0 -71.0 -28.0 19.0 139.0 223.0 362.0 480.0 510.0 499.0 414.0 413.0 356.0 317.0 296.0 367.0 436.0 421.0 389.0 327.0 267.0 112.0 -37.0 -171.0 -225.0 -286.0 -318.0 -316.0 -324.0 -387.0 -487.0 -561.0 -649.0 -654.0 -691.0 -631.0 -564.0 -452.0 -406.0 -376.0 -346.0 -343.0 -306.0 -245.0 -91.0 101.0 316.0 476.0 638.0 636.0 611.0 473.0 378.0 259.0 225.0 235.0 262.0 345.0 299.0 276.0 112.0 -23.0 -236.0 -344.0 -428.0 -398.0 -326.0 -212.0 -67.0 -9.0 16.0 -37.0 -14.0 -61.0 -33.0 -8.0 102.0 240.0 372.0 448.0 494.0 522.0 459.0 418.0 342.0 300.0 293.0 341.0 362.0 368.0 382.0 348.0 265.0 115.0 -33.0 -169.0 -271.0 -360.0 -400.0 -389.0 -394.0 -431.0 -516.0 -562.0 -605.0 -603.0 -659.0 -607.0 -527.0 -416.0 -333.0 -308.0 -252.0 -255.0 -158.0 -110.0 59.0 214.0 394.0 564.0 683.0 705.0 632.0 547.0 394.0 296.0 205.0 207.0 190.0 237.0 196.0 150.0 67.0 -104.0 -252.0 -411.0 -468.0 -501.0 -442.0 -388.0 -224.0 -91.0 -47.0 -53.0 -17.0 -10.0 -33.0 -16.0 -6.0 157.0 272.0 387.0 431.0 525.0 513.0 459.0 390.0 287.0 288.0 274.0 291.0 274.0 315.0 262.0 201.0 60.0 -91.0 -214.0 -321.0 -414.0 -477.0 -447.0 -458.0 -492.0 -531.0 -564.0 -618.0 -623.0 -659.0 -594.0 -565.0 -462.0 -414.0 -331.0 -255.0 -264.0 -151.0 -112.0 89.0 228.0 409.0 582.0 706.0 731.0 663.0 562.0 415.0 288.0 208.0 169.0 165.0 228.0 187.0 161.0 11.0 -147.0 -308.0 -464.0 -556.0 -594.0 -492.0 -403.0 -273.0 -109.0 -27.0 4.0 -14.0 -10.0 -28.0 23.0 48.0 125.0 274.0 386.0 466.0 484.0 503.0 422.0 398.0 316.0 261.0 262.0 271.0 254.0 266.0 228.0 138.0 42.0 -106.0 -250.0 -369.0 -426.0 -510.0 -495.0 -516.0 -517.0 -558.0 -608.0 -663.0 -701.0 -666.0 -698.0 -620.0 -557.0 -430.0 -353.0 -309.0 -233.0 -225.0 -87.0 -11.0 174.0 336.0 518.0 692.0 736.0 753.0 631.0 542.0 364.0 267.0 180.0 186.0 185.0 172.0 132.0 33.0 -55.0 -249.0 -374.0 -525.0 -533.0 -559.0 -480.0 -411.0 -285.0 -149.0 -63.0 -2.0 21.0 86.0 69.0 143.0 111.0 216.0 268.0 380.0 404.0 455.0 495.0 441.0 431.0 308.0 268.0 182.0 186.0 121.0 122.0 64.0 36.0 -53.0 -161.0 -282.0 -393.0 -467.0 -555.0 -556.0 -608.0 -579.0 -648.0 -656.0 -686.0 -676.0 -661.0 -648.0 -578.0 -508.0 -410.0 -368.0 -296.0 -235.0 -147.0 -9.0 157.0 347.0 531.0 715.0 767.0 782.0 726.0 583.0 451.0 293.0 233.0 153.0 174.0 158.0 136.0 65.0 -78.0 -229.0 -387.0 -512.0 -611.0 -610.0 -561.0 -469.0 -395.0 -250.0 -119.0 -10.0 8.0 47.0 107.0 178.0 197.0 201.0 279.0 355.0 414.0 409.0 454.0 426.0 416.0 338.0 282.0 233.0 207.0 198.0 138.0 121.0 42.0 11.0 -108.0 -213.0 -334.0 -395.0 -437.0 -486.0 -506.0 -525.0 -521.0 -593.0 -650.0 -724.0 -684.0 -688.0 -676.0 -639.0 -502.0 -390.0 -346.0 -291.0 -252.0 -108.0 -24.0 148.0 300.0 545.0 679.0 731.0 745.0 638.0 546.0 341.0 236.0 84.0 99.0 103.0 76.0 58.0 -7.0 -96.0 -267.0 -399.0 -559.0 -606.0 -628.0 -564.0 -482.0 -357.0 -184.0 -6.0 87.0 113.0 156.0 202.0 213.0 178.0 179.0 253.0 345.0 387.0 394.0 431.0 431.0 380.0 305.0 217.0 221.0 185.0 203.0 140.0 154.0 108.0 49.0 -63.0 -199.0 -270.0 -345.0 -373.0 -414.0 -412.0 -449.0 -445.0 -570.0 -630.0 -715.0 -704.0 -736.0 -735.0 -659.0 -539.0 -411.0 -386.0 -308.0 -232.0 -90.0 -26.0 135.0 324.0 556.0 679.0 712.0 703.0 641.0 510.0 307.0 184.0 100.0 76.0 63.0 60.0 10.0 7.0 -138.0 -268.0 -401.0 -519.0 -564.0 -559.0 -484.0 -433.0 -263.0 -132.0 40.0 128.0 210.0 217.0 292.0 296.0 293.0 312.0 272.0 332.0 304.0 373.0 326.0 389.0 348.0 323.0 285.0 234.0 226.0 171.0 155.0 109.0 110.0 37.0 5.0 -103.0 -149.0 -239.0 -279.0 -340.0 -400.0 -441.0 -533.0 -620.0 -692.0 -707.0 -711.0 -725.0 -717.0 -658.0 -618.0 -542.0 -552.0 -452.0 -338.0 -193.0 -47.0 161.0 346.0 512.0 571.0 560.0 517.0 436.0 376.0 195.0 187.0 87.0 120.0 77.0 45.0 -8.0 -91.0 -166.0 -301.0 -391.0 -492.0 -483.0 -469.0 -392.0 -374.0 -239.0 -143.0 49.0 101.0 149.0 183.0 239.0 302.0 245.0 252.0 182.0 285.0 250.0 273.0 235.0 286.0 329.0 310.0 322.0 292.0 359.0 319.0 277.0 191.0 184.0 123.0 85.0 -1.0 -45.0 -68.0 -115.0 -171.0 -299.0 -342.0 -495.0 -628.0 -734.0 -779.0 -769.0 -757.0 -778.0 -705.0 -648.0 -553.0 -535.0 -534.0 -393.0 -322.0 -97.0 40.0 303.0 475.0 629.0 679.0 607.0 535.0 366.0 225.0 66.0 20.0 -40.0 58.0 12.0 50.0 -26.0 -99.0 -215.0 -419.0 -508.0 -601.0 -516.0 -537.0 -388.0 -264.0 -47.0 112.0 231.0 299.0 318.0 366.0 304.0 316.0 251.0 246.0 252.0 302.0 346.0 372.0 418.0 467.0 456.0 449.0 419.0 423.0 406.0 355.0 335.0 279.0 282.0 203.0 153.0 76.0 -2.0 -60.0 -131.0 -226.0 -346.0 -483.0 -635.0 -753.0 -862.0 -857.0 -857.0 -799.0 -765.0 -713.0 -598.0 -564.0 -481.0 -453.0 -318.0 -138.0 35.0 305.0 457.0 648.0 682.0 660.0 579.0 412.0 305.0 93.0 47.0 -10.0 0.0 10.0 -1.0 -32.0 -103.0 -210.0 -347.0 -458.0 -545.0 -537.0 -514.0 -374.0 -265.0 -95.0 57.0 240.0 342.0 368.0 335.0 365.0 334.0 276.0 251.0 173.0 303.0 304.0 364.0 387.0 506.0 565.0 557.0 549.0 480.0 489.0 443.0 381.0 311.0 313.0 302.0 332.0 248.0 187.0 103.0 3.0 -109.0 -301.0 -436.0 -620.0 -724.0 -843.0 -883.0 -841.0 -800.0 -729.0 -663.0 -573.0 -499.0 -458.0 -414.0 -348.0 -255.0 -61.0 160.0 386.0 571.0 692.0 766.0 736.0 597.0 405.0 200.0 97.0 -27.0 -62.0 -46.0 -35.0 36.0 -25.0 -76.0 -223.0 -334.0 -450.0 -552.0 -555.0 -514.0 -380.0 -204.0 -58.0 155.0 340.0 438.0 457.0 366.0 368.0 274.0 247.0 121.0 136.0 229.0 338.0 450.0 489.0 624.0 637.0 679.0 553.0 517.0 438.0 428.0 355.0 290.0 297.0 274.0 326.0 212.0 134.0 -36.0 -113.0 -297.0 -468.0 -666.0 -814.0 -877.0 -871.0 -791.0 -755.0 -700.0 -681.0 -563.0 -550.0 -511.0 -542.0 -432.0 -264.0 -28.0 211.0 447.0 692.0 799.0 807.0 673.0 569.0 370.0 233.0 28.0 -21.0 -45.0 12.0 44.0 10.0 -20.0 -162.0 -262.0 -459.0 -549.0 -650.0 -609.0 -516.0 -373.0 -220.0 -61.0 100.0 237.0 336.0 333.0 313.0 316.0 314.0 292.0 273.0 217.0 286.0 363.0 461.0 477.0 574.0 633.0 662.0 667.0 592.0 556.0 515.0 483.0 390.0 382.0 336.0 310.0 241.0 166.0 37.0 -103.0 -253.0 -428.0 -535.0 -740.0 -849.0 -916.0 -831.0 -752.0 -727.0 -691.0 -636.0 -533.0 -520.0 -495.0 -472.0 -309.0 -121.0 124.0 340.0 586.0 742.0 798.0 739.0 552.0 416.0 234.0 132.0 9.0 -31.0 -35.0 15.0 37.0 -5.0 -99.0 -222.0 -355.0 -451.0 -540.0 -570.0 -499.0 -415.0 -267.0 -145.0 17.0 179.0 344.0 388.0 373.0 345.0 351.0 328.0 291.0 247.0 249.0 385.0 486.0 598.0 670.0 735.0 775.0 758.0 680.0 610.0 537.0 497.0 430.0 388.0 363.0 294.0 247.0 125.0 19.0 -146.0 -284.0 -435.0 -568.0 -700.0 -855.0 -974.0 -974.0 -892.0 -834.0 -769.0 -748.0 -625.0 -536.0 -461.0 -464.0 -409.0 -260.0 -105.0 110.0 301.0 507.0 654.0 691.0 636.0 510.0 361.0 219.0 72.0 11.0 -67.0 -70.0 -56.0 -58.0 -49.0 -153.0 -283.0 -406.0 -479.0 -505.0 -498.0 -444.0 -344.0 -188.0 -50.0 49.0 187.0 339.0 454.0 494.0 477.0 462.0 479.0 464.0 435.0 400.0 464.0 582.0 685.0 795.0 866.0 891.0 863.0 803.0 672.0 569.0 472.0 392.0 339.0 313.0 233.0 148.0 76.0 -52.0 -173.0 -376.0 -556.0 -690.0 -811.0 -936.0 -1026.0 -1013.0 -939.0 -825.0 -750.0 -695.0 -603.0 -539.0 -517.0 -497.0 -439.0 -306.0 -119.0 110.0 345.0 566.0 697.0 688.0 596.0 424.0 210.0 32.0 -103.0 -134.0 -68.0 8.0 31.0 46.0 18.0 -93.0 -244.0 -413.0 -526.0 -556.0 -518.0 -419.0 -234.0 -57.0 76.0 170.0 248.0 327.0 395.0 408.0 402.0 446.0 491.0 545.0 590.0 664.0 721.0 791.0 840.0 882.0 920.0 905.0 859.0 784.0 710.0 602.0 492.0 388.0 328.0 278.0 199.0 79.0 -48.0 -155.0 -265.0 -404.0 -556.0 -680.0 -809.0 -955.0 -1053.0 -1075.0 -1025.0 -914.0 -817.0 -739.0 -662.0 -597.0 -588.0 -574.0 -535.0 -478.0 -344.0 -161.0 48.0 271.0 414.0 461.0 451.0 367.0 209.0 51.0 -51.0 -83.0 -53.0 -13.0 50.0 116.0 127.0 57.0 -41.0 -165.0 -295.0 -397.0 -456.0 -412.0 -304.0 -169.0 -43.0 70.0 152.0 232.0 305.0 342.0 378.0 403.0 444.0 508.0 598.0 686.0 782.0 864.0 951.0 1037.0 1060.0 1022.0 938.0 848.0 756.0 665.0 542.0 428.0 356.0 303.0 228.0 116.0 -24.0 -169.0 -320.0 -470.0 -593.0 -688.0 -763.0 -839.0 -903.0 -948.0 -938.0 -896.0 -850.0 -794.0 -745.0 -704.0 -656.0 -636.0 -630.0 -627.0 -593.0 -489.0 -331.0 -155.0 10.0 127.0 177.0 169.0 104.0 3.0 -57.0 -77.0 -72.0 23.0 140.0 233.0 306.0 312.0 249.0 174.0 74.0 -57.0 -140.0 -177.0 -157.0 -77.0 16.0 90.0 140.0 143.0 125.0 102.0 90.0 99.0 132.0 212.0 337.0 491.0 632.0 739.0 836.0 896.0 934.0 921.0 877.0 901.0 919.0 853.0 741.0 604.0 508.0 523.0 460.0 340.0 153.0 -86.0 -171.0 -237.0 -351.0 -495.0 -690.0 -783.0 -766.0 -788.0 -874.0 -964.0 -1002.0 -953.0 -876.0 -850.0 -852.0 -810.0 -786.0 -771.0 -758.0 -753.0 -671.0 -554.0 -424.0 -292.0 -175.0 -89.0 -24.0 27.0 66.0 85.0 88.0 139.0 217.0 349.0 465.0 549.0 606.0 633.0 608.0 495.0 363.0 240.0 175.0 129.0 119.0 118.0 111.0 105.0 63.0 -16.0 -117.0 -172.0 -178.0 -124.0 -25.0 71.0 205.0 378.0 516.0 614.0 660.0 693.0 726.0 759.0 786.0 810.0 844.0 847.0 821.0 736.0 638.0 535.0 409.0 271.0 136.0 15.0 -89.0 -182.0 -303.0 -424.0 -550.0 -659.0 -750.0 -827.0 -916.0 -975.0 -1018.0 -1032.0 -998.0 -1001.0 -999.0 -990.0 -959.0 -953.0 -931.0 -938.0 -910.0 -814.0 -714.0 -589.0 -464.0 -294.0 -136.0 -11.0 87.0 148.0 204.0 302.0 411.0 509.0 621.0 746.0 806.0 857.0 847.0 762.0 670.0 551.0 457.0 352.0 287.0 205.0 141.0 73.0 -14.0 -100.0 -183.0 -242.0 -275.0 -256.0 -184.0 -80.0 24.0 137.0 238.0 338.0 400.0 465.0 529.0 602.0 677.0 750.0 798.0 812.0 816.0 772.0 729.0 638.0 525.0 414.0 317.0 227.0 113.0 -5.0 -124.0 -242.0 -374.0 -488.0 -606.0 -712.0 -796.0 -888.0 -982.0 -1070.0 -1135.0 -1172.0 -1152.0 -1157.0 -1158.0 -1149.0 -1112.0 -1071.0 -1042.0 -1019.0 -1004.0 -887.0 -755.0 -566.0 -363.0 -141.0 76.0 245.0 375.0 464.0 566.0 651.0 733.0 795.0 865.0 933.0 1003.0 1011.0 989.0 909.0 783.0 624.0 450.0 290.0 157.0 76.0 -19.0 -79.0 -160.0 -216.0 -262.0 -296.0 -317.0 -318.0 -273.0 -223.0 -115.0 -17.0 131.0 243.0 349.0 429.0 489.0 559.0 618.0 689.0 703.0 753.0 755.0 758.0 712.0 631.0 527.0 408.0 291.0 159.0 57.0 -57.0 -144.0 -263.0 -364.0 -491.0 -616.0 -748.0 -869.0 -981.0 -1098.0 -1185.0 -1252.0 -1243.0 -1246.0 -1245.0 -1260.0 -1222.0 -1176.0 -1123.0 -1066.0 -1006.0 -900.0 -752.0 -569.0 -386.0 -163.0 55.0 256.0 409.0 553.0 654.0 739.0 790.0 840.0 907.0 968.0 1014.0 1000.0 984.0 913.0 814.0 662.0 506.0 344.0 222.0 112.0 6.0 -60.0 -128.0 -184.0 -250.0 -306.0 -370.0 -405.0 -423.0 -377.0 -289.0 -167.0 -43.0 88.0 229.0 334.0 416.0 461.0 512.0 563.0 626.0 664.0 689.0 709.0 688.0 655.0 598.0 509.0 410.0 294.0 184.0 71.0 -33.0 -143.0 -256.0 -358.0 -472.0 -574.0 -690.0 -785.0 -878.0 -952.0 -1048.0 -1118.0 -1159.0 -1193.0 -1179.0 -1190.0 -1157.0 -1119.0 -1002.0 -889.0 -772.0 -676.0 -603.0 -462.0 -337.0 -164.0 -9.0 178.0 347.0 509.0 639.0 734.0 798.0 801.0 809.0 801.0 806.0 784.0 768.0 706.0 668.0 592.0 488.0 364.0 252.0 173.0 51.0 -34.0 -152.0 -223.0 -285.0 -316.0 -331.0 -327.0 -308.0 -292.0 -258.0 -205.0 -119.0 -49.0 44.0 119.0 210.0 283.0 374.0 422.0 459.0 501.0 514.0 571.0 586.0 594.0 565.0 521.0 476.0 415.0 343.0 250.0 161.0 76.0 1.0 -73.0 -162.0 -236.0 -325.0 -426.0 -520.0 -640.0 -739.0 -808.0 -852.0 -898.0 -935.0 -946.0 -926.0 -871.0 -833.0 -792.0 -728.0 -642.0 -555.0 -493.0 -436.0 -366.0 -247.0 -133.0 -13.0 121.0 269.0 399.0 488.0 524.0 543.0 552.0 537.0 505.0 471.0 479.0 467.0 480.0 459.0 440.0 392.0 326.0 243.0 150.0 93.0 -2.0 -40.0 -67.0 -54.0 -50.0 -64.0 -89.0 -120.0 -144.0 -186.0 -190.0 -181.0 -115.0 -69.0 14.0 91.0 153.0 216.0 259.0 310.0 348.0 422.0 445.0 486.0 500.0 522.0 518.0 504.0 496.0 450.0 413.0 346.0 303.0 218.0 157.0 65.0 -6.0 -72.0 -128.0 -185.0 -269.0 -323.0 -385.0 -414.0 -461.0 -475.0 -505.0 -512.0 -525.0 -540.0 -537.0 -529.0 -491.0 -464.0 -401.0 -395.0 -396.0 -410.0 -409.0 -372.0 -326.0 -270.0 -206.0 -120.0 -58.0 32.0 70.0 87.0 97.0 119.0 140.0 187.0 255.0 305.0 399.0 470.0 538.0 548.0 520.0 441.0 358.0 281.0 189.0 129.0 85.0 74.0 52.0 27.0 -19.0 -83.0 -161.0 -226.0 -291.0 -321.0 -309.0 -248.0 -154.0 -75.0 3.0 50.0 102.0 134.0 186.0 208.0 243.0 296.0 351.0 436.0 502.0 540.0 548.0 562.0 557.0 554.0 507.0 469.0 449.0 464.0 473.0 473.0 473.0 462.0 432.0 348.0 273.0 158.0 62.0 -34.0 -122.0 -234.0 -331.0 -437.0 -559.0 -653.0 -780.0 -897.0 -1010.0 -1065.0 -1099.0 -1110.0 -1125.0 -1133.0 -1101.0 -1044.0 -941.0 -850.0 -725.0 -587.0 -439.0 -263.0 -108.0 31.0 141.0 267.0 378.0 476.0 560.0 620.0 682.0 724.0 751.0 738.0 702.0 653.0 587.0 507.0 416.0 331.0 240.0 148.0 64.0 -17.0 -97.0 -164.0 -246.0 -322.0 -364.0 -397.0 -408.0 -407.0 -363.0 -296.0 -235.0 -164.0 -90.0 0.0 100.0 214.0 324.0 439.0 582.0 704.0 814.0 931.0 1037.0 1130.0 1197.0 1242.0 1249.0 1243.0 1199.0 1129.0 1037.0 918.0 790.0 629.0 473.0 301.0 106.0 -110.0 -332.0 -551.0 -763.0 -960.0 -1133.0 -1267.0 -1370.0 -1446.0 -1496.0 -1533.0 -1550.0 -1554.0 -1526.0 -1467.0 -1375.0 -1269.0 -1163.0 -1034.0 -917.0 -756.0 -601.0 -444.0 -288.0 -130.0 42.0 192.0 344.0 445.0 548.0 639.0 718.0 792.0 820.0 832.0 834.0 817.0 778.0 725.0 650.0 562.0 473.0 369.0 249.0 143.0 9.0 -117.0 -216.0 -309.0 -365.0 -416.0 -444.0 -451.0 -448.0 -423.0 -360.0 -262.0 -147.0 -2.0 144.0 311.0 498.0 662.0 819.0 955.0 1062.0 1167.0 1249.0 1298.0 1322.0 1323.0 1289.0 1238.0 1159.0 1045.0 908.0 753.0 578.0 407.0 217.0 36.0 -130.0 -284.0 -428.0 -576.0 -709.0 -823.0 -905.0 -984.0 -1044.0 -1099.0 -1130.0 -1145.0 -1134.0 -1111.0 -1075.0 -1036.0 -989.0 -933.0 -875.0 -812.0 -747.0 -682.0 -608.0 -529.0 -462.0 -396.0 -356.0 -307.0 -274.0 -214.0 -157.0 -80.0 -26.0 30.0 111.0 157.0 206.0 207.0 216.0 220.0 257.0 277.0 289.0 317.0 328.0 358.0 392.0 435.0 464.0 486.0 500.0 534.0 549.0 538.0 526.0 523.0 539.0 559.0 561.0 557.0 567.0 545.0 524.0 486.0 437.0 385.0 330.0 304.0 303.0 307.0 292.0 283.0 276.0 298.0 314.0 282.0 259.0 231.0 209.0 183.0 152.0 121.0 104.0 85.0 44.0 19.0 -36.0 -86.0 -151.0 -210.0 -257.0 -305.0 -343.0 -379.0 -382.0 -391.0 -388.0 -406.0 -429.0 -451.0 -466.0 -471.0 -471.0 -462.0 -445.0 -417.0 -413.0 -401.0 -410.0 -433.0 -465.0 -485.0 -495.0 -498.0 -490.0 -495.0 -477.0 -469.0 -451.0 -445.0 -419.0 -372.0 -336.0 -272.0 -210.0 -123.0 -36.0 94.0 213.0 315.0 401.0 459.0 547.0 615.0 680.0 696.0 730.0 774.0 803.0 818.0 801.0 786.0 742.0 696.0 637.0 554.0 462.0 366.0 278.0 187.0 122.0 56.0 -9.0 -57.0 -91.0 -122.0 -170.0 -213.0 -245.0 -260.0 -249.0 -205.0 -153.0 -84.0 -3.0 68.0 145.0 207.0 248.0 279.0 319.0 348.0 374.0 386.0 382.0 371.0 340.0 293.0 232.0 153.0 64.0 -35.0 -147.0 -256.0 -368.0 -460.0 -550.0 -620.0 -680.0 -711.0 -692.0 -710.0 -725.0 -723.0 -696.0 -614.0 -522.0 -418.0 -317.0 -151.0 -22.0 100.0 206.0 266.0 355.0 402.0 478.0 528.0 572.0 591.0 598.0 586.0 545.0 502.0 407.0 328.0 242.0 150.0 52.0 -30.0 -116.0 -173.0 -228.0 -267.0 -302.0 -354.0 -395.0 -458.0 -494.0 -526.0 -530.0 -533.0 -511.0 -469.0 -433.0 -384.0 -351.0 -296.0 -234.0 -171.0 -103.0 -19.0 54.0 148.0 256.0 359.0 453.0 525.0 596.0 660.0 729.0 776.0 805.0 819.0 821.0 803.0 771.0 722.0 658.0 561.0 459.0 365.0 254.0 152.0 31.0 -76.0 -174.0 -259.0 -344.0 -418.0 -470.0 -510.0 -530.0 -552.0 -550.0 -547.0 -521.0 -483.0 -436.0 -389.0 -349.0 -306.0 -264.0 -214.0 -168.0 -114.0 -74.0 -30.0 8.0 31.0 45.0 46.0 42.0 30.0 11.0 -36.0 -70.0 -119.0 -162.0 -197.0 -234.0 -269.0 -313.0 -353.0 -396.0 -436.0 -481.0 -508.0 -521.0 -508.0 -477.0 -433.0 -375.0 -299.0 -221.0 -138.0 -45.0 53.0 166.0 281.0 409.0 542.0 677.0 797.0 912.0 1016.0 1098.0 1171.0 1209.0 1225.0 1228.0 1215.0 1183.0 1128.0 1058.0 983.0 899.0 792.0 662.0 527.0 388.0 263.0 138.0 21.0 -80.0 -161.0 -214.0 -265.0 -317.0 -361.0 -394.0 -417.0 -420.0 -422.0 -418.0 -404.0 -379.0 -354.0 -331.0 -311.0 -304.0 -294.0 -293.0 -279.0 -271.0 -278.0 -280.0 -287.0 -295.0 -320.0 -353.0 -392.0 -425.0 -446.0 -478.0 -498.0 -512.0 -521.0 -530.0 -544.0 -549.0 -566.0 -585.0 -592.0 -584.0 -562.0 -510.0 -434.0 -366.0 -288.0 -213.0 -152.0 -86.0 -17.0 40.0 104.0 192.0 274.0 375.0 460.0 544.0 624.0 676.0 715.0 734.0 737.0 724.0 715.0 685.0 669.0 650.0 625.0 609.0 586.0 552.0 498.0 433.0 362.0 303.0 243.0 198.0 171.0 152.0 140.0 121.0 102.0 93.0 71.0 50.0 35.0 23.0 23.0 23.0 16.0 16.0 28.0 30.0 23.0 18.0 9.0 -9.0 -39.0 -72.0 -101.0 -142.0 -186.0 -220.0 -254.0 -290.0 -335.0 -388.0 -433.0 -480.0 -535.0 -586.0 -621.0 -643.0 -651.0 -652.0 -642.0 -621.0 -599.0 -582.0 -553.0 -522.0 -485.0 -433.0 -384.0 -319.0 -244.0 -181.0 -117.0 -53.0 8.0 59.0 99.0 138.0 172.0 201.0 229.0 262.0 287.0 316.0 335.0 358.0 382.0 404.0 416.0 415.0 418.0 419.0 433.0 431.0 442.0 466.0 488.0 514.0 511.0 507.0 495.0 481.0 457.0 426.0 394.0 366.0 345.0 307.0 267.0 226.0 180.0 132.0 72.0 9.0 -62.0 -140.0 -209.0 -275.0 -337.0 -396.0 -452.0 -490.0 -521.0 -545.0 -565.0 -584.0 -602.0 -617.0 -618.0 -603.0 -578.0 -547.0 -506.0 -455.0 -403.0 -359.0 -326.0 -291.0 -262.0 -242.0 -217.0 -188.0 -161.0 -138.0 -122.0 -116.0 -111.0 -110.0 -118.0 -135.0 -145.0 -159.0 -180.0 -197.0 -211.0 -215.0 -213.0 -206.0 -192.0 -175.0 -158.0 -137.0 -118.0 -95.0 -59.0 -26.0 11.0 55.0 104.0 153.0 193.0 230.0 257.0 279.0 304.0 321.0 330.0 339.0 343.0 345.0 335.0 318.0 300.0 280.0 258.0 236.0 216.0 189.0 167.0 133.0 104.0 69.0 34.0 -4.0 -36.0 -65.0 -92.0 -117.0 -143.0 -163.0 -190.0 -213.0 -237.0 -247.0 -257.0 -262.0 -257.0 -251.0 -240.0 -234.0 -226.0 -222.0 -214.0 -216.0 -215.0 -209.0 -200.0 -187.0 -183.0 -176.0 -175.0 -178.0 -180.0 -177.0 -188.0 -197.0 -212.0 -221.0 -223.0 -218.0 -209.0 -195.0 -176.0 -152.0 -121.0 -97.0 -68.0 -45.0 -19.0 12.0 47.0 82.0 123.0 160.0 191.0 219.0 244.0 270.0 288.0 299.0 303.0 305.0 305.0 301.0 288.0 273.0 266.0 251.0 239.0 221.0 200.0 184.0 163.0 136.0 111.0 78.0 41.0 5.0 -28.0 -64.0 -97.0 -132.0 -161.0 -181.0 -200.0 -229.0 -254.0 -268.0 -286.0 -291.0 -296.0 -289.0 -278.0 -266.0 -249.0 -238.0 -226.0 -215.0 -208.0 -201.0 -193.0 -191.0 -195.0 -198.0 -195.0 -197.0 -200.0 -205.0 -212.0 -220.0 -221.0 -230.0 -234.0 -231.0 -223.0 -199.0 -169.0 -127.0 -83.0 -37.0 15.0 66.0 108.0 149.0 183.0 221.0 248.0 272.0 295.0 308.0 322.0 326.0 315.0 294.0 260.0 224.0 187.0 146.0 110.0 77.0 45.0 20.0 -7.0 -29.0 -53.0 -70.0 -80.0 -87.0 -85.0 -84.0 -67.0 -55.0 -39.0 -24.0 -12.0 -3.0 3.0 15.0 23.0 26.0 32.0 40.0 43.0 44.0 44.0 42.0 39.0 31.0 26.0 20.0 11.0 8.0 4.0 -3.0 -12.0 -24.0 -36.0 -56.0 -72.0 -82.0 -96.0 -108.0 -123.0 -137.0 -146.0 -163.0 -178.0 -196.0 -212.0 -220.0 -220.0 -216.0 -217.0 -202.0 -187.0 -167.0 -146.0 -127.0 -104.0 -81.0 -56.0 -34.0 -7.0 16.0 40.0 61.0 77.0 88.0 92.0 97.0 97.0 89.0 79.0 74.0 68.0 65.0 59.0 46.0 36.0 20.0 3.0 -15.0 -27.0 -35.0 -40.0 -40.0 -40.0 -39.0 -46.0 -47.0 -49.0 -50.0 -49.0 -44.0 -34.0 -24.0 -10.0 7.0 27.0 47.0 60.0 75.0 89.0 101.0 110.0 117.0 125.0 132.0 138.0 144.0 144.0 135.0 129.0 111.0 89.0 63.0 36.0 14.0 -8.0 -27.0 -44.0 -58.0 -73.0 -89.0 -103.0 -117.0 -127.0 -140.0 -151.0 -152.0 -150.0 -147.0 -143.0 -136.0 -127.0 -118.0 -112.0 -105.0 -101.0 -92.0 -85.0 -84.0 -80.0 -72.0 -59.0 -45.0 -29.0 -20.0 -15.0 -1.0 10.0 22.0 33.0 41.0 59.0 76.0 90.0 105.0 122.0 127.0 141.0 141.0 140.0 138.0 128.0 122.0 119.0 112.0 104.0 92.0 79.0 65.0 53.0 43.0 27.0 13.0 1.0 -1.0 2.0 8.0 12.0 22.0 38.0 50.0 61.0 73.0 83.0 92.0 109.0 122.0 132.0 137.0 140.0 139.0 135.0 127.0 124.0 119.0 110.0 104.0 96.0 84.0 68.0 55.0 38.0 29.0 19.0 7.0 -5.0 -14.0 -24.0 -36.0 -50.0 -61.0 -71.0 -79.0 -78.0 -82.0 -82.0 -85.0 -88.0 -92.0 -93.0 -94.0 -100.0 -103.0 -100.0 -96.0 -92.0 -85.0 -72.0 -63.0 -55.0 -43.0 -41.0 -35.0 -31.0 -25.0 -20.0 -4.0 13.0 30.0 52.0 77.0 106.0 119.0 140.0 155.0 171.0 190.0 201.0 216.0 234.0 247.0 260.0 268.0 276.0 285.0 277.0 273.0 267.0 258.0 250.0 242.0 235.0 225.0 210.0 196.0 181.0 158.0 146.0 132.0 116.0 104.0 90.0 81.0 68.0 57.0 47.0 40.0 34.0 27.0 28.0 26.0 29.0 31.0 32.0 39.0 41.0 44.0 42.0 46.0 47.0 47.0 45.0 44.0 45.0 40.0 31.0 25.0 20.0 8.0 -1.0 -8.0 -16.0 -25.0 -29.0 -31.0 -31.0 -32.0 -35.0 -29.0 -27.0 -28.0 -22.0 -14.0 -3.0 8.0 19.0 40.0 54.0 72.0 91.0 101.0 116.0 123.0 128.0 141.0 153.0 164.0 174.0 183.0 188.0 190.0 187.0 184.0 182.0 183.0 187.0 187.0 182.0 183.0 179.0 171.0 165.0 161.0 166.0 165.0 162.0 157.0 146.0 140.0 130.0 117.0 104.0 92.0 74.0 60.0 50.0 36.0 21.0 4.0 -4.0 -12.0 -17.0 -23.0 -26.0 -27.0 -23.0 -17.0 -15.0 -11.0 -6.0 -1.0 2.0 11.0 10.0 14.0 13.0 10.0 13.0 7.0 0.0 -7.0 -20.0 -32.0 -37.0 -58.0 -65.0 -77.0 -90.0 -100.0 -110.0 -116.0 -120.0 -124.0 -129.0 -134.0 -129.0 -126.0 -123.0 -111.0 -97.0 -79.0 -63.0 -43.0 -25.0 -7.0 8.0 24.0 36.0 52.0 76.0 89.0 108.0 122.0 138.0 145.0 150.0 157.0 166.0 172.0 181.0 188.0 195.0 201.0 200.0 209.0 214.0 222.0 224.0 231.0 237.0 240.0 247.0 251.0 258.0 260.0 257.0 257.0 256.0 248.0 239.0 225.0 210.0 195.0 177.0 156.0 137.0 117.0 91.0 63.0 37.0 8.0 -23.0 -54.0 -82.0 -110.0 -129.0 -149.0 -163.0 -175.0 -187.0 -194.0 -201.0 -197.0 -198.0 -192.0 -185.0 -172.0 -156.0 -138.0 -119.0 -99.0 -78.0 -62.0 -35.0 -25.0 -12.0 3.0 13.0 19.0 24.0 22.0 12.0 7.0 -7.0 -19.0 -34.0 -47.0 -63.0 -78.0 -92.0 -101.0 -116.0 -125.0 -124.0 -124.0 -120.0 -116.0 -105.0 -91.0 -72.0 -53.0 -29.0 -4.0 22.0 51.0 77.0 102.0 124.0 143.0 163.0 184.0 202.0 210.0 216.0 220.0 218.0 213.0 206.0 199.0 196.0 188.0 178.0 165.0 147.0 139.0 131.0 118.0 107.0 98.0 87.0 75.0 66.0 57.0 55.0 46.0 43.0 40.0 29.0 24.0 16.0 7.0 -3.0 -17.0 -30.0 -39.0 -44.0 -58.0 -67.0 -80.0 -86.0 -94.0 -106.0 -117.0 -130.0 -135.0 -140.0 -140.0 -139.0 -141.0 -133.0 -132.0 -130.0 -131.0 -129.0 -127.0 -127.0 -119.0 -113.0 -107.0 -98.0 -89.0 -83.0 -80.0 -74.0 -71.0 -66.0 -61.0 -55.0 -46.0 -34.0 -26.0 -17.0 -11.0 -5.0 -3.0 0.0 1.0 0.0 8.0 18.0 32.0 47.0 67.0 126.0 163.0 121.0 82.0 60.0 62.0 72.0 60.0 36.0 75.0 144.0 163.0 163.0 137.0 113.0 99.0 59.0 33.0 18.0 13.0 17.0 36.0 46.0 32.0 19.0 -32.0 -49.0 -79.0 -123.0 -150.0 -162.0 -134.0 -108.0 -93.0 -96.0 -94.0 -112.0 -145.0 -177.0 -208.0 -211.0 -198.0 -184.0 -155.0 -128.0 -118.0 -134.0 -145.0 -158.0 -180.0 -207.0 -217.0 -191.0 -168.0 -142.0 -123.0 -110.0 -100.0 -97.0 -119.0 -141.0 -152.0 -163.0 -155.0 -143.0 -119.0 -97.0 -83.0 -81.0 -86.0 -101.0 -128.0 -140.0 -149.0 -143.0 -122.0 -101.0 -76.0 -47.0 -31.0 -27.0 -30.0 -26.0 -15.0 3.0 29.0 70.0 112.0 144.0 183.0 203.0 216.0 220.0 212.0 211.0 205.0 204.0 207.0 206.0 203.0 192.0 171.0 137.0 100.0 60.0 19.0 -18.0 -47.0 -66.0 -78.0 -91.0 -102.0 -116.0 -137.0 -164.0 -192.0 -215.0 -232.0 -243.0 -245.0 -236.0 -227.0 -218.0 -217.0 -219.0 -232.0 -248.0 -259.0 -269.0 -270.0 -270.0 -262.0 -259.0 -255.0 -254.0 -262.0 -279.0 -291.0 -303.0 -316.0 -315.0 -315.0 -308.0 -297.0 -289.0 -279.0 -269.0 -267.0 -265.0 -258.0 -252.0 -235.0 -215.0 -191.0 -165.0 -140.0 -111.0 -85.0 -71.0 -60.0 -42.0 -19.0 7.0 28.0 46.0 75.0 101.0 106.0 104.0 102.0 102.0 109.0 107.0 106.0 111.0 114.0 105.0 88.0 71.0 49.0 22.0 -5.0 -20.0 -26.0 -29.0 -42.0 -47.0 -45.0 -48.0 -64.0 -82.0 -97.0 -101.0 -113.0 -116.0 -111.0 -102.0 -91.0 -94.0 -95.0 -102.0 -114.0 -136.0 -155.0 -154.0 -154.0 -167.0 -169.0 -169.0 -163.0 -170.0 -187.0 -192.0 -198.0 -206.0 -210.0 -208.0 -202.0 -192.0 -183.0 -177.0 -165.0 -157.0 -159.0 -151.0 -146.0 -142.0 -142.0 -135.0 -118.0 -99.0 -79.0 -69.0 -60.0 -51.0 -38.0 -35.0 -27.0 -18.0 -6.0 6.0 16.0 30.0 43.0 47.0 50.0 54.0 57.0 57.0 52.0 51.0 46.0 46.0 43.0 38.0 35.0 28.0 19.0 10.0 0.0 -7.0 -15.0 -18.0 -15.0 -20.0 -15.0 -17.0 -18.0 -12.0 -10.0 -10.0 -4.0 4.0 16.0 23.0 23.0 30.0 32.0 33.0 30.0 24.0 20.0 6.0 0.0 -6.0 -16.0 -28.0 -38.0 -54.0 -75.0 -95.0 -119.0 -136.0 -154.0 -167.0 -174.0 -187.0 -196.0 -198.0 -208.0 -221.0 -233.0 -242.0 -243.0 -238.0 -228.0 -219.0 -205.0 -193.0 -183.0 -170.0 -160.0 -155.0 -149.0 -136.0 -120.0 -102.0 -82.0 -65.0 -45.0 -24.0 -8.0 -4.0 2.0 10.0 19.0 28.0 37.0 43.0 53.0 61.0 68.0 73.0 70.0 65.0 56.0 54.0 47.0 52.0 57.0 67.0 80.0 90.0 96.0 98.0 104.0 108.0 110.0 116.0 123.0 134.0 147.0 158.0 167.0 170.0 169.0 167.0 160.0 150.0 143.0 133.0 118.0 100.0 82.0 68.0 54.0 36.0 22.0 -4.0 -34.0 -59.0 -86.0 -106.0 -125.0 -138.0 -146.0 -154.0 -156.0 -157.0 -160.0 -166.0 -173.0 -172.0 -163.0 -156.0 -148.0 -138.0 -129.0 -116.0 -109.0 -101.0 -96.0 -93.0 -91.0 -89.0 -85.0 -83.0 -81.0 -81.0 -74.0 -75.0 -77.0 -85.0 -95.0 -97.0 -104.0 -114.0 -118.0 -116.0 -116.0 -117.0 -113.0 -114.0 -109.0 -106.0 -105.0 -96.0 -87.0 -78.0 -65.0 -49.0 -33.0 -13.0 7.0 26.0 44.0 66.0 78.0 91.0 104.0 111.0 121.0 131.0 137.0 143.0 148.0 141.0 135.0 127.0 124.0 112.0 98.0 88.0 82.0 71.0 62.0 53.0 43.0 34.0 25.0 22.0 12.0 4.0 -6.0 -5.0 -9.0 -2.0 -5.0 -15.0 -13.0 -6.0 1.0 -4.0 -4.0 -3.0 -2.0 3.0 -1.0 0.0 6.0 6.0 8.0 8.0 5.0 0.0 -11.0 -20.0 -23.0 -31.0 -44.0 -51.0 -56.0 -61.0 -74.0 -82.0 -89.0 -95.0 -101.0 -107.0 -111.0 -116.0 -115.0 -113.0 -109.0 -99.0 -94.0 -90.0 -87.0 -79.0 -62.0 -48.0 -36.0 -19.0 -1.0 16.0 34.0 46.0 63.0 78.0 92.0 110.0 119.0 130.0 135.0 141.0 152.0 154.0 153.0 149.0 147.0 145.0 140.0 129.0 116.0 107.0 96.0 88.0 77.0 65.0 62.0 54.0 46.0 42.0 35.0 29.0 27.0 25.0 22.0 18.0 19.0 21.0 28.0 32.0 31.0 41.0 43.0 41.0 39.0 31.0 26.0 19.0 10.0 7.0 0.0 -11.0 -24.0 -36.0 -49.0 -66.0 -81.0 -92.0 -104.0 -114.0 -122.0 -130.0 -135.0 -139.0 -135.0 -138.0 -135.0 -134.0 -129.0 -117.0 -106.0 -90.0 -75.0 -64.0 -53.0 -37.0 -22.0 -13.0 0.0 20.0 35.0 49.0 60.0 75.0 91.0 101.0 108.0 114.0 121.0 129.0 135.0 141.0 143.0 151.0 162.0 168.0 172.0 177.0 183.0 181.0 187.0 188.0 189.0 193.0 193.0 199.0 200.0 198.0 196.0 189.0 188.0 185.0 180.0 173.0 166.0 160.0 150.0 141.0 125.0 115.0 101.0 84.0 69.0 59.0 45.0 31.0 23.0 15.0 9.0 3.0 -4.0 -12.0 -21.0 -30.0 -32.0 -35.0 -39.0 -36.0 -34.0 -35.0 -33.0 -35.0 -38.0 -36.0 -41.0 -42.0 -38.0 -43.0 -43.0 -42.0 -42.0 -39.0 -43.0 -43.0 -45.0 -51.0 -55.0 -53.0 -48.0 -41.0 -38.0 -30.0 -26.0 -21.0 -9.0 -3.0 8.0 15.0 23.0 32.0 48.0 60.0 70.0 82.0 95.0 111.0 124.0 133.0 143.0 147.0 150.0 158.0 158.0 159.0 162.0 168.0 164.0 164.0 161.0 151.0 143.0 133.0 123.0 102.0 94.0 79.0 65.0 54.0 39.0 28.0 13.0 3.0 -8.0 -17.0 -26.0 -28.0 -33.0 -30.0 -27.0 -24.0 -16.0 -13.0 -8.0 -4.0 9.0 16.0 23.0 32.0 41.0 52.0 58.0 63.0 64.0 65.0 68.0 65.0 61.0 58.0 53.0 52.0 47.0 38.0 33.0 26.0 19.0 15.0 13.0 5.0 9.0 10.0 7.0 15.0 14.0 25.0 31.0 35.0 45.0 53.0 61.0 71.0 83.0 96.0 106.0 113.0 120.0 120.0 122.0 115.0 114.0 111.0 109.0 100.0 94.0 88.0 79.0 73.0 58.0 47.0 31.0 19.0 7.0 -4.0 -20.0 -25.0 -33.0 -38.0 -39.0 -45.0 -43.0 -47.0 -44.0 -35.0 -33.0 -27.0 -14.0 -5.0 16.0 23.0 34.0 50.0 58.0 66.0 74.0 82.0 90.0 101.0 106.0 108.0 114.0 116.0 110.0 106.0 98.0 94.0 90.0 81.0 75.0 66.0 63.0 64.0 59.0 57.0 53.0 47.0 42.0 38.0 36.0 31.0 30.0 24.0 28.0 27.0 26.0 23.0 22.0 27.0 25.0 20.0 18.0 24.0 26.0 25.0 27.0 27.0 21.0 19.0 17.0 15.0 8.0 4.0 0.0 0.0 2.0 3.0 5.0 5.0 8.0 4.0 5.0 3.0 2.0 3.0 5.0 10.0 13.0 20.0 29.0 35.0 42.0 49.0 57.0 66.0 68.0 81.0 94.0 101.0 114.0 124.0 131.0 145.0 143.0 143.0 147.0 142.0 147.0 153.0 149.0 145.0 140.0 135.0 128.0 112.0 99.0 87.0 79.0 73.0 63.0 54.0 55.0 53.0 41.0 36.0 36.0 32.0 38.0 38.0 35.0 41.0 42.0 47.0 49.0 55.0 57.0 63.0 66.0 62.0 63.0 66.0 68.0 62.0 60.0 55.0 50.0 45.0 38.0 27.0 17.0 8.0 -1.0 -8.0 -17.0 -23.0 -30.0 -39.0 -40.0 -44.0 -49.0 -50.0 -47.0 -42.0 -37.0 -26.0 -10.0 -3.0 8.0 24.0 36.0 47.0 55.0 65.0 78.0 88.0 99.0 110.0 119.0 125.0 130.0 132.0 132.0 135.0 129.0 130.0 128.0 126.0 128.0 123.0 119.0 116.0 112.0 104.0 100.0 94.0 90.0 88.0 85.0 83.0 85.0 88.0 87.0 87.0 84.0 82.0 83.0 78.0 79.0 79.0 76.0 76.0 70.0 66.0 56.0 46.0 43.0 36.0 28.0 25.0 19.0 20.0 14.0 11.0 8.0 -1.0 -2.0 -4.0 -6.0 -8.0 -3.0 -6.0 0.0 1.0 1.0 0.0 4.0 7.0 7.0 9.0 13.0 23.0 22.0 33.0 36.0 44.0 49.0 54.0 56.0 59.0 66.0 67.0 73.0 79.0 82.0 84.0 89.0 89.0 93.0 94.0 94.0 95.0 96.0 101.0 103.0 108.0 108.0 109.0 110.0 106.0 100.0 97.0 92.0 85.0 82.0 80.0 79.0 76.0 77.0 69.0 67.0 57.0 52.0 50.0 44.0 47.0 43.0 41.0 40.0 35.0 33.0 29.0 20.0 15.0 9.0 7.0 1.0 4.0 7.0 2.0 2.0 -1.0 -4.0 -5.0 -10.0 -11.0 -15.0 -14.0 -9.0 -9.0 -5.0 -2.0 3.0 4.0 10.0 10.0 10.0 14.0 18.0 25.0 28.0 30.0 37.0 41.0 41.0 43.0 42.0 47.0 54.0 57.0 64.0 67.0 68.0 72.0 73.0 74.0 72.0 73.0 70.0 66.0 65.0 64.0 61.0 61.0 59.0 58.0 53.0 54.0 49.0 38.0 39.0 32.0 30.0 29.0 29.0 26.0 23.0 22.0 21.0 18.0 15.0 18.0 11.0 8.0 9.0 9.0 12.0 12.0 9.0 7.0 5.0 4.0 1.0 -1.0 -1.0 -1.0 -3.0 -3.0 -2.0 -3.0 -3.0 -2.0 0.0 -1.0 -2.0 5.0 8.0 13.0 19.0 22.0 25.0 26.0 33.0 39.0 36.0 44.0 44.0 45.0 49.0 49.0 51.0 50.0 46.0 43.0 43.0 39.0 36.0 37.0 39.0 43.0 43.0 40.0 39.0 34.0 39.0 39.0 36.0 41.0 42.0 40.0 43.0 37.0 36.0 36.0 32.0 29.0 27.0 29.0 32.0 31.0 35.0 38.0 38.0 39.0 34.0 35.0 34.0 29.0 28.0 27.0 25.0 21.0 17.0 11.0 7.0 2.0 -4.0 -6.0 -20.0 -24.0 -28.0 -32.0 -35.0 -42.0 -46.0 -57.0 -57.0 -63.0 -66.0 -68.0 -69.0 -64.0 -61.0 -59.0 -52.0 -54.0 -44.0 -40.0 -41.0 -37.0 -30.0 -18.0 -13.0 -6.0 -1.0 9.0 13.0 20.0 21.0 25.0 28.0 27.0 34.0 33.0 34.0 44.0 43.0 40.0 37.0 33.0 33.0 26.0 23.0 19.0 14.0 10.0 8.0 2.0 -4.0 -11.0 -20.0 -26.0 -31.0 -35.0 -37.0 -37.0 -37.0 -39.0 -38.0 -36.0 -42.0 -47.0 -43.0 -41.0 -43.0 -43.0 -41.0 -37.0 -34.0 -30.0 -29.0 -37.0 -36.0 -39.0 -39.0 -39.0 -42.0 -41.0 -40.0 -34.0 -35.0 -32.0 -33.0 -35.0 -36.0 -36.0 -36.0 -31.0 -34.0 -35.0 -27.0 -29.0 -27.0 -30.0 -26.0 -31.0 -30.0 -23.0 -18.0 -16.0 -15.0 -7.0 -1.0 -1.0 2.0 1.0 -4.0 0.0 -4.0 -1.0 1.0 -3.0 0.0 -1.0 -6.0 -4.0 -11.0 -18.0 -26.0 -33.0 -38.0 -45.0 -51.0 -57.0 -64.0 -73.0 -78.0 -83.0 -91.0 -103.0 -106.0 -113.0 -124.0 -125.0 -126.0 -129.0 -131.0 -141.0 -140.0 -144.0 -144.0 -148.0 -151.0 -145.0 -150.0 -145.0 -140.0 -138.0 -136.0 -129.0 -127.0 -124.0 -117.0 -114.0 -107.0 -105.0 -100.0 -91.0 -92.0 -86.0 -83.0 -85.0 -81.0 -81.0 -82.0 -79.0 -81.0 -80.0 -79.0 -77.0 -77.0 -78.0 -75.0 -82.0 -82.0 -82.0 -82.0 -81.0 -78.0 -77.0 -78.0 -78.0 -75.0 -72.0 -73.0 -73.0 -69.0 -67.0 -67.0 -63.0 -63.0 -62.0 -63.0 -70.0 -70.0 -69.0 -74.0 -76.0 -82.0 -85.0 -89.0 -94.0 -99.0 -107.0 -113.0 -122.0 -129.0 -134.0 -138.0 -143.0 -146.0 -149.0 -152.0 -152.0 -154.0 -156.0 -157.0 -152.0 -148.0 -146.0 -143.0 -136.0 -129.0 -129.0 -121.0 -117.0 -112.0 -106.0 -99.0 -96.0 -89.0 -83.0 -81.0 -73.0 -70.0 -68.0 -67.0 -66.0 -68.0 -66.0 -69.0 -68.0 -69.0 -72.0 -74.0 -74.0 -76.0 -83.0 -88.0 -91.0 -92.0 -93.0 -96.0 -99.0 -98.0 -101.0 -98.0 -105.0 -107.0 -102.0 -106.0 -104.0 -103.0 -103.0 -102.0 -100.0 -99.0 -105.0 -100.0 -104.0 -105.0 -106.0 -111.0 -113.0 -114.0 -116.0 -120.0 -116.0 -120.0 -120.0 -129.0 -136.0 -137.0 -143.0 -146.0 -149.0 -152.0 -155.0 -157.0 -158.0 -158.0 -157.0 -156.0 -157.0 -152.0 -149.0 -143.0 -139.0 -133.0 -125.0 -116.0 -111.0 -104.0 -99.0 -96.0 -87.0 -82.0 -73.0 -69.0 -64.0 -58.0 -53.0 -50.0 -45.0 -43.0 -39.0 -40.0 -38.0 -38.0 -40.0 -38.0 -40.0 -44.0 -48.0 -52.0 -57.0 -56.0 -63.0 -63.0 -62.0 -61.0 -61.0 -66.0 -66.0 -70.0 -70.0 -73.0 -75.0 -77.0 -82.0 -78.0 -80.0 -79.0 -77.0 -81.0 -81.0 -83.0 -87.0 -87.0 -90.0 -91.0 -94.0 -100.0 -96.0 -100.0 -104.0 -103.0 -107.0 -107.0 -113.0 -115.0 -119.0 -119.0 -119.0 -121.0 -118.0 -118.0 -122.0 -121.0 -117.0 -111.0 -111.0 -110.0 -107.0 -104.0 -102.0 -95.0 -89.0 -82.0 -77.0 -74.0 -67.0 -64.0 -60.0 -52.0 -43.0 -40.0 -34.0 -31.0 -31.0 -25.0 -23.0 -20.0 -22.0 -24.0 -23.0 -23.0 -20.0 -20.0 -19.0 -16.0 -22.0 -21.0 -23.0 -25.0 -27.0 -28.0 -32.0 -37.0 -39.0 -41.0 -43.0 -48.0 -50.0 -57.0 -57.0 -61.0 -64.0 -62.0 -66.0 -66.0 -72.0 -69.0 -72.0 -72.0 -72.0 -71.0 -66.0 -70.0 -68.0 -68.0 -70.0 -68.0 -68.0 -63.0 -66.0 -66.0 -64.0 -69.0 -62.0 -63.0 -61.0 -64.0 -60.0 -57.0 -56.0 -54.0 -54.0 -53.0 -51.0 -49.0 -50.0 -47.0 -49.0 -46.0 -43.0 -39.0 -37.0 -37.0 -33.0 -29.0 -22.0 -24.0 -19.0 -11.0 -7.0 -6.0 -2.0 0.0 3.0 3.0 7.0 12.0 9.0 14.0 12.0 13.0 15.0 10.0 9.0 4.0 1.0 -1.0 -3.0 -6.0 -10.0 -15.0 -21.0 -23.0 -25.0 -30.0 -37.0 -40.0 -39.0 -42.0 -52.0 -50.0 -54.0 -62.0 -59.0 -62.0 -65.0 -63.0 -63.0 -62.0 -64.0 -61.0 -59.0 -61.0 -59.0 -52.0 -52.0 -48.0 -50.0 -49.0 -47.0 -45.0 -42.0 -40.0 -36.0 -40.0 -38.0 -37.0 -35.0 -32.0 -31.0 -30.0 -28.0 -26.0 -26.0 -24.0 -22.0 -21.0 -20.0 -12.0 -9.0 -7.0 -7.0 -5.0 -3.0 -1.0 1.0 4.0 7.0 5.0 8.0 12.0 14.0 17.0 14.0 16.0 20.0 17.0 20.0 16.0 21.0 19.0 17.0 24.0 27.0 28.0 25.0 26.0 27.0 33.0 29.0 29.0 27.0 26.0 28.0 28.0 28.0 30.0 30.0 31.0 34.0 33.0 32.0 29.0 32.0 35.0 41.0 39.0 45.0 49.0 49.0 55.0 58.0 61.0 65.0 69.0 70.0 74.0 74.0 81.0 84.0 82.0 87.0 86.0 85.0 86.0 83.0 85.0 84.0 78.0 84.0 80.0 79.0 80.0 77.0 80.0 77.0 73.0 73.0 72.0 70.0 68.0 70.0 67.0 65.0 63.0 61.0 57.0 53.0 54.0 54.0 52.0 52.0 59.0 53.0 50.0 49.0 46.0 47.0 43.0 40.0 42.0 46.0 41.0 44.0 42.0 41.0 41.0 42.0 42.0 46.0 44.0 43.0 50.0 51.0 52.0 57.0 58.0 63.0 66.0 63.0 71.0 73.0 74.0 77.0 84.0 85.0 88.0 93.0 95.0 99.0 97.0 101.0 104.0 105.0 111.0 113.0 114.0 117.0 117.0 116.0 116.0 115.0 118.0 115.0 113.0 115.0 116.0 117.0 113.0 113.0 110.0 110.0 107.0 107.0 106.0 105.0 105.0 101.0 96.0 99.0 94.0 92.0 91.0 92.0 92.0 88.0 86.0 87.0 84.0 80.0 77.0 74.0 73.0 67.0 69.0 66.0 64.0 64.0 62.0 62.0 62.0 61.0 65.0 63.0 63.0 64.0 62.0 64.0 70.0 67.0 70.0 76.0 78.0 78.0 79.0 86.0 82.0 89.0 91.0 96.0 99.0 103.0 108.0 112.0 117.0 122.0 125.0 130.0 133.0 136.0 140.0 144.0 153.0 153.0 156.0 158.0 160.0 160.0 160.0 160.0 159.0 156.0 154.0 151.0 149.0 147.0 139.0 134.0 128.0 123.0 118.0 112.0 103.0 98.0 93.0 85.0 78.0 76.0 75.0 69.0 65.0 56.0 52.0 46.0 41.0 35.0 32.0 31.0 26.0 26.0 25.0 21.0 20.0 19.0 21.0 18.0 18.0 22.0 23.0 23.0 25.0 24.0 29.0 31.0 30.0 35.0 38.0 39.0 42.0 43.0 43.0 50.0 54.0 59.0 60.0 64.0 65.0 71.0 77.0 77.0 82.0 87.0 90.0 91.0 96.0 98.0 103.0 102.0 105.0 108.0 111.0 110.0 112.0 111.0 111.0 111.0 111.0 108.0 108.0 103.0 98.0 98.0 95.0 94.0 91.0 90.0 84.0 80.0 77.0 79.0 75.0 75.0 76.0 74.0 73.0 71.0 71.0 66.0 65.0 63.0 63.0 62.0 65.0 62.0 60.0 57.0 59.0 56.0 49.0 50.0 49.0 46.0 44.0 42.0 42.0 41.0 39.0 37.0 33.0 35.0 34.0 33.0 28.0 31.0 29.0 27.0 26.0 27.0 29.0 30.0 35.0 33.0 36.0 36.0 40.0 38.0 38.0 43.0 48.0 53.0 51.0 54.0 56.0 57.0 56.0 61.0 58.0 61.0 61.0 57.0 57.0 59.0 59.0 57.0 52.0 53.0 58.0 53.0 52.0 49.0 49.0 46.0 47.0 47.0 42.0 44.0 42.0 39.0 38.0 36.0 33.0 34.0 29.0 29.0 30.0 30.0 26.0 22.0 19.0 18.0 19.0 17.0 14.0 10.0 11.0 11.0 7.0 7.0 2.0 2.0 6.0 1.0 1.0 -1.0 -2.0 0.0 1.0 2.0 3.0 6.0 10.0 11.0 13.0 14.0 17.0 19.0 18.0 22.0 24.0 20.0 23.0 25.0 26.0 28.0 32.0 34.0 36.0 35.0 37.0 39.0 40.0 42.0 42.0 41.0 40.0 39.0 35.0 34.0 36.0 36.0 30.0 30.0 28.0 25.0 22.0 21.0 19.0 18.0 20.0 19.0 18.0 14.0 17.0 18.0 14.0 14.0 11.0 11.0 14.0 11.0 11.0 13.0 13.0 10.0 8.0 10.0 7.0 7.0 9.0 2.0 1.0 -1.0 -3.0 0.0 -2.0 -1.0 0.0 -1.0 -5.0 -3.0 -5.0 -4.0 -3.0 -2.0 1.0 5.0 7.0 9.0 12.0 12.0 11.0 12.0 15.0 19.0 17.0 23.0 22.0 23.0 25.0 28.0 29.0 26.0 28.0 27.0 22.0 20.0 19.0 18.0 16.0 13.0 12.0 7.0 7.0 1.0 -5.0 -7.0 -11.0 -14.0 -20.0 -23.0 -28.0 -32.0 -34.0 -34.0 -38.0 -40.0 -42.0 -44.0 -46.0 -49.0 -49.0 -52.0 -53.0 -53.0 -50.0 -54.0 -53.0 -52.0 -54.0 -55.0 -58.0 -52.0 -53.0 -50.0 -48.0 -48.0 -45.0 -44.0 -46.0 -47.0 -45.0 -41.0 -37.0 -37.0 -36.0 -35.0 -32.0 -30.0 -27.0 -24.0 -20.0 -17.0 -8.0 -5.0 -6.0 -4.0 -1.0 1.0 3.0 6.0 5.0 5.0 1.0 1.0 1.0 -4.0 -4.0 -7.0 -9.0 -12.0 -18.0 -20.0 -27.0 -35.0 -39.0 -43.0 -46.0 -52.0 -58.0 -60.0 -63.0 -70.0 -70.0 -76.0 -81.0 -84.0 -86.0 -89.0 -92.0 -93.0 -100.0 -99.0 -103.0 -105.0 -101.0 -103.0 -105.0 -104.0 -100.0 -99.0 -99.0 -102.0 -98.0 -100.0 -100.0 -101.0 -99.0 -102.0 -101.0 -103.0 -102.0 -101.0 -103.0 -101.0 -104.0 -101.0 -98.0 -94.0 -93.0 -93.0 -87.0 -84.0 -83.0 -82.0 -73.0 -72.0 -67.0 -67.0 -64.0 -58.0 -57.0 -54.0 -48.0 -44.0 -40.0 -36.0 -39.0 -32.0 -35.0 -32.0 -30.0 -32.0 -31.0 -36.0 -37.0 -41.0 -44.0 -47.0 -48.0 -50.0 -53.0 -57.0 -59.0 -66.0 -70.0 -73.0 -77.0 -80.0 -86.0 -88.0 -89.0 -93.0 -99.0 -101.0 -103.0 -101.0 -105.0 -106.0 -105.0 -109.0 -105.0 -108.0 -109.0 -108.0 -111.0 -112.0 -112.0 -107.0 -109.0 -109.0 -111.0 -108.0 -110.0 -109.0 -107.0 -104.0 -101.0 -103.0 -102.0 -102.0 -101.0 -98.0 -96.0 -93.0 -92.0 -88.0 -84.0 -81.0 -78.0 -72.0 -67.0 -66.0 -63.0 -56.0 -53.0 -50.0 -48.0 -42.0 -37.0 -36.0 -30.0 -29.0 -28.0 -24.0 -23.0 -22.0 -20.0 -21.0 -20.0 -18.0 -21.0 -20.0 -24.0 -25.0 -22.0 -25.0 -25.0 -24.0 -32.0 -32.0 -32.0 -36.0 -41.0 -41.0 -44.0 -49.0 -51.0 -54.0 -57.0 -64.0 -66.0 -70.0 -76.0 -72.0 -74.0 -76.0 -77.0 -82.0 -78.0 -78.0 -81.0 -80.0 -80.0 -83.0 -79.0 -81.0 -78.0 -79.0 -79.0 -74.0 -73.0 -70.0 -72.0 -66.0 -69.0 -70.0 -64.0 -62.0 -60.0 -60.0 -56.0 -53.0 -49.0 -52.0 -48.0 -42.0 -42.0 -41.0 -43.0 -39.0 -35.0 -34.0 -30.0 -29.0 -26.0 -27.0 -24.0 -22.0 -29.0 -26.0 -27.0 -26.0 -28.0 -32.0 -29.0 -28.0 -27.0 -31.0 -28.0 -31.0 -33.0 -33.0 -38.0 -39.0 -41.0 -42.0 -44.0 -47.0 -50.0 -52.0 -52.0 -54.0 -58.0 -57.0 -53.0 -56.0 -55.0 -54.0 -52.0 -51.0 -54.0 -51.0 -52.0 -50.0 -51.0 -48.0 -45.0 -46.0 -41.0 -43.0 -42.0 -43.0 -44.0 -39.0 -39.0 -40.0 -37.0 -32.0 -31.0 -29.0 -31.0 -29.0 -25.0 -29.0 -27.0 -29.0 -28.0 -27.0 -26.0 -23.0 -23.0 -21.0 -23.0 -23.0 -25.0 -25.0 -24.0 -25.0 -25.0 -22.0 -19.0 -21.0 -20.0 -20.0 -19.0 -18.0 -22.0 -19.0 -19.0 -19.0 -22.0 -22.0 -24.0 -24.0 -21.0 -24.0 -24.0 -22.0 -25.0 -28.0 -29.0 -32.0 -31.0 -32.0 -32.0 -28.0 -28.0 -30.0 -30.0 -31.0 -31.0 -32.0 -34.0 -33.0 -36.0 -36.0 -34.0 -35.0 -35.0 -36.0 -36.0 -38.0 -37.0 -36.0 -38.0 -39.0 -42.0 -45.0 -44.0 -45.0 -50.0 -48.0 -48.0 -49.0 -47.0 -49.0 -46.0 -47.0 -47.0 -51.0 -49.0 -48.0 -49.0 -43.0 -43.0 -40.0 -41.0 -39.0 -36.0 -33.0 -32.0 -31.0 -32.0 -32.0 -26.0 -25.0 -23.0 -24.0 -20.0 -16.0 -17.0 -14.0 -13.0 -16.0 -16.0 -16.0 -21.0 -27.0 -27.0 -25.0 -32.0 -37.0 -35.0 -37.0 -38.0 -41.0 -43.0 -38.0 -44.0 -42.0 -39.0 -44.0 -42.0 -44.0 -44.0 -43.0 -38.0 -36.0 -32.0 -32.0 -33.0 -29.0 -22.0 -18.0 -19.0 -12.0 -14.0 -8.0 -7.0 -2.0 2.0 1.0 2.0 2.0 5.0 6.0 7.0 7.0 8.0 8.0 8.0 11.0 15.0 14.0 13.0 13.0 10.0 13.0 11.0 9.0 7.0 8.0 9.0 7.0 6.0 7.0 9.0 4.0 5.0 3.0 2.0 5.0 8.0 7.0 5.0 3.0 2.0 3.0 1.0 -1.0 -2.0 2.0 0.0 1.0 0.0 -3.0 -6.0 -4.0 -6.0 -10.0 -11.0 -14.0 -12.0 -12.0 -10.0 -10.0 -13.0 -11.0 -9.0 -10.0 -9.0 -10.0 -8.0 -5.0 -3.0 -2.0 1.0 5.0 4.0 8.0 9.0 8.0 10.0 9.0 9.0 11.0 18.0 17.0 17.0 19.0 18.0 19.0 22.0 26.0 26.0 25.0 29.0 29.0 29.0 32.0 30.0 32.0 30.0 30.0 30.0 26.0 29.0 31.0 31.0 32.0 31.0 32.0 36.0 33.0 30.0 32.0 28.0 27.0 23.0 20.0 22.0 14.0 13.0 16.0 12.0 8.0 7.0 5.0 4.0 4.0 1.0 3.0 3.0 5.0 4.0 1.0 2.0 5.0 1.0 2.0 3.0 3.0 8.0 12.0 10.0 12.0 18.0 16.0 22.0 21.0 24.0 29.0 30.0 32.0 33.0 36.0 35.0 36.0 39.0 37.0 41.0 41.0 39.0 43.0 45.0 44.0 45.0 47.0 42.0 43.0 45.0 44.0 43.0 44.0 43.0 43.0 40.0 38.0 35.0 36.0 36.0 37.0 40.0 40.0 38.0 38.0 40.0 35.0 38.0 35.0 28.0 31.0 27.0 24.0 24.0 20.0 22.0 22.0 18.0 16.0 11.0 10.0 9.0 5.0 -1.0 4.0 4.0 2.0 4.0 6.0 4.0 2.0 -1.0 -1.0 2.0 3.0 3.0 5.0 2.0 1.0 5.0 3.0 7.0 7.0 9.0 8.0 9.0 7.0 7.0 9.0 9.0 14.0 13.0 15.0 16.0 15.0 19.0 20.0 18.0 23.0 23.0 29.0 27.0 27.0 29.0 33.0 34.0 32.0 36.0 39.0 45.0 42.0 42.0 39.0 42.0 43.0 40.0 36.0 35.0 34.0 30.0 27.0 25.0 24.0 21.0 20.0 16.0 11.0 10.0 4.0 -2.0 0.0 0.0 -7.0 -7.0 -8.0 -8.0 -10.0 -10.0 -7.0 -8.0 -6.0 -5.0 -6.0 -3.0 3.0 4.0 8.0 10.0 11.0 13.0 17.0 19.0 18.0 25.0 21.0 28.0 31.0 28.0 32.0 36.0 35.0 38.0 39.0 41.0 45.0 47.0 47.0 45.0 49.0 49.0 48.0 49.0 49.0 50.0 51.0 49.0 53.0 47.0 46.0 41.0 41.0 44.0 40.0 42.0 40.0 39.0 40.0 40.0 41.0 38.0 38.0 37.0 31.0 29.0 30.0 33.0 32.0 35.0 31.0 30.0 30.0 24.0 23.0 26.0 25.0 24.0 26.0 25.0 29.0 25.0 27.0 27.0 26.0 22.0 26.0 30.0 27.0 27.0 26.0 26.0 25.0 25.0 23.0 27.0 27.0 30.0 35.0 33.0 39.0 41.0 44.0 45.0 46.0 48.0 48.0 50.0 52.0 54.0 56.0 57.0 63.0 62.0 61.0 63.0 66.0 71.0 71.0 75.0 74.0 73.0 79.0 79.0 78.0 80.0 75.0 78.0 79.0 77.0 79.0 72.0 71.0 69.0 72.0 74.0 76.0 72.0 72.0 72.0 74.0 77.0 74.0 75.0 76.0 75.0 69.0 70.0 71.0 71.0 68.0 66.0 63.0 63.0 67.0 64.0 60.0 60.0 62.0 65.0 57.0 49.0 53.0 53.0 53.0 47.0 48.0 50.0 49.0 49.0 53.0 58.0 57.0 55.0 58.0 57.0 62.0 62.0 64.0 67.0 63.0 68.0 68.0 73.0 76.0 79.0 78.0 77.0 85.0 90.0 88.0 91.0 89.0 92.0 93.0 92.0 93.0 92.0 91.0 88.0 89.0 84.0 85.0 82.0 83.0 81.0 76.0 76.0 78.0 81.0 79.0 77.0 74.0 73.0 75.0 75.0 73.0 71.0 72.0 70.0 67.0 70.0 67.0 67.0 65.0 64.0 60.0 62.0 61.0 61.0 53.0 58.0 54.0 52.0 57.0 55.0 60.0 51.0 53.0 53.0 54.0 56.0 55.0 60.0 63.0 66.0 66.0 65.0 63.0 64.0 65.0 69.0 71.0 75.0 75.0 74.0 80.0 78.0 77.0 75.0 82.0 84.0 82.0 78.0 78.0 77.0 75.0 78.0 74.0 75.0 73.0 73.0 68.0 71.0 68.0 65.0 62.0 59.0 64.0 57.0 58.0 51.0 52.0 47.0 43.0 48.0 47.0 46.0 43.0 43.0 42.0 42.0 42.0 47.0 45.0 44.0 44.0 40.0 43.0 39.0 41.0 41.0 36.0 37.0 35.0 34.0 36.0 37.0 36.0 35.0 34.0 35.0 37.0 37.0 34.0 35.0 35.0 39.0 39.0 40.0 41.0 38.0 41.0 37.0 38.0 38.0 37.0 43.0 45.0 46.0 48.0 47.0 51.0 52.0 49.0 51.0 49.0 52.0 49.0 52.0 49.0 53.0 55.0 49.0 51.0 49.0 48.0 44.0 42.0 42.0 43.0 39.0 35.0 30.0 28.0 24.0 25.0 25.0 25.0 22.0 16.0 14.0 5.0 6.0 4.0 6.0 4.0 3.0 1.0 2.0 5.0 7.0 8.0 6.0 5.0 2.0 4.0 7.0 8.0 3.0 10.0 6.0 8.0 11.0 11.0 14.0 16.0 24.0 25.0 31.0 31.0 32.0 38.0 40.0 41.0 43.0 43.0 42.0 47.0 46.0 46.0 45.0 47.0 48.0 46.0 52.0 53.0 56.0 51.0 50.0 50.0 44.0 40.0 39.0 32.0 30.0 33.0 26.0 27.0 24.0 22.0 21.0 19.0 16.0 14.0 13.0 10.0 8.0 6.0 2.0 1.0 -2.0 -5.0 -6.0 -8.0 -9.0 -12.0 -10.0 -13.0 -18.0 -17.0 -20.0 -17.0 -22.0 -24.0 -23.0 -27.0 -25.0 -29.0 -24.0 -24.0 -23.0 -28.0 -28.0 -22.0 -28.0 -22.0 -15.0 -18.0 -19.0 -18.0 -15.0 -15.0 -14.0 -10.0 -10.0 -10.0 -9.0 -6.0 -6.0 -4.0 -1.0 -2.0 0.0 1.0 0.0 -3.0 -1.0 1.0 1.0 1.0 -1.0 5.0 5.0 6.0 6.0 5.0 8.0 7.0 10.0 9.0 10.0 8.0 5.0 3.0 5.0 2.0 -4.0 1.0 -2.0 -5.0 -5.0 -7.0 -9.0 -9.0 -14.0 -15.0 -18.0 -18.0 -18.0 -23.0 -19.0 -21.0 -21.0 -25.0 -25.0 -27.0 -25.0 -26.0 -29.0 -30.0 -29.0 -26.0 -30.0 -30.0 -28.0 -26.0 -29.0 -24.0 -29.0 -22.0 -23.0 -21.0 -21.0 -19.0 -16.0 -23.0 -17.0 -22.0 -23.0 -23.0 -19.0 -26.0 -23.0 -25.0 -26.0 -21.0 -25.0 -22.0 -22.0 -22.0 -20.0 -23.0 -23.0 -21.0 -23.0 -21.0 -23.0 -19.0 -22.0 -26.0 -27.0 -24.0 -25.0 -30.0 -28.0 -28.0 -31.0 -31.0 -31.0 -33.0 -31.0 -32.0 -31.0 -36.0 -31.0 -32.0 -35.0 -36.0 -41.0 -41.0 -43.0 -45.0 -46.0 -48.0 -51.0 -56.0 -56.0 -56.0 -60.0 -58.0 -53.0 -54.0 -55.0 -55.0 -58.0 -58.0 -58.0 -62.0 -63.0 -66.0 -66.0 -64.0 -61.0 -63.0 -62.0 -64.0 -64.0 -61.0 -61.0 -57.0 -56.0 -57.0 -59.0 -62.0 -63.0 -66.0 -68.0 -70.0 -71.0 -71.0 -75.0 -73.0 -75.0 -74.0 -72.0 -75.0 -76.0 -76.0 -73.0 -78.0 -74.0 -78.0 -77.0 -80.0 -78.0 -74.0 -77.0 -76.0 -76.0 -71.0 -72.0 -72.0 -71.0 -64.0 -67.0 -62.0 -61.0 -62.0 -64.0 -63.0 -61.0 -62.0 -62.0 -62.0 -55.0 -58.0 -57.0 -65.0 -64.0 -63.0 -65.0 -64.0 -62.0 -65.0 -63.0 -64.0 -65.0 -65.0 -68.0 -65.0 -67.0 -69.0 -72.0 -70.0 -72.0 -70.0 -71.0 -78.0 -75.0 -77.0 -77.0 -77.0 -75.0 -73.0 -73.0 -72.0 -69.0 -68.0 -67.0 -69.0 -70.0 -68.0 -72.0 -69.0 -70.0 -69.0 -71.0 -69.0 -68.0 -71.0 -69.0 -70.0 -69.0 -72.0 -78.0 -76.0 -77.0 -77.0 -78.0 -79.0 -78.0 -81.0 -80.0 -77.0 -75.0 -79.0 -76.0 -77.0 -78.0 -75.0 -73.0 -69.0 -66.0 -67.0 -66.0 -63.0 -63.0 -58.0 -57.0 -57.0 -54.0 -56.0 -55.0 -57.0 -56.0 -58.0 -55.0 -59.0 -57.0 -55.0 -50.0 -49.0 -55.0 -53.0 -56.0 -53.0 -52.0 -61.0 -61.0 -61.0 -59.0 -56.0 -55.0 -54.0 -57.0 -54.0 -57.0 -58.0 -59.0 -59.0 -60.0 -58.0 -56.0 -57.0 -59.0 -61.0 -63.0 -65.0 -63.0 -64.0 -64.0 -63.0 -60.0 -61.0 -58.0 -63.0 -63.0 -63.0 -69.0 -71.0 -71.0 -75.0 -77.0 -74.0 -78.0 -75.0 -77.0 -78.0 -81.0 -81.0 -80.0 -81.0 -82.0 -78.0 -78.0 -78.0 -78.0 -79.0 -79.0 -80.0 -83.0 -84.0 -79.0 -80.0 -76.0 -71.0 -73.0 -68.0 -68.0 -71.0 -67.0 -64.0 -64.0 -57.0 -57.0 -58.0 -55.0 -52.0 -52.0 -52.0 -47.0 -47.0 -47.0 -44.0 -40.0 -40.0 -39.0 -38.0 -36.0 -34.0 -34.0 -34.0 -33.0 -33.0 -36.0 -37.0 -35.0 -36.0 -40.0 -42.0 -37.0 -39.0 -44.0 -48.0 -47.0 -48.0 -47.0 -50.0 -48.0 -50.0 -51.0 -51.0 -51.0 -50.0 -53.0 -49.0 -51.0 -49.0 -51.0 -52.0 -50.0 -57.0 -55.0 -56.0 -54.0 -52.0 -52.0 -57.0 -60.0 -56.0 -54.0 -54.0 -54.0 -56.0 -55.0 -52.0 -51.0 -48.0 -55.0 -52.0 -55.0 -57.0 -56.0 -58.0 -56.0 -55.0 -52.0 -53.0 -48.0 -48.0 -48.0 -48.0 -45.0 -41.0 -42.0 -42.0 -39.0 -35.0 -35.0 -31.0 -34.0 -29.0 -28.0 -27.0 -24.0 -22.0 -23.0 -20.0 -18.0 -18.0 -18.0 -22.0 -21.0 -18.0 -15.0 -20.0 -22.0 -25.0 -28.0 -30.0 -33.0 -33.0 -34.0 -34.0 -35.0 -35.0 -36.0 -38.0 -35.0 -39.0 -40.0 -38.0 -39.0 -39.0 -37.0 -40.0 -41.0 -41.0 -43.0 -41.0 -46.0 -42.0 -42.0 -43.0 -38.0 -42.0 -46.0 -47.0 -48.0 -48.0 -53.0 -54.0 -54.0 -52.0 -52.0 -52.0 -52.0 -52.0 -52.0 -53.0 -49.0 -49.0 -44.0 -44.0 -41.0 -38.0 -38.0 -34.0 -38.0 -35.0 -33.0 -32.0 -25.0 -23.0 -19.0 -19.0 -16.0 -19.0 -13.0 -5.0 -12.0 -8.0 -4.0 -3.0 -1.0 3.0 5.0 5.0 12.0 9.0 12.0 17.0 16.0 19.0 19.0 25.0 21.0 24.0 23.0 21.0 24.0 23.0 26.0 24.0 22.0 18.0 22.0 18.0 20.0 20.0 17.0 12.0 6.0 11.0 8.0 6.0 10.0 8.0 5.0 8.0 8.0 9.0 9.0 10.0 13.0 10.0 9.0 15.0 16.0 14.0 18.0 18.0 20.0 20.0 25.0 23.0 24.0 22.0 21.0 24.0 24.0 24.0 18.0 15.0 21.0 20.0 19.0 20.0 17.0 18.0 23.0 26.0 26.0 26.0 24.0 27.0 25.0 29.0 36.0 31.0 34.0 37.0 35.0 37.0 38.0 40.0 43.0 39.0 41.0 39.0 42.0 41.0 36.0 29.0 29.0 28.0 24.0 29.0 29.0 24.0 22.0 21.0 21.0 25.0 26.0 22.0 24.0 26.0 26.0 27.0 30.0 30.0 31.0 31.0 30.0 34.0 34.0 35.0 29.0 32.0 32.0 27.0 31.0 28.0 29.0 24.0 22.0 24.0 21.0 21.0 19.0 21.0 26.0 20.0 18.0 15.0 16.0 17.0 14.0 14.0 13.0 18.0 17.0 18.0 24.0 23.0 28.0 27.0 28.0 31.0 27.0 28.0 29.0 30.0 33.0 28.0 28.0 33.0 36.0 34.0 36.0 38.0 42.0 46.0 48.0 53.0 56.0 55.0 57.0 56.0 58.0 61.0 59.0 62.0 60.0 62.0 63.0 62.0 65.0 64.0 59.0 57.0 57.0 55.0 54.0 52.0 51.0 51.0 53.0 50.0 43.0 48.0 51.0 56.0 54.0 53.0 58.0 58.0 55.0 55.0 60.0 59.0 58.0 56.0 53.0 51.0 54.0 50.0 49.0 50.0 47.0 46.0 47.0 47.0 45.0 44.0 43.0 44.0 44.0 42.0 42.0 40.0 38.0 41.0 42.0 44.0 44.0 45.0 48.0 46.0 42.0 39.0 36.0 34.0 35.0 29.0 24.0 21.0 20.0 19.0 16.0 15.0 13.0 15.0 13.0 11.0 10.0 9.0 12.0 12.0 10.0 9.0 11.0 16.0 19.0 17.0 17.0 19.0 22.0 21.0 21.0 23.0 23.0 22.0 23.0 19.0 20.0 21.0 22.0 19.0 16.0 16.0 15.0 17.0 17.0 21.0 21.0 20.0 22.0 20.0 20.0 17.0 19.0 20.0 18.0 19.0 23.0 24.0 24.0 28.0 29.0 26.0 26.0 26.0 28.0 28.0 25.0 25.0 24.0 26.0 27.0 26.0 29.0 25.0 25.0 22.0 23.0 25.0 26.0 30.0 30.0 26.0 24.0 27.0 26.0 24.0 22.0 20.0 26.0 21.0 20.0 21.0 14.0 13.0 12.0 8.0 8.0 6.0 3.0 4.0 2.0 4.0 -3.0 -1.0 -2.0 -1.0 -1.0 2.0 7.0 3.0 5.0 8.0 11.0 12.0 11.0 10.0 18.0 17.0 16.0 22.0 24.0 25.0 24.0 25.0 27.0 27.0 29.0 24.0 25.0 27.0 27.0 31.0 30.0 34.0 32.0 35.0 38.0 39.0 41.0 47.0 47.0 51.0 51.0 50.0 52.0 51.0 52.0 49.0 51.0 47.0 49.0 49.0 44.0 43.0 45.0 39.0 35.0 31.0 29.0 31.0 24.0 22.0 20.0 19.0 19.0 15.0 12.0 10.0 6.0 7.0 5.0 7.0 6.0 9.0 11.0 11.0 10.0 11.0 14.0 16.0 14.0 18.0 19.0 19.0 21.0 21.0 21.0 19.0 25.0 20.0 21.0 23.0 29.0 29.0 28.0 30.0 31.0 30.0 28.0 29.0 32.0 29.0 32.0 35.0 31.0 34.0 33.0 35.0 35.0 36.0 35.0 35.0 38.0 37.0 33.0 30.0 30.0 30.0 30.0 26.0 29.0 26.0 28.0 26.0 26.0 28.0 29.0 30.0 29.0 33.0 33.0 33.0 32.0 39.0 34.0 36.0 40.0 36.0 38.0 39.0 39.0 39.0 40.0 39.0 39.0 37.0 38.0 39.0 39.0 42.0 43.0 42.0 40.0 42.0 41.0 42.0 39.0 41.0 40.0 39.0 41.0 41.0 38.0 37.0 42.0 43.0 43.0 45.0 45.0 44.0 46.0 48.0 53.0 55.0 58.0 61.0 58.0 57.0 55.0 54.0 50.0 48.0 48.0 45.0 45.0 43.0 42.0 44.0 45.0 41.0 38.0 42.0 40.0 40.0 45.0 41.0 48.0 50.0 50.0 52.0 52.0 52.0 50.0 56.0 58.0 58.0 60.0 63.0 61.0 62.0 58.0 58.0 62.0 57.0 57.0 57.0 54.0 55.0 52.0 49.0 47.0 43.0 41.0 41.0 37.0 33.0 35.0 31.0 27.0 30.0 28.0 28.0 28.0 27.0 31.0 31.0 29.0 28.0 33.0 33.0 34.0 35.0 35.0 32.0 32.0 32.0 35.0 36.0 32.0 34.0 30.0 31.0 27.0 25.0 26.0 25.0 23.0 20.0 20.0 14.0 12.0 10.0 15.0 10.0 8.0 8.0 7.0 3.0 7.0 6.0 4.0 5.0 4.0 4.0 5.0 6.0 0.0 5.0 4.0 2.0 -2.0 -3.0 -5.0 -9.0 -7.0 -8.0 -5.0 -6.0 -5.0 -1.0 -2.0 2.0 4.0 11.0 7.0 2.0 7.0 7.0 11.0 10.0 10.0 11.0 8.0 12.0 15.0 13.0 16.0 17.0 21.0 24.0 26.0 26.0 28.0 28.0 28.0 27.0 23.0 16.0 16.0 18.0 18.0 19.0 17.0 20.0 20.0 19.0 20.0 22.0 18.0 20.0 19.0 15.0 13.0 16.0 16.0 13.0 16.0 15.0 17.0 16.0 20.0 13.0 11.0 7.0 3.0 -1.0 -6.0 -5.0 -6.0 -6.0 -8.0 -10.0 -13.0 -8.0 -11.0 -13.0 -8.0 -9.0 -9.0 -8.0 -6.0 -4.0 -3.0 -6.0 -2.0 -6.0 -6.0 -3.0 -3.0 -5.0 1.0 0.0 -1.0 2.0 1.0 -1.0 -6.0 -2.0 0.0 -4.0 -6.0 -7.0 -14.0 -15.0 -17.0 -18.0 -17.0 -24.0 -23.0 -25.0 -24.0 -23.0 -21.0 -23.0 -22.0 -24.0 -24.0 -20.0 -27.0 -27.0 -24.0 -28.0 -29.0 -27.0 -27.0 -24.0 -27.0 -24.0 -25.0 -25.0 -22.0 -20.0 -25.0 -24.0 -23.0 -21.0 -22.0 -27.0 -19.0 -28.0 -29.0 -30.0 -32.0 -35.0 -35.0 -32.0 -34.0 -37.0 -40.0 -36.0 -38.0 -38.0 -40.0 -36.0 -33.0 -31.0 -27.0 -33.0 -28.0 -27.0 -27.0 -28.0 -26.0 -24.0 -25.0 -24.0 -24.0 -19.0 -20.0 -16.0 -13.0 -12.0 -11.0 -12.0 -5.0 -2.0 -5.0 -3.0 -2.0 -5.0 -7.0 -10.0 -12.0 -16.0 -17.0 -13.0 -15.0 -17.0 -18.0 -17.0 -18.0 -20.0 -22.0 -21.0 -20.0 -22.0 -27.0 -29.0 -28.0 -29.0 -31.0 -26.0 -32.0 -33.0 -33.0 -36.0 -39.0 -38.0 -35.0 -37.0 -40.0 -41.0 -41.0 -41.0 -44.0 -43.0 -43.0 -45.0 -42.0 -40.0 -37.0 -38.0 -35.0 -37.0 -36.0 -32.0 -34.0 -34.0 -32.0 -34.0 -33.0 -32.0 -30.0 -32.0 -31.0 -27.0 -30.0 -26.0 -28.0 -27.0 -28.0 -26.0 -29.0 -33.0 -32.0 -33.0 -31.0 -33.0 -34.0 -32.0 -32.0 -34.0 -39.0 -34.0 -30.0 -35.0 -25.0 -22.0 -23.0 -21.0 -23.0 -20.0 -16.0 -18.0 -21.0 -21.0 -19.0 -21.0 -20.0 -24.0 -26.0 -26.0 -26.0 -25.0 -28.0 -28.0 -31.0 -33.0 -33.0 -33.0 -35.0 -35.0 -37.0 -39.0 -39.0 -38.0 -39.0 -35.0 -36.0 -35.0 -30.0 -30.0 -29.0 -30.0 -27.0 -26.0 -28.0 -26.0 -23.0 -29.0 -29.0 -30.0 -35.0 -32.0 -32.0 -32.0 -34.0 -34.0 -32.0 -34.0 -37.0 -39.0 -38.0 -35.0 -37.0 -35.0 -34.0 -33.0 -27.0 -27.0 -27.0 -28.0 -24.0 -28.0 -27.0 -28.0 -34.0 -41.0 -39.0 -37.0 -44.0 -41.0 -48.0 -51.0 -55.0 -56.0 -58.0 -60.0 -62.0 -61.0 -60.0 -61.0 -63.0 -59.0 -58.0 -56.0 -52.0 -50.0 -44.0 -47.0 -45.0 -40.0 -39.0 -37.0 -36.0 -33.0 -31.0 -34.0 -35.0 -31.0 -33.0 -34.0 -31.0 -36.0 -40.0 -42.0 -43.0 -47.0 -45.0 -48.0 -48.0 -48.0 -48.0 -50.0 -54.0 -52.0 -54.0 -54.0 -55.0 -56.0 -55.0 -52.0 -53.0 -51.0 -50.0 -53.0 -52.0 -55.0 -55.0 -52.0 -51.0 -49.0 -51.0 -53.0 -56.0 -55.0 -57.0 -58.0 -54.0 -52.0 -51.0 -46.0 -44.0 -40.0 -36.0 -33.0 -34.0 -33.0 -35.0 -37.0 -32.0 -33.0 -33.0 -29.0 -28.0 -29.0 -26.0 -29.0 -28.0 -27.0 -29.0 -26.0 -26.0 -27.0 -29.0 -29.0 -28.0 -29.0 -33.0 -29.0 -36.0 -28.0 -30.0 -32.0 -28.0 -31.0 -34.0 -37.0 -38.0 -44.0 -39.0 -41.0 -38.0 -40.0 -45.0 -40.0 -38.0 -36.0 -34.0 -37.0 -34.0 -35.0 -36.0 -36.0 -35.0 -36.0 -39.0 -38.0 -39.0 -45.0 -43.0 -43.0 -43.0 -40.0 -41.0 -36.0 -35.0 -33.0 -34.0 -32.0 -33.0 -33.0 -27.0 -27.0 -22.0 -21.0 -21.0 -20.0 -22.0 -23.0 -24.0 -30.0 -30.0 -28.0 -29.0 -29.0 -31.0 -34.0 -34.0 -37.0 -38.0 -38.0 -37.0 -33.0 -31.0 -28.0 -25.0 -26.0 -24.0 -15.0 -18.0 -19.0 -15.0 -12.0 -11.0 -10.0 -8.0 -4.0 -5.0 -7.0 -6.0 -5.0 -7.0 -6.0 -6.0 -9.0 -8.0 -11.0 -9.0 -11.0 -10.0 -11.0 -17.0 -19.0 -17.0 -16.0 -18.0 -19.0 -20.0 -20.0 -23.0 -18.0 -16.0 -12.0 -12.0 -9.0 -7.0 -5.0 -1.0 -3.0 -2.0 1.0 2.0 3.0 1.0 4.0 4.0 1.0 4.0 3.0 5.0 3.0 4.0 6.0 6.0 8.0 5.0 8.0 8.0 4.0 -2.0 -3.0 -9.0 -14.0 -14.0 -18.0 -23.0 -26.0 -30.0 -31.0 -35.0 -38.0 -44.0 -51.0 -52.0 -53.0 -54.0 -56.0 -58.0 -53.0 -48.0 -46.0 -46.0 -45.0 -35.0 -40.0 -36.0 -31.0 -31.0 -29.0 -29.0 -25.0 -27.0 -27.0 -24.0 -24.0 -27.0 -25.0 -29.0 -26.0 -25.0 -29.0 -27.0 -27.0 -24.0 -26.0 -26.0 -24.0 -26.0 -25.0 -21.0 -22.0 -20.0 -21.0 -21.0 -18.0 -17.0 -14.0 -14.0 -12.0 -10.0 -11.0 -9.0 -8.0 -8.0 -8.0 -8.0 -5.0 -8.0 -3.0 -2.0 1.0 4.0 2.0 5.0 3.0 3.0 3.0 1.0 0.0 -3.0 -5.0 -9.0 -12.0 -13.0 -19.0 -19.0 -20.0 -21.0 -26.0 -31.0 -32.0 -30.0 -35.0 -34.0 -38.0 -39.0 -35.0 -37.0 -33.0 -30.0 -24.0 -29.0 -24.0 -20.0 -13.0 -16.0 -13.0 -8.0 -8.0 -4.0 -6.0 -8.0 -10.0 -10.0 -11.0 -10.0 -10.0 -9.0 -10.0 -10.0 -12.0 -14.0 -16.0 -20.0 -21.0 -23.0 -22.0 -24.0 -20.0 -18.0 -16.0 -14.0 -13.0 -11.0 -5.0 -4.0 0.0 2.0 3.0 9.0 10.0 13.0 12.0 12.0 13.0 11.0 8.0 8.0 2.0 0.0 -3.0 -8.0 -11.0 -16.0 -22.0 -23.0 -25.0 -30.0 -30.0 -32.0 -26.0 -26.0 -25.0 -20.0 -18.0 -15.0 -8.0 -7.0 -6.0 -1.0 -1.0 1.0 -3.0 -1.0 0.0 2.0 0.0 -3.0 -2.0 -2.0 3.0 6.0 7.0 10.0 11.0 13.0 19.0 21.0 21.0 24.0 22.0 22.0 21.0 20.0 16.0 13.0 12.0 4.0 -1.0 -2.0 -4.0 -2.0 -5.0 -2.0 2.0 5.0 8.0 13.0 16.0 17.0 23.0 29.0 34.0 40.0 44.0 47.0 53.0 55.0 55.0 54.0 54.0 54.0 55.0 56.0 51.0 51.0 46.0 41.0 37.0 32.0 30.0 25.0 21.0 21.0 18.0 15.0 16.0 18.0 13.0 20.0 20.0 21.0 26.0 24.0 29.0 30.0 31.0 32.0 30.0 35.0 33.0 36.0 33.0 33.0 38.0 40.0 40.0 39.0 38.0 35.0 34.0 33.0 33.0 29.0 32.0 32.0 30.0 29.0 32.0 33.0 33.0 36.0 39.0 41.0 44.0 50.0 52.0 53.0 55.0 59.0 63.0 62.0 66.0 72.0 68.0 66.0 69.0 68.0 66.0 65.0 63.0 58.0 59.0 61.0 58.0 56.0 57.0 56.0 60.0 61.0 62.0 63.0 63.0 65.0 65.0 67.0 69.0 67.0 70.0 72.0 70.0 75.0 77.0 75.0 75.0 73.0 77.0 80.0 78.0 75.0 74.0 74.0 78.0 75.0 70.0 68.0 65.0 65.0 61.0 58.0 60.0 58.0 52.0 54.0 52.0 53.0 54.0 51.0 55.0 55.0 54.0 56.0 52.0 54.0 57.0 53.0 57.0 55.0 53.0 47.0 47.0 40.0 37.0 33.0 28.0 29.0 26.0 27.0 26.0 27.0 30.0 36.0 38.0 45.0 50.0 54.0 57.0 60.0 66.0 69.0 70.0 75.0 77.0 77.0 77.0 76.0 76.0 75.0 73.0 72.0 70.0 69.0 65.0 60.0 55.0 47.0 40.0 34.0 27.0 17.0 10.0 7.0 0.0 1.0 -2.0 -2.0 -3.0 0.0 3.0 8.0 14.0 16.0 21.0 21.0 24.0 30.0 33.0 32.0 33.0 33.0 35.0 33.0 30.0 31.0 28.0 27.0 24.0 21.0 21.0 20.0 21.0 24.0 25.0 25.0 27.0 31.0 35.0 37.0 41.0 47.0 46.0 51.0 51.0 50.0 55.0 53.0 54.0 54.0 55.0 51.0 50.0 51.0 49.0 45.0 46.0 44.0 39.0 43.0 40.0 33.0 33.0 36.0 35.0 33.0 34.0 35.0 35.0 34.0 33.0 32.0 35.0 34.0 34.0 30.0 31.0 29.0 27.0 25.0 25.0 26.0 24.0 22.0 17.0 12.0 7.0 3.0 0.0 -4.0 -7.0 -7.0 -9.0 -11.0 -10.0 -9.0 -7.0 -4.0 -3.0 -3.0 3.0 2.0 4.0 5.0 4.0 8.0 6.0 3.0 2.0 -1.0 -1.0 -1.0 -3.0 -7.0 -11.0 -8.0 -8.0 -8.0 -7.0 -7.0 -6.0 -8.0 -10.0 -4.0 -3.0 -4.0 -2.0 -2.0 -2.0 0.0 -2.0 -3.0 -4.0 -1.0 -5.0 -6.0 -2.0 -8.0 -6.0 -5.0 -4.0 3.0 5.0 6.0 11.0 11.0 13.0 12.0 12.0 12.0 9.0 6.0 3.0 2.0 -3.0 -1.0 -5.0 -8.0 -9.0 -13.0 -10.0 -12.0 -13.0 -12.0 -11.0 -4.0 -6.0 0.0 1.0 -3.0 -3.0 -1.0 1.0 4.0 4.0 6.0 7.0 4.0 8.0 10.0 9.0 8.0 12.0 13.0 17.0 18.0 19.0 22.0 20.0 26.0 21.0 20.0 21.0 15.0 18.0 14.0 9.0 6.0 -1.0 0.0 -8.0 -12.0 -15.0 -19.0 -18.0 -21.0 -23.0 -24.0 -19.0 -18.0 -14.0 -12.0 -8.0 -4.0 -1.0 6.0 9.0 11.0 14.0 17.0 18.0 23.0 23.0 22.0 26.0 31.0 29.0 27.0 28.0 28.0 30.0 30.0 31.0 29.0 24.0 25.0 21.0 14.0 9.0 5.0 6.0 1.0 -5.0 -9.0 -13.0 -16.0 -15.0 -17.0 -18.0 -16.0 -11.0 -8.0 -2.0 -1.0 6.0 6.0 12.0 16.0 13.0 16.0 14.0 13.0 13.0 11.0 8.0 8.0 6.0 3.0 5.0 1.0 1.0 0.0 0.0 -5.0 -4.0 -2.0 -6.0 -6.0 -6.0 -3.0 -5.0 -1.0 0.0 -2.0 -4.0 -3.0 -3.0 -5.0 -2.0 -2.0 1.0 5.0 5.0 5.0 7.0 5.0 7.0 9.0 8.0 5.0 5.0 6.0 3.0 2.0 3.0 0.0 -1.0 -5.0 -3.0 -5.0 -8.0 -6.0 -4.0 -5.0 -2.0 -5.0 -4.0 -7.0 -8.0 -6.0 -5.0 -6.0 -7.0 -2.0 -3.0 -3.0 -2.0 5.0 6.0 8.0 9.0 11.0 17.0 17.0 14.0 12.0 14.0 8.0 7.0 1.0 0.0 -5.0 -5.0 -8.0 -17.0 -14.0 -18.0 -17.0 -15.0 -13.0 -19.0 -15.0 -10.0 -7.0 -6.0 -7.0 -3.0 -3.0 3.0 1.0 2.0 4.0 1.0 1.0 -3.0 -4.0 -3.0 -6.0 -4.0 -7.0 -5.0 -3.0 -1.0 1.0 3.0 3.0 6.0 7.0 8.0 8.0 7.0 5.0 3.0 2.0 -4.0 -5.0 -4.0 -1.0 -3.0 -5.0 -4.0 -1.0 1.0 0.0 4.0 6.0 8.0 10.0 12.0 14.0 13.0 20.0 19.0 21.0 18.0 15.0 20.0 16.0 16.0 18.0 15.0 13.0 12.0 13.0 16.0 11.0 10.0 10.0 7.0 4.0 -2.0 -1.0 -4.0 -7.0 -11.0 -15.0 -13.0 -15.0 -18.0 -20.0 -17.0 -18.0 -17.0 -18.0 -15.0 -11.0 -11.0 -8.0 -7.0 -8.0 -9.0 -8.0 -6.0 -9.0 -11.0 -6.0 -8.0 -3.0 -4.0 -8.0 -5.0 -3.0 -6.0 -9.0 -6.0 -12.0 -14.0 -14.0 -14.0 -17.0 -17.0 -20.0 -23.0 -23.0 -23.0 -22.0 -23.0 -24.0 -22.0 -20.0 -16.0 -14.0 -14.0 -11.0 -11.0 -7.0 -4.0 2.0 2.0 5.0 9.0 7.0 8.0 6.0 2.0 2.0 -2.0 -6.0 -6.0 -6.0 -6.0 -10.0 -10.0 -12.0 -12.0 -14.0 -12.0 -6.0 -5.0 -2.0 0.0 -1.0 -1.0 1.0 3.0 2.0 0.0 -1.0 -1.0 1.0 -1.0 -3.0 -3.0 -7.0 -8.0 -8.0 -8.0 -7.0 -9.0 -11.0 -11.0 -11.0 -11.0 -13.0 -14.0 -17.0 -17.0 -14.0 -16.0 -15.0 -17.0 -11.0 -8.0 -12.0 -12.0 -10.0 -6.0 -3.0 1.0 5.0 5.0 9.0 14.0 17.0 20.0 20.0 23.0 23.0 26.0 21.0 22.0 22.0 23.0 21.0 19.0 18.0 13.0 14.0 12.0 13.0 10.0 10.0 7.0 7.0 6.0 4.0 6.0 3.0 3.0 -3.0 -7.0 -7.0 -7.0 -6.0 -8.0 -6.0 -9.0 -10.0 -6.0 -4.0 -4.0 -3.0 -4.0 -6.0 -5.0 -1.0 0.0 -3.0 -1.0 -4.0 -5.0 -6.0 -3.0 -4.0 -5.0 -4.0 -9.0 -4.0 -7.0 -8.0 -6.0 -10.0 -9.0 -12.0 -15.0 -15.0 -16.0 -16.0 -17.0 -22.0 -25.0 -24.0 -30.0 -28.0 -32.0 -35.0 -34.0 -34.0 -31.0 -30.0 -32.0 -26.0 -23.0 -20.0 -15.0 -17.0 -13.0 -10.0 -11.0 -12.0 -13.0 -16.0 -12.0 -19.0 -23.0 -26.0 -31.0 -30.0 -37.0 -38.0 -41.0 -39.0 -40.0 -40.0 -37.0 -38.0 -34.0 -31.0 -30.0 -32.0 -27.0 -27.0 -21.0 -20.0 -20.0 -18.0 -21.0 -20.0 -19.0 -20.0 -21.0 -20.0 -25.0 -25.0 -24.0 -28.0 -28.0 -28.0 -33.0 -36.0 -34.0 -40.0 -42.0 -44.0 -41.0 -42.0 -44.0 -38.0 -34.0 -29.0 -26.0 -23.0 -22.0 -16.0 -14.0 -6.0 -2.0 0.0 2.0 4.0 7.0 9.0 7.0 8.0 9.0 3.0 2.0 -1.0 -6.0 -11.0 -18.0 -22.0 -30.0 -34.0 -40.0 -49.0 -52.0 -52.0 -56.0 -54.0 -59.0 -60.0 -58.0 -58.0 -56.0 -56.0 -51.0 -50.0 -45.0 -42.0 -39.0 -34.0 -30.0 -26.0 -24.0 -21.0 -14.0 -7.0 -5.0 4.0 8.0 12.0 12.0 17.0 23.0 21.0 21.0 17.0 11.0 13.0 9.0 2.0 -6.0 -14.0 -20.0 -27.0 -33.0 -42.0 -49.0 -58.0 -60.0 -62.0 -66.0 -62.0 -68.0 -67.0 -66.0 -65.0 -61.0 -53.0 -48.0 -43.0 -32.0 -22.0 -17.0 -6.0 1.0 8.0 10.0 15.0 20.0 17.0 19.0 17.0 15.0 9.0 8.0 2.0 -4.0 -10.0 -17.0 -23.0 -30.0 -35.0 -42.0 -44.0 -49.0 -52.0 -54.0 -57.0 -61.0 -60.0 -55.0 -55.0 -55.0 -52.0 -47.0 -41.0 -38.0 -31.0 -23.0 -16.0 -11.0 -2.0 4.0 5.0 12.0 16.0 18.0 22.0 24.0 24.0 27.0 23.0 23.0 21.0 17.0 14.0 9.0 0.0 -4.0 -8.0 -12.0 -15.0 -16.0 -14.0 -16.0 -16.0 -14.0 -7.0 -3.0 6.0 11.0 18.0 21.0 26.0 33.0 34.0 38.0 38.0 46.0 42.0 39.0 32.0 28.0 30.0 22.0 19.0 16.0 12.0 4.0 0.0 1.0 -1.0 -6.0 -6.0 -3.0 -3.0 0.0 4.0 7.0 6.0 17.0 19.0 24.0 31.0 32.0 37.0 38.0 40.0 40.0 42.0 44.0 43.0 44.0 46.0 46.0 43.0 39.0 40.0 34.0 29.0 28.0 24.0 19.0 15.0 12.0 12.0 5.0 2.0 -1.0 0.0 1.0 3.0 8.0 6.0 13.0 15.0 23.0 25.0 28.0 29.0 34.0 36.0 35.0 38.0 36.0 41.0 37.0 37.0 34.0 33.0 33.0 36.0 30.0 27.0 27.0 25.0 24.0 20.0 25.0 20.0 19.0 20.0 16.0 12.0 12.0 12.0 9.0 9.0 1.0 -1.0 -3.0 -6.0 -11.0 -20.0 -21.0 -26.0 -26.0 -29.0 -29.0 -28.0 -32.0 -29.0 -29.0 -24.0 -20.0 -18.0 -14.0 -11.0 -8.0 -5.0 1.0 4.0 10.0 14.0 16.0 20.0 24.0 24.0 25.0 27.0 20.0 19.0 17.0 17.0 11.0 5.0 1.0 -4.0 -10.0 -17.0 -17.0 -21.0 -25.0 -27.0 -28.0 -26.0 -26.0 -30.0 -29.0 -29.0 -30.0 -27.0 -26.0 -24.0 -24.0 -22.0 -20.0 -16.0 -14.0 -14.0 -10.0 -4.0 -5.0 -4.0 0.0 1.0 7.0 11.0 11.0 9.0 12.0 12.0 10.0 10.0 7.0 7.0 8.0 4.0 4.0 0.0 2.0 4.0 -1.0 0.0 0.0 3.0 -2.0 -2.0 1.0 0.0 0.0 1.0 0.0 -4.0 -2.0 -5.0 -6.0 -8.0 -10.0 -6.0 -9.0 -7.0 -3.0 0.0 0.0 2.0 5.0 5.0 9.0 13.0 13.0 15.0 16.0 19.0 25.0 21.0 23.0 27.0 28.0 27.0 28.0 29.0 30.0 35.0 36.0 33.0 32.0 32.0 35.0 35.0 29.0 30.0 27.0 22.0 15.0 13.0 6.0 -1.0 -7.0 -12.0 -21.0 -26.0 -28.0 -31.0 -31.0 -35.0 -30.0 -36.0 -35.0 -34.0 -34.0 -38.0 -33.0 -31.0 -34.0 -35.0 -29.0 -24.0 -25.0 -20.0 -18.0 -17.0 -9.0 -5.0 -1.0 6.0 11.0 9.0 14.0 20.0 17.0 18.0 16.0 17.0 15.0 16.0 17.0 12.0 10.0 8.0 10.0 6.0 6.0 4.0 0.0 0.0 -4.0 -7.0 -7.0 -8.0 -12.0 -17.0 -16.0 -21.0 -20.0 -21.0 -21.0 -18.0 -19.0 -15.0 -14.0 -15.0 -14.0 -15.0 -15.0 -12.0 -10.0 -10.0 -8.0 -8.0 -9.0 -4.0 -5.0 -3.0 8.0 7.0 11.0 16.0 17.0 23.0 27.0 27.0 29.0 29.0 26.0 24.0 24.0 21.0 19.0 15.0 13.0 9.0 2.0 2.0 -2.0 -7.0 -10.0 -11.0 -18.0 -21.0 -21.0 -21.0 -20.0 -17.0 -21.0 -20.0 -15.0 -11.0 -8.0 -3.0 1.0 6.0 11.0 12.0 17.0 20.0 28.0 28.0 35.0 36.0 36.0 43.0 40.0 47.0 48.0 51.0 53.0 51.0 48.0 43.0 41.0 34.0 30.0 28.0 20.0 12.0 11.0 6.0 -4.0 -7.0 -9.0 -14.0 -16.0 -15.0 -20.0 -17.0 -14.0 -15.0 -6.0 -4.0 -5.0 -1.0 3.0 2.0 4.0 8.0 10.0 15.0 16.0 16.0 15.0 17.0 20.0 19.0 21.0 16.0 18.0 17.0 19.0 16.0 14.0 15.0 12.0 8.0 6.0 5.0 1.0 -1.0 -5.0 -7.0 -9.0 -9.0 -11.0 -16.0 -14.0 -18.0 -15.0 -16.0 -16.0 -13.0 -12.0 -9.0 -7.0 -2.0 0.0 0.0 0.0 2.0 5.0 2.0 3.0 2.0 3.0 2.0 4.0 1.0 -4.0 -5.0 -6.0 -8.0 -8.0 -12.0 -8.0 -11.0 -9.0 -8.0 -11.0 -7.0 -7.0 -2.0 -2.0 -4.0 2.0 6.0 6.0 7.0 9.0 11.0 6.0 5.0 8.0 6.0 2.0 -5.0 -8.0 -13.0 -18.0 -20.0 -24.0 -26.0 -29.0 -33.0 -35.0 -34.0 -38.0 -39.0 -40.0 -43.0 -39.0 -44.0 -39.0 -38.0 -38.0 -35.0 -32.0 -27.0 -25.0 -21.0 -16.0 -12.0 -8.0 -2.0 1.0 7.0 11.0 15.0 13.0 19.0 20.0 21.0 27.0 25.0 26.0 26.0 18.0 16.0 9.0 6.0 6.0 -3.0 -6.0 -9.0 -10.0 -14.0 -16.0 -19.0 -18.0 -14.0 -17.0 -13.0 -11.0 -10.0 -9.0 -7.0 -8.0 -10.0 -5.0 -6.0 -7.0 -6.0 -10.0 -10.0 -12.0 -14.0 -14.0 -14.0 -15.0 -14.0 -12.0 -12.0 -14.0 -13.0 -15.0 -14.0 -14.0 -15.0 -18.0 -21.0 -23.0 -26.0 -26.0 -29.0 -31.0 -29.0 -33.0 -36.0 -35.0 -31.0 -31.0 -29.0 -30.0 -26.0 -20.0 -19.0 -15.0 -9.0 -8.0 -6.0 -2.0 5.0 9.0 10.0 10.0 12.0 9.0 8.0 6.0 7.0 0.0 3.0 -2.0 -5.0 -7.0 -16.0 -19.0 -25.0 -27.0 -30.0 -32.0 -36.0 -34.0 -33.0 -30.0 -31.0 -28.0 -25.0 -25.0 -16.0 -12.0 -9.0 -2.0 -3.0 4.0 6.0 4.0 10.0 8.0 9.0 11.0 9.0 8.0 2.0 -2.0 -5.0 -9.0 -16.0 -22.0 -21.0 -26.0 -25.0 -33.0 -34.0 -38.0 -40.0 -39.0 -40.0 -37.0 -39.0 -34.0 -30.0 -23.0 -19.0 -12.0 -7.0 0.0 5.0 6.0 8.0 10.0 13.0 13.0 16.0 20.0 23.0 20.0 19.0 13.0 12.0 4.0 -4.0 -9.0 -9.0 -13.0 -13.0 -12.0 -7.0 -9.0 -9.0 -3.0 -2.0 6.0 24.0 84.0 133.0 159.0 175.0 185.0 189.0 176.0 148.0 95.0 88.0 107.0 131.0 166.0 180.0 198.0 185.0 133.0 50.0 -46.0 -158.0 -255.0 -309.0 -354.0 -364.0 -364.0 -386.0 -405.0 -437.0 -501.0 -577.0 -648.0 -688.0 -671.0 -617.0 -532.0 -425.0 -308.0 -213.0 -136.0 -91.0 -61.0 -25.0 4.0 65.0 161.0 276.0 394.0 495.0 569.0 608.0 612.0 578.0 527.0 482.0 451.0 437.0 438.0 447.0 445.0 421.0 365.0 284.0 183.0 72.0 -39.0 -123.0 -175.0 -202.0 -205.0 -205.0 -207.0 -229.0 -257.0 -303.0 -356.0 -395.0 -411.0 -407.0 -384.0 -334.0 -273.0 -215.0 -167.0 -137.0 -122.0 -112.0 -111.0 -100.0 -75.0 -34.0 22.0 79.0 138.0 183.0 215.0 229.0 222.0 212.0 201.0 195.0 206.0 228.0 247.0 271.0 288.0 288.0 273.0 242.0 196.0 164.0 141.0 123.0 118.0 121.0 132.0 134.0 130.0 103.0 75.0 33.0 -10.0 -43.0 -67.0 -69.0 -71.0 -76.0 -77.0 -83.0 -104.0 -144.0 -193.0 -234.0 -273.0 -305.0 -324.0 -330.0 -328.0 -329.0 -331.0 -345.0 -378.0 -407.0 -447.0 -477.0 -491.0 -496.0 -484.0 -456.0 -411.0 -360.0 -308.0 -269.0 -221.0 -180.0 -149.0 -107.0 -59.0 -2.0 70.0 149.0 230.0 322.0 408.0 470.0 511.0 541.0 556.0 555.0 541.0 523.0 514.0 509.0 494.0 481.0 463.0 435.0 378.0 301.0 217.0 121.0 22.0 -65.0 -139.0 -181.0 -207.0 -234.0 -255.0 -272.0 -296.0 -338.0 -385.0 -426.0 -455.0 -469.0 -461.0 -434.0 -385.0 -332.0 -277.0 -240.0 -206.0 -173.0 -161.0 -139.0 -99.0 -21.0 55.0 113.0 162.0 224.0 281.0 304.0 303.0 289.0 310.0 354.0 397.0 431.0 463.0 489.0 491.0 469.0 422.0 363.0 292.0 222.0 182.0 149.0 130.0 99.0 46.0 -13.0 -80.0 -168.0 -273.0 -358.0 -422.0 -458.0 -474.0 -478.0 -467.0 -467.0 -492.0 -524.0 -563.0 -601.0 -629.0 -650.0 -630.0 -577.0 -509.0 -440.0 -380.0 -315.0 -258.0 -211.0 -171.0 -121.0 -63.0 -5.0 74.0 160.0 247.0 327.0 380.0 429.0 474.0 515.0 530.0 536.0 553.0 563.0 570.0 564.0 549.0 530.0 497.0 454.0 404.0 345.0 287.0 221.0 150.0 86.0 20.0 -42.0 -98.0 -142.0 -178.0 -208.0 -233.0 -259.0 -276.0 -295.0 -309.0 -312.0 -301.0 -270.0 -238.0 -199.0 -157.0 -105.0 -65.0 -30.0 -6.0 12.0 39.0 73.0 113.0 161.0 214.0 262.0 304.0 322.0 327.0 314.0 283.0 243.0 208.0 183.0 161.0 140.0 113.0 80.0 35.0 -28.0 -103.0 -188.0 -266.0 -331.0 -385.0 -421.0 -439.0 -451.0 -464.0 -478.0 -491.0 -512.0 -534.0 -543.0 -537.0 -515.0 -474.0 -404.0 -326.0 -242.0 -155.0 -76.0 5.0 85.0 147.0 195.0 246.0 313.0 383.0 448.0 489.0 529.0 559.0 583.0 579.0 556.0 538.0 493.0 461.0 417.0 373.0 324.0 253.0 208.0 166.0 146.0 123.0 84.0 60.0 10.0 -33.0 -105.0 -164.0 -207.0 -221.0 -199.0 -165.0 -84.0 -33.0 20.0 47.0 60.0 69.0 77.0 85.0 111.0 173.0 231.0 281.0 321.0 356.0 371.0 361.0 342.0 317.0 292.0 263.0 228.0 194.0 164.0 121.0 62.0 0.0 -67.0 -141.0 -228.0 -315.0 -397.0 -473.0 -516.0 -538.0 -529.0 -502.0 -514.0 -569.0 -693.0 -828.0 -955.0 -985.0 -947.0 -858.0 -746.0 -667.0 -565.0 -584.0 -580.0 -650.0 -585.0 -430.0 -195.0 131.0 352.0 662.0 751.0 872.0 860.0 847.0 909.0 890.0 1040.0 1056.0 1170.0 1178.0 1153.0 1109.0 947.0 848.0 586.0 378.0 124.0 -81.0 -226.0 -356.0 -391.0 -443.0 -465.0 -555.0 -636.0 -756.0 -849.0 -919.0 -938.0 -864.0 -765.0 -574.0 -413.0 -193.0 -20.0 140.0 283.0 365.0 490.0 535.0 618.0 657.0 709.0 772.0 783.0 812.0 756.0 716.0 607.0 470.0 323.0 151.0 25.0 -108.0 -193.0 -274.0 -329.0 -379.0 -433.0 -474.0 -533.0 -581.0 -628.0 -658.0 -665.0 -638.0 -596.0 -544.0 -489.0 -447.0 -414.0 -403.0 -404.0 -421.0 -443.0 -441.0 -451.0 -444.0 -449.0 -442.0 -436.0 -442.0 -433.0 -445.0 -400.0 -365.0 -290.0 -210.0 -113.0 58.0 198.0 361.0 445.0 534.0 615.0 660.0 709.0 696.0 746.0 781.0 843.0 878.0 853.0 841.0 756.0 687.0 554.0 413.0 280.0 151.0 77.0 -4.0 -53.0 -108.0 -141.0 -153.0 -169.0 -179.0 -201.0 -206.0 -179.0 -121.0 -47.0 49.0 166.0 312.0 456.0 572.0 652.0 689.0 709.0 685.0 647.0 584.0 525.0 474.0 416.0 343.0 241.0 111.0 -47.0 -208.0 -382.0 -543.0 -700.0 -827.0 -916.0 -996.0 -1049.0 -1089.0 -1087.0 -1058.0 -1029.0 -994.0 -971.0 -916.0 -871.0 -815.0 -748.0 -651.0 -535.0 -420.0 -306.0 -222.0 -168.0 -142.0 -147.0 -127.0 -112.0 -95.0 -53.0 -6.0 143.0 177.0 250.0 231.0 241.0 311.0 286.0 411.0 399.0 578.0 658.0 755.0 868.0 816.0 875.0 707.0 690.0 600.0 541.0 547.0 465.0 521.0 448.0 444.0 337.0 205.0 108.0 -61.0 -142.0 -267.0 -309.0 -299.0 -284.0 -211.0 -174.0 -92.0 -45.0 -1.0 52.0 72.0 164.0 213.0 331.0 453.0 622.0 807.0 890.0 1012.0 1003.0 1024.0 960.0 861.0 745.0 579.0 519.0 369.0 306.0 174.0 74.0 -7.0 -163.0 -285.0 -508.0 -655.0 -814.0 -935.0 -1021.0 -1079.0 -1058.0 -1030.0 -968.0 -943.0 -935.0 -939.0 -964.0 -986.0 -1006.0 -1008.0 -964.0 -891.0 -788.0 -673.0 -577.0 -487.0 -432.0 -398.0 -398.0 -432.0 -443.0 -466.0 -427.0 -374.0 -286.0 -151.0 -33.0 141.0 221.0 299.0 351.0 430.0 555.0 640.0 776.0 875.0 1028.0 1149.0 1214.0 1229.0 1190.0 1172.0 1107.0 1060.0 993.0 916.0 867.0 789.0 703.0 585.0 455.0 339.0 212.0 110.0 4.0 -65.0 -109.0 -136.0 -136.0 -154.0 -133.0 -115.0 -96.0 -77.0 -52.0 -5.0 27.0 98.0 190.0 287.0 384.0 456.0 515.0 531.0 496.0 422.0 319.0 239.0 147.0 72.0 -1.0 -68.0 -112.0 -189.0 -274.0 -385.0 -475.0 -557.0 -618.0 -655.0 -680.0 -668.0 -654.0 -635.0 -637.0 -625.0 -595.0 -583.0 -566.0 -577.0 -569.0 -577.0 -587.0 -568.0 -547.0 -479.0 -449.0 -423.0 -430.0 -451.0 -476.0 -549.0 -589.0 -609.0 -578.0 -549.0 -510.0 -445.0 -352.0 -243.0 -171.0 -80.0 21.0 142.0 233.0 349.0 511.0 664.0 822.0 954.0 1094.0 1211.0 1260.0 1260.0 1212.0 1166.0 1120.0 1078.0 1035.0 982.0 962.0 899.0 820.0 698.0 551.0 432.0 299.0 187.0 79.0 26.0 9.0 4.0 25.0 27.0 36.0 33.0 11.0 -8.0 -30.0 31.0 85.0 160.0 246.0 312.0 391.0 393.0 366.0 259.0 180.0 86.0 -17.0 -97.0 -187.0 -218.0 -274.0 -334.0 -441.0 -534.0 -622.0 -717.0 -815.0 -898.0 -929.0 -941.0 -925.0 -926.0 -897.0 -869.0 -837.0 -817.0 -797.0 -750.0 -714.0 -661.0 -605.0 -543.0 -457.0 -377.0 -315.0 -260.0 -224.0 -194.0 -214.0 -239.0 -271.0 -287.0 -260.0 -237.0 -145.0 -48.0 63.0 165.0 217.0 290.0 352.0 408.0 495.0 621.0 763.0 901.0 1029.0 1129.0 1222.0 1262.0 1241.0 1187.0 1136.0 1067.0 1008.0 933.0 854.0 814.0 757.0 685.0 571.0 455.0 319.0 183.0 51.0 -75.0 -147.0 -178.0 -175.0 -174.0 -152.0 -123.0 -94.0 -61.0 -38.0 -31.0 19.0 122.0 198.0 288.0 381.0 493.0 569.0 600.0 569.0 490.0 439.0 324.0 221.0 104.0 22.0 -37.0 -130.0 -224.0 -346.0 -424.0 -530.0 -639.0 -752.0 -853.0 -882.0 -909.0 -916.0 -912.0 -882.0 -844.0 -845.0 -846.0 -846.0 -833.0 -829.0 -825.0 -781.0 -716.0 -611.0 -539.0 -456.0 -393.0 -366.0 -383.0 -432.0 -451.0 -479.0 -454.0 -444.0 -364.0 -238.0 -109.0 40.0 132.0 255.0 325.0 397.0 472.0 533.0 691.0 826.0 1014.0 1181.0 1346.0 1478.0 1510.0 1549.0 1461.0 1374.0 1273.0 1167.0 1105.0 1017.0 984.0 904.0 836.0 728.0 552.0 411.0 206.0 41.0 -144.0 -280.0 -339.0 -395.0 -364.0 -357.0 -303.0 -272.0 -265.0 -264.0 -296.0 -244.0 -171.0 -64.0 61.0 202.0 346.0 426.0 458.0 418.0 329.0 253.0 137.0 42.0 -37.0 -99.0 -142.0 -218.0 -298.0 -396.0 -480.0 -605.0 -729.0 -834.0 -899.0 -923.0 -941.0 -911.0 -876.0 -816.0 -770.0 -752.0 -738.0 -748.0 -763.0 -773.0 -735.0 -676.0 -604.0 -489.0 -404.0 -311.0 -236.0 -232.0 -237.0 -295.0 -316.0 -339.0 -357.0 -325.0 -275.0 -139.0 -24.0 120.0 237.0 333.0 433.0 461.0 520.0 568.0 645.0 757.0 904.0 1046.0 1174.0 1296.0 1328.0 1331.0 1248.0 1138.0 1006.0 902.0 795.0 699.0 682.0 617.0 583.0 489.0 382.0 255.0 120.0 -9.0 -154.0 -190.0 -216.0 -192.0 -149.0 -87.0 -23.0 22.0 51.0 32.0 39.0 67.0 129.0 180.0 260.0 336.0 391.0 404.0 349.0 248.0 109.0 -34.0 -197.0 -322.0 -429.0 -519.0 -587.0 -659.0 -750.0 -839.0 -933.0 -1032.0 -1133.0 -1184.0 -1186.0 -1154.0 -1083.0 -1018.0 -926.0 -851.0 -798.0 -780.0 -772.0 -757.0 -748.0 -700.0 -624.0 -516.0 -390.0 -271.0 -179.0 -132.0 -116.0 -147.0 -192.0 -234.0 -266.0 -139.0 -58.0 -19.0 -32.0 -20.0 126.0 126.0 133.0 83.0 208.0 383.0 481.0 628.0 662.0 881.0 965.0 980.0 987.0 969.0 1076.0 1053.0 1003.0 922.0 947.0 967.0 859.0 762.0 638.0 590.0 522.0 353.0 231.0 167.0 146.0 74.0 -18.0 -50.0 -70.0 -55.0 -113.0 -144.0 -130.0 -122.0 -82.0 -118.0 -76.0 -9.0 67.0 118.0 94.0 134.0 114.0 113.0 19.0 -86.0 -122.0 -203.0 -238.0 -348.0 -405.0 -457.0 -524.0 -617.0 -737.0 -791.0 -862.0 -901.0 -943.0 -956.0 -921.0 -899.0 -870.0 -862.0 -860.0 -844.0 -854.0 -858.0 -881.0 -887.0 -845.0 -811.0 -760.0 -687.0 -591.0 -541.0 -522.0 -511.0 -529.0 -548.0 -580.0 -582.0 -565.0 -497.0 -438.0 -343.0 -220.0 -137.0 -4.0 47.0 145.0 227.0 345.0 486.0 605.0 816.0 952.0 1131.0 1218.0 1279.0 1340.0 1329.0 1314.0 1240.0 1216.0 1175.0 1123.0 1074.0 982.0 932.0 831.0 710.0 609.0 491.0 421.0 325.0 262.0 214.0 165.0 146.0 90.0 66.0 12.0 -10.0 -32.0 -77.0 -76.0 -92.0 -30.0 11.0 28.0 42.0 33.0 23.0 -64.0 -146.0 -241.0 -324.0 -395.0 -462.0 -523.0 -577.0 -633.0 -697.0 -770.0 -855.0 -892.0 -921.0 -913.0 -927.0 -923.0 -894.0 -862.0 -835.0 -872.0 -870.0 -833.0 -789.0 -801.0 -827.0 -814.0 -786.0 -737.0 -717.0 -678.0 -578.0 -516.0 -490.0 -518.0 -538.0 -527.0 -556.0 -551.0 -555.0 -453.0 -339.0 -267.0 -156.0 -101.0 33.0 103.0 170.0 282.0 376.0 545.0 658.0 806.0 910.0 985.0 1085.0 1083.0 1093.0 1056.0 1025.0 1002.0 943.0 902.0 829.0 799.0 716.0 631.0 553.0 456.0 418.0 373.0 355.0 327.0 327.0 340.0 314.0 303.0 291.0 290.0 292.0 291.0 332.0 372.0 458.0 511.0 488.0 510.0 433.0 373.0 252.0 121.0 53.0 -46.0 -66.0 -201.0 -277.0 -396.0 -571.0 -728.0 -976.0 -1080.0 -1187.0 -1238.0 -1258.0 -1264.0 -1205.0 -1233.0 -1254.0 -1316.0 -1353.0 -1347.0 -1354.0 -1302.0 -1239.0 -1119.0 -1034.0 -972.0 -877.0 -840.0 -760.0 -729.0 -683.0 -604.0 -547.0 -502.0 -511.0 -426.0 -402.0 -376.0 -331.0 -294.0 -179.0 -139.0 -58.0 5.0 90.0 196.0 242.0 375.0 517.0 697.0 839.0 918.0 1038.0 1103.0 1159.0 1151.0 1113.0 1145.0 1150.0 1152.0 1127.0 1113.0 1088.0 982.0 899.0 760.0 661.0 622.0 538.0 512.0 502.0 507.0 492.0 450.0 408.0 353.0 347.0 288.0 282.0 339.0 379.0 485.0 494.0 499.0 490.0 432.0 355.0 238.0 207.0 121.0 107.0 44.0 -71.0 -138.0 -314.0 -458.0 -650.0 -783.0 -897.0 -1022.0 -1078.0 -1175.0 -1204.0 -1271.0 -1343.0 -1395.0 -1466.0 -1465.0 -1489.0 -1468.0 -1432.0 -1377.0 -1319.0 -1296.0 -1194.0 -1113.0 -999.0 -874.0 -816.0 -710.0 -646.0 -577.0 -549.0 -512.0 -418.0 -373.0 -246.0 -219.0 -161.0 -62.0 -50.0 46.0 62.0 137.0 221.0 318.0 469.0 554.0 718.0 784.0 876.0 947.0 941.0 1022.0 1013.0 1065.0 1104.0 1127.0 1175.0 1180.0 1210.0 1128.0 1075.0 1005.0 928.0 910.0 841.0 864.0 859.0 807.0 792.0 739.0 692.0 645.0 592.0 599.0 608.0 642.0 670.0 664.0 664.0 589.0 560.0 478.0 407.0 395.0 314.0 322.0 260.0 184.0 98.0 -54.0 -161.0 -338.0 -461.0 -587.0 -693.0 -767.0 -917.0 -1001.0 -1151.0 -1278.0 -1400.0 -1561.0 -1614.0 -1674.0 -1659.0 -1677.0 -1714.0 -1668.0 -1658.0 -1594.0 -1537.0 -1410.0 -1245.0 -1126.0 -982.0 -908.0 -792.0 -715.0 -688.0 -604.0 -533.0 -388.0 -276.0 -169.0 -28.0 45.0 145.0 154.0 161.0 228.0 311.0 449.0 509.0 663.0 779.0 843.0 897.0 860.0 903.0 908.0 952.0 1002.0 1024.0 1137.0 1146.0 1156.0 1122.0 1059.0 1042.0 968.0 983.0 966.0 990.0 1006.0 947.0 938.0 851.0 800.0 764.0 707.0 744.0 737.0 791.0 903.0 868.0 866.0 833.0 771.0 701.0 599.0 586.0 531.0 539.0 497.0 399.0 373.0 184.0 58.0 -130.0 -334.0 -405.0 -586.0 -668.0 -793.0 -901.0 -993.0 -1191.0 -1318.0 -1506.0 -1582.0 -1682.0 -1801.0 -1804.0 -1870.0 -1843.0 -1877.0 -1865.0 -1753.0 -1674.0 -1505.0 -1395.0 -1242.0 -1093.0 -991.0 -883.0 -833.0 -686.0 -552.0 -426.0 -278.0 -155.0 -23.0 39.0 63.0 105.0 128.0 146.0 231.0 316.0 432.0 549.0 612.0 666.0 690.0 710.0 681.0 721.0 800.0 830.0 944.0 981.0 1044.0 1123.0 1095.0 1131.0 1109.0 1124.0 1142.0 1152.0 1191.0 1176.0 1237.0 1175.0 1122.0 1099.0 1006.0 992.0 922.0 889.0 888.0 854.0 849.0 809.0 772.0 732.0 669.0 619.0 554.0 533.0 498.0 423.0 388.0 297.0 216.0 117.0 -20.0 -105.0 -230.0 -335.0 -440.0 -571.0 -665.0 -805.0 -941.0 -1078.0 -1195.0 -1282.0 -1395.0 -1456.0 -1535.0 -1586.0 -1630.0 -1714.0 -1726.0 -1726.0 -1684.0 -1603.0 -1483.0 -1344.0 -1239.0 -1127.0 -1046.0 -979.0 -899.0 -817.0 -687.0 -565.0 -428.0 -286.0 -187.0 -84.0 -28.0 13.0 44.0 76.0 126.0 180.0 249.0 321.0 401.0 465.0 498.0 525.0 566.0 598.0 642.0 696.0 768.0 838.0 907.0 992.0 1045.0 1119.0 1186.0 1231.0 1273.0 1307.0 1364.0 1385.0 1410.0 1419.0 1405.0 1403.0 1359.0 1306.0 1249.0 1196.0 1146.0 1062.0 989.0 933.0 878.0 786.0 711.0 650.0 586.0 524.0 463.0 401.0 360.0 293.0 236.0 235.0 82.0 105.0 -68.0 -207.0 -175.0 -390.0 -316.0 -452.0 -563.0 -574.0 -765.0 -819.0 -992.0 -1116.0 -1204.0 -1334.0 -1357.0 -1444.0 -1494.0 -1547.0 -1649.0 -1625.0 -1688.0 -1696.0 -1655.0 -1629.0 -1526.0 -1488.0 -1417.0 -1309.0 -1200.0 -1073.0 -954.0 -814.0 -685.0 -565.0 -435.0 -338.0 -177.0 -69.0 18.0 140.0 207.0 321.0 399.0 472.0 563.0 621.0 708.0 758.0 825.0 913.0 965.0 1038.0 1080.0 1175.0 1233.0 1283.0 1365.0 1391.0 1472.0 1501.0 1528.0 1566.0 1574.0 1594.0 1575.0 1556.0 1528.0 1469.0 1411.0 1336.0 1264.0 1181.0 1084.0 1012.0 916.0 818.0 713.0 611.0 525.0 438.0 370.0 297.0 235.0 187.0 109.0 28.0 -36.0 -103.0 -174.0 -255.0 -318.0 -383.0 -460.0 -540.0 -635.0 -705.0 -791.0 -868.0 -941.0 -1021.0 -1085.0 -1159.0 -1227.0 -1317.0 -1392.0 -1461.0 -1527.0 -1581.0 -1615.0 -1620.0 -1619.0 -1608.0 -1577.0 -1527.0 -1475.0 -1412.0 -1340.0 -1250.0 -1156.0 -1065.0 -939.0 -818.0 -677.0 -531.0 -395.0 -252.0 -126.0 28.0 153.0 278.0 406.0 513.0 626.0 708.0 825.0 932.0 1024.0 1104.0 1188.0 1264.0 1298.0 1358.0 1406.0 1457.0 1496.0 1539.0 1570.0 1591.0 1602.0 1590.0 1565.0 1517.0 1483.0 1433.0 1380.0 1323.0 1257.0 1183.0 1105.0 1013.0 926.0 849.0 748.0 656.0 560.0 474.0 393.0 335.0 285.0 239.0 200.0 157.0 102.0 31.0 -31.0 -86.0 -123.0 -193.0 -244.0 -278.0 -348.0 -413.0 -497.0 -577.0 -656.0 -744.0 -833.0 -917.0 -1001.0 -1091.0 -1186.0 -1278.0 -1366.0 -1460.0 -1553.0 -1642.0 -1704.0 -1759.0 -1797.0 -1826.0 -1839.0 -1818.0 -1792.0 -1739.0 -1680.0 -1602.0 -1507.0 -1404.0 -1284.0 -1157.0 -994.0 -828.0 -674.0 -499.0 -317.0 -130.0 42.0 207.0 360.0 501.0 643.0 766.0 890.0 1010.0 1126.0 1218.0 1311.0 1386.0 1447.0 1504.0 1531.0 1552.0 1569.0 1594.0 1585.0 1595.0 1596.0 1572.0 1546.0 1498.0 1453.0 1370.0 1305.0 1242.0 1178.0 1110.0 1032.0 983.0 909.0 840.0 764.0 679.0 604.0 533.0 469.0 412.0 364.0 318.0 283.0 239.0 180.0 113.0 58.0 -3.0 -72.0 -146.0 -219.0 -291.0 -374.0 -461.0 -567.0 -654.0 -755.0 -866.0 -957.0 -1069.0 -1164.0 -1253.0 -1355.0 -1450.0 -1545.0 -1627.0 -1700.0 -1769.0 -1819.0 -1861.0 -1895.0 -1908.0 -1919.0 -1908.0 -1879.0 -1836.0 -1764.0 -1690.0 -1582.0 -1456.0 -1319.0 -1167.0 -1015.0 -847.0 -682.0 -484.0 -279.0 -85.0 103.0 274.0 445.0 596.0 750.0 890.0 1031.0 1164.0 1283.0 1395.0 1486.0 1575.0 1615.0 1651.0 1675.0 1677.0 1675.0 1662.0 1648.0 1610.0 1570.0 1522.0 1453.0 1388.0 1318.0 1259.0 1184.0 1113.0 1056.0 981.0 922.0 845.0 781.0 719.0 652.0 607.0 543.0 495.0 447.0 393.0 344.0 292.0 253.0 204.0 160.0 112.0 45.0 -8.0 -73.0 -157.0 -245.0 -330.0 -420.0 -536.0 -649.0 -750.0 -865.0 -962.0 -1066.0 -1162.0 -1272.0 -1397.0 -1504.0 -1607.0 -1682.0 -1743.0 -1792.0 -1837.0 -1880.0 -1908.0 -1930.0 -1941.0 -1939.0 -1930.0 -1884.0 -1827.0 -1733.0 -1615.0 -1495.0 -1352.0 -1217.0 -1057.0 -891.0 -707.0 -503.0 -301.0 -100.0 82.0 258.0 422.0 595.0 747.0 873.0 1021.0 1158.0 1273.0 1394.0 1500.0 1574.0 1628.0 1662.0 1676.0 1668.0 1667.0 1646.0 1613.0 1585.0 1534.0 1473.0 1398.0 1336.0 1260.0 1191.0 1138.0 1085.0 1036.0 985.0 938.0 863.0 800.0 758.0 712.0 671.0 630.0 599.0 555.0 508.0 458.0 406.0 354.0 311.0 252.0 185.0 129.0 61.0 -11.0 -105.0 -202.0 -309.0 -419.0 -539.0 -661.0 -765.0 -879.0 -986.0 -1096.0 -1217.0 -1340.0 -1451.0 -1545.0 -1633.0 -1702.0 -1750.0 -1786.0 -1815.0 -1852.0 -1874.0 -1879.0 -1876.0 -1865.0 -1825.0 -1762.0 -1689.0 -1598.0 -1490.0 -1379.0 -1259.0 -1124.0 -984.0 -816.0 -639.0 -465.0 -283.0 -118.0 49.0 204.0 352.0 490.0 618.0 770.0 881.0 1007.0 1130.0 1218.0 1302.0 1367.0 1422.0 1446.0 1480.0 1497.0 1493.0 1501.0 1482.0 1453.0 1414.0 1366.0 1323.0 1252.0 1206.0 1171.0 1136.0 1107.0 1076.0 1052.0 1005.0 941.0 886.0 839.0 804.0 775.0 735.0 701.0 661.0 608.0 548.0 475.0 407.0 328.0 257.0 183.0 102.0 24.0 -72.0 -172.0 -290.0 -407.0 -527.0 -667.0 -785.0 -895.0 -1015.0 -1123.0 -1233.0 -1340.0 -1441.0 -1533.0 -1604.0 -1665.0 -1721.0 -1764.0 -1787.0 -1801.0 -1814.0 -1804.0 -1795.0 -1763.0 -1725.0 -1683.0 -1612.0 -1534.0 -1435.0 -1338.0 -1220.0 -1081.0 -937.0 -785.0 -644.0 -498.0 -354.0 -202.0 -51.0 87.0 230.0 359.0 490.0 611.0 731.0 845.0 944.0 1034.0 1110.0 1177.0 1234.0 1283.0 1311.0 1333.0 1340.0 1336.0 1324.0 1295.0 1262.0 1230.0 1184.0 1141.0 1108.0 1074.0 1046.0 1028.0 1017.0 988.0 955.0 922.0 888.0 854.0 822.0 796.0 756.0 730.0 695.0 653.0 617.0 561.0 503.0 430.0 355.0 272.0 187.0 105.0 -2.0 -111.0 -231.0 -359.0 -495.0 -637.0 -766.0 -900.0 -1035.0 -1158.0 -1277.0 -1384.0 -1493.0 -1582.0 -1654.0 -1721.0 -1767.0 -1803.0 -1826.0 -1834.0 -1828.0 -1812.0 -1781.0 -1725.0 -1673.0 -1610.0 -1532.0 -1448.0 -1349.0 -1240.0 -1113.0 -981.0 -820.0 -667.0 -531.0 -382.0 -258.0 -130.0 -13.0 103.0 218.0 329.0 441.0 539.0 651.0 728.0 805.0 888.0 947.0 1003.0 1059.0 1103.0 1123.0 1147.0 1145.0 1130.0 1124.0 1102.0 1087.0 1069.0 1046.0 1035.0 1004.0 985.0 966.0 955.0 943.0 923.0 920.0 897.0 894.0 879.0 847.0 820.0 783.0 745.0 692.0 656.0 621.0 566.0 509.0 439.0 371.0 281.0 182.0 82.0 -31.0 -139.0 -263.0 -383.0 -508.0 -637.0 -761.0 -901.0 -1031.0 -1159.0 -1281.0 -1393.0 -1496.0 -1566.0 -1630.0 -1684.0 -1729.0 -1761.0 -1775.0 -1777.0 -1769.0 -1744.0 -1697.0 -1646.0 -1584.0 -1507.0 -1417.0 -1317.0 -1218.0 -1105.0 -980.0 -847.0 -717.0 -577.0 -434.0 -311.0 -177.0 -58.0 39.0 144.0 252.0 338.0 409.0 492.0 560.0 623.0 679.0 724.0 765.0 813.0 850.0 874.0 891.0 903.0 903.0 891.0 892.0 882.0 875.0 881.0 883.0 895.0 912.0 930.0 938.0 940.0 948.0 956.0 966.0 978.0 983.0 977.0 975.0 969.0 932.0 897.0 858.0 798.0 725.0 653.0 572.0 473.0 366.0 242.0 116.0 -15.0 -150.0 -289.0 -419.0 -548.0 -686.0 -814.0 -941.0 -1064.0 -1172.0 -1273.0 -1363.0 -1443.0 -1506.0 -1559.0 -1603.0 -1634.0 -1653.0 -1659.0 -1640.0 -1606.0 -1565.0 -1515.0 -1441.0 -1373.0 -1305.0 -1208.0 -1110.0 -1007.0 -892.0 -763.0 -640.0 -512.0 -391.0 -283.0 -171.0 -70.0 19.0 110.0 199.0 271.0 338.0 401.0 445.0 491.0 535.0 571.0 604.0 644.0 668.0 687.0 697.0 695.0 688.0 673.0 673.0 671.0 681.0 699.0 715.0 735.0 754.0 769.0 780.0 802.0 822.0 846.0 880.0 903.0 925.0 940.0 949.0 936.0 916.0 904.0 875.0 838.0 789.0 731.0 655.0 563.0 462.0 341.0 215.0 84.0 -44.0 -182.0 -318.0 -448.0 -589.0 -711.0 -841.0 -955.0 -1062.0 -1157.0 -1232.0 -1312.0 -1364.0 -1414.0 -1458.0 -1474.0 -1486.0 -1473.0 -1449.0 -1409.0 -1352.0 -1289.0 -1225.0 -1159.0 -1084.0 -1005.0 -908.0 -809.0 -690.0 -566.0 -443.0 -316.0 -213.0 -103.0 -14.0 61.0 141.0 203.0 274.0 342.0 405.0 460.0 500.0 526.0 548.0 554.0 565.0 582.0 591.0 600.0 594.0 594.0 582.0 564.0 557.0 551.0 545.0 552.0 564.0 576.0 589.0 605.0 619.0 634.0 665.0 698.0 733.0 772.0 796.0 823.0 839.0 846.0 857.0 852.0 858.0 846.0 824.0 780.0 708.0 627.0 524.0 426.0 309.0 190.0 77.0 -43.0 -171.0 -306.0 -448.0 -592.0 -724.0 -848.0 -965.0 -1064.0 -1147.0 -1224.0 -1292.0 -1335.0 -1367.0 -1386.0 -1384.0 -1376.0 -1351.0 -1309.0 -1252.0 -1186.0 -1103.0 -1012.0 -908.0 -796.0 -694.0 -579.0 -463.0 -349.0 -248.0 -145.0 -49.0 39.0 124.0 199.0 269.0 329.0 374.0 414.0 441.0 459.0 492.0 501.0 510.0 521.0 516.0 520.0 513.0 506.0 497.0 491.0 483.0 472.0 467.0 476.0 476.0 486.0 507.0 517.0 538.0 552.0 573.0 592.0 617.0 639.0 654.0 680.0 694.0 713.0 731.0 732.0 734.0 722.0 699.0 669.0 628.0 586.0 532.0 465.0 392.0 312.0 228.0 130.0 32.0 -69.0 -179.0 -290.0 -402.0 -509.0 -608.0 -709.0 -802.0 -893.0 -978.0 -1040.0 -1105.0 -1155.0 -1187.0 -1199.0 -1196.0 -1185.0 -1160.0 -1122.0 -1073.0 -1021.0 -958.0 -878.0 -784.0 -678.0 -568.0 -447.0 -324.0 -208.0 -101.0 5.0 102.0 186.0 274.0 352.0 426.0 482.0 532.0 575.0 606.0 632.0 648.0 661.0 664.0 660.0 648.0 621.0 595.0 568.0 545.0 523.0 508.0 506.0 494.0 486.0 480.0 474.0 469.0 467.0 468.0 470.0 484.0 498.0 516.0 539.0 551.0 562.0 570.0 571.0 569.0 560.0 547.0 524.0 502.0 468.0 416.0 359.0 299.0 234.0 165.0 92.0 9.0 -75.0 -161.0 -248.0 -336.0 -425.0 -504.0 -582.0 -664.0 -732.0 -791.0 -851.0 -903.0 -948.0 -977.0 -995.0 -1013.0 -1016.0 -1005.0 -990.0 -964.0 -931.0 -889.0 -837.0 -778.0 -705.0 -618.0 -535.0 -448.0 -357.0 -264.0 -172.0 -82.0 11.0 103.0 200.0 290.0 365.0 441.0 516.0 579.0 640.0 680.0 712.0 734.0 753.0 774.0 780.0 781.0 773.0 763.0 745.0 722.0 700.0 674.0 650.0 630.0 593.0 553.0 521.0 493.0 476.0 459.0 439.0 435.0 424.0 406.0 396.0 379.0 366.0 344.0 330.0 314.0 296.0 279.0 245.0 209.0 165.0 116.0 66.0 13.0 -43.0 -103.0 -158.0 -222.0 -282.0 -344.0 -406.0 -464.0 -525.0 -587.0 -648.0 -696.0 -746.0 -791.0 -817.0 -849.0 -861.0 -870.0 -862.0 -844.0 -832.0 -803.0 -776.0 -736.0 -694.0 -637.0 -580.0 -507.0 -436.0 -373.0 -304.0 -232.0 -150.0 -91.0 -19.0 57.0 138.0 226.0 295.0 357.0 422.0 483.0 543.0 598.0 640.0 683.0 721.0 763.0 803.0 824.0 837.0 841.0 843.0 839.0 833.0 823.0 795.0 762.0 728.0 706.0 678.0 646.0 599.0 548.0 507.0 464.0 431.0 390.0 344.0 295.0 252.0 228.0 204.0 168.0 136.0 104.0 66.0 33.0 -10.0 -46.0 -81.0 -117.0 -140.0 -173.0 -198.0 -240.0 -279.0 -310.0 -345.0 -376.0 -418.0 -452.0 -489.0 -515.0 -544.0 -566.0 -595.0 -617.0 -635.0 -650.0 -650.0 -661.0 -656.0 -654.0 -637.0 -610.0 -586.0 -556.0 -537.0 -490.0 -438.0 -394.0 -337.0 -275.0 -209.0 -137.0 -56.0 12.0 75.0 124.0 177.0 247.0 294.0 339.0 381.0 413.0 488.0 530.0 545.0 590.0 625.0 656.0 669.0 681.0 690.0 692.0 689.0 688.0 716.0 728.0 711.0 692.0 692.0 697.0 681.0 666.0 644.0 628.0 612.0 591.0 563.0 537.0 517.0 487.0 455.0 422.0 401.0 366.0 330.0 278.0 228.0 191.0 149.0 103.0 30.0 -37.0 -90.0 -137.0 -184.0 -234.0 -290.0 -340.0 -378.0 -422.0 -449.0 -481.0 -533.0 -568.0 -611.0 -629.0 -654.0 -686.0 -698.0 -718.0 -718.0 -724.0 -713.0 -693.0 -685.0 -668.0 -650.0 -618.0 -573.0 -517.0 -474.0 -439.0 -394.0 -351.0 -286.0 -206.0 -132.0 -65.0 -6.0 49.0 108.0 168.0 230.0 287.0 345.0 389.0 438.0 490.0 541.0 594.0 634.0 668.0 694.0 707.0 724.0 747.0 746.0 741.0 730.0 719.0 711.0 697.0 693.0 680.0 655.0 631.0 599.0 576.0 558.0 524.0 497.0 468.0 444.0 423.0 400.0 381.0 339.0 292.0 248.0 204.0 163.0 119.0 64.0 17.0 -29.0 -70.0 -108.0 -156.0 -202.0 -254.0 -302.0 -342.0 -378.0 -415.0 -461.0 -501.0 -528.0 -555.0 -577.0 -601.0 -624.0 -649.0 -686.0 -716.0 -728.0 -717.0 -715.0 -726.0 -727.0 -696.0 -658.0 -634.0 -612.0 -585.0 -544.0 -506.0 -460.0 -405.0 -330.0 -260.0 -208.0 -147.0 -79.0 -16.0 43.0 111.0 172.0 231.0 281.0 321.0 367.0 417.0 457.0 495.0 536.0 563.0 590.0 616.0 642.0 656.0 660.0 662.0 663.0 657.0 654.0 644.0 635.0 631.0 615.0 604.0 591.0 577.0 558.0 551.0 541.0 520.0 506.0 482.0 463.0 440.0 416.0 394.0 371.0 339.0 304.0 264.0 221.0 175.0 123.0 77.0 17.0 -33.0 -85.0 -141.0 -198.0 -262.0 -326.0 -388.0 -445.0 -504.0 -557.0 -610.0 -655.0 -696.0 -725.0 -750.0 -772.0 -790.0 -814.0 -826.0 -831.0 -837.0 -838.0 -821.0 -794.0 -771.0 -740.0 -703.0 -658.0 -605.0 -556.0 -502.0 -447.0 -387.0 -330.0 -272.0 -219.0 -165.0 -103.0 -42.0 16.0 72.0 120.0 166.0 218.0 267.0 309.0 346.0 389.0 436.0 471.0 502.0 530.0 564.0 590.0 613.0 630.0 651.0 672.0 686.0 685.0 688.0 690.0 683.0 683.0 678.0 669.0 652.0 644.0 636.0 620.0 597.0 566.0 529.0 490.0 452.0 410.0 365.0 320.0 275.0 219.0 171.0 122.0 71.0 18.0 -45.0 -101.0 -167.0 -228.0 -295.0 -354.0 -403.0 -462.0 -510.0 -559.0 -596.0 -639.0 -672.0 -695.0 -720.0 -737.0 -759.0 -776.0 -792.0 -798.0 -805.0 -799.0 -791.0 -777.0 -763.0 -739.0 -712.0 -693.0 -662.0 -629.0 -589.0 -552.0 -523.0 -482.0 -429.0 -380.0 -337.0 -281.0 -223.0 -166.0 -104.0 -52.0 8.0 62.0 103.0 153.0 211.0 269.0 336.0 397.0 443.0 494.0 542.0 594.0 634.0 676.0 704.0 724.0 758.0 775.0 784.0 795.0 797.0 792.0 791.0 786.0 768.0 756.0 737.0 713.0 680.0 640.0 606.0 573.0 536.0 492.0 445.0 389.0 331.0 279.0 229.0 180.0 122.0 59.0 0.0 -61.0 -121.0 -184.0 -253.0 -326.0 -399.0 -462.0 -517.0 -569.0 -617.0 -669.0 -718.0 -758.0 -792.0 -824.0 -861.0 -895.0 -921.0 -936.0 -945.0 -947.0 -942.0 -932.0 -914.0 -890.0 -859.0 -831.0 -793.0 -748.0 -694.0 -627.0 -566.0 -508.0 -451.0 -390.0 -327.0 -262.0 -200.0 -149.0 -92.0 -29.0 29.0 89.0 149.0 199.0 249.0 296.0 348.0 395.0 437.0 479.0 516.0 553.0 592.0 625.0 653.0 682.0 710.0 731.0 748.0 766.0 776.0 782.0 780.0 778.0 777.0 767.0 762.0 747.0 729.0 704.0 674.0 652.0 619.0 577.0 532.0 485.0 436.0 386.0 334.0 277.0 210.0 147.0 79.0 7.0 -68.0 -139.0 -214.0 -282.0 -348.0 -425.0 -489.0 -552.0 -613.0 -667.0 -714.0 -757.0 -787.0 -814.0 -838.0 -854.0 -863.0 -866.0 -872.0 -873.0 -876.0 -864.0 -849.0 -832.0 -809.0 -782.0 -754.0 -719.0 -677.0 -644.0 -612.0 -575.0 -529.0 -488.0 -445.0 -412.0 -378.0 -342.0 -299.0 -256.0 -210.0 -160.0 -115.0 -67.0 -15.0 36.0 86.0 135.0 171.0 220.0 276.0 330.0 381.0 432.0 481.0 527.0 569.0 612.0 660.0 693.0 713.0 731.0 754.0 771.0 789.0 799.0 805.0 808.0 797.0 787.0 767.0 749.0 723.0 686.0 651.0 610.0 561.0 493.0 428.0 361.0 293.0 229.0 160.0 86.0 13.0 -66.0 -149.0 -216.0 -282.0 -339.0 -399.0 -462.0 -515.0 -569.0 -618.0 -663.0 -709.0 -750.0 -789.0 -821.0 -846.0 -864.0 -869.0 -876.0 -876.0 -864.0 -849.0 -831.0 -805.0 -773.0 -739.0 -699.0 -666.0 -627.0 -578.0 -535.0 -493.0 -451.0 -407.0 -364.0 -320.0 -281.0 -244.0 -202.0 -158.0 -114.0 -72.0 -29.0 18.0 74.0 136.0 198.0 263.0 323.0 379.0 431.0 488.0 546.0 589.0 633.0 663.0 689.0 717.0 743.0 757.0 762.0 756.0 747.0 737.0 730.0 722.0 709.0 687.0 660.0 638.0 602.0 574.0 538.0 497.0 455.0 409.0 371.0 317.0 258.0 197.0 125.0 44.0 -34.0 -76.0 -136.0 -176.0 -224.0 -269.0 -300.0 -390.0 -410.0 -458.0 -506.0 -521.0 -571.0 -584.0 -583.0 -601.0 -617.0 -645.0 -669.0 -692.0 -715.0 -747.0 -772.0 -770.0 -799.0 -801.0 -805.0 -814.0 -800.0 -794.0 -793.0 -776.0 -748.0 -720.0 -694.0 -658.0 -597.0 -543.0 -490.0 -419.0 -349.0 -285.0 -220.0 -148.0 -73.0 -12.0 45.0 105.0 173.0 235.0 286.0 341.0 387.0 424.0 464.0 498.0 535.0 570.0 597.0 618.0 639.0 658.0 669.0 673.0 673.0 675.0 669.0 658.0 642.0 630.0 617.0 605.0 585.0 556.0 534.0 501.0 475.0 443.0 405.0 375.0 344.0 316.0 284.0 264.0 231.0 193.0 153.0 111.0 70.0 23.0 -18.0 -66.0 -112.0 -156.0 -198.0 -246.0 -297.0 -350.0 -407.0 -458.0 -504.0 -547.0 -595.0 -635.0 -673.0 -706.0 -731.0 -747.0 -756.0 -766.0 -771.0 -760.0 -752.0 -741.0 -734.0 -725.0 -713.0 -697.0 -677.0 -658.0 -631.0 -602.0 -560.0 -523.0 -478.0 -436.0 -387.0 -342.0 -294.0 -251.0 -198.0 -151.0 -99.0 -53.0 -3.0 44.0 90.0 135.0 185.0 224.0 259.0 292.0 312.0 340.0 357.0 385.0 391.0 424.0 433.0 470.0 477.0 515.0 504.0 537.0 507.0 551.0 505.0 872.0 975.0 660.0 673.0 126.0 285.0 412.0 286.0 417.0 252.0 412.0 576.0 390.0 424.0 290.0 227.0 315.0 60.0 61.0 284.0 223.0 333.0 196.0 -203.0 -149.0 -350.0 -316.0 -485.0 -492.0 -618.0 -659.0 -486.0 -746.0 -566.0 -739.0 -865.0 -725.0 -949.0 -758.0 -715.0 -729.0 -501.0 -666.0 -480.0 -486.0 -411.0 -256.0 -137.0 -23.0 -118.0 -113.0 -330.0 -385.0 -315.0 -390.0 -329.0 -258.0 -417.0 -229.0 -358.0 -422.0 -243.0 -394.0 -230.0 -223.0 -210.0 70.0 -13.0 98.0 129.0 3.0 312.0 301.0 482.0 616.0 446.0 544.0 419.0 371.0 451.0 354.0 497.0 562.0 579.0 583.0 405.0 368.0 218.0 156.0 142.0 57.0 191.0 201.0 225.0 266.0 36.0 59.0 -35.0 -154.0 19.0 -153.0 -56.0 -81.0 -232.0 -138.0 -337.0 -353.0 -405.0 -415.0 -334.0 -449.0 -448.0 -531.0 -559.0 -400.0 -513.0 -425.0 -480.0 -552.0 -474.0 -678.0 -632.0 -682.0 -602.0 -445.0 -457.0 -398.0 -487.0 -548.0 -602.0 -754.0 -744.0 -713.0 -577.0 -394.0 -361.0 -297.0 -355.0 -370.0 -361.0 -346.0 -265.0 -193.0 -15.0 54.0 116.0 167.0 131.0 197.0 173.0 160.0 219.0 193.0 239.0 263.0 228.0 328.0 379.0 414.0 402.0 381.0 391.0 391.0 412.0 405.0 494.0 569.0 638.0 670.0 639.0 653.0 684.0 651.0 635.0 625.0 701.0 652.0 687.0 710.0 589.0 612.0 407.0 360.0 334.0 391.0 380.0 334.0 470.0 447.0 408.0 346.0 185.0 105.0 57.0 -3.0 52.0 63.0 200.0 203.0 197.0 186.0 89.0 68.0 -37.0 -44.0 -29.0 -117.0 -41.0 -47.0 -64.0 -53.0 -153.0 -125.0 -232.0 -179.0 -142.0 -184.0 -42.0 -59.0 -58.0 -36.0 -117.0 -90.0 -130.0 -116.0 -94.0 -184.0 -103.0 -170.0 -159.0 -51.0 -69.0 83.0 122.0 180.0 297.0 211.0 197.0 102.0 17.0 -2.0 -35.0 106.0 100.0 146.0 234.0 191.0 278.0 267.0 287.0 381.0 390.0 462.0 485.0 482.0 491.0 437.0 407.0 335.0 328.0 315.0 279.0 387.0 357.0 386.0 419.0 363.0 351.0 236.0 211.0 177.0 54.0 109.0 60.0 26.0 72.0 -78.0 19.0 -79.0 -201.0 -103.0 -189.0 -31.0 -68.0 -153.0 -58.0 -88.0 -76.0 -230.0 -286.0 -280.0 -404.0 -402.0 -351.0 -239.0 -174.0 -155.0 -155.0 -219.0 -185.0 -349.0 -461.0 -395.0 -466.0 -337.0 -260.0 -208.0 -122.0 -184.0 -86.0 -181.0 -221.0 -194.0 -257.0 -174.0 -250.0 -126.0 -6.0 -10.0 165.0 73.0 72.0 114.0 -23.0 6.0 -100.0 -3.0 90.0 110.0 278.0 266.0 305.0 321.0 250.0 247.0 186.0 235.0 322.0 321.0 365.0 316.0 325.0 235.0 123.0 156.0 128.0 159.0 226.0 171.0 222.0 223.0 286.0 373.0 304.0 277.0 257.0 236.0 246.0 180.0 100.0 113.0 78.0 67.0 -17.0 -30.0 -12.0 -140.0 -176.0 -225.0 -272.0 -137.0 -123.0 -94.0 -101.0 -206.0 -263.0 -342.0 -345.0 -299.0 -204.0 -105.0 -80.0 -4.0 -43.0 -124.0 -137.0 -254.0 -189.0 -127.0 -50.0 78.0 121.0 81.0 -53.0 -136.0 -216.0 -206.0 -125.0 -54.0 141.0 140.0 165.0 196.0 106.0 106.0 -87.0 -90.0 42.0 38.0 205.0 177.0 246.0 329.0 243.0 272.0 224.0 276.0 225.0 156.0 106.0 145.0 173.0 232.0 258.0 277.0 308.0 257.0 216.0 104.0 70.0 95.0 36.0 156.0 323.0 333.0 393.0 324.0 263.0 216.0 211.0 184.0 151.0 197.0 220.0 93.0 43.0 -29.0 -121.0 -185.0 -156.0 -2.0 21.0 57.0 -24.0 -109.0 -139.0 -225.0 -305.0 -240.0 -253.0 -179.0 -134.0 -221.0 -139.0 -243.0 -196.0 -144.0 -157.0 -72.0 -108.0 -142.0 -199.0 -334.0 -371.0 -352.0 -331.0 -187.0 -163.0 5.0 -16.0 -61.0 -133.0 -216.0 -160.0 -247.0 -204.0 -222.0 -222.0 -231.0 -184.0 -179.0 -183.0 -69.0 -32.0 39.0 14.0 36.0 49.0 -89.0 -117.0 -234.0 -127.0 -84.0 -22.0 194.0 269.0 438.0 436.0 318.0 255.0 94.0 38.0 33.0 -18.0 57.0 -17.0 138.0 217.0 119.0 96.0 -36.0 68.0 67.0 111.0 228.0 117.0 166.0 -5.0 -129.0 -70.0 -177.0 -54.0 34.0 122.0 262.0 254.0 355.0 295.0 195.0 26.0 -88.0 -107.0 -294.0 -191.0 -121.0 -60.0 -41.0 -114.0 -14.0 59.0 36.0 25.0 39.0 -32.0 -203.0 -238.0 -379.0 -384.0 -262.0 -291.0 -63.0 78.0 271.0 361.0 204.0 102.0 -87.0 -206.0 -247.0 -227.0 -119.0 17.0 214.0 233.0 226.0 160.0 83.0 74.0 68.0 148.0 124.0 128.0 90.0 34.0 5.0 -75.0 -51.0 68.0 206.0 344.0 361.0 320.0 312.0 74.0 -58.0 -157.0 -280.0 -158.0 -99.0 87.0 275.0 296.0 271.0 217.0 140.0 51.0 -14.0 2.0 47.0 67.0 89.0 27.0 -52.0 -34.0 -25.0 87.0 169.0 106.0 7.0 -186.0 -274.0 -455.0 -472.0 -304.0 -162.0 114.0 193.0 184.0 45.0 -203.0 -319.0 -453.0 -455.0 -325.0 -230.0 -121.0 -90.0 -126.0 -250.0 -387.0 -398.0 -340.0 -101.0 22.0 77.0 58.0 -56.0 -151.0 -313.0 -486.0 -418.0 -247.0 61.0 362.0 420.0 574.0 411.0 213.0 -17.0 -337.0 -400.0 -381.0 -315.0 -111.0 47.0 291.0 479.0 492.0 455.0 218.0 137.0 62.0 -71.0 -74.0 -116.0 84.0 223.0 222.0 364.0 350.0 498.0 540.0 444.0 433.0 277.0 110.0 -60.0 -230.0 -144.0 -180.0 -201.0 6.0 170.0 340.0 280.0 247.0 149.0 -2.0 -123.0 -273.0 -370.0 -353.0 -333.0 -329.0 -197.0 -32.0 118.0 112.0 129.0 41.0 -72.0 -255.0 -347.0 -285.0 -329.0 -261.0 -199.0 -64.0 125.0 91.0 77.0 177.0 214.0 247.0 75.0 -17.0 -19.0 54.0 21.0 -146.0 -105.0 -46.0 115.0 162.0 197.0 335.0 315.0 181.0 36.0 -103.0 -118.0 -201.0 -152.0 2.0 29.0 283.0 332.0 284.0 291.0 294.0 368.0 389.0 318.0 184.0 70.0 1.0 -96.0 -177.0 -135.0 -7.0 309.0 464.0 542.0 508.0 373.0 208.0 29.0 -122.0 -105.0 19.0 124.0 313.0 302.0 232.0 69.0 -88.0 -146.0 -202.0 -164.0 95.0 229.0 173.0 61.0 -88.0 -227.0 -332.0 -486.0 -453.0 -198.0 26.0 177.0 64.0 -70.0 -184.0 -369.0 -551.0 -470.0 -381.0 -173.0 -117.0 -143.0 1.0 -18.0 -84.0 -199.0 -193.0 -162.0 -117.0 -186.0 -216.0 -153.0 -128.0 -92.0 -112.0 -131.0 -53.0 -63.0 -53.0 44.0 7.0 12.0 -78.0 -184.0 -180.0 -107.0 -28.0 -34.0 80.0 157.0 189.0 195.0 132.0 104.0 0.0 -25.0 3.0 23.0 97.0 141.0 228.0 358.0 311.0 184.0 52.0 5.0 -21.0 -142.0 -158.0 -48.0 113.0 147.0 143.0 224.0 210.0 138.0 27.0 -111.0 -102.0 -56.0 -50.0 19.0 99.0 155.0 82.0 10.0 18.0 -46.0 -48.0 -52.0 -42.0 124.0 166.0 119.0 -117.0 -376.0 -434.0 -628.0 -522.0 -376.0 -158.0 196.0 318.0 402.0 314.0 115.0 -45.0 -347.0 -426.0 -457.0 -409.0 -117.0 -63.0 73.0 53.0 48.0 55.0 -72.0 -216.0 -345.0 -173.0 50.0 1.0 -41.0 -133.0 -159.0 -112.0 -159.0 -102.0 -3.0 175.0 264.0 185.0 125.0 84.0 36.0 -41.0 -70.0 7.0 103.0 198.0 184.0 201.0 157.0 99.0 31.0 142.0 310.0 406.0 437.0 287.0 184.0 27.0 -128.0 -230.0 -231.0 -101.0 128.0 221.0 253.0 368.0 314.0 205.0 50.0 -169.0 -213.0 -129.0 -51.0 105.0 153.0 192.0 248.0 164.0 104.0 16.0 -6.0 -24.0 29.0 110.0 83.0 46.0 -25.0 -157.0 -242.0 -345.0 -251.0 -103.0 48.0 210.0 158.0 42.0 -245.0 -478.0 -459.0 -355.0 -144.0 79.0 103.0 131.0 -49.0 -238.0 -339.0 -272.0 -129.0 19.0 240.0 326.0 374.0 336.0 186.0 -32.0 -89.0 -42.0 65.0 116.0 143.0 95.0 -12.0 60.0 59.0 136.0 254.0 279.0 290.0 254.0 92.0 -76.0 -173.0 -170.0 -104.0 -25.0 172.0 316.0 455.0 391.0 274.0 200.0 164.0 136.0 75.0 10.0 15.0 19.0 97.0 142.0 219.0 422.0 362.0 267.0 125.0 106.0 101.0 -35.0 -161.0 -222.0 -219.0 -74.0 -69.0 -61.0 27.0 53.0 58.0 -104.0 -195.0 -226.0 -302.0 -338.0 -318.0 -359.0 -256.0 -172.0 -174.0 -216.0 -250.0 -238.0 -172.0 -110.0 -95.0 -20.0 12.0 46.0 -120.0 -284.0 -452.0 -623.0 -626.0 -485.0 -304.0 -112.0 4.0 149.0 235.0 211.0 142.0 -89.0 -259.0 -424.0 -485.0 -423.0 -261.0 -91.0 107.0 160.0 332.0 409.0 370.0 287.0 136.0 59.0 -77.0 -206.0 -163.0 -84.0 22.0 243.0 406.0 482.0 326.0 169.0 -12.0 -26.0 71.0 166.0 303.0 515.0 502.0 381.0 231.0 57.0 -123.0 -220.0 -94.0 94.0 336.0 467.0 348.0 222.0 76.0 -202.0 -358.0 -367.0 -196.0 -8.0 129.0 265.0 266.0 137.0 -2.0 -253.0 -271.0 -370.0 -383.0 -344.0 -311.0 -142.0 -33.0 -103.0 -139.0 -44.0 -13.0 -4.0 -122.0 -156.0 -269.0 -299.0 -309.0 -242.0 -128.0 -103.0 -146.0 -191.0 -216.0 -163.0 -116.0 -90.0 40.0 92.0 132.0 65.0 -117.0 -184.0 -369.0 -429.0 -370.0 -217.0 39.0 264.0 338.0 317.0 246.0 69.0 -40.0 -79.0 69.0 118.0 294.0 364.0 350.0 233.0 98.0 -95.0 -174.0 51.0 309.0 405.0 351.0 299.0 200.0 27.0 -94.0 -74.0 -49.0 -17.0 34.0 93.0 69.0 44.0 -154.0 -182.0 -207.0 17.0 159.0 192.0 99.0 56.0 -36.0 -156.0 -290.0 -416.0 -287.0 -252.0 -51.0 21.0 185.0 101.0 36.0 -125.0 -285.0 -464.0 -571.0 -546.0 -433.0 -193.0 50.0 242.0 270.0 173.0 -60.0 -308.0 -422.0 -423.0 -469.0 -383.0 -225.0 83.0 149.0 124.0 -26.0 -139.0 -263.0 -257.0 -186.0 -153.0 -120.0 -49.0 22.0 -15.0 -75.0 -114.0 -60.0 -46.0 50.0 30.0 35.0 -52.0 -60.0 -104.0 -75.0 100.0 156.0 229.0 172.0 61.0 65.0 45.0 -1.0 10.0 -3.0 125.0 196.0 62.0 -62.0 -80.0 -18.0 56.0 3.0 -80.0 50.0 157.0 146.0 67.0 7.0 -44.0 -68.0 -80.0 9.0 75.0 25.0 1.0 19.0 55.0 21.0 -111.0 -275.0 -274.0 -196.0 -167.0 -137.0 -87.0 1.0 -11.0 -132.0 -218.0 -303.0 -313.0 -375.0 -300.0 -144.0 24.0 29.0 -85.0 -247.0 -259.0 -318.0 -456.0 -490.0 -409.0 -138.0 -5.0 -55.0 -217.0 -211.0 -257.0 -237.0 -257.0 -168.0 -103.0 -98.0 -147.0 -201.0 -229.0 -216.0 -102.0 -65.0 33.0 11.0 -19.0 -147.0 -276.0 -393.0 -366.0 -268.0 -80.0 30.0 1.0 31.0 71.0 145.0 43.0 -24.0 -81.0 -74.0 -35.0 -44.0 26.0 149.0 253.0 256.0 300.0 302.0 275.0 129.0 -104.0 -211.0 -156.0 15.0 128.0 203.0 172.0 186.0 109.0 45.0 -69.0 -32.0 145.0 266.0 448.0 350.0 260.0 31.0 -136.0 -395.0 -448.0 -267.0 95.0 368.0 359.0 248.0 -2.0 -41.0 -249.0 -291.0 -363.0 -150.0 148.0 224.0 75.0 -96.0 -171.0 -258.0 -292.0 -379.0 -258.0 -111.0 63.0 -46.0 -98.0 -176.0 -245.0 -316.0 -359.0 -256.0 -130.0 6.0 -58.0 -54.0 -98.0 -67.0 -145.0 -243.0 -212.0 -126.0 -42.0 -14.0 -72.0 -49.0 55.0 94.0 180.0 110.0 36.0 24.0 -11.0 -92.0 -109.0 -79.0 47.0 217.0 250.0 219.0 111.0 3.0 -64.0 -144.0 -62.0 19.0 175.0 179.0 171.0 207.0 158.0 115.0 48.0 136.0 183.0 277.0 206.0 259.0 295.0 308.0 162.0 48.0 8.0 7.0 8.0 -118.0 -66.0 -8.0 223.0 209.0 168.0 119.0 164.0 110.0 -15.0 -164.0 -174.0 -147.0 -186.0 -187.0 -220.0 -152.0 -215.0 -223.0 -310.0 -229.0 -198.0 -122.0 -199.0 -224.0 -307.0 -350.0 -297.0 -332.0 -308.0 -310.0 -164.0 -115.0 -58.0 -244.0 -341.0 -402.0 -351.0 -225.0 -183.0 -155.0 -166.0 -157.0 -182.0 -187.0 -175.0 -88.0 17.0 50.0 -5.0 -30.0 -21.0 -47.0 -152.0 -47.0 135.0 223.0 345.0 353.0 366.0 279.0 212.0 78.0 81.0 182.0 271.0 465.0 501.0 543.0 425.0 320.0 209.0 229.0 229.0 361.0 488.0 547.0 535.0 405.0 316.0 182.0 116.0 61.0 148.0 152.0 225.0 109.0 -12.0 -139.0 -189.0 -224.0 -256.0 -328.0 -408.0 -401.0 -440.0 -379.0 -380.0 -196.0 -100.0 -46.0 -97.0 -184.0 -322.0 -441.0 -526.0 -616.0 -595.0 -591.0 -484.0 -508.0 -506.0 -500.0 -445.0 -409.0 -447.0 -441.0 -352.0 -85.0 64.0 196.0 57.0 54.0 115.0 179.0 169.0 108.0 138.0 151.0 226.0 68.0 119.0 74.0 223.0 225.0 295.0 232.0 336.0 398.0 393.0 458.0 368.0 455.0 427.0 594.0 420.0 495.0 343.0 401.0 378.0 406.0 422.0 402.0 558.0 463.0 432.0 265.0 315.0 211.0 236.0 148.0 216.0 263.0 331.0 343.0 224.0 150.0 74.0 23.0 -199.0 -313.0 -416.0 -422.0 -468.0 -365.0 -239.0 -90.0 28.0 80.0 33.0 -130.0 -319.0 -546.0 -645.0 -749.0 -746.0 -730.0 -603.0 -459.0 -372.0 -461.0 -440.0 -277.0 -98.0 243.0 304.0 313.0 243.0 290.0 141.0 -16.0 -115.0 -147.0 25.0 139.0 217.0 56.0 74.0 41.0 83.0 30.0 52.0 123.0 193.0 251.0 108.0 63.0 26.0 116.0 176.0 303.0 309.0 440.0 474.0 345.0 242.0 118.0 127.0 109.0 207.0 207.0 359.0 388.0 362.0 268.0 155.0 206.0 200.0 307.0 283.0 344.0 312.0 210.0 12.0 -128.0 -180.0 -263.0 -279.0 -298.0 -200.0 -278.0 -276.0 -232.0 -108.0 -1.0 -21.0 -166.0 -341.0 -458.0 -644.0 -710.0 -746.0 -661.0 -623.0 -521.0 -375.0 -112.0 -1.0 7.0 62.0 189.0 225.0 182.0 238.0 129.0 149.0 131.0 11.0 -161.0 -16.0 48.0 101.0 113.0 127.0 191.0 173.0 89.0 -54.0 16.0 -1.0 67.0 84.0 148.0 217.0 255.0 259.0 268.0 370.0 376.0 397.0 414.0 389.0 345.0 286.0 246.0 202.0 236.0 248.0 353.0 411.0 427.0 452.0 462.0 515.0 550.0 584.0 556.0 555.0 446.0 348.0 163.0 32.0 -74.0 -137.0 -200.0 -242.0 -243.0 -267.0 -101.0 17.0 184.0 199.0 131.0 -23.0 -149.0 -317.0 -598.0 -683.0 -725.0 -487.0 -278.0 -28.0 101.0 334.0 491.0 416.0 231.0 45.0 187.0 205.0 219.0 107.0 189.0 125.0 182.0 56.0 -152.0 -105.0 -10.0 147.0 68.0 124.0 46.0 157.0 66.0 -29.0 -58.0 -56.0 63.0 96.0 155.0 155.0 253.0 219.0 175.0 143.0 144.0 191.0 203.0 147.0 119.0 155.0 185.0 213.0 250.0 322.0 358.0 398.0 384.0 334.0 255.0 198.0 185.0 119.0 99.0 117.0 118.0 30.0 -108.0 -226.0 -300.0 -380.0 -529.0 -594.0 -407.0 -158.0 37.0 53.0 -39.0 -124.0 -263.0 -527.0 -742.0 -722.0 -511.0 -191.0 -28.0 152.0 308.0 437.0 400.0 231.0 55.0 53.0 152.0 149.0 138.0 33.0 -49.0 17.0 119.0 111.0 144.0 224.0 227.0 132.0 0.0 -167.0 -131.0 -2.0 98.0 135.0 213.0 292.0 317.0 242.0 107.0 84.0 126.0 190.0 176.0 230.0 226.0 244.0 220.0 180.0 174.0 227.0 365.0 427.0 487.0 488.0 492.0 442.0 361.0 258.0 208.0 200.0 141.0 124.0 96.0 56.0 -27.0 -107.0 -252.0 -352.0 -381.0 -417.0 -446.0 -564.0 -469.0 -299.0 -164.0 -76.0 -132.0 -228.0 -346.0 -513.0 -706.0 -618.0 -416.0 -104.0 44.0 153.0 325.0 556.0 448.0 164.0 141.0 90.0 230.0 239.0 172.0 48.0 188.0 174.0 64.0 70.0 155.0 305.0 287.0 150.0 -41.0 42.0 116.0 185.0 163.0 192.0 266.0 311.0 284.0 168.0 146.0 156.0 179.0 160.0 187.0 275.0 342.0 328.0 236.0 207.0 213.0 245.0 311.0 375.0 413.0 470.0 464.0 314.0 174.0 113.0 138.0 122.0 61.0 -14.0 -95.0 -225.0 -352.0 -438.0 -539.0 -500.0 -422.0 -458.0 -576.0 -696.0 -629.0 -520.0 -351.0 -269.0 -282.0 -324.0 -474.0 -573.0 -669.0 -620.0 -565.0 -452.0 -264.0 56.0 395.0 517.0 435.0 308.0 173.0 66.0 64.0 8.0 52.0 151.0 212.0 163.0 170.0 139.0 113.0 125.0 53.0 40.0 149.0 225.0 210.0 237.0 194.0 155.0 178.0 158.0 161.0 273.0 278.0 206.0 179.0 157.0 122.0 199.0 245.0 234.0 275.0 238.0 243.0 290.0 359.0 327.0 356.0 371.0 329.0 287.0 241.0 259.0 202.0 193.0 85.0 31.0 -83.0 -195.0 -337.0 -481.0 -556.0 -600.0 -585.0 -679.0 -753.0 -829.0 -743.0 -580.0 -371.0 -276.0 -331.0 -427.0 -569.0 -711.0 -691.0 -688.0 -647.0 -497.0 -274.0 -7.0 280.0 427.0 357.0 317.0 245.0 130.0 -38.0 -119.0 -147.0 27.0 105.0 118.0 77.0 155.0 225.0 195.0 138.0 64.0 133.0 82.0 21.0 -70.0 36.0 90.0 159.0 144.0 184.0 219.0 241.0 217.0 118.0 182.0 210.0 328.0 341.0 432.0 376.0 339.0 320.0 329.0 349.0 353.0 416.0 422.0 437.0 378.0 367.0 304.0 255.0 147.0 53.0 -28.0 -69.0 -148.0 -295.0 -401.0 -493.0 -553.0 -608.0 -630.0 -635.0 -687.0 -674.0 -550.0 -480.0 -387.0 -360.0 -440.0 -574.0 -755.0 -841.0 -842.0 -726.0 -670.0 -459.0 -183.0 44.0 352.0 392.0 426.0 293.0 194.0 48.0 0.0 52.0 48.0 136.0 52.0 53.0 40.0 64.0 28.0 -28.0 -62.0 -77.0 -37.0 -1.0 62.0 92.0 151.0 171.0 205.0 121.0 95.0 121.0 124.0 163.0 165.0 194.0 185.0 271.0 282.0 308.0 326.0 330.0 343.0 343.0 353.0 375.0 406.0 357.0 297.0 221.0 195.0 115.0 110.0 95.0 82.0 76.0 -30.0 -135.0 -266.0 -404.0 -537.0 -593.0 -653.0 -692.0 -733.0 -836.0 -819.0 -728.0 -577.0 -483.0 -500.0 -593.0 -711.0 -836.0 -843.0 -765.0 -707.0 -600.0 -352.0 -32.0 280.0 435.0 312.0 300.0 204.0 141.0 59.0 32.0 -20.0 43.0 74.0 -18.0 70.0 49.0 53.0 -37.0 -83.0 -222.0 -132.0 -14.0 -4.0 99.0 166.0 211.0 165.0 153.0 25.0 54.0 173.0 194.0 231.0 236.0 230.0 268.0 370.0 421.0 488.0 493.0 452.0 399.0 325.0 302.0 301.0 341.0 340.0 389.0 362.0 337.0 312.0 234.0 180.0 118.0 51.0 -106.0 -174.0 -272.0 -353.0 -469.0 -511.0 -502.0 -587.0 -699.0 -899.0 -883.0 -800.0 -584.0 -476.0 -485.0 -589.0 -660.0 -780.0 -841.0 -768.0 -679.0 -407.0 -204.0 84.0 284.0 524.0 470.0 437.0 263.0 131.0 151.0 95.0 40.0 -38.0 9.0 -113.0 -51.0 -80.0 -53.0 -40.0 16.0 9.0 34.0 129.0 148.0 190.0 168.0 179.0 150.0 189.0 131.0 193.0 223.0 222.0 233.0 261.0 298.0 320.0 409.0 423.0 457.0 402.0 386.0 362.0 382.0 374.0 357.0 343.0 324.0 312.0 265.0 259.0 205.0 178.0 111.0 65.0 -32.0 -104.0 -231.0 -357.0 -499.0 -593.0 -625.0 -666.0 -698.0 -739.0 -840.0 -953.0 -908.0 -806.0 -545.0 -472.0 -544.0 -691.0 -833.0 -846.0 -779.0 -644.0 -568.0 -372.0 -49.0 245.0 502.0 456.0 382.0 320.0 223.0 187.0 84.0 70.0 -1.0 51.0 -13.0 -72.0 -48.0 21.0 44.0 -25.0 -54.0 -69.0 72.0 117.0 110.0 90.0 247.0 357.0 335.0 278.0 180.0 270.0 303.0 305.0 260.0 381.0 489.0 495.0 505.0 441.0 432.0 380.0 405.0 363.0 379.0 358.0 371.0 375.0 310.0 253.0 240.0 279.0 208.0 197.0 111.0 63.0 -30.0 -159.0 -278.0 -390.0 -457.0 -558.0 -592.0 -650.0 -710.0 -842.0 -1020.0 -1108.0 -1010.0 -784.0 -565.0 -475.0 -567.0 -696.0 -800.0 -770.0 -645.0 -481.0 -333.0 -130.0 78.0 329.0 432.0 437.0 364.0 256.0 273.0 218.0 172.0 -8.0 -45.0 -134.0 -156.0 -139.0 -160.0 -93.0 -89.0 -57.0 -69.0 14.0 85.0 156.0 235.0 240.0 309.0 306.0 271.0 240.0 208.0 229.0 221.0 276.0 294.0 380.0 364.0 350.0 391.0 434.0 448.0 453.0 438.0 412.0 469.0 416.0 378.0 325.0 312.0 300.0 322.0 277.0 222.0 178.0 106.0 7.0 -105.0 -219.0 -316.0 -343.0 -451.0 -510.0 -576.0 -648.0 -754.0 -911.0 -1037.0 -1059.0 -937.0 -724.0 -470.0 -445.0 -476.0 -569.0 -629.0 -669.0 -651.0 -559.0 -392.0 -20.0 130.0 444.0 362.0 266.0 301.0 230.0 156.0 31.0 90.0 -62.0 63.0 -36.0 -220.0 -274.0 -251.0 -212.0 -178.0 -115.0 -102.0 29.0 104.0 124.0 157.0 257.0 296.0 349.0 305.0 224.0 201.0 282.0 292.0 320.0 311.0 289.0 306.0 278.0 324.0 374.0 428.0 409.0 389.0 357.0 347.0 385.0 389.0 379.0 369.0 315.0 261.0 167.0 85.0 17.0 -46.0 -113.0 -167.0 -190.0 -253.0 -316.0 -419.0 -564.0 -651.0 -713.0 -761.0 -890.0 -969.0 -973.0 -855.0 -600.0 -418.0 -281.0 -339.0 -405.0 -567.0 -658.0 -694.0 -600.0 -407.0 -242.0 -108.0 92.0 352.0 374.0 406.0 230.0 103.0 39.0 40.0 -13.0 -110.0 -186.0 -325.0 -286.0 -295.0 -277.0 -216.0 -122.0 -73.0 -25.0 8.0 75.0 196.0 292.0 294.0 241.0 250.0 265.0 312.0 264.0 294.0 301.0 285.0 221.0 200.0 261.0 352.0 493.0 481.0 494.0 437.0 424.0 404.0 407.0 447.0 467.0 445.0 279.0 218.0 165.0 166.0 153.0 136.0 91.0 11.0 -59.0 -166.0 -214.0 -311.0 -428.0 -541.0 -588.0 -585.0 -606.0 -747.0 -807.0 -787.0 -552.0 -286.0 -126.0 -82.0 -248.0 -394.0 -528.0 -538.0 -503.0 -374.0 -230.0 -101.0 118.0 350.0 353.0 358.0 205.0 53.0 28.0 22.0 -10.0 -127.0 -110.0 -245.0 -250.0 -273.0 -293.0 -235.0 -143.0 -117.0 -70.0 100.0 162.0 292.0 362.0 339.0 268.0 330.0 329.0 326.0 329.0 222.0 227.0 275.0 248.0 228.0 321.0 317.0 370.0 403.0 382.0 367.0 435.0 413.0 391.0 424.0 382.0 340.0 195.0 119.0 67.0 44.0 24.0 34.0 53.0 45.0 81.0 6.0 -120.0 -232.0 -320.0 -399.0 -446.0 -462.0 -489.0 -541.0 -642.0 -691.0 -695.0 -472.0 -215.0 -82.0 -112.0 -373.0 -594.0 -673.0 -482.0 -432.0 -485.0 -347.0 -143.0 240.0 334.0 372.0 257.0 206.0 203.0 5.0 -62.0 -148.0 -12.0 -118.0 -249.0 -411.0 -382.0 -211.0 -125.0 -62.0 -24.0 145.0 270.0 388.0 364.0 374.0 390.0 392.0 377.0 325.0 322.0 254.0 229.0 198.0 176.0 176.0 241.0 368.0 329.0 371.0 313.0 319.0 307.0 341.0 369.0 372.0 408.0 292.0 231.0 104.0 109.0 101.0 151.0 161.0 188.0 200.0 166.0 151.0 25.0 -26.0 -144.0 -162.0 -207.0 -230.0 -308.0 -420.0 -495.0 -613.0 -569.0 -441.0 -158.0 -78.0 -73.0 -275.0 -493.0 -598.0 -603.0 -484.0 -464.0 -218.0 -51.0 198.0 304.0 315.0 329.0 245.0 152.0 41.0 65.0 11.0 25.0 -9.0 -151.0 -257.0 -220.0 -164.0 -115.0 5.0 64.0 173.0 304.0 396.0 407.0 391.0 401.0 377.0 386.0 381.0 377.0 359.0 302.0 244.0 174.0 157.0 155.0 220.0 276.0 310.0 356.0 293.0 248.0 296.0 329.0 328.0 334.0 296.0 216.0 176.0 136.0 96.0 157.0 196.0 224.0 261.0 270.0 241.0 143.0 75.0 -40.0 -52.0 -77.0 -99.0 -163.0 -302.0 -423.0 -627.0 -679.0 -743.0 -538.0 -354.0 -323.0 -347.0 -494.0 -559.0 -583.0 -459.0 -447.0 -354.0 -188.0 -19.0 181.0 255.0 317.0 315.0 232.0 133.0 74.0 44.0 24.0 24.0 -27.0 -95.0 -97.0 -40.0 2.0 119.0 193.0 264.0 347.0 416.0 456.0 480.0 487.0 428.0 466.0 467.0 521.0 505.0 415.0 300.0 249.0 207.0 196.0 231.0 201.0 231.0 216.0 209.0 130.0 231.0 327.0 406.0 437.0 363.0 319.0 266.0 285.0 234.0 244.0 239.0 252.0 233.0 176.0 176.0 183.0 163.0 94.0 10.0 -57.0 -130.0 -238.0 -404.0 -550.0 -675.0 -817.0 -858.0 -848.0 -673.0 -505.0 -455.0 -511.0 -603.0 -595.0 -587.0 -556.0 -539.0 -488.0 -306.0 -89.0 132.0 191.0 190.0 224.0 216.0 244.0 210.0 130.0 79.0 103.0 3.0 -57.0 1.0 89.0 183.0 271.0 283.0 280.0 437.0 522.0 552.0 549.0 528.0 548.0 579.0 546.0 492.0 478.0 431.0 340.0 236.0 156.0 198.0 238.0 236.0 238.0 213.0 206.0 254.0 337.0 409.0 473.0 461.0 391.0 355.0 319.0 303.0 317.0 260.0 230.0 235.0 287.0 283.0 270.0 229.0 142.0 61.0 -50.0 -126.0 -258.0 -389.0 -549.0 -695.0 -847.0 -963.0 -1010.0 -986.0 -736.0 -595.0 -491.0 -506.0 -559.0 -614.0 -652.0 -582.0 -636.0 -441.0 -208.0 76.0 214.0 265.0 292.0 232.0 292.0 290.0 256.0 191.0 237.0 227.0 158.0 122.0 108.0 168.0 200.0 218.0 276.0 411.0 546.0 618.0 639.0 563.0 571.0 554.0 589.0 543.0 503.0 459.0 319.0 243.0 201.0 241.0 185.0 223.0 225.0 223.0 189.0 243.0 299.0 393.0 476.0 432.0 379.0 324.0 314.0 235.0 279.0 203.0 212.0 224.0 234.0 257.0 241.0 245.0 99.0 -3.0 -137.0 -253.0 -376.0 -483.0 -620.0 -793.0 -903.0 -1053.0 -1122.0 -1123.0 -879.0 -698.0 -732.0 -697.0 -725.0 -682.0 -736.0 -752.0 -813.0 -644.0 -199.0 86.0 278.0 322.0 323.0 318.0 370.0 300.0 245.0 281.0 301.0 235.0 198.0 141.0 122.0 206.0 152.0 141.0 219.0 383.0 509.0 584.0 592.0 550.0 575.0 558.0 497.0 445.0 454.0 467.0 438.0 322.0 253.0 241.0 276.0 272.0 274.0 249.0 223.0 253.0 265.0 382.0 441.0 531.0 493.0 462.0 348.0 316.0 313.0 293.0 292.0 229.0 281.0 258.0 314.0 210.0 110.0 -11.0 -119.0 -259.0 -410.0 -502.0 -565.0 -591.0 -719.0 -851.0 -1001.0 -1131.0 -1132.0 -980.0 -859.0 -726.0 -788.0 -758.0 -805.0 -768.0 -736.0 -568.0 -281.0 -81.0 262.0 348.0 550.0 463.0 449.0 332.0 265.0 344.0 298.0 288.0 120.0 155.0 65.0 116.0 110.0 83.0 160.0 207.0 306.0 372.0 500.0 502.0 514.0 476.0 392.0 391.0 375.0 370.0 355.0 445.0 334.0 203.0 160.0 128.0 168.0 109.0 127.0 57.0 152.0 220.0 301.0 379.0 420.0 456.0 331.0 246.0 158.0 240.0 285.0 334.0 288.0 252.0 224.0 177.0 112.0 -34.0 -96.0 -245.0 -350.0 -473.0 -533.0 -546.0 -608.0 -720.0 -872.0 -1019.0 -1154.0 -1201.0 -1129.0 -1014.0 -969.0 -903.0 -849.0 -808.0 -717.0 -589.0 -403.0 -150.0 82.0 281.0 450.0 524.0 442.0 425.0 384.0 328.0 330.0 241.0 154.0 58.0 47.0 -16.0 -35.0 -37.0 2.0 92.0 180.0 266.0 361.0 396.0 381.0 363.0 311.0 322.0 365.0 359.0 235.0 247.0 345.0 235.0 125.0 66.0 3.0 92.0 108.0 101.0 72.0 205.0 199.0 257.0 315.0 284.0 355.0 308.0 277.0 216.0 266.0 246.0 295.0 240.0 189.0 165.0 139.0 38.0 -94.0 -166.0 -289.0 -316.0 -420.0 -488.0 -553.0 -597.0 -764.0 -932.0 -1100.0 -1296.0 -1263.0 -1234.0 -1041.0 -896.0 -736.0 -650.0 -650.0 -625.0 -606.0 -305.0 -81.0 229.0 416.0 482.0 465.0 380.0 410.0 382.0 368.0 295.0 228.0 135.0 19.0 -13.0 -72.0 -119.0 -89.0 -44.0 -32.0 64.0 200.0 253.0 295.0 347.0 326.0 297.0 288.0 243.0 202.0 161.0 148.0 245.0 196.0 -9.0 -74.0 -123.0 -43.0 18.0 52.0 -26.0 24.0 90.0 92.0 151.0 172.0 250.0 262.0 232.0 152.0 217.0 240.0 265.0 227.0 174.0 113.0 68.0 -3.0 -141.0 -190.0 -256.0 -306.0 -398.0 -477.0 -474.0 -602.0 -835.0 -993.0 -1178.0 -1247.0 -1277.0 -1241.0 -1103.0 -895.0 -736.0 -717.0 -613.0 -559.0 -434.0 -208.0 4.0 232.0 470.0 618.0 567.0 539.0 510.0 437.0 391.0 306.0 163.0 98.0 66.0 -40.0 -133.0 -162.0 -130.0 -67.0 0.0 61.0 178.0 261.0 276.0 302.0 303.0 267.0 247.0 204.0 124.0 97.0 63.0 -4.0 187.0 95.0 -79.0 -161.0 -189.0 -160.0 -134.0 -71.0 -208.0 -6.0 12.0 74.0 126.0 177.0 216.0 202.0 184.0 106.0 227.0 241.0 226.0 138.0 96.0 -27.0 -42.0 -156.0 -197.0 -215.0 -243.0 -376.0 -519.0 -568.0 -647.0 -760.0 -973.0 -1003.0 -1127.0 -1146.0 -1265.0 -1176.0 -1060.0 -743.0 -573.0 -549.0 -477.0 -486.0 -225.0 -7.0 357.0 467.0 713.0 681.0 551.0 523.0 484.0 485.0 431.0 333.0 84.0 73.0 -6.0 -76.0 -97.0 -77.0 -112.0 7.0 70.0 87.0 197.0 287.0 294.0 259.0 232.0 141.0 188.0 180.0 131.0 49.0 -19.0 -36.0 158.0 -14.0 -131.0 -177.0 -205.0 -151.0 -120.0 -86.0 -170.0 99.0 53.0 129.0 159.0 244.0 292.0 282.0 232.0 173.0 328.0 289.0 276.0 153.0 89.0 22.0 -7.0 -125.0 -182.0 -173.0 -268.0 -420.0 -537.0 -652.0 -694.0 -809.0 -867.0 -951.0 -1036.0 -1069.0 -1155.0 -1086.0 -907.0 -568.0 -481.0 -376.0 -385.0 -204.0 51.0 372.0 575.0 681.0 782.0 661.0 706.0 551.0 591.0 506.0 440.0 257.0 112.0 43.0 -69.0 -10.0 -51.0 -7.0 -1.0 88.0 104.0 184.0 232.0 242.0 247.0 203.0 176.0 143.0 159.0 103.0 89.0 -8.0 -50.0 18.0 -26.0 -56.0 -147.0 -202.0 -186.0 -86.0 -88.0 -104.0 20.0 86.0 141.0 128.0 180.0 204.0 318.0 310.0 272.0 327.0 329.0 307.0 174.0 95.0 9.0 -19.0 -61.0 -142.0 -193.0 -246.0 -336.0 -450.0 -549.0 -619.0 -701.0 -797.0 -895.0 -984.0 -1074.0 -1134.0 -1104.0 -999.0 -666.0 -465.0 -357.0 -325.0 -213.0 30.0 335.0 630.0 716.0 800.0 717.0 757.0 665.0 613.0 586.0 528.0 363.0 200.0 88.0 -46.0 45.0 16.0 -2.0 -50.0 62.0 105.0 178.0 221.0 188.0 217.0 222.0 193.0 134.0 170.0 152.0 112.0 78.0 -57.0 -153.0 -218.0 38.0 217.0 11.0 19.0 -174.0 -90.0 -29.0 64.0 46.0 130.0 338.0 181.0 334.0 308.0 401.0 480.0 456.0 332.0 245.0 286.0 181.0 88.0 11.0 -33.0 -82.0 -135.0 -250.0 -284.0 -337.0 -406.0 -469.0 -598.0 -700.0 -789.0 -901.0 -1038.0 -1054.0 -1060.0 -1056.0 -952.0 -695.0 -444.0 -345.0 -214.0 -145.0 99.0 339.0 575.0 691.0 695.0 767.0 678.0 667.0 540.0 525.0 474.0 332.0 251.0 92.0 76.0 57.0 59.0 14.0 -10.0 63.0 64.0 62.0 60.0 67.0 87.0 81.0 102.0 105.0 105.0 104.0 87.0 56.0 -58.0 -102.0 -47.0 -6.0 15.0 27.0 65.0 65.0 41.0 0.0 32.0 157.0 222.0 298.0 329.0 381.0 433.0 470.0 431.0 369.0 329.0 237.0 176.0 97.0 50.0 21.0 24.0 -41.0 -105.0 -152.0 -192.0 -260.0 -311.0 -391.0 -485.0 -563.0 -698.0 -785.0 -853.0 -886.0 -935.0 -927.0 -905.0 -901.0 -753.0 -456.0 -292.0 -90.0 57.0 206.0 318.0 499.0 586.0 523.0 727.0 691.0 697.0 647.0 620.0 471.0 421.0 413.0 239.0 252.0 174.0 103.0 77.0 78.0 -23.0 -1.0 24.0 -33.0 -15.0 41.0 34.0 75.0 134.0 97.0 82.0 66.0 38.0 -31.0 -7.0 61.0 79.0 97.0 76.0 102.0 169.0 224.0 209.0 219.0 298.0 332.0 394.0 408.0 440.0 465.0 463.0 353.0 219.0 188.0 168.0 143.0 84.0 50.0 60.0 46.0 -38.0 -113.0 -132.0 -184.0 -236.0 -308.0 -404.0 -518.0 -636.0 -767.0 -823.0 -822.0 -812.0 -799.0 -837.0 -770.0 -770.0 -468.0 -354.0 -141.0 43.0 139.0 273.0 264.0 496.0 393.0 671.0 681.0 675.0 699.0 622.0 561.0 437.0 512.0 331.0 311.0 254.0 153.0 86.0 75.0 -19.0 -42.0 -11.0 -62.0 -93.0 -40.0 3.0 -17.0 37.0 -3.0 -41.0 -14.0 -54.0 -76.0 -45.0 86.0 83.0 123.0 146.0 130.0 253.0 304.0 422.0 428.0 524.0 477.0 430.0 418.0 419.0 442.0 425.0 365.0 258.0 220.0 193.0 177.0 138.0 173.0 113.0 89.0 30.0 36.0 -25.0 -75.0 -107.0 -202.0 -291.0 -395.0 -461.0 -564.0 -590.0 -605.0 -645.0 -669.0 -668.0 -695.0 -718.0 -667.0 -408.0 -288.0 -117.0 8.0 69.0 145.0 251.0 442.0 386.0 606.0 674.0 688.0 682.0 641.0 583.0 494.0 562.0 411.0 389.0 352.0 259.0 155.0 120.0 33.0 -56.0 -47.0 -89.0 -101.0 -71.0 -78.0 -187.0 -208.0 -233.0 -223.0 -155.0 -101.0 -60.0 16.0 91.0 55.0 112.0 177.0 296.0 415.0 453.0 460.0 443.0 487.0 419.0 434.0 434.0 423.0 343.0 226.0 177.0 152.0 192.0 180.0 133.0 73.0 41.0 17.0 -3.0 -11.0 8.0 -37.0 -90.0 -198.0 -247.0 -315.0 -353.0 -393.0 -460.0 -498.0 -565.0 -583.0 -679.0 -690.0 -705.0 -705.0 -619.0 -477.0 -414.0 -283.0 -181.0 -90.0 -31.0 130.0 208.0 261.0 535.0 532.0 600.0 566.0 604.0 457.0 465.0 516.0 401.0 470.0 373.0 276.0 114.0 76.0 -82.0 -131.0 -122.0 -158.0 -201.0 -228.0 -335.0 -449.0 -412.0 -403.0 -301.0 -218.0 -124.0 -107.0 -72.0 -44.0 67.0 154.0 304.0 404.0 449.0 458.0 419.0 458.0 437.0 554.0 512.0 502.0 396.0 293.0 238.0 156.0 183.0 150.0 153.0 107.0 32.0 -31.0 -59.0 -69.0 -38.0 -35.0 -31.0 -91.0 -119.0 -162.0 -213.0 -209.0 -259.0 -307.0 -349.0 -435.0 -520.0 -574.0 -614.0 -607.0 -672.0 -615.0 -580.0 -502.0 -387.0 -312.0 -181.0 -147.0 4.0 38.0 98.0 285.0 340.0 459.0 451.0 486.0 465.0 493.0 582.0 489.0 539.0 478.0 390.0 278.0 182.0 105.0 -3.0 -12.0 -135.0 -263.0 -314.0 -410.0 -479.0 -488.0 -436.0 -400.0 -367.0 -306.0 -308.0 -268.0 -160.0 -63.0 40.0 198.0 300.0 356.0 390.0 450.0 454.0 516.0 547.0 530.0 556.0 504.0 427.0 318.0 292.0 238.0 200.0 150.0 119.0 88.0 36.0 -20.0 -59.0 -51.0 -61.0 -61.0 -70.0 -56.0 -117.0 -153.0 -204.0 -256.0 -292.0 -288.0 -319.0 -375.0 -411.0 -458.0 -476.0 -550.0 -587.0 -622.0 -540.0 -482.0 -408.0 -380.0 -376.0 -332.0 -300.0 -167.0 -118.0 22.0 97.0 222.0 286.0 343.0 425.0 442.0 519.0 493.0 529.0 503.0 497.0 425.0 328.0 241.0 133.0 29.0 -91.0 -170.0 -254.0 -303.0 -365.0 -424.0 -486.0 -491.0 -501.0 -462.0 -430.0 -346.0 -245.0 -184.0 -73.0 15.0 108.0 206.0 319.0 360.0 397.0 473.0 481.0 481.0 519.0 539.0 529.0 459.0 409.0 342.0 312.0 310.0 257.0 232.0 178.0 151.0 76.0 9.0 -12.0 -9.0 -21.0 -94.0 -180.0 -267.0 -318.0 -349.0 -373.0 -381.0 -390.0 -426.0 -500.0 -551.0 -571.0 -573.0 -555.0 -503.0 -450.0 -441.0 -428.0 -441.0 -386.0 -347.0 -282.0 -198.0 -162.0 -45.0 76.0 178.0 220.0 296.0 344.0 344.0 370.0 374.0 388.0 423.0 411.0 372.0 311.0 211.0 127.0 48.0 22.0 -40.0 -68.0 -151.0 -265.0 -342.0 -431.0 -426.0 -416.0 -360.0 -362.0 -369.0 -331.0 -311.0 -243.0 -143.0 -38.0 97.0 154.0 201.0 229.0 257.0 328.0 374.0 505.0 505.0 537.0 526.0 474.0 472.0 430.0 455.0 425.0 421.0 374.0 315.0 308.0 250.0 209.0 154.0 72.0 10.0 -84.0 -124.0 -183.0 -223.0 -245.0 -334.0 -399.0 -491.0 -530.0 -563.0 -565.0 -548.0 -590.0 -621.0 -683.0 -712.0 -680.0 -627.0 -550.0 -497.0 -451.0 -385.0 -338.0 -273.0 -202.0 -93.0 10.0 100.0 190.0 221.0 286.0 319.0 337.0 352.0 374.0 405.0 397.0 391.0 356.0 316.0 249.0 159.0 71.0 2.0 -32.0 -80.0 -115.0 -181.0 -244.0 -308.0 -359.0 -387.0 -380.0 -290.0 -285.0 -205.0 -176.0 -128.0 -76.0 -23.0 91.0 138.0 305.0 348.0 415.0 440.0 460.0 492.0 479.0 553.0 568.0 613.0 609.0 558.0 529.0 482.0 438.0 375.0 335.0 291.0 185.0 142.0 26.0 -81.0 -150.0 -216.0 -284.0 -385.0 -420.0 -493.0 -566.0 -611.0 -641.0 -688.0 -692.0 -658.0 -637.0 -621.0 -579.0 -530.0 -499.0 -412.0 -351.0 -276.0 -177.0 -102.0 -4.0 83.0 177.0 240.0 276.0 318.0 332.0 365.0 410.0 430.0 442.0 445.0 384.0 297.0 210.0 166.0 127.0 96.0 63.0 8.0 -54.0 -128.0 -188.0 -243.0 -247.0 -247.0 -230.0 -242.0 -216.0 -179.0 -153.0 -88.0 -37.0 24.0 69.0 124.0 142.0 172.0 214.0 246.0 281.0 307.0 323.0 333.0 350.0 367.0 370.0 370.0 379.0 357.0 346.0 309.0 311.0 292.0 264.0 248.0 204.0 149.0 93.0 66.0 38.0 50.0 -26.0 -70.0 -163.0 -273.0 -308.0 -397.0 -436.0 -452.0 -459.0 -463.0 -497.0 -532.0 -504.0 -491.0 -419.0 -381.0 -337.0 -251.0 -222.0 -130.0 -64.0 34.0 110.0 142.0 176.0 195.0 247.0 298.0 328.0 340.0 327.0 278.0 237.0 187.0 188.0 169.0 133.0 85.0 28.0 -50.0 -122.0 -144.0 -176.0 -167.0 -163.0 -159.0 -170.0 -164.0 -142.0 -130.0 -69.0 -31.0 24.0 55.0 39.0 89.0 69.0 98.0 122.0 130.0 179.0 152.0 158.0 137.0 134.0 179.0 145.0 169.0 148.0 137.0 211.0 156.0 160.0 219.0 196.0 235.0 230.0 183.0 256.0 212.0 256.0 194.0 164.0 158.0 29.0 50.0 -39.0 -39.0 -58.0 -109.0 -144.0 -198.0 -239.0 -231.0 -257.0 -241.0 -228.0 -249.0 -220.0 -235.0 -180.0 -148.0 -91.0 -35.0 -16.0 25.0 50.0 75.0 87.0 113.0 137.0 135.0 129.0 107.0 106.0 87.0 50.0 39.0 5.0 -30.0 -80.0 -95.0 -104.0 -136.0 -124.0 -102.0 -140.0 -111.0 -128.0 -142.0 -90.0 -103.0 -47.0 -3.0 -44.0 -20.0 -11.0 -84.0 -8.0 -45.0 -27.0 -18.0 -22.0 -26.0 -53.0 -16.0 -59.0 15.0 3.0 61.0 115.0 131.0 167.0 215.0 234.0 296.0 338.0 362.0 403.0 377.0 410.0 348.0 355.0 287.0 272.0 247.0 182.0 164.0 76.0 28.0 -23.0 -90.0 -143.0 -178.0 -242.0 -260.0 -335.0 -335.0 -351.0 -355.0 -307.0 -312.0 -249.0 -207.0 -172.0 -141.0 -96.0 -91.0 -34.0 0.0 -14.0 77.0 108.0 90.0 151.0 87.0 43.0 104.0 -49.0 24.0 -44.0 -94.0 -19.0 -214.0 -123.0 -262.0 -256.0 -202.0 -349.0 -185.0 -285.0 -240.0 -173.0 -301.0 -135.0 -242.0 -178.0 -80.0 -229.0 -60.0 -162.0 -129.0 -44.0 -157.0 -36.0 -58.0 -50.0 33.0 -37.0 80.0 87.0 115.0 201.0 136.0 243.0 218.0 279.0 318.0 298.0 380.0 323.0 346.0 357.0 310.0 371.0 336.0 330.0 319.0 218.0 234.0 117.0 97.0 83.0 16.0 8.0 -104.0 -123.0 -183.0 -194.0 -184.0 -203.0 -158.0 -179.0 -183.0 -157.0 -183.0 -112.0 -95.0 -79.0 -9.0 -37.0 40.0 16.0 80.0 70.0 64.0 85.0 -6.0 52.0 -56.0 2.0 -54.0 -116.0 -86.0 -221.0 -193.0 -254.0 -249.0 -274.0 -256.0 -273.0 -306.0 -261.0 -313.0 -248.0 -276.0 -229.0 -213.0 -209.0 -176.0 -165.0 -155.0 -95.0 -105.0 -64.0 -9.0 -76.0 58.0 -25.0 39.0 80.0 32.0 135.0 79.0 137.0 154.0 154.0 204.0 208.0 230.0 262.0 257.0 265.0 282.0 293.0 309.0 322.0 309.0 303.0 291.0 252.0 271.0 190.0 217.0 158.0 67.0 93.0 -58.0 -7.0 -75.0 -108.0 -72.0 -206.0 -144.0 -246.0 -205.0 -208.0 -226.0 -118.0 -198.0 -101.0 -105.0 -102.0 -27.0 -44.0 -11.0 8.0 -23.0 -1.0 -7.0 -21.0 11.0 -45.0 -5.0 -30.0 -63.0 -45.0 -130.0 -91.0 -141.0 -170.0 -163.0 -216.0 -203.0 -222.0 -246.0 -240.0 -250.0 -266.0 -220.0 -234.0 -177.0 -164.0 -148.0 -118.0 -128.0 -69.0 -61.0 -32.0 20.0 39.0 46.0 83.0 61.0 101.0 121.0 120.0 149.0 146.0 163.0 164.0 173.0 183.0 211.0 207.0 230.0 239.0 242.0 267.0 243.0 257.0 234.0 225.0 211.0 174.0 168.0 99.0 91.0 21.0 -14.0 -27.0 -84.0 -81.0 -142.0 -122.0 -159.0 -164.0 -130.0 -169.0 -110.0 -114.0 -95.0 -61.0 -98.0 -52.0 -59.0 -72.0 -43.0 -67.0 -32.0 -39.0 -36.0 -27.0 -48.0 -39.0 -45.0 -39.0 -54.0 -66.0 -92.0 -114.0 -138.0 -159.0 -159.0 -187.0 -201.0 -215.0 -241.0 -233.0 -233.0 -222.0 -177.0 -179.0 -138.0 -117.0 -117.0 -69.0 -51.0 -22.0 8.0 29.0 39.0 50.0 60.0 83.0 77.0 96.0 100.0 83.0 91.0 64.0 85.0 99.0 115.0 134.0 141.0 170.0 184.0 197.0 221.0 240.0 251.0 250.0 239.0 217.0 204.0 163.0 128.0 91.0 43.0 27.0 -31.0 -54.0 -80.0 -109.0 -109.0 -137.0 -141.0 -142.0 -136.0 -123.0 -119.0 -111.0 -102.0 -94.0 -92.0 -81.0 -70.0 -57.0 -38.0 -28.0 -25.0 -11.0 -19.0 -11.0 -2.0 -17.0 0.0 -16.0 -14.0 -37.0 -59.0 -79.0 -106.0 -101.0 -132.0 -120.0 -146.0 -142.0 -135.0 -132.0 -99.0 -98.0 -60.0 -39.0 -12.0 6.0 22.0 42.0 54.0 67.0 78.0 67.0 64.0 56.0 37.0 27.0 6.0 -9.0 -39.0 -50.0 -55.0 -51.0 -38.0 -8.0 17.0 41.0 76.0 106.0 150.0 182.0 226.0 246.0 251.0 257.0 244.0 226.0 207.0 185.0 154.0 129.0 101.0 51.0 17.0 -12.0 -40.0 -66.0 -84.0 -104.0 -130.0 -141.0 -154.0 -147.0 -145.0 -137.0 -131.0 -118.0 -94.0 -73.0 -45.0 -28.0 6.0 23.0 43.0 53.0 72.0 88.0 87.0 106.0 92.0 80.0 55.0 37.0 8.0 -17.0 -29.0 -65.0 -80.0 -99.0 -113.0 -120.0 -114.0 -103.0 -89.0 -64.0 -35.0 -9.0 11.0 42.0 56.0 72.0 89.0 98.0 103.0 93.0 100.0 84.0 57.0 41.0 20.0 21.0 12.0 25.0 24.0 39.0 50.0 61.0 86.0 108.0 141.0 158.0 188.0 201.0 219.0 221.0 223.0 219.0 202.0 191.0 174.0 149.0 117.0 90.0 49.0 26.0 -4.0 -37.0 -59.0 -81.0 -109.0 -120.0 -125.0 -130.0 -124.0 -114.0 -102.0 -93.0 -77.0 -59.0 -33.0 -12.0 8.0 34.0 66.0 79.0 99.0 113.0 124.0 134.0 135.0 129.0 114.0 99.0 73.0 49.0 19.0 -10.0 -41.0 -65.0 -92.0 -104.0 -108.0 -105.0 -99.0 -94.0 -69.0 -49.0 -24.0 -9.0 22.0 37.0 53.0 75.0 83.0 92.0 97.0 94.0 80.0 71.0 62.0 55.0 48.0 49.0 41.0 41.0 31.0 29.0 38.0 43.0 49.0 57.0 74.0 76.0 85.0 89.0 96.0 92.0 87.0 81.0 78.0 71.0 61.0 57.0 42.0 33.0 14.0 2.0 -13.0 -30.0 -35.0 -45.0 -45.0 -47.0 -53.0 -54.0 -61.0 -60.0 -50.0 -52.0 -43.0 -33.0 -22.0 -6.0 9.0 27.0 45.0 63.0 73.0 80.0 80.0 77.0 74.0 67.0 62.0 44.0 22.0 -2.0 -29.0 -57.0 -75.0 -90.0 -103.0 -109.0 -115.0 -121.0 -118.0 -106.0 -95.0 -91.0 -74.0 -55.0 -39.0 -18.0 -9.0 10.0 14.0 22.0 27.0 36.0 49.0 49.0 59.0 68.0 85.0 85.0 86.0 93.0 89.0 85.0 77.0 73.0 68.0 63.0 54.0 40.0 24.0 8.0 1.0 -15.0 -36.0 -43.0 -50.0 -55.0 -69.0 -76.0 -72.0 -79.0 -76.0 -75.0 -69.0 -56.0 -49.0 -49.0 -47.0 -31.0 -25.0 -23.0 -20.0 -13.0 -8.0 -6.0 -3.0 7.0 14.0 20.0 23.0 26.0 25.0 27.0 31.0 21.0 14.0 8.0 2.0 -11.0 -29.0 -38.0 -59.0 -79.0 -98.0 -110.0 -126.0 -136.0 -128.0 -136.0 -132.0 -133.0 -135.0 -131.0 -124.0 -107.0 -93.0 -73.0 -61.0 -51.0 -44.0 -32.0 -16.0 2.0 19.0 41.0 58.0 70.0 81.0 84.0 94.0 92.0 95.0 84.0 74.0 60.0 42.0 29.0 11.0 -3.0 -19.0 -37.0 -50.0 -59.0 -72.0 -74.0 -78.0 -78.0 -68.0 -63.0 -59.0 -55.0 -46.0 -37.0 -28.0 -16.0 -12.0 0.0 9.0 10.0 15.0 13.0 16.0 11.0 11.0 7.0 4.0 -1.0 -7.0 -13.0 -20.0 -22.0 -31.0 -35.0 -36.0 -37.0 -44.0 -54.0 -60.0 -68.0 -84.0 -95.0 -101.0 -107.0 -109.0 -124.0 -130.0 -131.0 -138.0 -136.0 -142.0 -143.0 -144.0 -148.0 -143.0 -146.0 -147.0 -141.0 -139.0 -135.0 -124.0 -119.0 -98.0 -82.0 -64.0 -46.0 -26.0 -9.0 3.0 18.0 20.0 21.0 22.0 21.0 8.0 -2.0 -9.0 -20.0 -29.0 -40.0 -51.0 -58.0 -70.0 -76.0 -77.0 -82.0 -86.0 -88.0 -84.0 -68.0 -51.0 -38.0 -26.0 -11.0 0.0 15.0 41.0 65.0 86.0 99.0 111.0 108.0 104.0 105.0 91.0 87.0 79.0 64.0 49.0 32.0 10.0 -16.0 -32.0 -50.0 -65.0 -80.0 -94.0 -111.0 -128.0 -134.0 -145.0 -148.0 -156.0 -152.0 -141.0 -133.0 -127.0 -117.0 -109.0 -101.0 -96.0 -92.0 -84.0 -75.0 -75.0 -75.0 -73.0 -74.0 -77.0 -78.0 -68.0 -59.0 -53.0 -52.0 -46.0 -46.0 -43.0 -39.0 -37.0 -34.0 -33.0 -34.0 -46.0 -52.0 -64.0 -66.0 -60.0 -61.0 -61.0 -61.0 -67.0 -70.0 -76.0 -74.0 -69.0 -65.0 -58.0 -52.0 -46.0 -35.0 -23.0 -11.0 7.0 27.0 44.0 55.0 75.0 92.0 98.0 106.0 101.0 93.0 90.0 83.0 70.0 59.0 42.0 23.0 5.0 -21.0 -35.0 -52.0 -70.0 -82.0 -100.0 -118.0 -124.0 -129.0 -130.0 -125.0 -123.0 -112.0 -111.0 -99.0 -93.0 -82.0 -71.0 -55.0 -41.0 -42.0 -38.0 -38.0 -44.0 -42.0 -46.0 -48.0 -47.0 -53.0 -59.0 -70.0 -64.0 -68.0 -71.0 -74.0 -73.0 -69.0 -73.0 -73.0 -70.0 -72.0 -75.0 -77.0 -81.0 -80.0 -78.0 -70.0 -69.0 -67.0 -68.0 -69.0 -73.0 -71.0 -67.0 -67.0 -64.0 -59.0 -53.0 -49.0 -49.0 -35.0 -22.0 -14.0 0.0 4.0 16.0 27.0 37.0 55.0 64.0 65.0 70.0 69.0 67.0 65.0 67.0 63.0 49.0 40.0 23.0 7.0 -3.0 -18.0 -29.0 -40.0 -47.0 -60.0 -69.0 -67.0 -72.0 -70.0 -57.0 -52.0 -46.0 -31.0 -29.0 -18.0 -12.0 1.0 13.0 13.0 18.0 14.0 14.0 7.0 1.0 0.0 -7.0 -11.0 -16.0 -14.0 -15.0 -16.0 -16.0 -22.0 -21.0 -16.0 -18.0 -15.0 -5.0 -5.0 -7.0 -6.0 -6.0 -2.0 0.0 -3.0 -1.0 1.0 -9.0 -16.0 -22.0 -27.0 -24.0 -27.0 -33.0 -38.0 -39.0 -40.0 -40.0 -35.0 -32.0 -28.0 -25.0 -23.0 -18.0 -7.0 2.0 11.0 18.0 24.0 22.0 25.0 39.0 46.0 50.0 52.0 47.0 38.0 34.0 27.0 24.0 19.0 16.0 4.0 -6.0 -7.0 -13.0 -9.0 -1.0 0.0 7.0 6.0 13.0 23.0 25.0 31.0 37.0 48.0 50.0 46.0 49.0 46.0 43.0 42.0 36.0 28.0 18.0 12.0 3.0 -3.0 -7.0 -17.0 -22.0 -26.0 -32.0 -33.0 -32.0 -25.0 -20.0 -17.0 -18.0 -19.0 -18.0 -14.0 -10.0 -7.0 -6.0 -7.0 -8.0 -10.0 -14.0 -12.0 -18.0 -20.0 -18.0 -24.0 -33.0 -34.0 -34.0 -41.0 -44.0 -48.0 -49.0 -46.0 -43.0 -39.0 -29.0 -14.0 -5.0 -2.0 3.0 13.0 26.0 36.0 45.0 49.0 47.0 47.0 48.0 49.0 47.0 50.0 50.0 40.0 37.0 40.0 38.0 45.0 53.0 59.0 69.0 75.0 76.0 84.0 95.0 105.0 125.0 134.0 139.0 141.0 138.0 140.0 139.0 141.0 144.0 137.0 122.0 107.0 97.0 78.0 70.0 62.0 50.0 40.0 25.0 16.0 5.0 3.0 6.0 1.0 -8.0 -11.0 -10.0 -14.0 -12.0 -11.0 -7.0 -8.0 -11.0 -11.0 -15.0 -6.0 -6.0 -12.0 -22.0 -29.0 -32.0 -41.0 -43.0 -55.0 -57.0 -64.0 -76.0 -78.0 -85.0 -83.0 -76.0 -71.0 -64.0 -59.0 -53.0 -39.0 -31.0 -18.0 -10.0 -2.0 11.0 16.0 29.0 32.0 34.0 40.0 40.0 43.0 46.0 42.0 51.0 57.0 58.0 67.0 74.0 77.0 87.0 93.0 99.0 107.0 114.0 122.0 126.0 134.0 133.0 137.0 133.0 133.0 134.0 127.0 121.0 113.0 98.0 84.0 71.0 61.0 51.0 43.0 31.0 19.0 7.0 -5.0 -17.0 -23.0 -30.0 -36.0 -36.0 -44.0 -46.0 -44.0 -51.0 -53.0 -49.0 -44.0 -47.0 -41.0 -37.0 -40.0 -44.0 -46.0 -48.0 -53.0 -48.0 -49.0 -56.0 -59.0 -58.0 -60.0 -66.0 -62.0 -61.0 -56.0 -50.0 -46.0 -36.0 -27.0 -17.0 -8.0 0.0 6.0 16.0 27.0 37.0 49.0 54.0 56.0 58.0 61.0 67.0 73.0 83.0 87.0 91.0 96.0 95.0 97.0 103.0 110.0 118.0 126.0 131.0 136.0 141.0 146.0 148.0 157.0 164.0 159.0 154.0 144.0 143.0 131.0 121.0 116.0 100.0 89.0 77.0 59.0 43.0 33.0 18.0 3.0 -6.0 -18.0 -20.0 -27.0 -33.0 -30.0 -32.0 -38.0 -38.0 -33.0 -35.0 -25.0 -19.0 -13.0 -11.0 -7.0 -2.0 -3.0 9.0 33.0 62.0 107.0 68.0 -47.0 -67.0 -89.0 -55.0 3.0 -50.0 -35.0 -5.0 7.0 23.0 -6.0 -52.0 -57.0 -56.0 -31.0 -2.0 19.0 42.0 42.0 55.0 54.0 77.0 82.0 89.0 97.0 100.0 109.0 116.0 123.0 129.0 141.0 131.0 147.0 141.0 131.0 142.0 131.0 144.0 150.0 124.0 154.0 123.0 133.0 136.0 103.0 127.0 98.0 99.0 92.0 85.0 86.0 59.0 47.0 41.0 9.0 22.0 6.0 -7.0 1.0 -17.0 0.0 -8.0 -3.0 -10.0 -7.0 -11.0 -11.0 0.0 -8.0 7.0 1.0 -3.0 5.0 2.0 7.0 14.0 15.0 14.0 36.0 20.0 34.0 46.0 31.0 58.0 41.0 52.0 57.0 49.0 65.0 47.0 56.0 47.0 62.0 42.0 56.0 46.0 29.0 82.0 2.0 73.0 20.0 26.0 67.0 14.0 84.0 29.0 72.0 60.0 61.0 81.0 59.0 93.0 66.0 98.0 93.0 75.0 110.0 95.0 122.0 106.0 147.0 101.0 138.0 128.0 95.0 129.0 106.0 121.0 72.0 148.0 18.0 115.0 82.0 13.0 101.0 13.0 25.0 80.0 -6.0 44.0 76.0 -71.0 157.0 -49.0 52.0 131.0 -107.0 200.0 1.0 31.0 215.0 -106.0 206.0 26.0 69.0 189.0 -79.0 281.0 -102.0 204.0 74.0 -27.0 261.0 -115.0 241.0 -51.0 82.0 120.0 -70.0 226.0 -65.0 110.0 97.0 -67.0 142.0 -82.0 19.0 56.0 -80.0 37.0 -30.0 13.0 7.0 16.0 8.0 -31.0 57.0 -27.0 18.0 53.0 -22.0 46.0 29.0 56.0 -14.0 114.0 -18.0 39.0 136.0 -71.0 159.0 23.0 33.0 70.0 52.0 25.0 59.0 117.0 -34.0 149.0 13.0 42.0 58.0 18.0 38.0 -3.0 115.0 -97.0 157.0 -52.0 47.0 95.0 -91.0 201.0 -105.0 114.0 98.0 -121.0 292.0 -151.0 117.0 136.0 -168.0 330.0 -178.0 174.0 -11.0 42.0 7.0 103.0 -45.0 14.0 211.0 -288.0 377.0 -235.0 142.0 15.0 19.0 15.0 21.0 103.0 -124.0 213.0 -138.0 83.0 -24.0 17.0 -44.0 44.0 -110.0 85.0 -163.0 80.0 -119.0 -78.0 108.0 -230.0 146.0 -217.0 116.0 -205.0 143.0 -227.0 107.0 -159.0 41.0 73.0 -297.0 400.0 -533.0 417.0 -216.0 38.0 189.0 -206.0 296.0 -229.0 228.0 -60.0 -55.0 241.0 -251.0 267.0 -19.0 -61.0 296.0 -254.0 256.0 -17.0 -54.0 199.0 -45.0 30.0 208.0 -63.0 169.0 57.0 -12.0 116.0 115.0 -114.0 252.0 -104.0 44.0 325.0 -431.0 586.0 -475.0 362.0 -87.0 -95.0 345.0 -383.0 394.0 -169.0 59.0 12.0 146.0 -237.0 361.0 -100.0 -150.0 510.0 -601.0 469.0 -139.0 -266.0 483.0 -567.0 345.0 -154.0 -139.0 129.0 -287.0 142.0 -302.0 67.0 -157.0 -168.0 110.0 -284.0 0.0 -38.0 -218.0 72.0 -126.0 -63.0 15.0 -168.0 58.0 -195.0 65.0 22.0 -212.0 297.0 -271.0 120.0 23.0 -139.0 179.0 -243.0 305.0 -165.0 -15.0 232.0 -332.0 190.0 -11.0 -240.0 244.0 -134.0 35.0 24.0 111.0 -128.0 -58.0 366.0 -730.0 880.0 -539.0 124.0 428.0 -776.0 741.0 -613.0 175.0 -9.0 -160.0 4.0 161.0 -356.0 326.0 -304.0 6.0 83.0 -448.0 483.0 -588.0 502.0 -313.0 133.0 132.0 -309.0 338.0 -197.0 -126.0 453.0 -680.0 503.0 -218.0 -384.0 670.0 -881.0 528.0 -244.0 -202.0 195.0 -269.0 -101.0 20.0 -198.0 -59.0 -161.0 -20.0 -314.0 111.0 -261.0 -147.0 163.0 -461.0 293.0 -277.0 51.0 -77.0 -21.0 -178.0 46.0 -107.0 66.0 -78.0 46.0 30.0 -228.0 306.0 -274.0 125.0 71.0 -200.0 -25.0 172.0 -378.0 232.0 -16.0 -292.0 349.0 -419.0 205.0 -218.0 22.0 79.0 -458.0 503.0 -576.0 247.0 31.0 -534.0 564.0 -653.0 316.0 -215.0 -209.0 312.0 -493.0 383.0 -457.0 229.0 -200.0 -135.0 291.0 -615.0 456.0 -252.0 -202.0 340.0 -516.0 263.0 -199.0 -88.0 -107.0 4.0 -121.0 -464.0 657.0 -1182.0 733.0 -355.0 -655.0 715.0 -817.0 136.0 -51.0 -137.0 -353.0 331.0 -581.0 16.0 122.0 -522.0 376.0 -170.0 -254.0 252.0 -249.0 -176.0 261.0 -563.0 354.0 -282.0 -111.0 331.0 -611.0 459.0 -378.0 -137.0 89.0 -295.0 203.0 -350.0 369.0 -400.0 13.0 157.0 -348.0 50.0 68.0 -107.0 -185.0 472.0 -570.0 129.0 411.0 -873.0 596.0 43.0 -887.0 1150.0 -840.0 -127.0 624.0 -994.0 480.0 -216.0 -95.0 -142.0 -136.0 110.0 -339.0 253.0 -128.0 -368.0 24.0 50.0 -449.0 269.0 -258.0 -172.0 105.0 -120.0 47.0 -373.0 558.0 -691.0 256.0 -33.0 -243.0 49.0 57.0 88.0 -558.0 735.0 -767.0 -68.0 393.0 -639.0 69.0 214.0 -428.0 143.0 -112.0 -95.0 -274.0 -3.0 222.0 -564.0 375.0 17.0 -406.0 175.0 127.0 -647.0 397.0 118.0 -554.0 507.0 139.0 -461.0 640.0 -350.0 -233.0 395.0 -440.0 195.0 -273.0 366.0 -294.0 243.0 -76.0 -293.0 328.0 -409.0 210.0 -187.0 -78.0 -199.0 113.0 -300.0 175.0 279.0 -184.0 310.0 -134.0 -250.0 174.0 -461.0 -57.0 289.0 -800.0 619.0 -505.0 -139.0 320.0 -357.0 86.0 -88.0 141.0 -341.0 450.0 -428.0 -107.0 306.0 -506.0 54.0 379.0 -285.0 168.0 480.0 -753.0 511.0 -25.0 -478.0 741.0 -413.0 192.0 377.0 -650.0 394.0 -340.0 -303.0 296.0 -359.0 -135.0 365.0 -255.0 -34.0 371.0 -566.0 442.0 -225.0 -54.0 188.0 -171.0 55.0 94.0 65.0 -128.0 437.0 -360.0 204.0 -104.0 -222.0 211.0 -373.0 342.0 -160.0 61.0 302.0 -301.0 387.0 -496.0 239.0 -279.0 -357.0 386.0 -542.0 377.0 -40.0 -81.0 -6.0 -8.0 -216.0 -57.0 -186.0 -193.0 -60.0 -112.0 50.0 -50.0 83.0 -182.0 37.0 -171.0 -77.0 -163.0 -72.0 -119.0 46.0 174.0 -96.0 259.0 23.0 42.0 27.0 -31.0 -39.0 -165.0 175.0 -205.0 81.0 195.0 -256.0 110.0 -277.0 -10.0 -175.0 -51.0 31.0 -206.0 229.0 -62.0 66.0 -37.0 -114.0 -130.0 -229.0 24.0 -2.0 123.0 144.0 -24.0 167.0 -82.0 -28.0 -129.0 -97.0 -37.0 12.0 144.0 -112.0 158.0 3.0 -91.0 -29.0 5.0 -89.0 -29.0 -41.0 -12.0 13.0 106.0 -120.0 -161.0 14.0 -254.0 98.0 -171.0 -96.0 48.0 -84.0 34.0 -110.0 -105.0 -31.0 -153.0 -150.0 -59.0 -38.0 78.0 157.0 82.0 -86.0 19.0 -109.0 -59.0 -39.0 -28.0 -17.0 42.0 139.0 10.0 175.0 7.0 -38.0 87.0 -191.0 -54.0 -39.0 -123.0 105.0 -81.0 21.0 76.0 101.0 3.0 -68.0 -33.0 -89.0 -59.0 -105.0 19.0 -20.0 27.0 42.0 86.0 30.0 59.0 72.0 -98.0 44.0 113.0 14.0 -9.0 -10.0 -89.0 -1.0 -25.0 26.0 84.0 -8.0 219.0 139.0 -8.0 108.0 -149.0 -218.0 -105.0 -216.0 -97.0 98.0 139.0 221.0 237.0 35.0 71.0 -58.0 -75.0 -110.0 -81.0 84.0 53.0 208.0 155.0 139.0 102.0 111.0 -94.0 -55.0 -63.0 -114.0 67.0 -15.0 69.0 -2.0 112.0 131.0 24.0 82.0 -24.0 28.0 37.0 11.0 39.0 107.0 95.0 155.0 148.0 16.0 181.0 89.0 26.0 50.0 -18.0 7.0 123.0 95.0 107.0 91.0 186.0 107.0 -34.0 88.0 -130.0 6.0 -15.0 -73.0 73.0 122.0 133.0 96.0 77.0 20.0 83.0 97.0 38.0 71.0 90.0 116.0 97.0 42.0 146.0 87.0 27.0 18.0 46.0 119.0 23.0 38.0 89.0 8.0 110.0 -6.0 -55.0 84.0 -31.0 -58.0 -64.0 -14.0 -45.0 -85.0 -28.0 -112.0 -2.0 92.0 -38.0 -72.0 65.0 -83.0 -152.0 -80.0 -134.0 -17.0 64.0 72.0 -48.0 96.0 57.0 -45.0 44.0 -24.0 -14.0 82.0 21.0 52.0 109.0 72.0 83.0 -23.0 95.0 -33.0 -50.0 -75.0 -79.0 -12.0 -121.0 -33.0 28.0 83.0 5.0 19.0 -59.0 -131.0 -83.0 -140.0 -114.0 24.0 103.0 45.0 53.0 44.0 27.0 43.0 -30.0 6.0 6.0 -19.0 -3.0 -34.0 52.0 -14.0 14.0 25.0 -8.0 39.0 -64.0 -105.0 -125.0 -103.0 -146.0 -58.0 -39.0 -11.0 56.0 8.0 34.0 -8.0 28.0 -137.0 -109.0 -57.0 -114.0 -40.0 -24.0 19.0 44.0 74.0 60.0 61.0 37.0 -65.0 -59.0 -33.0 -80.0 -31.0 -26.0 19.0 33.0 86.0 27.0 -25.0 65.0 32.0 -57.0 15.0 40.0 -21.0 19.0 -25.0 68.0 12.0 12.0 39.0 -11.0 105.0 14.0 8.0 20.0 -56.0 5.0 -54.0 -72.0 -45.0 -32.0 -26.0 -26.0 -5.0 15.0 8.0 -33.0 29.0 1.0 -21.0 31.0 68.0 4.0 -23.0 9.0 4.0 12.0 -13.0 29.0 -29.0 28.0 45.0 -52.0 67.0 35.0 -12.0 2.0 10.0 16.0 24.0 25.0 -9.0 10.0 86.0 9.0 -17.0 68.0 -23.0 -31.0 -72.0 -11.0 -49.0 -80.0 -15.0 -71.0 -9.0 -61.0 -110.0 -71.0 -102.0 -118.0 -52.0 -54.0 -64.0 0.0 -21.0 -54.0 33.0 40.0 -25.0 -28.0 -16.0 -61.0 -48.0 -58.0 -11.0 18.0 42.0 87.0 -20.0 93.0 40.0 -22.0 55.0 -12.0 31.0 5.0 -68.0 8.0 -7.0 44.0 87.0 21.0 70.0 59.0 47.0 49.0 20.0 9.0 -18.0 3.0 50.0 -6.0 91.0 112.0 65.0 112.0 55.0 23.0 14.0 23.0 11.0 0.0 6.0 47.0 32.0 54.0 15.0 23.0 80.0 -20.0 -17.0 -48.0 -70.0 -63.0 -86.0 -111.0 -83.0 2.0 -68.0 -38.0 16.0 35.0 77.0 27.0 22.0 -64.0 11.0 -11.0 -36.0 69.0 -13.0 59.0 38.0 53.0 66.0 -13.0 43.0 26.0 56.0 47.0 43.0 111.0 63.0 98.0 122.0 62.0 109.0 37.0 44.0 45.0 52.0 141.0 100.0 198.0 141.0 153.0 151.0 28.0 74.0 41.0 22.0 28.0 87.0 103.0 104.0 89.0 63.0 100.0 -1.0 2.0 2.0 -63.0 39.0 -3.0 18.0 92.0 62.0 146.0 59.0 41.0 64.0 -49.0 35.0 -24.0 16.0 46.0 13.0 67.0 -13.0 72.0 -3.0 49.0 109.0 54.0 101.0 51.0 106.0 38.0 33.0 49.0 -32.0 3.0 4.0 -4.0 34.0 31.0 -6.0 -4.0 -19.0 -10.0 -32.0 10.0 17.0 36.0 87.0 23.0 97.0 119.0 65.0 66.0 69.0 56.0 63.0 99.0 83.0 80.0 123.0 116.0 85.0 116.0 83.0 72.0 62.0 54.0 99.0 88.0 57.0 44.0 52.0 46.0 57.0 53.0 9.0 77.0 71.0 108.0 84.0 98.0 109.0 -20.0 75.0 -17.0 11.0 48.0 11.0 47.0 95.0 84.0 33.0 36.0 7.0 10.0 3.0 66.0 23.0 119.0 71.0 71.0 134.0 56.0 60.0 21.0 16.0 -17.0 22.0 -4.0 -7.0 55.0 49.0 31.0 51.0 85.0 45.0 9.0 35.0 21.0 18.0 23.0 15.0 37.0 73.0 71.0 45.0 104.0 98.0 73.0 95.0 47.0 -11.0 112.0 29.0 6.0 109.0 31.0 123.0 140.0 90.0 138.0 151.0 88.0 112.0 66.0 79.0 54.0 43.0 63.0 19.0 134.0 62.0 72.0 97.0 71.0 87.0 -11.0 17.0 -26.0 -21.0 11.0 -84.0 53.0 -22.0 -22.0 78.0 -14.0 37.0 8.0 18.0 10.0 -4.0 49.0 11.0 11.0 49.0 37.0 33.0 76.0 75.0 -10.0 30.0 -22.0 -29.0 34.0 -52.0 -13.0 -24.0 22.0 10.0 4.0 32.0 -41.0 80.0 -52.0 -41.0 37.0 -70.0 42.0 1.0 21.0 26.0 22.0 62.0 0.0 29.0 -33.0 -37.0 17.0 -50.0 -7.0 -29.0 -50.0 -5.0 -34.0 10.0 19.0 24.0 44.0 0.0 75.0 24.0 6.0 56.0 -14.0 43.0 -32.0 27.0 62.0 0.0 79.0 49.0 16.0 34.0 -1.0 -9.0 -33.0 -61.0 -33.0 -105.0 -20.0 -44.0 -91.0 7.0 -43.0 53.0 -3.0 -13.0 73.0 8.0 63.0 8.0 -2.0 27.0 -13.0 -8.0 -28.0 27.0 39.0 -37.0 -13.0 -14.0 -39.0 -28.0 -97.0 -58.0 -58.0 -101.0 -35.0 -97.0 -26.0 16.0 -38.0 53.0 -27.0 56.0 -8.0 -52.0 46.0 -95.0 -11.0 -83.0 -66.0 -3.0 -79.0 20.0 -18.0 18.0 51.0 -32.0 35.0 -77.0 -54.0 -41.0 -84.0 60.0 -22.0 70.0 80.0 64.0 131.0 36.0 76.0 18.0 6.0 67.0 -26.0 65.0 16.0 2.0 41.0 -16.0 40.0 -9.0 37.0 4.0 5.0 25.0 -42.0 -10.0 -63.0 -76.0 -71.0 -129.0 -89.0 -112.0 -76.0 -57.0 -55.0 -1.0 -50.0 1.0 -59.0 -28.0 -50.0 -110.0 -35.0 -130.0 -41.0 -40.0 -56.0 34.0 -1.0 31.0 20.0 9.0 -41.0 -53.0 -37.0 -150.0 -62.0 -90.0 -71.0 10.0 -63.0 37.0 -22.0 15.0 -36.0 -36.0 -3.0 -100.0 7.0 -18.0 9.0 58.0 14.0 47.0 20.0 2.0 12.0 -75.0 -14.0 -35.0 -39.0 28.0 -11.0 39.0 -13.0 -20.0 -23.0 -68.0 -34.0 -66.0 -25.0 -62.0 -36.0 48.0 -47.0 54.0 -4.0 -11.0 65.0 -28.0 51.0 -38.0 -9.0 27.0 -116.0 -8.0 -71.0 -50.0 18.0 -76.0 1.0 -54.0 -58.0 -59.0 -114.0 -93.0 -140.0 -87.0 -92.0 -137.0 -13.0 -59.0 -101.0 -2.0 -74.0 -47.0 -50.0 -52.0 -22.0 -97.0 -26.0 -96.0 -47.0 -46.0 -126.0 -39.0 -115.0 -15.0 -80.0 -80.0 -56.0 -98.0 19.0 -148.0 -36.0 -16.0 -73.0 -27.0 -66.0 30.0 -44.0 -16.0 -45.0 -113.0 -59.0 -121.0 -118.0 -94.0 -42.0 -23.0 -11.0 53.0 18.0 43.0 -20.0 -70.0 -13.0 -87.0 -74.0 -93.0 -62.0 9.0 -77.0 30.0 -10.0 6.0 0.0 -59.0 -5.0 -85.0 3.0 -102.0 -66.0 -34.0 -67.0 -1.0 -94.0 -34.0 -52.0 -56.0 -62.0 -92.0 -21.0 -98.0 -42.0 -30.0 -55.0 41.0 -62.0 54.0 -15.0 -77.0 -38.0 -174.0 -79.0 -169.0 -99.0 -89.0 -100.0 -1.0 -70.0 15.0 -86.0 -21.0 -71.0 -159.0 -93.0 -145.0 -88.0 -109.0 -56.0 -56.0 -19.0 15.0 -1.0 17.0 -6.0 -38.0 -75.0 -98.0 -151.0 -129.0 -125.0 -113.0 -58.0 -79.0 -41.0 -57.0 -73.0 -33.0 -94.0 -44.0 -87.0 -84.0 -66.0 -76.0 -21.0 -61.0 -9.0 -48.0 -35.0 -3.0 -49.0 -21.0 -23.0 -41.0 -49.0 -85.0 -136.0 -119.0 -115.0 -130.0 -81.0 -64.0 -50.0 -17.0 -19.0 -8.0 -21.0 -55.0 -52.0 -78.0 -98.0 -85.0 -95.0 -65.0 -70.0 -4.0 -26.0 -7.0 76.0 -10.0 51.0 -43.0 -18.0 -49.0 -96.0 -12.0 -124.0 -28.0 -82.0 -81.0 -42.0 -82.0 16.0 -59.0 22.0 12.0 -90.0 12.0 -83.0 -26.0 -89.0 -113.0 -58.0 -132.0 -2.0 -104.0 -4.0 -19.0 -45.0 14.0 -116.0 -19.0 -91.0 -92.0 -72.0 -133.0 -45.0 -55.0 -24.0 -39.0 30.0 64.0 -17.0 27.0 -39.0 -41.0 -62.0 -81.0 -130.0 -109.0 -82.0 -82.0 -33.0 -19.0 46.0 15.0 78.0 39.0 41.0 60.0 3.0 12.0 -21.0 21.0 -41.0 29.0 40.0 14.0 94.0 39.0 87.0 52.0 44.0 43.0 -7.0 16.0 -60.0 -52.0 -14.0 -50.0 21.0 -5.0 40.0 71.0 56.0 72.0 -12.0 34.0 -9.0 -45.0 -44.0 -54.0 -20.0 10.0 24.0 37.0 53.0 82.0 79.0 50.0 49.0 -5.0 2.0 -56.0 -82.0 -51.0 -38.0 -34.0 7.0 2.0 -9.0 24.0 -41.0 -20.0 -47.0 -10.0 -21.0 -47.0 0.0 -27.0 28.0 -26.0 -12.0 6.0 -7.0 13.0 -40.0 27.0 25.0 28.0 61.0 31.0 66.0 27.0 26.0 -14.0 -41.0 -26.0 -109.0 -67.0 -73.0 -17.0 7.0 -9.0 35.0 30.0 64.0 3.0 9.0 51.0 -2.0 28.0 6.0 15.0 45.0 -2.0 63.0 -2.0 48.0 30.0 -4.0 88.0 13.0 65.0 11.0 35.0 41.0 -28.0 44.0 -35.0 21.0 16.0 12.0 67.0 50.0 112.0 -1.0 41.0 6.0 -49.0 -6.0 -52.0 32.0 20.0 43.0 85.0 76.0 87.0 63.0 51.0 10.0 -4.0 3.0 -18.0 28.0 37.0 68.0 105.0 67.0 92.0 52.0 47.0 7.0 -51.0 -36.0 -91.0 -47.0 -55.0 -37.0 36.0 21.0 72.0 55.0 72.0 86.0 27.0 7.0 -20.0 -10.0 -1.0 13.0 28.0 66.0 108.0 119.0 129.0 109.0 114.0 87.0 34.0 35.0 -3.0 21.0 14.0 8.0 29.0 -16.0 -7.0 -40.0 -35.0 -55.0 -52.0 -24.0 -18.0 47.0 45.0 94.0 100.0 108.0 105.0 48.0 50.0 3.0 -6.0 -37.0 -59.0 -11.0 2.0 33.0 31.0 55.0 59.0 32.0 37.0 -8.0 -4.0 -13.0 -5.0 12.0 -1.0 32.0 33.0 32.0 -26.0 -4.0 1.0 -29.0 32.0 1.0 41.0 38.0 40.0 40.0 -10.0 8.0 -3.0 13.0 28.0 57.0 50.0 60.0 66.0 28.0 20.0 -32.0 -58.0 -62.0 -97.0 -91.0 -79.0 -25.0 1.0 25.0 90.0 94.0 116.0 58.0 40.0 15.0 -25.0 -47.0 -89.0 -41.0 -59.0 -15.0 -12.0 8.0 70.0 34.0 45.0 26.0 23.0 4.0 -20.0 -25.0 -39.0 -32.0 -41.0 -33.0 4.0 12.0 16.0 40.0 42.0 42.0 52.0 36.0 19.0 26.0 23.0 12.0 -7.0 -8.0 -2.0 -10.0 -17.0 -20.0 -4.0 4.0 3.0 12.0 29.0 42.0 26.0 36.0 -2.0 -16.0 -6.0 -47.0 -22.0 -41.0 -15.0 -22.0 7.0 63.0 88.0 127.0 101.0 139.0 104.0 74.0 26.0 -4.0 -17.0 -61.0 -55.0 -68.0 -48.0 -33.0 -14.0 -11.0 -20.0 -12.0 -7.0 -2.0 5.0 31.0 73.0 96.0 116.0 131.0 131.0 94.0 44.0 9.0 -26.0 -51.0 -56.0 -40.0 -4.0 43.0 74.0 113.0 135.0 149.0 127.0 116.0 86.0 43.0 33.0 -19.0 -38.0 -67.0 -91.0 -121.0 -159.0 -164.0 -185.0 -185.0 -168.0 -163.0 -164.0 -127.0 -81.0 -65.0 -32.0 -34.0 -36.0 -44.0 -89.0 -117.0 -160.0 -174.0 -191.0 -182.0 -186.0 -155.0 -136.0 -156.0 -132.0 -137.0 -133.0 -119.0 -108.0 -74.0 -53.0 -28.0 5.0 14.0 29.0 27.0 51.0 46.0 65.0 62.0 85.0 116.0 119.0 190.0 205.0 300.0 337.0 363.0 389.0 365.0 383.0 313.0 314.0 263.0 241.0 253.0 208.0 255.0 222.0 263.0 278.0 267.0 307.0 263.0 275.0 225.0 221.0 181.0 137.0 165.0 130.0 162.0 125.0 151.0 138.0 81.0 84.0 8.0 -22.0 -90.0 -127.0 -189.0 -260.0 -281.0 -333.0 -334.0 -335.0 -308.0 -289.0 -259.0 -246.0 -242.0 -254.0 -294.0 -337.0 -374.0 -385.0 -411.0 -381.0 -372.0 -354.0 -316.0 -274.0 -265.0 -264.0 -235.0 -260.0 -273.0 -261.0 -259.0 -228.0 -178.0 -116.0 -27.0 59.0 131.0 194.0 284.0 279.0 278.0 288.0 268.0 271.0 281.0 332.0 331.0 411.0 455.0 455.0 463.0 429.0 426.0 328.0 273.0 211.0 193.0 181.0 156.0 217.0 245.0 273.0 269.0 269.0 239.0 213.0 181.0 108.0 90.0 108.0 110.0 94.0 136.0 193.0 226.0 228.0 224.0 284.0 289.0 312.0 348.0 398.0 440.0 448.0 455.0 423.0 415.0 355.0 280.0 203.0 156.0 121.0 69.0 47.0 41.0 37.0 12.0 -47.0 -123.0 -193.0 -311.0 -437.0 -528.0 -585.0 -612.0 -627.0 -590.0 -550.0 -514.0 -485.0 -504.0 -533.0 -575.0 -619.0 -695.0 -753.0 -761.0 -744.0 -720.0 -666.0 -528.0 -448.0 -374.0 -270.0 -247.0 -170.0 -113.0 -85.0 -11.0 97.0 251.0 363.0 479.0 557.0 635.0 611.0 527.0 468.0 381.0 360.0 339.0 340.0 407.0 486.0 509.0 552.0 535.0 508.0 462.0 388.0 331.0 297.0 330.0 291.0 343.0 354.0 363.0 376.0 278.0 258.0 160.0 116.0 58.0 31.0 56.0 51.0 147.0 110.0 167.0 186.0 131.0 111.0 18.0 -15.0 -71.0 -107.0 -31.0 68.0 121.0 208.0 268.0 286.0 210.0 136.0 -21.0 -131.0 -202.0 -306.0 -266.0 -277.0 -176.0 -151.0 -158.0 -175.0 -259.0 -342.0 -511.0 -615.0 -722.0 -735.0 -732.0 -709.0 -601.0 -562.0 -497.0 -474.0 -497.0 -529.0 -587.0 -642.0 -708.0 -704.0 -657.0 -642.0 -552.0 -429.0 -274.0 -179.0 -169.0 -46.0 -36.0 37.0 56.0 106.0 247.0 346.0 529.0 555.0 730.0 746.0 727.0 723.0 566.0 573.0 490.0 478.0 477.0 544.0 623.0 622.0 662.0 576.0 556.0 463.0 322.0 288.0 242.0 272.0 295.0 334.0 410.0 413.0 394.0 315.0 225.0 171.0 80.0 21.0 -3.0 41.0 65.0 70.0 107.0 68.0 67.0 -31.0 -114.0 -136.0 -218.0 -190.0 -221.0 -220.0 -110.0 41.0 22.0 11.0 43.0 -63.0 -126.0 -316.0 -377.0 -408.0 -388.0 -325.0 -299.0 -154.0 -127.0 -87.0 -210.0 -287.0 -316.0 -463.0 -484.0 -569.0 -522.0 -497.0 -542.0 -509.0 -541.0 -493.0 -548.0 -541.0 -507.0 -476.0 -403.0 -443.0 -374.0 -360.0 -355.0 -368.0 -387.0 -314.0 -250.0 -139.0 -44.0 57.0 216.0 317.0 351.0 406.0 491.0 546.0 596.0 666.0 714.0 794.0 807.0 762.0 760.0 701.0 639.0 611.0 548.0 562.0 551.0 499.0 484.0 440.0 393.0 308.0 278.0 245.0 230.0 228.0 204.0 211.0 164.0 152.0 79.0 -5.0 -1.0 -58.0 -92.0 -93.0 -91.0 -83.0 -77.0 -112.0 -141.0 -160.0 -210.0 -246.0 -292.0 -286.0 -291.0 -268.0 -237.0 -196.0 -151.0 40.0 84.0 1.0 63.0 -94.0 -150.0 -311.0 -380.0 -365.0 -372.0 -211.0 -225.0 -60.0 -86.0 -95.0 -154.0 -343.0 -290.0 -460.0 -409.0 -404.0 -394.0 -300.0 -416.0 -401.0 -514.0 -513.0 -594.0 -626.0 -521.0 -524.0 -382.0 -370.0 -304.0 -303.0 -342.0 -329.0 -384.0 -309.0 -222.0 -74.0 41.0 182.0 355.0 439.0 495.0 515.0 623.0 685.0 714.0 790.0 866.0 901.0 882.0 886.0 805.0 771.0 734.0 667.0 643.0 620.0 634.0 544.0 494.0 443.0 363.0 265.0 167.0 179.0 129.0 120.0 101.0 70.0 66.0 -6.0 -80.0 -165.0 -205.0 -257.0 -306.0 -319.0 -328.0 -304.0 -332.0 -355.0 -398.0 -408.0 -429.0 -503.0 -504.0 -487.0 -444.0 -463.0 -288.0 -167.0 -141.0 -31.0 -111.0 -89.0 -209.0 -313.0 -356.0 -434.0 -319.0 -305.0 -166.0 -84.0 3.0 43.0 -86.0 -65.0 -196.0 -214.0 -238.0 -268.0 -194.0 -204.0 -188.0 -269.0 -300.0 -387.0 -471.0 -494.0 -491.0 -397.0 -331.0 -240.0 -200.0 -164.0 -198.0 -283.0 -328.0 -355.0 -278.0 -215.0 -70.0 91.0 178.0 249.0 252.0 276.0 255.0 308.0 395.0 560.0 747.0 836.0 982.0 954.0 882.0 801.0 653.0 596.0 532.0 545.0 551.0 607.0 624.0 552.0 483.0 289.0 215.0 82.0 -32.0 17.0 27.0 90.0 120.0 136.0 94.0 25.0 -87.0 -216.0 -258.0 -339.0 -331.0 -342.0 -342.0 -281.0 -335.0 -384.0 -460.0 -518.0 -567.0 -609.0 -611.0 -570.0 -486.0 -493.0 -436.0 -363.0 -211.0 -195.0 -213.0 -130.0 -241.0 -212.0 -326.0 -344.0 -290.0 -315.0 -155.0 -158.0 -3.0 45.0 -5.0 -1.0 -159.0 -103.0 -242.0 -212.0 -123.0 -175.0 -11.0 -127.0 -80.0 -147.0 -266.0 -259.0 -359.0 -265.0 -241.0 -170.0 -99.0 -94.0 -50.0 -140.0 -192.0 -231.0 -266.0 -193.0 -148.0 -19.0 85.0 166.0 260.0 269.0 318.0 358.0 415.0 498.0 541.0 652.0 721.0 723.0 727.0 688.0 657.0 586.0 543.0 553.0 517.0 508.0 478.0 434.0 382.0 261.0 184.0 90.0 33.0 -7.0 -68.0 -31.0 -37.0 -61.0 -91.0 -158.0 -195.0 -258.0 -335.0 -358.0 -369.0 -352.0 -337.0 -339.0 -326.0 -313.0 -355.0 -415.0 -409.0 -414.0 -440.0 -427.0 -392.0 -356.0 -369.0 -348.0 -349.0 -280.0 -142.0 -165.0 -58.0 -87.0 -96.0 -101.0 -234.0 -159.0 -223.0 -123.0 -51.0 -35.0 136.0 66.0 76.0 -45.0 -112.0 -101.0 -231.0 -87.0 -74.0 5.0 56.0 -27.0 -9.0 -175.0 -231.0 -301.0 -330.0 -220.0 -190.0 -95.0 -80.0 -93.0 -141.0 -263.0 -314.0 -345.0 -321.0 -223.0 -97.0 33.0 134.0 187.0 200.0 161.0 150.0 190.0 224.0 324.0 431.0 554.0 641.0 638.0 665.0 592.0 527.0 480.0 444.0 467.0 439.0 455.0 424.0 366.0 291.0 126.0 42.0 -50.0 -119.0 -141.0 -146.0 -76.0 -119.0 -128.0 -158.0 -213.0 -228.0 -299.0 -312.0 -312.0 -299.0 -299.0 -334.0 -321.0 -324.0 -359.0 -379.0 -367.0 -326.0 -306.0 -251.0 -191.0 -145.0 -110.0 -117.0 -138.0 -148.0 -189.0 -233.0 -236.0 -230.0 -190.0 -172.0 -131.0 -84.0 -66.0 -46.0 -65.0 -70.0 -71.0 -77.0 -96.0 -116.0 -81.0 -97.0 -118.0 -114.0 -133.0 -142.0 -172.0 -173.0 -184.0 -194.0 -181.0 -179.0 -153.0 -148.0 -152.0 -161.0 -198.0 -209.0 -255.0 -281.0 -252.0 -225.0 -181.0 -125.0 -46.0 -16.0 9.0 48.0 55.0 96.0 131.0 223.0 327.0 399.0 503.0 554.0 598.0 588.0 562.0 555.0 526.0 528.0 513.0 536.0 532.0 469.0 427.0 338.0 261.0 178.0 95.0 88.0 72.0 74.0 51.0 4.0 -47.0 -117.0 -182.0 -266.0 -267.0 -249.0 -275.0 -261.0 -236.0 -259.0 -296.0 -366.0 -388.0 -397.0 -400.0 -381.0 -347.0 -240.0 -184.0 -132.0 -114.0 -97.0 -108.0 -172.0 -185.0 -188.0 -189.0 -174.0 -150.0 -119.0 -105.0 -93.0 -97.0 -117.0 -106.0 -112.0 -109.0 -121.0 -112.0 -114.0 -155.0 -159.0 -159.0 -163.0 -155.0 -131.0 -108.0 -95.0 -97.0 -104.0 -104.0 -92.0 -83.0 -61.0 -35.0 -39.0 -35.0 -53.0 -85.0 -135.0 -166.0 -157.0 -170.0 -128.0 -69.0 -16.0 37.0 60.0 87.0 87.0 107.0 129.0 188.0 272.0 346.0 434.0 466.0 504.0 514.0 509.0 506.0 484.0 505.0 507.0 513.0 510.0 492.0 469.0 391.0 354.0 301.0 247.0 228.0 211.0 198.0 173.0 148.0 107.0 51.0 -8.0 -63.0 -103.0 -147.0 -173.0 -176.0 -206.0 -221.0 -234.0 -261.0 -287.0 -290.0 -271.0 -250.0 -211.0 -168.0 -133.0 -112.0 -113.0 -109.0 -114.0 -115.0 -102.0 -103.0 -68.0 -55.0 -45.0 -54.0 -87.0 -102.0 -132.0 -139.0 -144.0 -128.0 -118.0 -127.0 -126.0 -146.0 -166.0 -189.0 -201.0 -178.0 -158.0 -131.0 -114.0 -85.0 -63.0 -57.0 -33.0 -13.0 19.0 19.0 12.0 -3.0 -40.0 -68.0 -90.0 -82.0 -59.0 -29.0 12.0 38.0 73.0 86.0 101.0 145.0 176.0 245.0 313.0 393.0 464.0 506.0 549.0 556.0 564.0 563.0 562.0 599.0 624.0 633.0 635.0 631.0 601.0 535.0 489.0 433.0 393.0 353.0 312.0 292.0 257.0 214.0 152.0 89.0 38.0 -18.0 -61.0 -87.0 -102.0 -108.0 -132.0 -149.0 -162.0 -199.0 -221.0 -247.0 -251.0 -240.0 -197.0 -151.0 -118.0 -88.0 -83.0 -90.0 -113.0 -124.0 -146.0 -159.0 -141.0 -152.0 -144.0 -135.0 -150.0 -170.0 -206.0 -212.0 -253.0 -218.0 -204.0 -205.0 -159.0 -158.0 -145.0 -179.0 -164.0 -180.0 -191.0 -155.0 -126.0 -100.0 -79.0 -41.0 -11.0 -5.0 25.0 17.0 5.0 5.0 -19.0 -12.0 -24.0 2.0 5.0 5.0 30.0 22.0 40.0 61.0 78.0 124.0 160.0 222.0 279.0 346.0 420.0 445.0 488.0 518.0 545.0 561.0 572.0 611.0 608.0 613.0 628.0 605.0 594.0 556.0 521.0 470.0 420.0 369.0 295.0 267.0 213.0 159.0 117.0 72.0 37.0 -19.0 -72.0 -98.0 -136.0 -165.0 -197.0 -212.0 -224.0 -252.0 -250.0 -266.0 -245.0 -232.0 -237.0 -231.0 -214.0 -183.0 -205.0 -197.0 -173.0 -185.0 -192.0 -190.0 -182.0 -210.0 -225.0 -226.0 -241.0 -238.0 -256.0 -257.0 -256.0 -268.0 -256.0 -262.0 -238.0 -220.0 -196.0 -175.0 -175.0 -151.0 -153.0 -150.0 -161.0 -131.0 -97.0 -78.0 -28.0 5.0 22.0 17.0 20.0 22.0 15.0 24.0 44.0 48.0 68.0 69.0 82.0 115.0 121.0 153.0 196.0 241.0 291.0 327.0 379.0 415.0 441.0 477.0 499.0 544.0 572.0 609.0 645.0 657.0 676.0 651.0 633.0 620.0 592.0 562.0 529.0 508.0 466.0 412.0 369.0 306.0 245.0 173.0 112.0 63.0 16.0 -13.0 -60.0 -88.0 -118.0 -151.0 -187.0 -214.0 -210.0 -219.0 -224.0 -208.0 -205.0 -213.0 -232.0 -244.0 -248.0 -269.0 -287.0 -284.0 -280.0 -284.0 -292.0 -292.0 -292.0 -325.0 -331.0 -350.0 -378.0 -383.0 -389.0 -379.0 -371.0 -352.0 -358.0 -367.0 -362.0 -362.0 -363.0 -354.0 -321.0 -290.0 -258.0 -218.0 -189.0 -162.0 -156.0 -143.0 -142.0 -142.0 -130.0 -109.0 -77.0 -45.0 -9.0 20.0 53.0 68.0 99.0 134.0 166.0 210.0 260.0 327.0 371.0 419.0 467.0 485.0 519.0 549.0 579.0 609.0 661.0 706.0 722.0 740.0 739.0 726.0 689.0 655.0 631.0 599.0 574.0 546.0 513.0 470.0 405.0 333.0 257.0 194.0 146.0 105.0 76.0 56.0 31.0 3.0 -35.0 -72.0 -87.0 -114.0 -122.0 -116.0 -127.0 -128.0 -138.0 -151.0 -180.0 -203.0 -211.0 -226.0 -234.0 -250.0 -256.0 -278.0 -305.0 -329.0 -358.0 -378.0 -412.0 -429.0 -439.0 -463.0 -475.0 -497.0 -514.0 -535.0 -550.0 -555.0 -564.0 -559.0 -561.0 -553.0 -544.0 -527.0 -498.0 -468.0 -432.0 -406.0 -375.0 -351.0 -334.0 -309.0 -286.0 -249.0 -202.0 -166.0 -110.0 -41.0 23.0 80.0 137.0 206.0 271.0 329.0 383.0 441.0 503.0 549.0 594.0 645.0 692.0 733.0 762.0 786.0 797.0 812.0 813.0 793.0 781.0 773.0 751.0 709.0 677.0 633.0 579.0 518.0 457.0 408.0 347.0 300.0 250.0 197.0 162.0 111.0 63.0 13.0 -23.0 -52.0 -87.0 -97.0 -114.0 -116.0 -143.0 -163.0 -172.0 -196.0 -216.0 -251.0 -271.0 -295.0 -320.0 -350.0 -387.0 -421.0 -469.0 -517.0 -554.0 -587.0 -608.0 -634.0 -642.0 -649.0 -672.0 -690.0 -723.0 -741.0 -767.0 -776.0 -769.0 -759.0 -729.0 -707.0 -681.0 -658.0 -639.0 -617.0 -598.0 -575.0 -534.0 -489.0 -436.0 -380.0 -321.0 -268.0 -208.0 -141.0 -74.0 1.0 78.0 170.0 245.0 324.0 403.0 469.0 549.0 615.0 670.0 726.0 783.0 825.0 850.0 881.0 901.0 902.0 895.0 891.0 872.0 846.0 816.0 769.0 728.0 683.0 625.0 572.0 524.0 473.0 423.0 365.0 323.0 278.0 231.0 181.0 143.0 109.0 67.0 58.0 43.0 24.0 14.0 -5.0 -33.0 -59.0 -82.0 -109.0 -126.0 -145.0 -168.0 -193.0 -226.0 -269.0 -313.0 -365.0 -422.0 -482.0 -526.0 -569.0 -631.0 -664.0 -702.0 -748.0 -799.0 -836.0 -863.0 -893.0 -903.0 -906.0 -896.0 -887.0 -873.0 -866.0 -858.0 -838.0 -818.0 -799.0 -761.0 -714.0 -662.0 -604.0 -546.0 -491.0 -438.0 -377.0 -317.0 -251.0 -179.0 -105.0 -24.0 58.0 144.0 229.0 312.0 394.0 473.0 545.0 614.0 681.0 746.0 809.0 864.0 914.0 954.0 985.0 1005.0 1012.0 1016.0 997.0 984.0 965.0 925.0 881.0 833.0 776.0 703.0 637.0 570.0 511.0 451.0 384.0 330.0 269.0 208.0 160.0 124.0 88.0 61.0 45.0 33.0 15.0 3.0 -8.0 -35.0 -59.0 -84.0 -106.0 -135.0 -163.0 -189.0 -229.0 -270.0 -320.0 -377.0 -443.0 -506.0 -563.0 -625.0 -685.0 -735.0 -781.0 -830.0 -888.0 -931.0 -971.0 -1017.0 -1055.0 -1078.0 -1083.0 -1086.0 -1070.0 -1041.0 -1001.0 -959.0 -915.0 -866.0 -808.0 -746.0 -694.0 -631.0 -565.0 -494.0 -415.0 -334.0 -254.0 -161.0 -74.0 3.0 87.0 168.0 239.0 300.0 367.0 436.0 498.0 564.0 621.0 671.0 727.0 767.0 803.0 834.0 863.0 891.0 906.0 923.0 938.0 944.0 932.0 924.0 909.0 876.0 855.0 823.0 784.0 748.0 706.0 653.0 603.0 549.0 492.0 441.0 397.0 346.0 302.0 259.0 202.0 151.0 94.0 35.0 -17.0 -61.0 -107.0 -152.0 -186.0 -227.0 -280.0 -329.0 -379.0 -444.0 -498.0 -541.0 -599.0 -649.0 -694.0 -740.0 -787.0 -832.0 -888.0 -942.0 -979.0 -1018.0 -1055.0 -1078.0 -1088.0 -1097.0 -1089.0 -1073.0 -1055.0 -1025.0 -1002.0 -968.0 -922.0 -871.0 -817.0 -751.0 -675.0 -601.0 -520.0 -436.0 -355.0 -281.0 -203.0 -130.0 -54.0 30.0 102.0 180.0 262.0 344.0 413.0 483.0 548.0 602.0 652.0 689.0 737.0 769.0 797.0 822.0 843.0 862.0 860.0 863.0 861.0 848.0 842.0 826.0 806.0 792.0 767.0 732.0 707.0 686.0 648.0 617.0 579.0 533.0 493.0 444.0 396.0 354.0 309.0 265.0 215.0 165.0 108.0 42.0 -19.0 -82.0 -151.0 -218.0 -280.0 -341.0 -403.0 -466.0 -524.0 -583.0 -642.0 -686.0 -730.0 -773.0 -807.0 -838.0 -867.0 -896.0 -927.0 -952.0 -973.0 -984.0 -987.0 -986.0 -977.0 -958.0 -929.0 -905.0 -879.0 -839.0 -793.0 -749.0 -689.0 -617.0 -544.0 -467.0 -398.0 -323.0 -252.0 -194.0 -135.0 -76.0 -19.0 30.0 87.0 144.0 193.0 243.0 289.0 336.0 377.0 416.0 442.0 476.0 516.0 557.0 590.0 618.0 651.0 676.0 684.0 690.0 700.0 718.0 728.0 731.0 743.0 757.0 766.0 759.0 749.0 734.0 707.0 677.0 653.0 623.0 585.0 547.0 511.0 464.0 414.0 368.0 321.0 278.0 237.0 194.0 145.0 86.0 28.0 -43.0 -112.0 -171.0 -231.0 -284.0 -351.0 -405.0 -466.0 -523.0 -572.0 -624.0 -664.0 -717.0 -761.0 -792.0 -823.0 -849.0 -873.0 -876.0 -877.0 -873.0 -867.0 -845.0 -810.0 -776.0 -743.0 -700.0 -651.0 -622.0 -583.0 -535.0 -488.0 -437.0 -374.0 -309.0 -242.0 -183.0 -125.0 -63.0 0.0 56.0 102.0 154.0 202.0 251.0 283.0 325.0 361.0 380.0 401.0 423.0 439.0 445.0 450.0 459.0 462.0 456.0 453.0 450.0 452.0 457.0 464.0 472.0 476.0 480.0 480.0 475.0 473.0 466.0 461.0 458.0 464.0 463.0 452.0 443.0 430.0 409.0 378.0 352.0 314.0 274.0 241.0 205.0 169.0 125.0 78.0 33.0 -10.0 -43.0 -81.0 -114.0 -149.0 -180.0 -217.0 -259.0 -293.0 -328.0 -363.0 -405.0 -430.0 -459.0 -490.0 -510.0 -527.0 -541.0 -555.0 -558.0 -563.0 -565.0 -568.0 -571.0 -567.0 -563.0 -553.0 -542.0 -532.0 -508.0 -480.0 -450.0 -416.0 -382.0 -336.0 -304.0 -268.0 -226.0 -180.0 -137.0 -90.0 -39.0 8.0 51.0 77.0 119.0 156.0 184.0 207.0 236.0 265.0 289.0 313.0 329.0 339.0 347.0 352.0 360.0 371.0 378.0 390.0 390.0 393.0 395.0 392.0 384.0 375.0 380.0 373.0 371.0 369.0 370.0 358.0 341.0 330.0 304.0 283.0 263.0 241.0 219.0 197.0 164.0 138.0 106.0 70.0 34.0 -10.0 -43.0 -79.0 -118.0 -150.0 -183.0 -212.0 -242.0 -267.0 -291.0 -317.0 -335.0 -354.0 -366.0 -376.0 -376.0 -378.0 -375.0 -374.0 -373.0 -370.0 -369.0 -367.0 -362.0 -356.0 -348.0 -331.0 -320.0 -306.0 -301.0 -288.0 -278.0 -272.0 -260.0 -249.0 -238.0 -222.0 -200.0 -180.0 -163.0 -135.0 -106.0 -75.0 -48.0 -25.0 15.0 40.0 66.0 96.0 124.0 152.0 184.0 204.0 225.0 248.0 262.0 273.0 288.0 306.0 311.0 319.0 327.0 330.0 325.0 322.0 313.0 305.0 294.0 278.0 263.0 255.0 247.0 226.0 214.0 199.0 182.0 167.0 148.0 129.0 121.0 107.0 84.0 67.0 37.0 13.0 -9.0 -35.0 -56.0 -83.0 -104.0 -124.0 -140.0 -150.0 -158.0 -171.0 -183.0 -189.0 -198.0 -198.0 -208.0 -202.0 -203.0 -199.0 -189.0 -185.0 -171.0 -176.0 -171.0 -159.0 -148.0 -136.0 -127.0 -110.0 -99.0 -93.0 -90.0 -101.0 -103.0 -105.0 -112.0 -111.0 -117.0 -113.0 -117.0 -114.0 -118.0 -111.0 -114.0 -116.0 -95.0 -91.0 -72.0 -60.0 -51.0 -26.0 -6.0 11.0 40.0 68.0 99.0 132.0 152.0 171.0 196.0 211.0 229.0 243.0 248.0 264.0 279.0 278.0 289.0 291.0 285.0 284.0 277.0 271.0 259.0 243.0 232.0 231.0 215.0 209.0 191.0 175.0 165.0 133.0 113.0 85.0 65.0 48.0 21.0 10.0 -17.0 -50.0 -69.0 -89.0 -114.0 -123.0 -144.0 -163.0 -170.0 -190.0 -197.0 -201.0 -214.0 -217.0 -202.0 -210.0 -179.0 -179.0 -171.0 -140.0 -146.0 -120.0 -112.0 -96.0 -63.0 -58.0 -30.0 -24.0 -10.0 15.0 -4.0 31.0 16.0 34.0 45.0 45.0 69.0 52.0 66.0 52.0 59.0 38.0 47.0 39.0 25.0 54.0 15.0 54.0 46.0 39.0 76.0 55.0 90.0 91.0 96.0 129.0 122.0 149.0 181.0 171.0 221.0 216.0 238.0 263.0 252.0 284.0 270.0 283.0 284.0 278.0 286.0 262.0 271.0 242.0 233.0 215.0 189.0 185.0 148.0 152.0 103.0 107.0 71.0 50.0 25.0 -3.0 -14.0 -38.0 -47.0 -65.0 -81.0 -84.0 -91.0 -118.0 -84.0 -144.0 -119.0 -114.0 -130.0 -117.0 -113.0 -126.0 -108.0 -95.0 -124.0 -104.0 -107.0 -102.0 -76.0 -60.0 -39.0 -35.0 -1.0 -9.0 10.0 33.0 12.0 100.0 13.0 138.0 53.0 117.0 146.0 86.0 189.0 69.0 186.0 100.0 177.0 125.0 162.0 177.0 127.0 209.0 142.0 154.0 177.0 126.0 154.0 161.0 93.0 193.0 106.0 169.0 137.0 149.0 154.0 127.0 146.0 134.0 110.0 172.0 110.0 130.0 194.0 54.0 226.0 66.0 168.0 107.0 104.0 149.0 59.0 170.0 53.0 102.0 81.0 43.0 52.0 9.0 7.0 -11.0 -32.0 -3.0 -67.0 -23.0 -90.0 -86.0 -81.0 -115.0 -68.0 -136.0 -105.0 -85.0 -126.0 -78.0 -75.0 -112.0 -43.0 -76.0 -62.0 -4.0 -30.0 14.0 36.0 10.0 79.0 35.0 94.0 69.0 85.0 139.0 54.0 161.0 96.0 135.0 144.0 112.0 122.0 134.0 160.0 117.0 180.0 135.0 148.0 167.0 123.0 153.0 142.0 139.0 145.0 160.0 104.0 179.0 135.0 113.0 209.0 76.0 188.0 153.0 109.0 178.0 121.0 95.0 180.0 58.0 103.0 151.0 -14.0 170.0 15.0 42.0 93.0 -24.0 77.0 1.0 19.0 15.0 -25.0 16.0 -43.0 -19.0 -44.0 -46.0 -14.0 -92.0 -9.0 -63.0 -65.0 -32.0 -109.0 -3.0 -115.0 -1.0 -81.0 -99.0 41.0 -160.0 53.0 -113.0 -65.0 0.0 -100.0 7.0 -60.0 -18.0 -16.0 -8.0 -17.0 51.0 -13.0 56.0 27.0 84.0 63.0 114.0 93.0 80.0 208.0 44.0 255.0 100.0 186.0 202.0 133.0 256.0 112.0 203.0 191.0 107.0 260.0 126.0 125.0 234.0 23.0 226.0 131.0 86.0 185.0 65.0 120.0 152.0 47.0 125.0 99.0 39.0 135.0 -7.0 119.0 32.0 25.0 109.0 -64.0 93.0 12.0 -16.0 81.0 -45.0 30.0 -46.0 7.0 -34.0 -74.0 31.0 -162.0 35.0 -66.0 -122.0 50.0 -220.0 8.0 -124.0 -142.0 -2.0 -235.0 8.0 -162.0 -85.0 -40.0 -171.0 -33.0 -141.0 -103.0 -18.0 -99.0 -4.0 -16.0 -50.0 76.0 -22.0 21.0 57.0 -53.0 55.0 71.0 -37.0 198.0 23.0 97.0 199.0 9.0 188.0 137.0 51.0 206.0 41.0 170.0 261.0 17.0 311.0 50.0 201.0 221.0 66.0 216.0 130.0 152.0 192.0 171.0 125.0 177.0 107.0 113.0 166.0 64.0 54.0 91.0 4.0 56.0 -6.0 72.0 -120.0 145.0 -124.0 -60.0 67.0 -270.0 102.0 -189.0 -90.0 -19.0 -189.0 -29.0 -135.0 -120.0 -21.0 -215.0 12.0 -196.0 -75.0 -49.0 -162.0 41.0 -185.0 1.0 -92.0 -108.0 60.0 -198.0 79.0 -148.0 -105.0 113.0 -280.0 184.0 -167.0 -38.0 56.0 -122.0 69.0 -84.0 4.0 -92.0 97.0 -85.0 21.0 14.0 -17.0 74.0 29.0 51.0 34.0 117.0 -37.0 228.0 -142.0 312.0 3.0 109.0 236.0 -124.0 367.0 -50.0 282.0 70.0 165.0 154.0 122.0 172.0 110.0 149.0 95.0 87.0 -7.0 130.0 13.0 72.0 97.0 -35.0 115.0 -2.0 -31.0 95.0 -72.0 58.0 -103.0 -11.0 -141.0 -69.0 -51.0 -231.0 50.0 -376.0 14.0 -263.0 -278.0 34.0 -503.0 53.0 -390.0 -201.0 -169.0 -370.0 -81.0 -382.0 -142.0 -314.0 -317.0 -68.0 -336.0 -61.0 -106.0 -334.0 88.0 -301.0 -75.0 -35.0 -257.0 122.0 -219.0 93.0 -46.0 -64.0 256.0 -288.0 272.0 -111.0 -24.0 179.0 -127.0 78.0 31.0 31.0 58.0 154.0 -24.0 133.0 40.0 42.0 86.0 57.0 78.0 174.0 8.0 218.0 -3.0 103.0 172.0 -97.0 332.0 -29.0 128.0 285.0 -174.0 420.0 -113.0 138.0 302.0 -281.0 472.0 -264.0 225.0 128.0 -153.0 256.0 -98.0 34.0 43.0 -169.0 -22.0 -27.0 -162.0 -28.0 -218.0 -46.0 -183.0 -136.0 -171.0 -280.0 -151.0 -332.0 -198.0 -208.0 -312.0 -199.0 -241.0 -334.0 -182.0 -326.0 -305.0 -176.0 -373.0 -198.0 -313.0 -233.0 -224.0 -204.0 -218.0 -245.0 -173.0 -226.0 -149.0 -222.0 -148.0 -179.0 -26.0 -102.0 -109.0 2.0 -118.0 18.0 18.0 -73.0 145.0 -28.0 110.0 113.0 -74.0 263.0 -44.0 231.0 178.0 -5.0 260.0 -18.0 175.0 136.0 49.0 233.0 55.0 195.0 176.0 110.0 264.0 62.0 151.0 54.0 75.0 166.0 107.0 171.0 55.0 143.0 47.0 107.0 51.0 21.0 64.0 -83.0 46.0 -87.0 20.0 -18.0 -67.0 -10.0 -130.0 -90.0 -146.0 -146.0 -142.0 -122.0 -175.0 -159.0 -203.0 -184.0 -225.0 -251.0 -281.0 -254.0 -279.0 -283.0 -223.0 -300.0 -248.0 -370.0 -308.0 -357.0 -326.0 -264.0 -304.0 -295.0 -312.0 -252.0 -283.0 -272.0 -230.0 -269.0 -207.0 -147.0 -188.0 -95.0 -120.0 -119.0 -69.0 -101.0 -25.0 -48.0 -5.0 11.0 38.0 57.0 42.0 100.0 70.0 137.0 123.0 206.0 188.0 239.0 240.0 187.0 258.0 210.0 246.0 254.0 224.0 300.0 293.0 267.0 325.0 168.0 261.0 153.0 140.0 205.0 83.0 251.0 119.0 173.0 163.0 59.0 166.0 17.0 65.0 87.0 19.0 103.0 13.0 32.0 11.0 -54.0 4.0 -86.0 -63.0 -70.0 -94.0 -65.0 -107.0 -94.0 -136.0 -145.0 -146.0 -184.0 -158.0 -156.0 -168.0 -133.0 -153.0 -140.0 -155.0 -150.0 -159.0 -151.0 -153.0 -169.0 -144.0 -171.0 -125.0 -158.0 -137.0 -180.0 -225.0 -246.0 -319.0 -343.0 -391.0 -410.0 -433.0 -439.0 -468.0 -441.0 -468.0 -456.0 -448.0 -474.0 -416.0 -389.0 -362.0 -329.0 -321.0 -291.0 -241.0 -232.0 -124.0 -110.0 -24.0 30.0 86.0 240.0 260.0 386.0 431.0 532.0 557.0 600.0 667.0 656.0 736.0 742.0 752.0 753.0 752.0 681.0 637.0 562.0 487.0 442.0 399.0 321.0 293.0 225.0 173.0 127.0 87.0 92.0 38.0 68.0 52.0 142.0 77.0 116.0 85.0 101.0 125.0 83.0 69.0 37.0 50.0 -38.0 -25.0 -117.0 -95.0 -191.0 -168.0 -305.0 -334.0 -420.0 -536.0 -591.0 -745.0 -725.0 -856.0 -819.0 -930.0 -982.0 -1060.0 -1061.0 -1078.0 -1033.0 -985.0 -937.0 -866.0 -859.0 -771.0 -783.0 -686.0 -569.0 -341.0 -92.0 160.0 356.0 574.0 666.0 745.0 764.0 769.0 791.0 849.0 919.0 852.0 894.0 758.0 708.0 546.0 422.0 312.0 190.0 170.0 29.0 5.0 -62.0 -77.0 -125.0 -118.0 -115.0 -107.0 -34.0 -5.0 132.0 201.0 379.0 375.0 442.0 500.0 499.0 541.0 491.0 577.0 508.0 629.0 536.0 524.0 443.0 337.0 294.0 141.0 133.0 -9.0 -9.0 -164.0 -215.0 -324.0 -410.0 -519.0 -632.0 -710.0 -824.0 -837.0 -970.0 -1022.0 -1097.0 -1085.0 -1106.0 -1006.0 -1020.0 -947.0 -937.0 -949.0 -901.0 -893.0 -752.0 -674.0 -385.0 -220.0 39.0 136.0 315.0 348.0 369.0 382.0 334.0 386.0 389.0 446.0 343.0 406.0 257.0 226.0 91.0 1.0 -93.0 -145.0 -164.0 -237.0 -187.0 -234.0 -184.0 -197.0 -145.0 -125.0 -8.0 109.0 255.0 387.0 444.0 502.0 529.0 603.0 588.0 615.0 619.0 661.0 693.0 721.0 712.0 668.0 703.0 627.0 578.0 496.0 454.0 401.0 376.0 292.0 220.0 185.0 103.0 22.0 -130.0 -239.0 -350.0 -405.0 -513.0 -616.0 -735.0 -752.0 -775.0 -790.0 -751.0 -812.0 -823.0 -828.0 -813.0 -791.0 -711.0 -576.0 -419.0 -92.0 58.0 268.0 355.0 323.0 345.0 210.0 238.0 144.0 211.0 124.0 113.0 30.0 -114.0 -177.0 -362.0 -402.0 -523.0 -482.0 -574.0 -544.0 -575.0 -561.0 -490.0 -423.0 -306.0 -231.0 -88.0 -3.0 183.0 278.0 454.0 475.0 519.0 524.0 559.0 561.0 528.0 611.0 616.0 692.0 690.0 678.0 629.0 660.0 581.0 543.0 513.0 502.0 474.0 457.0 400.0 312.0 301.0 226.0 155.0 11.0 -30.0 -152.0 -205.0 -322.0 -456.0 -573.0 -649.0 -579.0 -633.0 -557.0 -590.0 -581.0 -511.0 -454.0 -369.0 -343.0 -187.0 -40.0 248.0 394.0 577.0 650.0 637.0 587.0 433.0 345.0 217.0 190.0 26.0 -31.0 -156.0 -235.0 -337.0 -452.0 -562.0 -632.0 -637.0 -723.0 -698.0 -701.0 -604.0 -549.0 -450.0 -386.0 -307.0 -225.0 -186.0 -144.0 -47.0 76.0 113.0 190.0 141.0 134.0 163.0 171.0 156.0 237.0 335.0 382.0 462.0 460.0 447.0 488.0 503.0 452.0 449.0 424.0 450.0 433.0 437.0 408.0 382.0 354.0 246.0 141.0 23.0 -70.0 -171.0 -213.0 -339.0 -429.0 -561.0 -545.0 -549.0 -473.0 -434.0 -451.0 -366.0 -392.0 -297.0 -337.0 -130.0 17.0 303.0 547.0 654.0 757.0 698.0 668.0 426.0 347.0 227.0 160.0 92.0 -20.0 -113.0 -203.0 -266.0 -426.0 -531.0 -584.0 -626.0 -607.0 -586.0 -527.0 -424.0 -295.0 -213.0 -185.0 -132.0 -170.0 -112.0 -150.0 -142.0 -102.0 17.0 54.0 81.0 152.0 50.0 150.0 131.0 179.0 205.0 368.0 406.0 441.0 507.0 405.0 463.0 406.0 423.0 323.0 336.0 280.0 257.0 263.0 203.0 173.0 59.0 -9.0 -118.0 -220.0 -310.0 -366.0 -453.0 -505.0 -635.0 -758.0 -827.0 -775.0 -694.0 -621.0 -573.0 -560.0 -504.0 -421.0 -399.0 -355.0 -175.0 15.0 278.0 465.0 673.0 726.0 769.0 706.0 545.0 495.0 400.0 374.0 263.0 230.0 168.0 120.0 68.0 -65.0 -109.0 -156.0 -116.0 -126.0 -43.0 10.0 24.0 66.0 35.0 37.0 -19.0 -35.0 -115.0 -125.0 -140.0 -158.0 -178.0 -124.0 -109.0 -112.0 -12.0 42.0 142.0 200.0 236.0 217.0 381.0 431.0 434.0 446.0 400.0 375.0 354.0 303.0 202.0 203.0 144.0 98.0 34.0 2.0 3.0 -2.0 -71.0 -111.0 -176.0 -266.0 -354.0 -474.0 -535.0 -615.0 -769.0 -936.0 -965.0 -929.0 -839.0 -826.0 -839.0 -810.0 -740.0 -684.0 -633.0 -512.0 -265.0 82.0 415.0 709.0 909.0 969.0 992.0 907.0 774.0 704.0 614.0 541.0 446.0 403.0 254.0 188.0 64.0 -31.0 -111.0 -131.0 -152.0 -155.0 -74.0 -69.0 6.0 6.0 69.0 18.0 35.0 4.0 5.0 -13.0 35.0 43.0 9.0 53.0 40.0 93.0 131.0 243.0 303.0 493.0 599.0 577.0 561.0 562.0 595.0 583.0 511.0 386.0 349.0 349.0 249.0 188.0 141.0 153.0 122.0 66.0 27.0 15.0 68.0 7.0 -44.0 -165.0 -239.0 -419.0 -616.0 -739.0 -864.0 -1018.0 -1246.0 -1264.0 -1208.0 -1038.0 -976.0 -986.0 -878.0 -744.0 -590.0 -536.0 -366.0 -113.0 311.0 690.0 1051.0 1213.0 1187.0 1109.0 888.0 726.0 548.0 426.0 208.0 170.0 76.0 17.0 -23.0 -87.0 -90.0 -75.0 -14.0 -19.0 115.0 224.0 304.0 338.0 376.0 400.0 447.0 406.0 359.0 328.0 290.0 266.0 169.0 118.0 63.0 77.0 26.0 54.0 115.0 172.0 273.0 362.0 471.0 567.0 618.0 605.0 541.0 509.0 496.0 380.0 323.0 224.0 269.0 197.0 161.0 59.0 -33.0 4.0 -84.0 -80.0 -129.0 -102.0 -210.0 -306.0 -475.0 -573.0 -623.0 -747.0 -812.0 -877.0 -956.0 -1074.0 -1117.0 -1071.0 -902.0 -707.0 -626.0 -626.0 -536.0 -468.0 -413.0 -309.0 -172.0 76.0 419.0 689.0 761.0 702.0 534.0 288.0 104.0 -11.0 -41.0 -45.0 -11.0 40.0 85.0 138.0 208.0 319.0 381.0 470.0 545.0 603.0 680.0 732.0 719.0 648.0 598.0 476.0 350.0 224.0 122.0 15.0 -43.0 -128.0 -234.0 -268.0 -283.0 -239.0 -154.0 -45.0 36.0 188.0 312.0 395.0 453.0 570.0 684.0 727.0 708.0 643.0 595.0 553.0 359.0 161.0 86.0 88.0 121.0 96.0 60.0 84.0 110.0 85.0 58.0 35.0 113.0 77.0 -55.0 -198.0 -256.0 -378.0 -549.0 -789.0 -942.0 -990.0 -1148.0 -1256.0 -1293.0 -1251.0 -1190.0 -1264.0 -1345.0 -1190.0 -1050.0 -899.0 -812.0 -638.0 -320.0 64.0 497.0 722.0 878.0 896.0 866.0 783.0 763.0 757.0 676.0 740.0 692.0 669.0 616.0 579.0 517.0 506.0 473.0 397.0 388.0 370.0 376.0 292.0 287.0 206.0 157.0 113.0 54.0 -15.0 -22.0 -52.0 -140.0 -157.0 -198.0 -185.0 -168.0 -130.0 -104.0 26.0 86.0 155.0 281.0 298.0 364.0 351.0 434.0 540.0 696.0 710.0 633.0 587.0 465.0 529.0 580.0 521.0 494.0 571.0 509.0 411.0 251.0 127.0 78.0 25.0 -109.0 -261.0 -327.0 -414.0 -493.0 -662.0 -760.0 -822.0 -817.0 -905.0 -1030.0 -1109.0 -1166.0 -1273.0 -1348.0 -1323.0 -1195.0 -1009.0 -967.0 -981.0 -965.0 -778.0 -596.0 -311.0 -44.0 268.0 699.0 1084.0 1270.0 1299.0 1268.0 1126.0 1028.0 814.0 630.0 482.0 454.0 370.0 252.0 129.0 48.0 62.0 13.0 12.0 23.0 135.0 194.0 252.0 219.0 166.0 169.0 124.0 50.0 4.0 -27.0 -58.0 -65.0 -140.0 -199.0 -200.0 -151.0 -79.0 26.0 168.0 327.0 468.0 603.0 706.0 847.0 941.0 945.0 917.0 850.0 750.0 777.0 679.0 605.0 527.0 376.0 271.0 119.0 38.0 11.0 54.0 -33.0 -96.0 -244.0 -220.0 -250.0 -264.0 -280.0 -359.0 -392.0 -438.0 -473.0 -542.0 -551.0 -698.0 -729.0 -817.0 -836.0 -851.0 -883.0 -907.0 -949.0 -1050.0 -1171.0 -1096.0 -933.0 -694.0 -631.0 -522.0 -354.0 -135.0 47.0 30.0 75.0 247.0 619.0 813.0 901.0 783.0 604.0 444.0 227.0 44.0 -80.0 -39.0 -76.0 -37.0 -110.0 -103.0 -84.0 -22.0 -26.0 31.0 152.0 251.0 375.0 437.0 532.0 551.0 631.0 583.0 516.0 443.0 430.0 389.0 407.0 417.0 428.0 466.0 494.0 476.0 502.0 537.0 537.0 537.0 532.0 505.0 443.0 404.0 275.0 183.0 41.0 -43.0 -173.0 -219.0 -313.0 -349.0 -358.0 -322.0 -266.0 -157.0 -181.0 -171.0 -36.0 724.0 1111.0 713.0 379.0 -214.0 -130.0 -10.0 -56.0 -403.0 -241.0 -249.0 -289.0 -375.0 -600.0 -375.0 -350.0 -479.0 -816.0 -791.0 -761.0 -675.0 -981.0 -1230.0 -1374.0 -1278.0 -1244.0 -1254.0 -1162.0 -1079.0 -1006.0 -1162.0 -1003.0 -741.0 -386.0 -234.0 64.0 406.0 950.0 1339.0 1278.0 1268.0 1146.0 1042.0 820.0 664.0 472.0 459.0 470.0 358.0 288.0 213.0 281.0 329.0 431.0 460.0 560.0 577.0 568.0 497.0 483.0 515.0 473.0 432.0 270.0 192.0 139.0 161.0 140.0 182.0 222.0 292.0 376.0 400.0 392.0 417.0 408.0 373.0 330.0 258.0 207.0 73.0 -55.0 -176.0 -250.0 -394.0 -461.0 -500.0 -509.0 -513.0 -521.0 -472.0 -266.0 -84.0 38.0 17.0 -79.0 -93.0 -135.0 -211.0 -284.0 -263.0 -290.0 -211.0 -339.0 -443.0 -487.0 -455.0 -410.0 -328.0 -237.0 -179.0 -56.0 -35.0 38.0 52.0 44.0 -82.0 -207.0 -331.0 -453.0 -541.0 -631.0 -745.0 -818.0 -877.0 -800.0 -750.0 -714.0 -800.0 -894.0 -781.0 -656.0 -440.0 -280.0 17.0 315.0 754.0 1096.0 1212.0 1123.0 960.0 836.0 704.0 686.0 630.0 611.0 604.0 622.0 530.0 518.0 587.0 688.0 802.0 821.0 816.0 822.0 912.0 928.0 805.0 629.0 494.0 385.0 183.0 -44.0 -169.0 -137.0 -190.0 -393.0 -582.0 -687.0 -588.0 -495.0 -450.0 -404.0 -275.0 -234.0 -278.0 -317.0 -337.0 -268.0 -336.0 -457.0 -544.0 -482.0 -518.0 -579.0 -623.0 -558.0 -424.0 -273.0 -162.0 -20.0 75.0 143.0 181.0 226.0 265.0 254.0 185.0 538.0 1010.0 440.0 171.0 -392.0 -473.0 -319.0 -451.0 -825.0 -833.0 -566.0 -619.0 -409.0 -613.0 -257.0 -118.0 27.0 -191.0 -199.0 -9.0 54.0 -101.0 -344.0 -408.0 -474.0 -359.0 -609.0 -495.0 -348.0 -193.0 -194.0 -242.0 -221.0 30.0 203.0 295.0 463.0 647.0 885.0 1183.0 1559.0 1600.0 1531.0 1157.0 758.0 457.0 293.0 117.0 19.0 -31.0 -153.0 -128.0 -126.0 -99.0 -6.0 117.0 144.0 211.0 243.0 248.0 188.0 164.0 89.0 -2.0 -41.0 -138.0 -260.0 -363.0 -454.0 -565.0 -606.0 -598.0 -532.0 -476.0 -365.0 -300.0 -246.0 -192.0 -112.0 -91.0 -103.0 -113.0 -170.0 -172.0 -248.0 -385.0 -539.0 -646.0 -749.0 -863.0 -955.0 -946.0 -895.0 -799.0 -758.0 -684.0 -593.0 -432.0 -386.0 -282.0 -120.0 -4.0 133.0 142.0 116.0 94.0 143.0 395.0 1361.0 1119.0 914.0 686.0 428.0 716.0 773.0 544.0 276.0 611.0 294.0 350.0 -23.0 102.0 297.0 316.0 113.0 -114.0 128.0 230.0 263.0 -93.0 -215.0 -387.0 -308.0 -596.0 -712.0 -655.0 -545.0 -535.0 -596.0 -606.0 -436.0 -335.0 -362.0 -348.0 -240.0 23.0 177.0 520.0 729.0 1061.0 1092.0 972.0 734.0 512.0 267.0 47.0 -110.0 -339.0 -400.0 -491.0 -471.0 -486.0 -537.0 -662.0 -675.0 -574.0 -442.0 -413.0 -403.0 -321.0 -263.0 -243.0 -326.0 -358.0 -348.0 -325.0 -503.0 -654.0 -650.0 -611.0 -616.0 -714.0 -682.0 -536.0 -313.0 -318.0 -316.0 -148.0 48.0 198.0 229.0 266.0 272.0 333.0 253.0 176.0 144.0 240.0 200.0 49.0 -39.0 -67.0 -8.0 54.0 140.0 135.0 173.0 136.0 134.0 105.0 193.0 261.0 391.0 551.0 629.0 639.0 513.0 479.0 398.0 415.0 353.0 332.0 289.0 295.0 330.0 263.0 282.0 242.0 271.0 295.0 325.0 323.0 352.0 391.0 399.0 343.0 269.0 189.0 21.0 -135.0 -300.0 -404.0 -485.0 -583.0 -712.0 -813.0 -933.0 -1040.0 -1152.0 -1292.0 -1310.0 -1245.0 -1092.0 -926.0 -819.0 -769.0 -799.0 -752.0 -694.0 -593.0 -473.0 -392.0 -356.0 -245.0 8.0 259.0 522.0 493.0 392.0 231.0 91.0 32.0 145.0 223.0 139.0 133.0 51.0 126.0 199.0 255.0 251.0 341.0 360.0 309.0 274.0 250.0 330.0 320.0 211.0 41.0 49.0 83.0 72.0 -28.0 -7.0 80.0 41.0 -35.0 -41.0 31.0 56.0 144.0 117.0 87.0 135.0 146.0 103.0 23.0 -39.0 -137.0 -171.0 -246.0 -349.0 -444.0 -497.0 -443.0 -373.0 -295.0 -345.0 -259.0 -146.0 -46.0 32.0 97.0 181.0 267.0 321.0 251.0 234.0 251.0 268.0 285.0 283.0 271.0 212.0 139.0 53.0 -10.0 94.0 134.0 153.0 198.0 887.0 897.0 626.0 303.0 0.0 270.0 355.0 245.0 -116.0 113.0 29.0 155.0 -96.0 -237.0 -131.0 -96.0 -206.0 -438.0 -186.0 -25.0 77.0 -227.0 -411.0 -557.0 -357.0 -476.0 -649.0 -673.0 -658.0 -694.0 -837.0 -823.0 -714.0 -571.0 -724.0 -842.0 -967.0 -849.0 -775.0 -632.0 -487.0 -288.0 -150.0 -63.0 106.0 431.0 891.0 871.0 721.0 454.0 319.0 247.0 222.0 34.0 -24.0 90.0 40.0 28.0 -40.0 13.0 70.0 138.0 -11.0 -28.0 129.0 255.0 287.0 236.0 175.0 123.0 163.0 93.0 25.0 -17.0 -33.0 -131.0 -274.0 -343.0 -289.0 -176.0 -133.0 -126.0 -96.0 -37.0 -17.0 62.0 136.0 155.0 126.0 65.0 18.0 -58.0 -54.0 -24.0 22.0 55.0 143.0 179.0 234.0 324.0 331.0 399.0 433.0 435.0 344.0 311.0 248.0 183.0 92.0 26.0 -33.0 -98.0 -86.0 -124.0 -97.0 -79.0 -111.0 -131.0 -144.0 -188.0 -249.0 -212.0 -218.0 -215.0 -173.0 -163.0 -156.0 -201.0 -194.0 -293.0 -260.0 -332.0 -293.0 -307.0 417.0 463.0 -26.0 -249.0 -636.0 -295.0 -168.0 -121.0 -525.0 -209.0 -233.0 -142.0 -153.0 -151.0 211.0 249.0 214.0 -146.0 137.0 341.0 557.0 343.0 292.0 265.0 327.0 135.0 -101.0 -98.0 -165.0 -221.0 -412.0 -334.0 -130.0 50.0 -123.0 -251.0 -270.0 -199.0 -206.0 -64.0 83.0 211.0 192.0 154.0 179.0 498.0 909.0 733.0 412.0 56.0 -88.0 -173.0 -33.0 -119.0 -136.0 -61.0 -159.0 -199.0 -258.0 -190.0 -107.0 18.0 -156.0 -223.0 -160.0 -4.0 54.0 30.0 -48.0 -62.0 -9.0 -94.0 -172.0 -223.0 -123.0 -81.0 -92.0 -161.0 -151.0 -139.0 -79.0 -21.0 113.0 274.0 356.0 375.0 359.0 361.0 306.0 185.0 41.0 -35.0 -127.0 -174.0 -247.0 -259.0 -234.0 -178.0 -150.0 -152.0 -102.0 12.0 109.0 83.0 96.0 104.0 116.0 75.0 47.0 19.0 -16.0 -59.0 -152.0 -214.0 -211.0 -153.0 -165.0 -144.0 -112.0 -32.0 91.0 199.0 285.0 361.0 426.0 443.0 476.0 506.0 566.0 554.0 537.0 495.0 451.0 393.0 318.0 270.0 211.0 179.0 100.0 101.0 31.0 63.0 114.0 150.0 112.0 128.0 138.0 200.0 234.0 224.0 169.0 118.0 53.0 306.0 887.0 381.0 171.0 -342.0 -534.0 -351.0 -233.0 -344.0 -443.0 -213.0 -342.0 9.0 -153.0 54.0 158.0 256.0 115.0 85.0 362.0 506.0 564.0 214.0 -118.0 -291.0 -235.0 -493.0 -648.0 -734.0 -693.0 -572.0 -680.0 -790.0 -662.0 -588.0 -568.0 -549.0 -444.0 -231.0 -5.0 509.0 1047.0 1102.0 869.0 586.0 358.0 347.0 460.0 242.0 28.0 32.0 -50.0 -45.0 -64.0 -112.0 -98.0 9.0 -122.0 -204.0 -32.0 87.0 147.0 124.0 22.0 79.0 301.0 258.0 141.0 68.0 -53.0 -159.0 -260.0 -333.0 -405.0 -444.0 -497.0 -454.0 -387.0 -274.0 -103.0 -2.0 55.0 160.0 252.0 228.0 255.0 252.0 219.0 246.0 262.0 229.0 260.0 315.0 304.0 299.0 288.0 305.0 362.0 355.0 333.0 385.0 437.0 470.0 453.0 369.0 304.0 236.0 133.0 27.0 -7.0 -31.0 -74.0 -135.0 -237.0 -277.0 -284.0 -246.0 -201.0 -177.0 -143.0 -153.0 -190.0 -145.0 -40.0 16.0 40.0 43.0 -19.0 -55.0 -91.0 -171.0 -177.0 -160.0 -168.0 -170.0 -188.0 -146.0 -29.0 69.0 110.0 184.0 314.0 402.0 433.0 403.0 463.0 565.0 624.0 619.0 569.0 565.0 532.0 558.0 500.0 476.0 444.0 478.0 453.0 364.0 278.0 181.0 172.0 90.0 73.0 -6.0 36.0 41.0 18.0 -55.0 -127.0 -181.0 -125.0 -109.0 -38.0 45.0 718.0 780.0 360.0 192.0 -199.0 101.0 121.0 3.0 -431.0 -287.0 -368.0 -322.0 -297.0 -436.0 -172.0 -190.0 -159.0 -482.0 -285.0 -119.0 -17.0 -142.0 -327.0 -417.0 -423.0 -507.0 -730.0 -782.0 -836.0 -809.0 -935.0 -1084.0 -1024.0 -888.0 -791.0 -668.0 -444.0 -82.0 302.0 740.0 1000.0 1003.0 901.0 832.0 840.0 867.0 734.0 525.0 417.0 330.0 148.0 -1.0 -40.0 -27.0 -26.0 -93.0 -201.0 -144.0 86.0 247.0 350.0 431.0 486.0 529.0 570.0 491.0 435.0 484.0 520.0 422.0 291.0 196.0 164.0 173.0 178.0 205.0 204.0 241.0 248.0 282.0 342.0 429.0 497.0 509.0 452.0 354.0 297.0 272.0 182.0 31.0 -128.0 -236.0 -337.0 -437.0 -494.0 -531.0 -456.0 -415.0 -361.0 -333.0 -204.0 -61.0 39.0 38.0 56.0 145.0 154.0 170.0 135.0 125.0 119.0 122.0 15.0 -82.0 -116.0 -130.0 -160.0 -174.0 -168.0 -113.0 -41.0 -20.0 30.0 94.0 95.0 86.0 136.0 147.0 166.0 123.0 61.0 78.0 90.0 -4.0 -38.0 17.0 37.0 81.0 115.0 125.0 194.0 326.0 355.0 338.0 375.0 405.0 428.0 408.0 398.0 412.0 472.0 466.0 382.0 297.0 247.0 305.0 353.0 369.0 336.0 254.0 222.0 223.0 194.0 140.0 183.0 232.0 184.0 70.0 -15.0 -2.0 44.0 115.0 107.0 33.0 21.0 18.0 -43.0 -52.0 -54.0 -88.0 -156.0 -234.0 -258.0 -114.0 -66.0 -98.0 -151.0 -172.0 -247.0 -257.0 -216.0 -143.0 -184.0 -202.0 -250.0 78.0 528.0 225.0 172.0 -308.0 -305.0 -156.0 -122.0 -308.0 -329.0 -195.0 -406.0 -278.0 -443.0 -154.0 -84.0 -14.0 -204.0 -209.0 23.0 119.0 171.0 15.0 -80.0 -187.0 -216.0 -425.0 -382.0 -322.0 -278.0 -318.0 -461.0 -471.0 -364.0 -187.0 -110.0 -2.0 192.0 473.0 654.0 686.0 665.0 587.0 609.0 563.0 441.0 261.0 209.0 179.0 66.0 -22.0 -120.0 -91.0 -51.0 -22.0 -52.0 -8.0 126.0 301.0 453.0 449.0 455.0 506.0 573.0 567.0 515.0 450.0 343.0 193.0 -29.0 -198.0 -301.0 -333.0 -376.0 -426.0 -439.0 -414.0 -352.0 -306.0 -242.0 -162.0 -107.0 -66.0 -73.0 -94.0 -113.0 -103.0 -148.0 -270.0 -350.0 -370.0 -375.0 -397.0 -406.0 -448.0 -434.0 -367.0 -315.0 -256.0 -118.0 -2.0 6.0 -15.0 55.0 159.0 233.0 254.0 236.0 207.0 186.0 192.0 153.0 94.0 36.0 1.0 -56.0 -98.0 -114.0 -96.0 -74.0 -55.0 -29.0 -1.0 25.0 115.0 246.0 302.0 267.0 238.0 271.0 348.0 430.0 382.0 292.0 198.0 150.0 87.0 97.0 131.0 118.0 94.0 6.0 -53.0 -57.0 46.0 94.0 141.0 106.0 72.0 94.0 76.0 38.0 -18.0 -63.0 -141.0 -203.0 -215.0 -172.0 -190.0 -259.0 -247.0 -177.0 -133.0 -106.0 -63.0 9.0 5.0 -76.0 -152.0 -138.0 -43.0 29.0 -18.0 -83.0 -90.0 -48.0 -65.0 -71.0 -34.0 -45.0 -49.0 -168.0 -206.0 -143.0 -8.0 -42.0 -132.0 -160.0 -138.0 -64.0 -103.0 -99.0 -170.0 -185.0 -225.0 -253.0 -257.0 -215.0 -179.0 -213.0 -199.0 -176.0 -93.0 -51.0 3.0 -72.0 -130.0 -146.0 -107.0 -42.0 4.0 40.0 39.0 66.0 -13.0 -7.0 17.0 41.0 13.0 -9.0 15.0 89.0 184.0 168.0 127.0 96.0 106.0 126.0 112.0 99.0 53.0 38.0 -43.0 -87.0 -27.0 -32.0 -58.0 -97.0 -90.0 -88.0 -45.0 -56.0 -43.0 -35.0 -22.0 -39.0 -54.0 -76.0 -59.0 -50.0 309.0 334.0 158.0 59.0 -227.0 -81.0 -42.0 -53.0 -297.0 -200.0 -251.0 -252.0 -288.0 -436.0 -428.0 -522.0 -517.0 -730.0 -630.0 -570.0 -562.0 -648.0 -729.0 -699.0 -530.0 -483.0 -536.0 -500.0 -458.0 -376.0 -306.0 -221.0 -108.0 23.0 106.0 269.0 426.0 545.0 543.0 501.0 504.0 590.0 645.0 574.0 540.0 531.0 475.0 422.0 368.0 313.0 293.0 258.0 149.0 118.0 192.0 239.0 216.0 169.0 132.0 146.0 203.0 221.0 193.0 173.0 157.0 94.0 47.0 1.0 -24.0 -29.0 -9.0 -26.0 -64.0 -102.0 -100.0 -59.0 -38.0 -42.0 -81.0 -99.0 -124.0 -137.0 -144.0 -104.0 -82.0 -116.0 -166.0 -183.0 -176.0 -188.0 -189.0 -245.0 -271.0 -250.0 -233.0 -262.0 -241.0 -223.0 -267.0 -281.0 -318.0 -332.0 -342.0 -374.0 -431.0 -447.0 -425.0 -410.0 -380.0 -377.0 -328.0 -310.0 -323.0 -288.0 -223.0 -160.0 -129.0 -98.0 -143.0 -129.0 -116.0 -148.0 -152.0 -140.0 -134.0 -149.0 -117.0 -99.0 -4.0 65.0 64.0 49.0 91.0 165.0 231.0 273.0 249.0 260.0 233.0 207.0 176.0 183.0 190.0 143.0 54.0 -26.0 -17.0 -4.0 8.0 -12.0 -32.0 -28.0 5.0 65.0 88.0 87.0 145.0 158.0 83.0 -5.0 -1.0 17.0 -10.0 -99.0 -184.0 -183.0 -185.0 -208.0 -279.0 -280.0 -259.0 -190.0 -152.0 -132.0 -73.0 19.0 2.0 -50.0 -25.0 -8.0 -12.0 -79.0 -122.0 -164.0 -164.0 -228.0 -276.0 -318.0 -353.0 -383.0 -381.0 -375.0 -386.0 -330.0 -305.0 -263.0 -227.0 -204.0 -227.0 -208.0 -156.0 -116.0 -90.0 -34.0 -4.0 -25.0 -25.0 -12.0 -1.0 24.0 19.0 -18.0 -44.0 -56.0 -37.0 -50.0 -56.0 -19.0 50.0 37.0 17.0 28.0 58.0 82.0 102.0 141.0 132.0 137.0 87.0 21.0 -13.0 -25.0 -37.0 -89.0 -115.0 -138.0 -128.0 -152.0 -157.0 -111.0 -102.0 -98.0 -117.0 -92.0 -58.0 4.0 11.0 -7.0 -4.0 33.0 45.0 32.0 57.0 43.0 36.0 23.0 8.0 -26.0 -10.0 -19.0 -36.0 -48.0 -18.0 -25.0 -54.0 -47.0 -46.0 -58.0 -87.0 -96.0 -113.0 -90.0 -100.0 -145.0 -217.0 -259.0 -265.0 -284.0 -306.0 -337.0 -360.0 -351.0 -341.0 -335.0 -304.0 -251.0 -251.0 -190.0 -104.0 -63.0 -42.0 -4.0 18.0 11.0 40.0 66.0 70.0 42.0 55.0 54.0 95.0 104.0 125.0 135.0 186.0 211.0 246.0 268.0 272.0 299.0 318.0 263.0 224.0 204.0 503.0 530.0 353.0 327.0 74.0 216.0 234.0 297.0 147.0 277.0 318.0 243.0 196.0 82.0 169.0 62.0 89.0 -193.0 -208.0 -192.0 -239.0 -380.0 -468.0 -516.0 -519.0 -494.0 -585.0 -569.0 -501.0 -376.0 -395.0 -393.0 -235.0 -28.0 44.0 87.0 109.0 165.0 190.0 218.0 129.0 132.0 181.0 117.0 29.0 -47.0 -78.0 -142.0 -175.0 -303.0 -350.0 -308.0 -267.0 -299.0 -276.0 -236.0 -211.0 -173.0 -144.0 -112.0 -45.0 51.0 53.0 68.0 111.0 175.0 190.0 197.0 165.0 147.0 120.0 100.0 89.0 86.0 114.0 88.0 67.0 51.0 83.0 81.0 94.0 113.0 124.0 129.0 135.0 153.0 146.0 144.0 154.0 167.0 172.0 166.0 155.0 153.0 144.0 145.0 135.0 135.0 141.0 168.0 159.0 149.0 135.0 107.0 73.0 53.0 65.0 55.0 28.0 -11.0 -10.0 3.0 38.0 73.0 94.0 102.0 90.0 100.0 107.0 105.0 127.0 125.0 108.0 96.0 124.0 122.0 89.0 74.0 62.0 80.0 86.0 96.0 63.0 59.0 17.0 -32.0 -48.0 -40.0 -36.0 -84.0 -124.0 -166.0 -138.0 -119.0 -128.0 -160.0 -161.0 -154.0 -138.0 -125.0 -129.0 -109.0 -102.0 -96.0 -102.0 -66.0 -3.0 63.0 43.0 2.0 -34.0 -25.0 -12.0 -2.0 26.0 36.0 34.0 -35.0 -67.0 -96.0 -59.0 -42.0 -21.0 -17.0 -5.0 50.0 34.0 74.0 66.0 115.0 131.0 151.0 159.0 177.0 246.0 255.0 295.0 256.0 255.0 206.0 170.0 108.0 41.0 2.0 -60.0 -109.0 -186.0 -198.0 -235.0 -245.0 -271.0 -273.0 -268.0 -222.0 -153.0 -145.0 -143.0 -147.0 -133.0 -114.0 -112.0 -123.0 -164.0 -197.0 -214.0 -201.0 -162.0 -155.0 -141.0 -119.0 -59.0 -44.0 -19.0 33.0 68.0 63.0 36.0 42.0 63.0 101.0 96.0 78.0 92.0 103.0 82.0 87.0 141.0 174.0 166.0 176.0 157.0 176.0 223.0 258.0 258.0 243.0 245.0 214.0 188.0 154.0 181.0 168.0 131.0 82.0 31.0 23.0 -7.0 -39.0 -80.0 -64.0 -65.0 -66.0 -71.0 -61.0 -21.0 -4.0 11.0 16.0 28.0 32.0 53.0 52.0 65.0 58.0 67.0 73.0 64.0 49.0 20.0 4.0 -22.0 3.0 -8.0 6.0 17.0 40.0 29.0 30.0 54.0 49.0 70.0 53.0 67.0 44.0 31.0 -7.0 -30.0 -53.0 -74.0 -90.0 -129.0 -119.0 -125.0 -105.0 -105.0 -61.0 -20.0 -2.0 25.0 43.0 73.0 98.0 139.0 127.0 111.0 98.0 76.0 63.0 47.0 68.0 53.0 18.0 -22.0 -44.0 -42.0 -49.0 -40.0 -28.0 -2.0 -19.0 -21.0 4.0 45.0 97.0 91.0 61.0 32.0 39.0 43.0 49.0 53.0 53.0 64.0 47.0 33.0 24.0 41.0 41.0 28.0 37.0 44.0 80.0 109.0 102.0 85.0 105.0 115.0 95.0 110.0 112.0 106.0 62.0 17.0 -17.0 -17.0 -1.0 -21.0 -37.0 -69.0 -70.0 -67.0 -43.0 -13.0 27.0 63.0 80.0 99.0 127.0 197.0 241.0 265.0 265.0 255.0 258.0 271.0 260.0 231.0 223.0 203.0 166.0 132.0 109.0 101.0 87.0 48.0 13.0 10.0 42.0 52.0 60.0 49.0 58.0 56.0 67.0 67.0 75.0 71.0 38.0 17.0 5.0 28.0 44.0 60.0 40.0 26.0 15.0 32.0 86.0 263.0 197.0 223.0 126.0 85.0 154.0 137.0 203.0 100.0 237.0 114.0 127.0 23.0 26.0 20.0 -16.0 -20.0 -193.0 -155.0 -237.0 -258.0 -339.0 -320.0 -383.0 -409.0 -463.0 -500.0 -565.0 -523.0 -538.0 -531.0 -463.0 -440.0 -368.0 -344.0 -189.0 -155.0 -4.0 40.0 110.0 164.0 254.0 322.0 351.0 444.0 421.0 433.0 419.0 425.0 396.0 397.0 383.0 334.0 298.0 266.0 191.0 126.0 69.0 26.0 -31.0 -72.0 -116.0 -190.0 -227.0 -279.0 -291.0 -308.0 -281.0 -273.0 -267.0 -244.0 -206.0 -160.0 -123.0 -45.0 16.0 58.0 90.0 106.0 133.0 172.0 215.0 255.0 269.0 285.0 275.0 269.0 278.0 284.0 294.0 289.0 288.0 268.0 267.0 240.0 202.0 193.0 172.0 144.0 102.0 87.0 56.0 31.0 19.0 -4.0 11.0 29.0 45.0 29.0 32.0 42.0 51.0 80.0 101.0 126.0 132.0 152.0 123.0 113.0 117.0 110.0 80.0 26.0 -8.0 -41.0 -52.0 -73.0 -84.0 -106.0 -112.0 -144.0 -153.0 -142.0 -122.0 -116.0 -119.0 -136.0 -157.0 -145.0 -151.0 -138.0 -150.0 -141.0 -136.0 -109.0 -116.0 -121.0 -99.0 -70.0 -42.0 -28.0 1.0 5.0 25.0 39.0 60.0 77.0 67.0 37.0 14.0 16.0 36.0 48.0 53.0 57.0 63.0 68.0 68.0 88.0 107.0 126.0 126.0 137.0 141.0 154.0 152.0 127.0 94.0 56.0 55.0 25.0 7.0 -1.0 -3.0 -21.0 -50.0 -54.0 -54.0 -35.0 -40.0 -57.0 -75.0 -91.0 -84.0 -69.0 -59.0 -56.0 -68.0 -94.0 -133.0 -139.0 -128.0 -118.0 -107.0 -118.0 -131.0 -137.0 -124.0 -109.0 -87.0 -74.0 -56.0 -28.0 -3.0 14.0 42.0 78.0 115.0 145.0 162.0 162.0 154.0 168.0 169.0 174.0 188.0 187.0 159.0 135.0 117.0 105.0 102.0 93.0 83.0 61.0 57.0 44.0 39.0 39.0 31.0 29.0 27.0 32.0 24.0 27.0 42.0 55.0 77.0 108.0 120.0 114.0 124.0 134.0 127.0 128.0 136.0 118.0 92.0 82.0 77.0 65.0 52.0 42.0 30.0 29.0 8.0 -26.0 -70.0 -82.0 -99.0 -124.0 -133.0 -132.0 -138.0 -156.0 -161.0 -168.0 -137.0 -110.0 -88.0 -82.0 -63.0 -42.0 -12.0 6.0 18.0 42.0 53.0 62.0 44.0 41.0 32.0 31.0 18.0 21.0 19.0 31.0 33.0 34.0 32.0 41.0 51.0 52.0 59.0 56.0 56.0 83.0 104.0 59.0 64.0 12.0 13.0 -25.0 -29.0 -47.0 -50.0 -24.0 -65.0 -42.0 -60.0 -14.0 -30.0 15.0 32.0 50.0 88.0 89.0 109.0 120.0 158.0 161.0 168.0 186.0 172.0 148.0 165.0 152.0 155.0 155.0 172.0 137.0 130.0 132.0 110.0 110.0 87.0 83.0 40.0 33.0 -15.0 -34.0 -55.0 -101.0 -133.0 -175.0 -190.0 -233.0 -249.0 -268.0 -281.0 -271.0 -274.0 -277.0 -264.0 -224.0 -179.0 -156.0 -121.0 -106.0 -86.0 -70.0 -75.0 -61.0 -43.0 -9.0 -14.0 -8.0 2.0 37.0 64.0 75.0 101.0 114.0 141.0 137.0 146.0 136.0 136.0 136.0 121.0 100.0 72.0 66.0 46.0 29.0 16.0 8.0 -6.0 -25.0 -31.0 -13.0 5.0 31.0 36.0 36.0 54.0 69.0 79.0 71.0 73.0 81.0 81.0 73.0 70.0 80.0 78.0 60.0 34.0 24.0 26.0 25.0 28.0 21.0 18.0 1.0 0.0 12.0 26.0 44.0 48.0 51.0 48.0 55.0 61.0 48.0 32.0 7.0 -13.0 -30.0 -53.0 -80.0 -117.0 -143.0 -162.0 -177.0 -182.0 -186.0 -185.0 -193.0 -202.0 -190.0 -179.0 -164.0 -149.0 -131.0 -112.0 -106.0 -103.0 -89.0 -73.0 -58.0 -39.0 -31.0 -22.0 -25.0 -19.0 -20.0 -18.0 -12.0 -11.0 -27.0 -40.0 -39.0 -49.0 -64.0 -67.0 -65.0 -60.0 -42.0 -35.0 -44.0 -46.0 -23.0 -14.0 -4.0 12.0 29.0 34.0 49.0 62.0 66.0 77.0 86.0 95.0 98.0 109.0 103.0 110.0 109.0 99.0 95.0 102.0 109.0 99.0 85.0 71.0 50.0 37.0 17.0 -19.0 -42.0 -57.0 -79.0 -101.0 -100.0 -105.0 -117.0 -122.0 -140.0 -151.0 -137.0 -112.0 -98.0 -92.0 -81.0 -74.0 -78.0 -77.0 -66.0 -52.0 -38.0 -48.0 -61.0 -65.0 -75.0 -82.0 -87.0 -76.0 -76.0 -69.0 -58.0 -57.0 -42.0 -28.0 -14.0 -4.0 11.0 25.0 32.0 44.0 47.0 51.0 66.0 75.0 77.0 71.0 71.0 72.0 72.0 82.0 91.0 90.0 93.0 87.0 72.0 66.0 68.0 63.0 53.0 53.0 39.0 23.0 9.0 -8.0 -11.0 -15.0 -10.0 -11.0 -27.0 -29.0 -28.0 -33.0 -28.0 -20.0 -16.0 -16.0 -34.0 -42.0 -35.0 -30.0 -31.0 -37.0 -44.0 -55.0 -56.0 -53.0 -36.0 -26.0 -21.0 -25.0 -27.0 -23.0 -14.0 -6.0 -2.0 6.0 6.0 -4.0 -20.0 -35.0 -40.0 -43.0 -46.0 -51.0 -60.0 -65.0 -72.0 -78.0 -73.0 -72.0 -74.0 -77.0 -80.0 -87.0 -86.0 -75.0 -66.0 -59.0 -66.0 -62.0 -59.0 -49.0 -49.0 -48.0 -37.0 -52.0 -52.0 -65.0 -67.0 -49.0 -47.0 -58.0 -54.0 -57.0 -48.0 -43.0 -17.0 8.0 23.0 57.0 44.0 43.0 64.0 76.0 68.0 73.0 73.0 67.0 60.0 56.0 43.0 36.0 51.0 38.0 40.0 51.0 51.0 58.0 49.0 49.0 56.0 63.0 65.0 49.0 38.0 39.0 44.0 36.0 29.0 29.0 21.0 1.0 -14.0 -23.0 -29.0 -33.0 -46.0 -49.0 -48.0 -54.0 -64.0 -76.0 -77.0 -86.0 -95.0 -112.0 -127.0 -135.0 -149.0 -165.0 -178.0 -192.0 -202.0 -211.0 -211.0 -205.0 -201.0 -195.0 -191.0 -183.0 -164.0 -143.0 -121.0 -107.0 -98.0 -86.0 -75.0 -67.0 -62.0 -60.0 -62.0 -64.0 -69.0 -77.0 -77.0 -70.0 -73.0 -77.0 -85.0 -91.0 -90.0 -78.0 -62.0 -58.0 -50.0 -43.0 -47.0 -45.0 -30.0 -5.0 8.0 16.0 26.0 31.0 43.0 60.0 72.0 83.0 95.0 104.0 107.0 118.0 128.0 128.0 119.0 111.0 100.0 88.0 84.0 72.0 57.0 44.0 34.0 12.0 -2.0 -12.0 -18.0 -23.0 -28.0 -35.0 -46.0 -65.0 -84.0 -92.0 -99.0 -103.0 -112.0 -112.0 -121.0 -133.0 -139.0 -138.0 -139.0 -140.0 -142.0 -142.0 -142.0 -142.0 -143.0 -148.0 -157.0 -164.0 -159.0 -158.0 -157.0 -151.0 -142.0 -134.0 -131.0 -128.0 -118.0 -104.0 -94.0 -100.0 -105.0 -103.0 -97.0 -87.0 -88.0 -83.0 -91.0 -92.0 -95.0 -93.0 -89.0 -87.0 -79.0 -73.0 -65.0 -52.0 -34.0 -20.0 -1.0 12.0 30.0 40.0 55.0 69.0 76.0 78.0 77.0 71.0 64.0 64.0 66.0 71.0 67.0 71.0 71.0 75.0 84.0 92.0 97.0 106.0 111.0 102.0 92.0 86.0 87.0 74.0 54.0 40.0 22.0 5.0 -11.0 -26.0 -42.0 -49.0 -52.0 -69.0 -85.0 -88.0 -88.0 -94.0 -95.0 -97.0 -97.0 -99.0 -98.0 -102.0 -104.0 -100.0 -95.0 -90.0 -88.0 -72.0 -61.0 -55.0 -46.0 -30.0 -11.0 2.0 7.0 20.0 34.0 44.0 45.0 42.0 46.0 42.0 43.0 39.0 35.0 31.0 22.0 12.0 2.0 -6.0 -15.0 -23.0 -33.0 -45.0 -51.0 -56.0 -55.0 -51.0 -55.0 -49.0 -41.0 -27.0 -16.0 -4.0 12.0 23.0 33.0 52.0 77.0 92.0 106.0 112.0 128.0 143.0 150.0 157.0 163.0 169.0 168.0 164.0 154.0 143.0 130.0 113.0 91.0 71.0 57.0 39.0 24.0 8.0 -7.0 -18.0 -25.0 -36.0 -38.0 -26.0 -13.0 -7.0 -4.0 -2.0 0.0 7.0 12.0 15.0 15.0 19.0 19.0 15.0 15.0 8.0 -5.0 -16.0 -28.0 -44.0 -58.0 -70.0 -82.0 -91.0 -103.0 -108.0 -124.0 -128.0 -135.0 -146.0 -150.0 -148.0 -143.0 -141.0 -137.0 -133.0 -127.0 -124.0 -119.0 -115.0 -106.0 -91.0 -76.0 -61.0 -46.0 -36.0 -28.0 -14.0 1.0 16.0 32.0 45.0 49.0 57.0 58.0 54.0 46.0 43.0 40.0 30.0 16.0 3.0 -8.0 -24.0 -41.0 -58.0 -61.0 -63.0 -64.0 -66.0 -61.0 -57.0 -46.0 -35.0 -26.0 -12.0 7.0 27.0 38.0 49.0 61.0 80.0 97.0 110.0 116.0 125.0 130.0 131.0 126.0 122.0 126.0 123.0 116.0 104.0 98.0 91.0 84.0 74.0 65.0 57.0 45.0 30.0 10.0 5.0 1.0 -7.0 -31.0 -39.0 -43.0 -48.0 -41.0 -46.0 -51.0 -50.0 -45.0 -38.0 -30.0 -22.0 -14.0 -7.0 7.0 9.0 15.0 22.0 22.0 19.0 15.0 17.0 11.0 6.0 -5.0 -11.0 -13.0 -14.0 -16.0 -21.0 -18.0 -21.0 -24.0 -25.0 -23.0 -20.0 -21.0 -25.0 -22.0 -19.0 -20.0 -24.0 -20.0 -11.0 -1.0 4.0 5.0 5.0 15.0 26.0 34.0 50.0 49.0 54.0 56.0 56.0 61.0 63.0 65.0 65.0 65.0 65.0 71.0 66.0 63.0 60.0 60.0 65.0 64.0 64.0 59.0 55.0 51.0 47.0 42.0 32.0 26.0 23.0 16.0 7.0 2.0 -2.0 -4.0 -4.0 -9.0 -7.0 -4.0 -4.0 2.0 4.0 0.0 4.0 11.0 9.0 8.0 8.0 10.0 17.0 14.0 20.0 21.0 20.0 24.0 30.0 38.0 44.0 54.0 63.0 66.0 77.0 84.0 90.0 100.0 106.0 108.0 103.0 98.0 97.0 103.0 107.0 108.0 107.0 105.0 106.0 105.0 103.0 107.0 107.0 100.0 100.0 99.0 99.0 96.0 93.0 93.0 85.0 82.0 75.0 69.0 67.0 63.0 60.0 54.0 50.0 48.0 44.0 39.0 37.0 33.0 37.0 39.0 46.0 47.0 41.0 40.0 41.0 43.0 46.0 48.0 47.0 46.0 43.0 42.0 44.0 52.0 56.0 57.0 58.0 58.0 56.0 57.0 57.0 58.0 63.0 56.0 48.0 44.0 39.0 36.0 28.0 22.0 17.0 14.0 5.0 -2.0 -2.0 -5.0 -3.0 -6.0 -11.0 -16.0 -18.0 -12.0 -15.0 -17.0 -11.0 -4.0 -1.0 2.0 3.0 6.0 9.0 9.0 16.0 22.0 28.0 38.0 48.0 52.0 61.0 74.0 79.0 88.0 97.0 98.0 95.0 92.0 97.0 93.0 90.0 83.0 72.0 64.0 60.0 50.0 45.0 51.0 48.0 39.0 31.0 31.0 29.0 36.0 43.0 42.0 44.0 47.0 51.0 48.0 57.0 65.0 67.0 70.0 66.0 59.0 58.0 58.0 54.0 48.0 40.0 38.0 32.0 24.0 23.0 20.0 20.0 21.0 25.0 34.0 38.0 38.0 40.0 42.0 38.0 39.0 41.0 41.0 42.0 27.0 21.0 20.0 26.0 30.0 29.0 31.0 28.0 28.0 33.0 43.0 43.0 42.0 43.0 39.0 40.0 37.0 33.0 32.0 26.0 27.0 17.0 20.0 14.0 3.0 1.0 -6.0 -11.0 -20.0 -22.0 -24.0 -25.0 -30.0 -34.0 -43.0 -48.0 -52.0 -58.0 -62.0 -68.0 -75.0 -80.0 -85.0 -86.0 -86.0 -88.0 -87.0 -89.0 -88.0 -84.0 -81.0 -77.0 -82.0 -79.0 -71.0 -63.0 -54.0 -46.0 -31.0 -28.0 -26.0 -20.0 -13.0 0.0 6.0 9.0 9.0 16.0 22.0 22.0 23.0 18.0 27.0 21.0 22.0 24.0 29.0 35.0 32.0 41.0 48.0 58.0 64.0 60.0 63.0 59.0 62.0 61.0 50.0 59.0 58.0 63.0 55.0 51.0 49.0 53.0 57.0 52.0 52.0 42.0 42.0 27.0 29.0 23.0 21.0 15.0 4.0 0.0 -17.0 -19.0 -35.0 -34.0 -47.0 -47.0 -43.0 -53.0 -51.0 -60.0 -48.0 -45.0 -34.0 -31.0 -23.0 -11.0 0.0 8.0 9.0 20.0 22.0 31.0 26.0 31.0 28.0 31.0 29.0 23.0 22.0 22.0 27.0 19.0 19.0 15.0 15.0 12.0 17.0 7.0 9.0 4.0 -3.0 -5.0 -14.0 -17.0 -9.0 -17.0 -24.0 -19.0 -39.0 -27.0 -33.0 -35.0 -29.0 -31.0 -27.0 -34.0 -27.0 -22.0 -11.0 2.0 3.0 10.0 13.0 13.0 13.0 22.0 21.0 21.0 18.0 9.0 10.0 8.0 -10.0 5.0 -11.0 -7.0 -2.0 -18.0 -4.0 -21.0 -1.0 -15.0 -4.0 -5.0 -6.0 -1.0 -3.0 -11.0 -10.0 -8.0 -20.0 -10.0 -21.0 -12.0 -19.0 -7.0 -15.0 -2.0 -2.0 -7.0 3.0 -7.0 -9.0 1.0 -3.0 -10.0 -1.0 -24.0 -15.0 -32.0 -43.0 -33.0 -48.0 -49.0 -52.0 -58.0 -50.0 -51.0 -42.0 -35.0 -31.0 -20.0 -9.0 1.0 11.0 14.0 24.0 26.0 34.0 42.0 31.0 43.0 34.0 31.0 33.0 26.0 30.0 30.0 18.0 24.0 15.0 21.0 23.0 22.0 25.0 17.0 27.0 17.0 22.0 21.0 13.0 24.0 12.0 9.0 0.0 -3.0 -6.0 -12.0 -16.0 -10.0 -6.0 -7.0 5.0 5.0 12.0 20.0 14.0 17.0 15.0 8.0 19.0 -2.0 7.0 -12.0 -14.0 -16.0 -33.0 -29.0 -48.0 -53.0 -60.0 -56.0 -66.0 -54.0 -74.0 -54.0 -57.0 -47.0 -40.0 -45.0 -31.0 -40.0 -32.0 -31.0 -28.0 -33.0 -30.0 -36.0 -32.0 -39.0 -17.0 -42.0 -31.0 -25.0 -41.0 -27.0 -38.0 -26.0 -37.0 -23.0 -43.0 -48.0 -39.0 -62.0 -46.0 -51.0 -60.0 -55.0 -57.0 -77.0 -47.0 -67.0 -48.0 -34.0 -53.0 -8.0 -37.0 0.0 -5.0 9.0 24.0 -6.0 37.0 7.0 27.0 27.0 0.0 24.0 -14.0 -1.0 -22.0 -23.0 -29.0 -34.0 -24.0 -53.0 -19.0 -47.0 -38.0 -17.0 -43.0 -15.0 -1.0 -21.0 22.0 -13.0 8.0 13.0 -2.0 29.0 -4.0 16.0 9.0 10.0 3.0 12.0 -16.0 1.0 -11.0 -7.0 4.0 -28.0 6.0 -13.0 -24.0 1.0 -27.0 -25.0 -7.0 -43.0 -22.0 -43.0 -38.0 -44.0 -43.0 -53.0 -62.0 -43.0 -63.0 -49.0 -53.0 -66.0 -43.0 -40.0 -47.0 -35.0 -45.0 -28.0 -23.0 -30.0 -15.0 -15.0 -26.0 2.0 -23.0 -16.0 4.0 -17.0 -4.0 10.0 -20.0 7.0 -1.0 -19.0 11.0 -9.0 -3.0 5.0 -2.0 -18.0 8.0 -15.0 2.0 -8.0 -5.0 -22.0 1.0 -21.0 -8.0 -7.0 -33.0 1.0 -45.0 6.0 -33.0 -9.0 -3.0 -21.0 6.0 -9.0 0.0 12.0 0.0 20.0 8.0 21.0 25.0 6.0 36.0 -4.0 30.0 39.0 32.0 63.0 1.0 -2.0 -35.0 -67.0 -4.0 -56.0 -3.0 -36.0 -9.0 17.0 -11.0 6.0 -52.0 -27.0 -60.0 -32.0 -53.0 -21.0 -31.0 -8.0 -24.0 -28.0 11.0 -31.0 34.0 -22.0 28.0 35.0 17.0 64.0 25.0 55.0 49.0 82.0 59.0 70.0 77.0 17.0 86.0 11.0 55.0 15.0 18.0 10.0 -7.0 7.0 -6.0 -14.0 -10.0 1.0 -36.0 40.0 -42.0 38.0 15.0 6.0 53.0 36.0 25.0 74.0 21.0 79.0 44.0 63.0 87.0 30.0 99.0 44.0 95.0 48.0 106.0 39.0 89.0 74.0 60.0 83.0 68.0 49.0 83.0 31.0 53.0 58.0 9.0 78.0 -27.0 47.0 -23.0 17.0 -11.0 -6.0 0.0 -30.0 -2.0 -29.0 -8.0 1.0 -2.0 -22.0 21.0 -54.0 36.0 -34.0 -6.0 20.0 -49.0 48.0 -52.0 24.0 2.0 -10.0 52.0 -29.0 52.0 8.0 -19.0 76.0 -33.0 54.0 26.0 1.0 65.0 23.0 31.0 46.0 30.0 21.0 56.0 10.0 39.0 27.0 18.0 44.0 37.0 35.0 37.0 46.0 32.0 63.0 70.0 10.0 122.0 -2.0 93.0 53.0 24.0 90.0 -5.0 74.0 16.0 55.0 -3.0 34.0 -14.0 7.0 -2.0 -6.0 -11.0 -15.0 -30.0 -18.0 -11.0 -40.0 8.0 -61.0 1.0 -52.0 -24.0 -44.0 -44.0 -12.0 -63.0 12.0 -63.0 -11.0 -17.0 -66.0 8.0 -67.0 5.0 -43.0 -30.0 35.0 -52.0 48.0 -17.0 -8.0 47.0 -34.0 25.0 -12.0 2.0 -15.0 7.0 -19.0 -40.0 4.0 -25.0 -8.0 1.0 -10.0 -37.0 23.0 -22.0 27.0 -3.0 2.0 13.0 -4.0 51.0 -23.0 48.0 -7.0 14.0 33.0 -25.0 52.0 -22.0 18.0 29.0 -38.0 60.0 -14.0 -1.0 55.0 -38.0 49.0 25.0 -2.0 49.0 11.0 18.0 78.0 7.0 49.0 45.0 4.0 74.0 6.0 50.0 32.0 19.0 39.0 31.0 14.0 41.0 48.0 0.0 72.0 27.0 15.0 60.0 -5.0 29.0 5.0 9.0 2.0 4.0 -13.0 -2.0 -27.0 4.0 -33.0 -43.0 -13.0 -67.0 -30.0 -49.0 -13.0 -61.0 1.0 -72.0 1.0 -38.0 -14.0 -48.0 -26.0 -23.0 -51.0 18.0 -73.0 46.0 -82.0 23.0 -19.0 -74.0 48.0 -76.0 14.0 33.0 -94.0 76.0 -82.0 39.0 28.0 -58.0 108.0 -98.0 115.0 -44.0 31.0 72.0 -89.0 119.0 -72.0 40.0 53.0 -52.0 97.0 -40.0 9.0 55.0 -52.0 66.0 6.0 -15.0 43.0 -3.0 -2.0 63.0 -34.0 54.0 15.0 -24.0 96.0 -70.0 88.0 -7.0 -20.0 78.0 -65.0 57.0 14.0 -45.0 97.0 -107.0 67.0 -25.0 -26.0 50.0 -70.0 54.0 -74.0 41.0 -75.0 27.0 -66.0 -11.0 -44.0 -65.0 18.0 -95.0 31.0 -78.0 -30.0 13.0 -60.0 -12.0 -2.0 -68.0 66.0 -55.0 14.0 7.0 -37.0 36.0 -3.0 13.0 1.0 -21.0 14.0 -10.0 -30.0 34.0 -82.0 70.0 -93.0 35.0 -25.0 -52.0 45.0 -106.0 32.0 -81.0 11.0 -76.0 0.0 -87.0 -26.0 -31.0 -110.0 45.0 -141.0 40.0 -71.0 -75.0 50.0 -124.0 32.0 -28.0 -69.0 56.0 -83.0 43.0 -6.0 -51.0 88.0 -85.0 56.0 20.0 -36.0 96.0 -10.0 51.0 -4.0 58.0 -32.0 46.0 1.0 -33.0 43.0 -45.0 40.0 -49.0 42.0 -80.0 29.0 -40.0 -70.0 57.0 -166.0 83.0 -104.0 -65.0 95.0 -242.0 133.0 -141.0 -127.0 73.0 -210.0 11.0 -72.0 -165.0 20.0 -154.0 -59.0 -52.0 -157.0 7.0 -171.0 -7.0 -118.0 -70.0 -38.0 -108.0 -20.0 -80.0 -95.0 -8.0 -91.0 -41.0 -15.0 -112.0 25.0 -126.0 45.0 -73.0 -26.0 23.0 -127.0 97.0 -122.0 26.0 12.0 -98.0 43.0 -95.0 28.0 0.0 -46.0 -29.0 -3.0 -40.0 -8.0 13.0 -36.0 2.0 -1.0 -44.0 34.0 -28.0 4.0 36.0 -85.0 139.0 -148.0 105.0 -44.0 -35.0 105.0 -163.0 47.0 -92.0 -36.0 35.0 -46.0 -62.0 37.0 -159.0 121.0 -186.0 64.0 -171.0 -37.0 74.0 -231.0 146.0 -200.0 55.0 -96.0 11.0 -214.0 55.0 -162.0 -73.0 32.0 -160.0 -41.0 -131.0 8.0 -165.0 58.0 -174.0 -42.0 -14.0 -62.0 -50.0 -87.0 -69.0 -72.0 -64.0 -51.0 -99.0 -100.0 57.0 -174.0 84.0 -123.0 -119.0 108.0 -265.0 105.0 -124.0 -69.0 16.0 -82.0 -55.0 -24.0 -9.0 -108.0 49.0 -136.0 -38.0 -12.0 -94.0 24.0 12.0 -141.0 111.0 -142.0 20.0 45.0 -87.0 48.0 -68.0 5.0 0.0 -13.0 24.0 -57.0 69.0 -7.0 -36.0 107.0 -185.0 170.0 -111.0 46.0 50.0 -71.0 46.0 47.0 -51.0 65.0 -6.0 -109.0 205.0 -152.0 63.0 3.0 -84.0 73.0 -33.0 -18.0 72.0 -139.0 131.0 -141.0 55.0 95.0 -153.0 177.0 -266.0 130.0 -156.0 35.0 19.0 -171.0 74.0 -163.0 171.0 -223.0 170.0 -204.0 14.0 -12.0 -172.0 160.0 -192.0 111.0 -105.0 -24.0 -45.0 48.0 -185.0 70.0 -98.0 -39.0 -29.0 -50.0 5.0 -53.0 80.0 -133.0 58.0 -9.0 -88.0 145.0 -96.0 5.0 73.0 -134.0 153.0 -157.0 113.0 -34.0 58.0 -32.0 -1.0 25.0 -42.0 17.0 -50.0 -45.0 65.0 -25.0 19.0 -49.0 -20.0 35.0 -67.0 106.0 -162.0 173.0 -237.0 280.0 -294.0 173.0 -27.0 -186.0 352.0 -357.0 427.0 -276.0 58.0 96.0 -242.0 264.0 -136.0 80.0 145.0 -85.0 254.0 -161.0 214.0 -136.0 34.0 42.0 -96.0 267.0 -209.0 275.0 -129.0 150.0 -17.0 73.0 86.0 -86.0 107.0 -17.0 -21.0 130.0 60.0 -151.0 308.0 -354.0 269.0 -1.0 -135.0 467.0 -485.0 460.0 -258.0 -81.0 424.0 -550.0 504.0 -287.0 38.0 294.0 -278.0 356.0 -240.0 68.0 198.0 -294.0 341.0 -140.0 -84.0 427.0 -460.0 384.0 -52.0 -175.0 515.0 -397.0 333.0 7.0 -171.0 304.0 -288.0 225.0 8.0 3.0 268.0 -340.0 344.0 -87.0 -149.0 462.0 -586.0 403.0 -55.0 -240.0 525.0 -411.0 267.0 12.0 -61.0 72.0 59.0 -64.0 49.0 95.0 -215.0 167.0 -87.0 3.0 79.0 25.0 -104.0 144.0 -67.0 -115.0 369.0 -523.0 491.0 -249.0 -200.0 490.0 -633.0 493.0 -294.0 153.0 -125.0 59.0 -104.0 -53.0 194.0 -318.0 315.0 -169.0 119.0 -68.0 90.0 -156.0 181.0 -105.0 -1.0 25.0 -24.0 52.0 90.0 -59.0 -47.0 106.0 -274.0 448.0 -471.0 348.0 -154.0 -229.0 458.0 -501.0 375.0 -197.0 -110.0 156.0 -181.0 194.0 -204.0 58.0 -42.0 -91.0 293.0 -269.0 208.0 16.0 -180.0 355.0 -234.0 76.0 96.0 -243.0 340.0 -196.0 207.0 -89.0 63.0 122.0 -87.0 327.0 -325.0 418.0 -238.0 69.0 296.0 -449.0 395.0 -4.0 -363.0 862.0 -804.0 564.0 23.0 -480.0 899.0 -1026.0 987.0 -612.0 209.0 299.0 -500.0 748.0 -549.0 384.0 -15.0 -194.0 417.0 -253.0 13.0 360.0 -562.0 574.0 -322.0 9.0 324.0 -447.0 312.0 -185.0 22.0 -104.0 237.0 -419.0 384.0 -310.0 18.0 69.0 -178.0 139.0 -284.0 292.0 -353.0 277.0 -236.0 141.0 -121.0 66.0 -144.0 -13.0 -7.0 51.0 -17.0 -82.0 233.0 -496.0 552.0 -526.0 389.0 -180.0 -226.0 484.0 -575.0 510.0 -191.0 -238.0 452.0 -463.0 276.0 77.0 -332.0 515.0 -490.0 405.0 -243.0 175.0 43.0 -239.0 476.0 -552.0 583.0 -170.0 -196.0 475.0 -523.0 267.0 173.0 -503.0 629.0 -541.0 250.0 203.0 -580.0 714.0 -657.0 244.0 132.0 -619.0 856.0 -831.0 477.0 115.0 -688.0 948.0 -902.0 546.0 -31.0 -440.0 558.0 -481.0 272.0 -5.0 -187.0 394.0 -396.0 335.0 -162.0 -240.0 489.0 -452.0 185.0 177.0 -474.0 552.0 -267.0 -188.0 363.0 -576.0 471.0 -266.0 115.0 -30.0 -158.0 225.0 -163.0 10.0 169.0 -348.0 305.0 -223.0 22.0 393.0 -640.0 842.0 -873.0 475.0 64.0 -440.0 743.0 -642.0 470.0 -311.0 146.0 7.0 -77.0 104.0 -89.0 195.0 -274.0 402.0 -511.0 238.0 -73.0 -49.0 295.0 -271.0 214.0 -112.0 74.0 219.0 -398.0 86.0 -27.0 -262.0 422.0 -240.0 29.0 16.0 145.0 -88.0 222.0 -266.0 183.0 -201.0 89.0 139.0 -371.0 371.0 -388.0 295.0 -73.0 71.0 -175.0 155.0 -286.0 209.0 -127.0 31.0 34.0 -204.0 235.0 -270.0 374.0 -401.0 306.0 -309.0 106.0 3.0 17.0 -37.0 109.0 -23.0 -67.0 279.0 -409.0 415.0 -395.0 104.0 -97.0 15.0 35.0 20.0 -28.0 -65.0 180.0 -164.0 171.0 -226.0 -81.0 -16.0 -72.0 41.0 -83.0 -51.0 95.0 -96.0 250.0 -188.0 -22.0 -2.0 -95.0 178.0 -285.0 537.0 -587.0 338.0 139.0 -645.0 970.0 -889.0 508.0 -57.0 -295.0 571.0 -466.0 267.0 -188.0 -57.0 -152.0 167.0 -272.0 356.0 -253.0 313.0 -248.0 135.0 176.0 -508.0 835.0 -1104.0 1186.0 -787.0 454.0 203.0 -634.0 904.0 -768.0 493.0 -105.0 102.0 -108.0 358.0 -458.0 602.0 -461.0 248.0 107.0 -450.0 584.0 -439.0 355.0 -204.0 255.0 -428.0 436.0 -418.0 223.0 126.0 -486.0 736.0 -737.0 314.0 541.0 -1074.0 1165.0 -766.0 10.0 853.0 -1330.0 1387.0 -866.0 178.0 395.0 -632.0 595.0 -438.0 64.0 275.0 -544.0 805.0 -680.0 302.0 250.0 -699.0 881.0 -880.0 600.0 -385.0 97.0 163.0 -272.0 263.0 -275.0 284.0 -165.0 223.0 148.0 -257.0 319.0 -102.0 -81.0 283.0 -88.0 118.0 50.0 127.0 -20.0 67.0 -27.0 127.0 -117.0 189.0 -56.0 -59.0 287.0 -214.0 179.0 94.0 -192.0 46.0 142.0 -109.0 333.0 -400.0 249.0 -41.0 -55.0 400.0 -439.0 472.0 -201.0 198.0 74.0 -25.0 -62.0 159.0 -165.0 143.0 131.0 -293.0 550.0 -587.0 621.0 -332.0 146.0 171.0 -452.0 692.0 -677.0 669.0 -367.0 -154.0 582.0 -651.0 615.0 -275.0 154.0 73.0 -31.0 218.0 -195.0 392.0 -333.0 261.0 0.0 -156.0 566.0 -469.0 536.0 -266.0 -3.0 450.0 -606.0 818.0 -648.0 414.0 103.0 -358.0 901.0 -884.0 662.0 -171.0 -471.0 1196.0 -1212.0 1236.0 -496.0 -210.0 1021.0 -1265.0 1308.0 -885.0 246.0 482.0 -796.0 1135.0 -662.0 285.0 490.0 -1029.0 1387.0 -1126.0 756.0 82.0 -766.0 1329.0 -1336.0 1116.0 -202.0 -330.0 635.0 -337.0 -99.0 619.0 -751.0 772.0 -294.0 -207.0 1061.0 -1419.0 1727.0 -1160.0 590.0 176.0 -627.0 805.0 -639.0 571.0 -205.0 261.0 -246.0 484.0 -695.0 927.0 -632.0 377.0 219.0 -513.0 799.0 -821.0 780.0 -376.0 158.0 216.0 -196.0 123.0 347.0 -364.0 631.0 -490.0 370.0 -73.0 67.0 249.0 -213.0 376.0 -227.0 422.0 -269.0 590.0 -113.0 -18.0 279.0 -17.0 -314.0 776.0 -717.0 584.0 121.0 -497.0 1278.0 -1438.0 1395.0 -370.0 -617.0 1830.0 -2086.0 1747.0 -618.0 -183.0 968.0 -983.0 909.0 -527.0 516.0 -360.0 429.0 -396.0 559.0 -438.0 592.0 -205.0 -68.0 558.0 -621.0 670.0 -380.0 196.0 32.0 158.0 -464.0 760.0 -590.0 638.0 -159.0 -74.0 167.0 32.0 29.0 -18.0 280.0 -479.0 649.0 -496.0 477.0 -231.0 499.0 -619.0 866.0 -955.0 885.0 -280.0 -176.0 886.0 -1107.0 1468.0 -1429.0 1682.0 -1367.0 989.0 -215.0 -515.0 900.0 -673.0 559.0 96.0 -184.0 -216.0 1090.0 -1718.0 2026.0 -1622.0 573.0 734.0 -1511.0 1988.0 -1373.0 455.0 412.0 -731.0 628.0 245.0 -940.0 1256.0 -916.0 333.0 608.0 -1224.0 1432.0 -1184.0 823.0 -146.0 -251.0 753.0 -857.0 690.0 -523.0 -3.0 535.0 -405.0 -19.0 576.0 -981.0 980.0 -158.0 -365.0 687.0 -794.0 574.0 -373.0 388.0 -477.0 582.0 -383.0 241.0 -205.0 36.0 270.0 -545.0 1091.0 -1289.0 1150.0 -656.0 26.0 516.0 -406.0 136.0 43.0 -226.0 191.0 281.0 -544.0 879.0 -848.0 207.0 385.0 -779.0 886.0 -306.0 -535.0 1136.0 -1292.0 935.0 -48.0 -764.0 1028.0 -867.0 460.0 177.0 -358.0 464.0 -391.0 247.0 123.0 -528.0 791.0 -818.0 446.0 195.0 -734.0 1011.0 -742.0 318.0 180.0 -609.0 509.0 -456.0 293.0 -314.0 576.0 -797.0 462.0 258.0 -881.0 1247.0 -1068.0 480.0 271.0 -676.0 586.0 200.0 -961.0 1360.0 -1152.0 231.0 796.0 -1566.0 1770.0 -1656.0 838.0 199.0 -970.0 1549.0 -1545.0 906.0 -79.0 -675.0 923.0 -667.0 -46.0 580.0 -816.0 722.0 32.0 -557.0 965.0 -1163.0 1145.0 -892.0 579.0 -199.0 -89.0 355.0 -695.0 1163.0 -1336.0 1066.0 -507.0 -308.0 783.0 -642.0 320.0 270.0 -996.0 1052.0 -811.0 95.0 999.0 -1856.0 1770.0 -1078.0 -248.0 1672.0 -2137.0 1719.0 -689.0 -696.0 1684.0 -2080.0 1784.0 -791.0 -579.0 1373.0 -1901.0 1630.0 -672.0 -466.0 1167.0 -1822.0 1384.0 -557.0 -256.0 829.0 -1145.0 640.0 -518.0 220.0 -96.0 151.0 -109.0 -354.0 382.0 -600.0 666.0 -329.0 -179.0 264.0 -425.0 -74.0 560.0 -804.0 634.0 -277.0 -441.0 857.0 -1044.0 1038.0 -803.0 287.0 -328.0 196.0 -402.0 556.0 -136.0 -333.0 799.0 -1318.0 1463.0 -1331.0 1349.0 -1148.0 381.0 287.0 -859.0 1048.0 -766.0 385.0 -518.0 553.0 -817.0 925.0 -964.0 644.0 -381.0 -59.0 318.0 -726.0 922.0 -988.0 889.0 -893.0 601.0 -590.0 349.0 -49.0 -232.0 304.0 -635.0 594.0 -552.0 348.0 -447.0 181.0 -202.0 4.0 28.0 26.0 -42.0 -20.0 -217.0 -19.0 -254.0 54.0 210.0 -760.0 874.0 -758.0 143.0 485.0 -798.0 466.0 -68.0 -613.0 573.0 -201.0 -649.0 962.0 -970.0 350.0 360.0 -916.0 919.0 -702.0 -135.0 572.0 -795.0 433.0 90.0 -967.0 1248.0 -1233.0 397.0 462.0 -1194.0 1261.0 -1446.0 943.0 -404.0 -237.0 807.0 -1202.0 554.0 -250.0 -262.0 474.0 -312.0 -359.0 661.0 -1175.0 1289.0 -851.0 -45.0 907.0 -1895.0 1794.0 -1258.0 449.0 112.0 -380.0 -37.0 -49.0 -51.0 -176.0 240.0 -695.0 659.0 -909.0 667.0 -481.0 187.0 -399.0 96.0 -170.0 -322.0 376.0 -468.0 132.0 -168.0 163.0 -292.0 255.0 -383.0 398.0 -707.0 363.0 -96.0 -465.0 532.0 -403.0 -413.0 677.0 -857.0 460.0 -11.0 -716.0 1160.0 -1543.0 1111.0 -636.0 -254.0 459.0 -358.0 -346.0 382.0 -328.0 -196.0 614.0 -959.0 724.0 -813.0 554.0 -415.0 -205.0 40.0 33.0 -227.0 158.0 -167.0 -256.0 469.0 -555.0 567.0 -853.0 652.0 -610.0 -74.0 487.0 -565.0 114.0 -3.0 -391.0 342.0 -89.0 -81.0 119.0 -478.0 82.0 12.0 -185.0 -81.0 225.0 -944.0 746.0 -427.0 -236.0 337.0 -677.0 -62.0 280.0 -535.0 282.0 17.0 -537.0 469.0 -645.0 321.0 -25.0 -217.0 64.0 -225.0 -299.0 232.0 -91.0 -437.0 380.0 -723.0 175.0 385.0 -456.0 263.0 -302.0 -327.0 -41.0 323.0 -710.0 733.0 -794.0 -167.0 656.0 -975.0 1001.0 -603.0 -89.0 -98.0 -80.0 61.0 -168.0 67.0 -490.0 208.0 -150.0 -260.0 370.0 -378.0 -297.0 380.0 -701.0 419.0 -141.0 -394.0 412.0 -907.0 576.0 -496.0 112.0 -22.0 -414.0 368.0 -468.0 134.0 165.0 -344.0 163.0 -180.0 -372.0 409.0 -383.0 305.0 -523.0 274.0 -487.0 246.0 -70.0 -427.0 303.0 -659.0 294.0 -326.0 131.0 -276.0 128.0 -582.0 255.0 51.0 -520.0 649.0 -660.0 14.0 326.0 -575.0 345.0 131.0 -689.0 804.0 -754.0 79.0 647.0 -1274.0 901.0 -485.0 -369.0 639.0 -831.0 394.0 -214.0 -521.0 474.0 -625.0 -205.0 428.0 -689.0 231.0 -19.0 -644.0 322.0 -349.0 121.0 16.0 -346.0 128.0 -252.0 -42.0 305.0 -425.0 73.0 103.0 -438.0 445.0 -320.0 295.0 -367.0 -46.0 505.0 -1032.0 937.0 -497.0 -601.0 948.0 -1152.0 419.0 -43.0 -709.0 666.0 -646.0 -12.0 281.0 -842.0 673.0 -272.0 -694.0 1219.0 -1077.0 284.0 21.0 -498.0 501.0 -339.0 276.0 -448.0 219.0 -133.0 281.0 -180.0 35.0 41.0 -360.0 323.0 -25.0 -290.0 234.0 -344.0 -362.0 730.0 -803.0 648.0 -194.0 -560.0 632.0 -567.0 271.0 271.0 -1036.0 842.0 -413.0 -422.0 1171.0 -1114.0 585.0 202.0 -734.0 881.0 -525.0 77.0 388.0 -775.0 902.0 -581.0 -73.0 511.0 -551.0 376.0 72.0 -404.0 484.0 -456.0 378.0 206.0 -803.0 842.0 -949.0 378.0 330.0 -337.0 116.0 209.0 -646.0 522.0 -58.0 -246.0 760.0 -1074.0 796.0 -426.0 107.0 307.0 -278.0 -13.0 117.0 -252.0 277.0 121.0 -286.0 370.0 -588.0 628.0 -597.0 517.0 -98.0 -433.0 752.0 -766.0 614.0 -252.0 133.0 116.0 -296.0 414.0 -429.0 289.0 197.0 -311.0 157.0 -27.0 -196.0 627.0 -525.0 485.0 -242.0 -226.0 671.0 -745.0 513.0 140.0 -488.0 613.0 -269.0 -290.0 1166.0 -1308.0 944.0 -245.0 -484.0 1114.0 -887.0 578.0 33.0 -690.0 787.0 -266.0 -301.0 1086.0 -1336.0 948.0 -393.0 -18.0 766.0 -984.0 877.0 -487.0 -155.0 727.0 -501.0 126.0 449.0 -799.0 493.0 246.0 -219.0 295.0 -151.0 -469.0 584.0 -280.0 223.0 535.0 -1103.0 1000.0 -386.0 -171.0 891.0 -549.0 11.0 183.0 -236.0 262.0 316.0 -267.0 259.0 -293.0 231.0 42.0 124.0 192.0 -78.0 -27.0 41.0 310.0 -154.0 415.0 -333.0 -40.0 246.0 -154.0 388.0 148.0 -388.0 401.0 -226.0 98.0 491.0 -511.0 558.0 -258.0 -268.0 926.0 -752.0 519.0 312.0 -861.0 881.0 -250.0 126.0 540.0 -539.0 -60.0 443.0 -598.0 1076.0 -423.0 -40.0 475.0 -950.0 1185.0 -568.0 445.0 -85.0 -229.0 354.0 -156.0 361.0 48.0 -284.0 33.0 348.0 -367.0 542.0 -74.0 -153.0 276.0 -135.0 24.0 333.0 -121.0 68.0 82.0 -386.0 707.0 -378.0 251.0 151.0 -435.0 670.0 -370.0 469.0 -139.0 -97.0 401.0 -416.0 370.0 -3.0 -202.0 247.0 -158.0 284.0 -133.0 166.0 38.0 -311.0 480.0 -475.0 803.0 -577.0 147.0 427.0 -976.0 1188.0 -480.0 -59.0 387.0 -287.0 67.0 423.0 -305.0 352.0 -114.0 -257.0 793.0 -777.0 866.0 -395.0 66.0 127.0 -6.0 282.0 -104.0 182.0 -220.0 436.0 -250.0 499.0 -241.0 -60.0 287.0 -76.0 227.0 302.0 -243.0 113.0 14.0 160.0 62.0 160.0 -171.0 -303.0 539.0 -375.0 667.0 -254.0 -95.0 343.0 -343.0 565.0 38.0 -200.0 248.0 -162.0 277.0 52.0 239.0 -109.0 -96.0 557.0 -398.0 348.0 136.0 -120.0 -33.0 407.0 -161.0 269.0 205.0 -311.0 539.0 -357.0 522.0 -108.0 -47.0 141.0 -67.0 84.0 115.0 223.0 -339.0 498.0 -418.0 501.0 -6.0 -138.0 374.0 -426.0 571.0 -360.0 346.0 132.0 -195.0 491.0 -374.0 431.0 281.0 -323.0 337.0 -160.0 19.0 363.0 -207.0 63.0 225.0 -391.0 631.0 -150.0 -284.0 743.0 -839.0 709.0 -155.0 -277.0 754.0 -585.0 463.0 -16.0 -184.0 362.0 -165.0 66.0 87.0 -36.0 272.0 -243.0 123.0 156.0 -181.0 572.0 -286.0 68.0 170.0 -226.0 602.0 -341.0 47.0 327.0 -594.0 253.0 410.0 -466.0 665.0 -103.0 -510.0 823.0 -624.0 477.0 155.0 -699.0 619.0 -283.0 76.0 414.0 -334.0 146.0 142.0 -330.0 443.0 -264.0 -151.0 349.0 -562.0 346.0 -29.0 -82.0 233.0 -240.0 192.0 -120.0 -33.0 145.0 -158.0 -87.0 185.0 -96.0 28.0 319.0 -89.0 -133.0 408.0 -190.0 -158.0 673.0 -720.0 464.0 -78.0 -506.0 940.0 -494.0 174.0 253.0 -400.0 97.0 479.0 -636.0 395.0 -51.0 -497.0 915.0 -710.0 449.0 75.0 -403.0 424.0 -157.0 -13.0 291.0 -441.0 148.0 283.0 -292.0 583.0 -487.0 150.0 215.0 -289.0 422.0 -157.0 -165.0 229.0 -272.0 392.0 -1.0 102.0 140.0 -670.0 816.0 -290.0 230.0 385.0 -845.0 387.0 94.0 -8.0 428.0 -482.0 262.0 -120.0 5.0 526.0 -593.0 481.0 -402.0 -190.0 387.0 -175.0 385.0 -261.0 -203.0 217.0 -90.0 270.0 -136.0 -13.0 -135.0 150.0 244.0 -441.0 625.0 -315.0 -146.0 391.0 -237.0 277.0 283.0 -522.0 159.0 220.0 -143.0 436.0 -441.0 19.0 157.0 -94.0 236.0 -211.0 100.0 138.0 -53.0 83.0 82.0 -141.0 106.0 -173.0 -56.0 330.0 -359.0 410.0 -315.0 -76.0 481.0 -269.0 231.0 57.0 -308.0 283.0 81.0 -137.0 532.0 -510.0 142.0 308.0 -251.0 495.0 11.0 -318.0 477.0 -130.0 -5.0 417.0 -453.0 424.0 -162.0 -23.0 395.0 -352.0 322.0 -79.0 -65.0 333.0 -185.0 -18.0 -22.0 132.0 -80.0 170.0 22.0 -343.0 315.0 -73.0 35.0 65.0 -270.0 145.0 57.0 -83.0 280.0 -306.0 72.0 60.0 -88.0 262.0 -212.0 228.0 -153.0 36.0 242.0 -164.0 200.0 -12.0 -165.0 85.0 116.0 30.0 53.0 -184.0 162.0 125.0 -152.0 462.0 -266.0 15.0 209.0 -198.0 101.0 53.0 -37.0 -63.0 176.0 -46.0 117.0 -112.0 122.0 -21.0 97.0 46.0 -132.0 149.0 -118.0 329.0 -177.0 37.0 83.0 78.0 -27.0 15.0 80.0 -260.0 473.0 -258.0 -58.0 348.0 -197.0 197.0 16.0 -216.0 220.0 -3.0 8.0 -31.0 -164.0 338.0 -295.0 58.0 102.0 -271.0 397.0 -282.0 -26.0 85.0 52.0 241.0 -363.0 149.0 -43.0 165.0 -51.0 -55.0 238.0 -328.0 408.0 -75.0 -52.0 293.0 -266.0 37.0 73.0 -11.0 272.0 -155.0 -246.0 131.0 -184.0 341.0 41.0 -254.0 49.0 -294.0 268.0 -45.0 9.0 -52.0 -308.0 76.0 -131.0 301.0 -101.0 -253.0 97.0 -93.0 -30.0 255.0 -125.0 -108.0 63.0 -168.0 96.0 134.0 -108.0 -65.0 -7.0 -164.0 218.0 92.0 -183.0 107.0 -96.0 -141.0 379.0 -341.0 90.0 -51.0 -237.0 233.0 -243.0 170.0 -32.0 -20.0 -183.0 18.0 108.0 43.0 -17.0 -170.0 -155.0 118.0 96.0 -160.0 148.0 -359.0 1.0 302.0 -315.0 192.0 -77.0 -365.0 215.0 -160.0 -78.0 85.0 -273.0 -210.0 122.0 -277.0 42.0 -61.0 -268.0 108.0 -93.0 -52.0 -100.0 -9.0 -133.0 83.0 21.0 -238.0 89.0 62.0 -223.0 265.0 -123.0 -121.0 188.0 -285.0 119.0 2.0 -212.0 88.0 -88.0 -146.0 223.0 -204.0 -140.0 -5.0 -40.0 -35.0 -104.0 -34.0 -228.0 13.0 -173.0 -53.0 54.0 -142.0 -60.0 -188.0 -18.0 120.0 -107.0 -79.0 -147.0 -94.0 175.0 5.0 -60.0 -110.0 -29.0 -60.0 -21.0 53.0 -151.0 -65.0 -52.0 -123.0 5.0 25.0 -72.0 -108.0 -129.0 44.0 -33.0 -123.0 -39.0 -298.0 43.0 63.0 -266.0 74.0 -238.0 -31.0 45.0 -234.0 104.0 -122.0 -96.0 -92.0 -140.0 163.0 29.0 -125.0 -163.0 -153.0 72.0 27.0 34.0 -150.0 -302.0 97.0 28.0 76.0 -63.0 -315.0 -4.0 -116.0 139.0 58.0 -247.0 -60.0 -173.0 -41.0 68.0 43.0 -21.0 -265.0 -135.0 99.0 -56.0 143.0 -181.0 -239.0 14.0 -105.0 184.0 -101.0 -131.0 -76.0 -181.0 71.0 37.0 -219.0 32.0 -180.0 -206.0 184.0 -161.0 -38.0 -15.0 -158.0 15.0 -45.0 -8.0 -17.0 -164.0 -87.0 -26.0 43.0 -114.0 -2.0 -97.0 -155.0 30.0 -63.0 -84.0 27.0 1.0 -115.0 -16.0 -113.0 76.0 -53.0 -63.0 -124.0 -85.0 91.0 103.0 54.0 -178.0 -19.0 -78.0 94.0 53.0 -57.0 -85.0 -46.0 83.0 32.0 85.0 -40.0 -193.0 -60.0 67.0 4.0 68.0 -121.0 -121.0 20.0 36.0 95.0 -57.0 -157.0 -76.0 -54.0 185.0 13.0 -175.0 -25.0 -187.0 15.0 11.0 19.0 -32.0 -160.0 -64.0 -42.0 51.0 -42.0 -93.0 -120.0 -118.0 38.0 -12.0 -116.0 -2.0 -106.0 -48.0 123.0 -72.0 24.0 -70.0 -83.0 108.0 50.0 35.0 -44.0 -3.0 91.0 149.0 89.0 7.0 12.0 76.0 40.0 96.0 70.0 37.0 56.0 60.0 79.0 105.0 87.0 -7.0 6.0 -20.0 173.0 11.0 -54.0 11.0 -14.0 64.0 38.0 67.0 -75.0 8.0 31.0 7.0 -28.0 -19.0 -91.0 -141.0 21.0 -60.0 -57.0 -181.0 -132.0 -120.0 -104.0 -54.0 -223.0 -245.0 -156.0 -126.0 -167.0 -133.0 -206.0 -157.0 -194.0 -145.0 -110.0 -135.0 -106.0 -163.0 -113.0 -23.0 -10.0 -32.0 -88.0 -25.0 53.0 27.0 73.0 -23.0 102.0 70.0 40.0 106.0 65.0 163.0 111.0 48.0 170.0 203.0 123.0 151.0 99.0 145.0 277.0 139.0 204.0 228.0 135.0 221.0 171.0 259.0 255.0 231.0 152.0 214.0 207.0 180.0 229.0 -11.0 31.0 46.0 -70.0 -105.0 -91.0 -195.0 -216.0 -249.0 -324.0 -317.0 -432.0 -449.0 -533.0 -524.0 -464.0 -620.0 -588.0 -581.0 -624.0 -500.0 -583.0 -598.0 -554.0 -533.0 -434.0 -364.0 -333.0 -306.0 -234.0 -226.0 -20.0 12.0 33.0 109.0 24.0 211.0 338.0 338.0 275.0 333.0 371.0 406.0 578.0 481.0 532.0 546.0 542.0 703.0 679.0 614.0 644.0 554.0 529.0 710.0 531.0 470.0 446.0 323.0 421.0 386.0 204.0 139.0 89.0 40.0 -3.0 -107.0 -212.0 -350.0 -341.0 -429.0 -465.0 -501.0 -633.0 -686.0 -743.0 -720.0 -730.0 -811.0 -838.0 -849.0 -886.0 -806.0 -812.0 -897.0 -779.0 -762.0 -686.0 -521.0 -469.0 -412.0 -392.0 -127.0 -49.0 -5.0 206.0 150.0 259.0 450.0 600.0 562.0 639.0 797.0 646.0 885.0 871.0 787.0 873.0 769.0 726.0 758.0 748.0 563.0 628.0 488.0 337.0 416.0 270.0 218.0 145.0 -65.0 -15.0 -28.0 -85.0 -155.0 -222.0 -236.0 -244.0 -203.0 -257.0 -213.0 -283.0 -255.0 -175.0 -223.0 -255.0 -241.0 -309.0 -338.0 -288.0 -335.0 -338.0 -491.0 -503.0 -536.0 -623.0 -601.0 -702.0 -810.0 -809.0 -709.0 -749.0 -747.0 -574.0 -566.0 -496.0 -374.0 -319.0 -107.0 4.0 185.0 228.0 346.0 572.0 723.0 879.0 904.0 999.0 1052.0 1155.0 1271.0 1219.0 1135.0 1097.0 1103.0 1091.0 905.0 903.0 668.0 486.0 419.0 258.0 184.0 -30.0 -191.0 -384.0 -378.0 -365.0 -502.0 -596.0 -683.0 -697.0 -573.0 -563.0 -524.0 -543.0 -558.0 -451.0 -431.0 -357.0 -326.0 -327.0 -367.0 -406.0 -259.0 -191.0 -304.0 -310.0 -478.0 -508.0 -421.0 -409.0 -506.0 -613.0 -558.0 -603.0 -284.0 -289.0 -330.0 -221.0 -276.0 60.0 199.0 337.0 331.0 424.0 774.0 835.0 1078.0 1153.0 1176.0 1264.0 1322.0 1442.0 1371.0 1410.0 1273.0 1178.0 1137.0 1086.0 981.0 738.0 492.0 329.0 290.0 78.0 -40.0 -285.0 -456.0 -513.0 -559.0 -618.0 -760.0 -669.0 -772.0 -776.0 -541.0 -607.0 -533.0 -475.0 -431.0 -342.0 -328.0 -242.0 -231.0 -196.0 -281.0 -261.0 -284.0 -153.0 -223.0 -413.0 -440.0 -514.0 -429.0 -525.0 -662.0 -684.0 -647.0 -553.0 -418.0 -439.0 -322.0 -221.0 -145.0 -47.0 177.0 375.0 480.0 657.0 749.0 971.0 1179.0 1323.0 1364.0 1418.0 1440.0 1493.0 1513.0 1433.0 1393.0 1259.0 1109.0 1041.0 880.0 769.0 522.0 263.0 155.0 -41.0 -166.0 -345.0 -475.0 -550.0 -647.0 -673.0 -692.0 -686.0 -664.0 -641.0 -613.0 -552.0 -414.0 -388.0 -339.0 -281.0 -265.0 -235.0 -157.0 -168.0 -301.0 -271.0 -223.0 -174.0 -303.0 -398.0 -544.0 -555.0 -500.0 -636.0 -632.0 -750.0 -663.0 -467.0 -374.0 -377.0 -353.0 -210.0 -85.0 159.0 294.0 386.0 602.0 756.0 922.0 1086.0 1240.0 1340.0 1347.0 1358.0 1367.0 1405.0 1388.0 1270.0 1133.0 943.0 881.0 811.0 549.0 402.0 125.0 -50.0 -95.0 -279.0 -396.0 -512.0 -609.0 -666.0 -650.0 -614.0 -607.0 -573.0 -562.0 -443.0 -302.0 -248.0 -118.0 -98.0 -99.0 -14.0 24.0 96.0 79.0 -73.0 -163.0 -131.0 -136.0 -201.0 -333.0 -551.0 -614.0 -686.0 -736.0 -846.0 -882.0 -941.0 -886.0 -651.0 -630.0 -579.0 -497.0 -312.0 -120.0 112.0 251.0 428.0 641.0 831.0 1035.0 1179.0 1350.0 1429.0 1477.0 1449.0 1436.0 1559.0 1419.0 1259.0 1177.0 945.0 878.0 764.0 603.0 338.0 57.0 -93.0 -227.0 -313.0 -457.0 -550.0 -724.0 -793.0 -644.0 -651.0 -586.0 -549.0 -573.0 -486.0 -276.0 -204.0 -163.0 -67.0 -80.0 -62.0 -69.0 14.0 14.0 -111.0 -262.0 -276.0 -293.0 -305.0 -453.0 -647.0 -747.0 -832.0 -855.0 -926.0 -962.0 -1011.0 -876.0 -784.0 -629.0 -489.0 -442.0 -231.0 -63.0 186.0 347.0 559.0 799.0 948.0 1202.0 1332.0 1505.0 1550.0 1598.0 1606.0 1560.0 1599.0 1472.0 1322.0 1179.0 1018.0 891.0 746.0 576.0 330.0 -9.0 -74.0 -193.0 -344.0 -478.0 -610.0 -664.0 -687.0 -615.0 -590.0 -591.0 -525.0 -478.0 -413.0 -249.0 -197.0 -67.0 -57.0 -115.0 -63.0 -41.0 -30.0 -81.0 -247.0 -410.0 -400.0 -436.0 -494.0 -622.0 -831.0 -943.0 -1053.0 -1079.0 -1085.0 -1100.0 -1165.0 -1031.0 -827.0 -703.0 -513.0 -412.0 -246.0 -43.0 260.0 410.0 668.0 956.0 1084.0 1318.0 1409.0 1630.0 1708.0 1681.0 1703.0 1607.0 1607.0 1507.0 1364.0 1182.0 937.0 847.0 647.0 412.0 280.0 -30.0 -242.0 -336.0 -463.0 -613.0 -661.0 -703.0 -851.0 -754.0 -670.0 -653.0 -601.0 -550.0 -477.0 -373.0 -252.0 -138.0 -82.0 -110.0 -106.0 -124.0 -104.0 -128.0 -233.0 -388.0 -467.0 -451.0 -562.0 -610.0 -805.0 -990.0 -972.0 -1055.0 -1101.0 -1120.0 -1061.0 -1061.0 -832.0 -614.0 -573.0 -322.0 -198.0 18.0 248.0 471.0 705.0 893.0 1141.0 1284.0 1438.0 1547.0 1616.0 1655.0 1548.0 1563.0 1480.0 1336.0 1224.0 1052.0 819.0 600.0 534.0 237.0 65.0 -175.0 -406.0 -488.0 -635.0 -740.0 -874.0 -881.0 -916.0 -857.0 -844.0 -787.0 -643.0 -629.0 -549.0 -434.0 -328.0 -229.0 -123.0 -114.0 -95.0 -81.0 -96.0 -117.0 -235.0 -308.0 -425.0 -458.0 -548.0 -591.0 -695.0 -886.0 -908.0 -1018.0 -1071.0 -1101.0 -1030.0 -1065.0 -895.0 -629.0 -584.0 -326.0 -185.0 49.0 209.0 462.0 718.0 821.0 1164.0 1224.0 1409.0 1573.0 1613.0 1649.0 1601.0 1554.0 1432.0 1356.0 1198.0 1061.0 839.0 593.0 382.0 227.0 27.0 -157.0 -395.0 -665.0 -742.0 -789.0 -896.0 -961.0 -957.0 -1031.0 -898.0 -828.0 -808.0 -626.0 -565.0 -505.0 -368.0 -213.0 -95.0 -49.0 7.0 -10.0 -48.0 -19.0 -84.0 -184.0 -300.0 -441.0 -444.0 -553.0 -636.0 -771.0 -1000.0 -958.0 -1066.0 -1100.0 -1165.0 -1113.0 -1026.0 -897.0 -564.0 -527.0 -235.0 -95.0 64.0 385.0 593.0 832.0 1011.0 1252.0 1348.0 1520.0 1646.0 1642.0 1682.0 1588.0 1499.0 1353.0 1264.0 1090.0 895.0 678.0 353.0 263.0 32.0 -128.0 -416.0 -613.0 -735.0 -854.0 -889.0 -1073.0 -958.0 -996.0 -901.0 -835.0 -787.0 -632.0 -578.0 -390.0 -345.0 -156.0 -36.0 38.0 117.0 100.0 118.0 70.0 42.0 -75.0 -153.0 -342.0 -459.0 -546.0 -632.0 -766.0 -970.0 -1037.0 -1190.0 -1198.0 -1234.0 -1290.0 -1248.0 -1129.0 -863.0 -721.0 -521.0 -268.0 -82.0 249.0 464.0 721.0 916.0 1198.0 1427.0 1506.0 1664.0 1741.0 1810.0 1739.0 1667.0 1549.0 1474.0 1274.0 1061.0 853.0 554.0 366.0 258.0 -3.0 -274.0 -481.0 -711.0 -793.0 -854.0 -963.0 -1016.0 -1001.0 -957.0 -876.0 -760.0 -672.0 -580.0 -430.0 -370.0 -194.0 -45.0 81.0 159.0 164.0 189.0 168.0 106.0 77.0 21.0 -176.0 -369.0 -519.0 -573.0 -725.0 -821.0 -1001.0 -1157.0 -1205.0 -1302.0 -1300.0 -1344.0 -1231.0 -1140.0 -882.0 -680.0 -568.0 -189.0 -32.0 272.0 545.0 757.0 957.0 1182.0 1443.0 1485.0 1695.0 1723.0 1650.0 1683.0 1577.0 1489.0 1343.0 1163.0 932.0 680.0 444.0 306.0 151.0 -117.0 -325.0 -616.0 -712.0 -784.0 -855.0 -899.0 -949.0 -888.0 -875.0 -770.0 -682.0 -553.0 -445.0 -410.0 -277.0 -150.0 -23.0 82.0 109.0 107.0 62.0 0.0 -25.0 -141.0 -214.0 -426.0 -619.0 -640.0 -800.0 -896.0 -1054.0 -1179.0 -1238.0 -1293.0 -1332.0 -1394.0 -1307.0 -1130.0 -898.0 -661.0 -577.0 -210.0 60.0 228.0 572.0 726.0 1033.0 1211.0 1467.0 1537.0 1664.0 1828.0 1693.0 1725.0 1600.0 1512.0 1349.0 1160.0 966.0 737.0 505.0 360.0 154.0 -167.0 -335.0 -544.0 -698.0 -793.0 -852.0 -979.0 -1003.0 -890.0 -924.0 -798.0 -702.0 -669.0 -504.0 -468.0 -310.0 -211.0 -74.0 32.0 38.0 56.0 13.0 -1.0 -54.0 -103.0 -286.0 -370.0 -569.0 -663.0 -751.0 -831.0 -931.0 -1142.0 -1150.0 -1291.0 -1274.0 -1272.0 -1235.0 -1117.0 -1020.0 -685.0 -523.0 -307.0 99.0 186.0 456.0 715.0 881.0 1126.0 1374.0 1544.0 1539.0 1759.0 1712.0 1673.0 1687.0 1500.0 1430.0 1297.0 1044.0 834.0 695.0 520.0 310.0 21.0 -161.0 -373.0 -489.0 -591.0 -755.0 -804.0 -839.0 -823.0 -895.0 -786.0 -721.0 -691.0 -575.0 -569.0 -431.0 -308.0 -250.0 -175.0 -95.0 -95.0 -101.0 -101.0 -162.0 -157.0 -300.0 -402.0 -515.0 -602.0 -667.0 -743.0 -831.0 -1020.0 -986.0 -1091.0 -1131.0 -1121.0 -1087.0 -1034.0 -936.0 -751.0 -474.0 -274.0 -94.0 221.0 295.0 591.0 781.0 957.0 1180.0 1413.0 1467.0 1448.0 1686.0 1550.0 1604.0 1573.0 1372.0 1297.0 1133.0 987.0 764.0 797.0 475.0 244.0 121.0 -159.0 -222.0 -364.0 -437.0 -648.0 -607.0 -685.0 -720.0 -666.0 -641.0 -583.0 -569.0 -476.0 -481.0 -363.0 -322.0 -195.0 -213.0 -168.0 -141.0 -229.0 -148.0 -228.0 -254.0 -365.0 -466.0 -557.0 -622.0 -635.0 -714.0 -828.0 -880.0 -913.0 -1017.0 -979.0 -989.0 -928.0 -856.0 -705.0 -553.0 -323.0 -149.0 63.0 345.0 410.0 663.0 800.0 978.0 1148.0 1359.0 1370.0 1440.0 1572.0 1419.0 1479.0 1375.0 1335.0 1156.0 1038.0 893.0 767.0 636.0 393.0 300.0 35.0 -16.0 -195.0 -327.0 -430.0 -462.0 -528.0 -569.0 -535.0 -565.0 -503.0 -522.0 -444.0 -440.0 -323.0 -258.0 -216.0 -189.0 -170.0 -67.0 -132.0 -103.0 -138.0 -183.0 -207.0 -344.0 -395.0 -455.0 -484.0 -542.0 -654.0 -754.0 -768.0 -805.0 -862.0 -876.0 -842.0 -842.0 -799.0 -582.0 -514.0 -239.0 -66.0 13.0 205.0 364.0 587.0 739.0 964.0 973.0 1152.0 1272.0 1250.0 1387.0 1383.0 1326.0 1290.0 1239.0 1012.0 1040.0 951.0 717.0 625.0 458.0 241.0 158.0 82.0 -141.0 -190.0 -329.0 -422.0 -435.0 -491.0 -522.0 -500.0 -524.0 -504.0 -458.0 -455.0 -372.0 -330.0 -275.0 -261.0 -202.0 -175.0 -177.0 -161.0 -186.0 -183.0 -244.0 -308.0 -378.0 -440.0 -437.0 -489.0 -522.0 -663.0 -680.0 -715.0 -821.0 -771.0 -857.0 -775.0 -762.0 -651.0 -530.0 -367.0 -151.0 -177.0 80.0 233.0 381.0 585.0 724.0 813.0 993.0 1198.0 1087.0 1252.0 1338.0 1241.0 1332.0 1279.0 1089.0 1062.0 1067.0 831.0 750.0 650.0 382.0 323.0 174.0 3.0 -133.0 -238.0 -328.0 -429.0 -462.0 -517.0 -513.0 -610.0 -562.0 -585.0 -579.0 -505.0 -512.0 -427.0 -410.0 -325.0 -323.0 -256.0 -230.0 -230.0 -165.0 -220.0 -241.0 -264.0 -337.0 -346.0 -361.0 -394.0 -420.0 -500.0 -516.0 -627.0 -619.0 -667.0 -667.0 -609.0 -574.0 -455.0 -435.0 -307.0 -117.0 21.0 104.0 282.0 386.0 608.0 716.0 835.0 968.0 1023.0 1176.0 1136.0 1182.0 1215.0 1181.0 1159.0 1072.0 1005.0 898.0 765.0 677.0 556.0 419.0 307.0 175.0 -9.0 -88.0 -185.0 -251.0 -354.0 -426.0 -503.0 -561.0 -517.0 -554.0 -556.0 -533.0 -519.0 -484.0 -413.0 -374.0 -310.0 -284.0 -192.0 -208.0 -159.0 -157.0 -191.0 -146.0 -284.0 -288.0 -303.0 -306.0 -334.0 -319.0 -401.0 -448.0 -376.0 -534.0 -402.0 -519.0 -388.0 -359.0 -397.0 -125.0 -259.0 -17.0 47.0 169.0 330.0 452.0 511.0 670.0 713.0 800.0 888.0 895.0 1016.0 897.0 1021.0 806.0 943.0 875.0 720.0 712.0 552.0 477.0 367.0 331.0 148.0 76.0 19.0 -53.0 -172.0 -179.0 -279.0 -318.0 -295.0 -362.0 -421.0 -434.0 -401.0 -408.0 -386.0 -337.0 -302.0 -346.0 -164.0 -258.0 -167.0 -101.0 -164.0 -48.0 -236.0 -139.0 -322.0 -176.0 -171.0 -350.0 -276.0 -376.0 -357.0 -378.0 -166.0 -386.0 -176.0 -234.0 -283.0 63.0 -287.0 260.0 24.0 123.0 518.0 107.0 594.0 549.0 468.0 845.0 575.0 719.0 892.0 482.0 934.0 481.0 745.0 617.0 367.0 674.0 71.0 545.0 33.0 133.0 126.0 -276.0 4.0 -272.0 -272.0 -169.0 -327.0 -368.0 -280.0 -355.0 -313.0 -233.0 -277.0 -279.0 -130.0 -241.0 -203.0 -41.0 -242.0 29.0 -112.0 -81.0 122.0 -285.0 60.0 -125.0 -212.0 -91.0 -289.0 -371.0 -169.0 -441.0 -368.0 -109.0 -652.0 51.0 -442.0 -205.0 146.0 -430.0 369.0 -149.0 257.0 438.0 90.0 918.0 247.0 784.0 927.0 434.0 1246.0 566.0 890.0 973.0 582.0 987.0 579.0 608.0 666.0 256.0 529.0 205.0 24.0 335.0 -483.0 143.0 -429.0 -466.0 -225.0 -708.0 -305.0 -830.0 -326.0 -726.0 -521.0 -452.0 -689.0 -390.0 -507.0 -410.0 -330.0 -271.0 -151.0 -214.0 -69.0 -47.0 -216.0 147.0 -292.0 53.0 -82.0 -174.0 25.0 -299.0 7.0 -330.0 -40.0 -221.0 -335.0 40.0 -569.0 214.0 -275.0 -98.0 366.0 -321.0 516.0 155.0 160.0 1063.0 -13.0 1035.0 679.0 450.0 1586.0 109.0 1401.0 825.0 450.0 1387.0 408.0 717.0 881.0 258.0 816.0 2.0 386.0 108.0 -203.0 369.0 -677.0 47.0 -426.0 -455.0 -324.0 -620.0 -286.0 -693.0 -426.0 -501.0 -691.0 -257.0 -552.0 -309.0 -427.0 -369.0 -282.0 -349.0 -142.0 -257.0 -200.0 -168.0 -329.0 -66.0 -372.0 -208.0 -260.0 -540.0 -111.0 -517.0 -270.0 -346.0 -465.0 -332.0 -238.0 -366.0 -106.0 -213.0 -63.0 79.0 126.0 252.0 465.0 378.0 625.0 781.0 547.0 1146.0 643.0 1120.0 878.0 1144.0 762.0 1030.0 884.0 532.0 1222.0 25.0 824.0 256.0 180.0 475.0 -273.0 195.0 -162.0 -324.0 -37.0 -541.0 -305.0 -305.0 -680.0 -153.0 -592.0 -310.0 -303.0 -456.0 -90.0 -509.0 74.0 -273.0 -221.0 172.0 -253.0 104.0 18.0 -126.0 261.0 -402.0 119.0 -197.0 -378.0 253.0 -727.0 52.0 -516.0 -461.0 -72.0 -637.0 -268.0 -341.0 -574.0 32.0 -302.0 -127.0 119.0 -167.0 408.0 207.0 376.0 461.0 519.0 663.0 680.0 810.0 777.0 583.0 1115.0 487.0 746.0 928.0 259.0 738.0 389.0 227.0 421.0 -77.0 182.0 -139.0 -229.0 32.0 -688.0 74.0 -678.0 -227.0 -440.0 -488.0 -215.0 -476.0 -223.0 -290.0 -169.0 -334.0 174.0 -410.0 321.0 -215.0 203.0 1.0 184.0 96.0 -23.0 204.0 -262.0 224.0 -174.0 52.0 -270.0 6.0 -400.0 -99.0 -319.0 -244.0 -464.0 -125.0 -388.0 -178.0 -28.0 -383.0 209.0 -197.0 349.0 23.0 346.0 270.0 427.0 472.0 600.0 590.0 626.0 698.0 491.0 809.0 405.0 596.0 461.0 134.0 546.0 29.0 180.0 158.0 -341.0 149.0 -480.0 -271.0 -264.0 -780.0 -112.0 -619.0 -585.0 -62.0 -972.0 -37.0 -431.0 -506.0 43.0 -621.0 196.0 -333.0 -38.0 135.0 -243.0 277.0 145.0 -217.0 525.0 -307.0 93.0 267.0 -497.0 473.0 -591.0 148.0 -149.0 -442.0 232.0 -631.0 -70.0 -190.0 -451.0 109.0 -495.0 164.0 -179.0 -58.0 433.0 -312.0 806.0 -44.0 561.0 516.0 226.0 975.0 153.0 921.0 382.0 515.0 825.0 181.0 718.0 331.0 194.0 455.0 -145.0 182.0 -71.0 -205.0 -46.0 -511.0 -136.0 -458.0 -408.0 -331.0 -539.0 -351.0 -447.0 -393.0 -256.0 -379.0 -95.0 -303.0 -7.0 -196.0 24.0 -66.0 -182.0 215.0 -139.0 211.0 -135.0 38.0 -134.0 -8.0 -212.0 -213.0 -242.0 -325.0 -308.0 -392.0 -347.0 -380.0 -394.0 -379.0 -293.0 -383.0 -164.0 -201.0 -168.0 24.0 69.0 111.0 337.0 211.0 535.0 408.0 547.0 581.0 484.0 726.0 485.0 599.0 620.0 447.0 503.0 334.0 312.0 181.0 191.0 -11.0 -100.0 -71.0 -380.0 -89.0 -500.0 -363.0 -222.0 -685.0 -101.0 -582.0 -387.0 -82.0 -594.0 76.0 -350.0 7.0 -105.0 -79.0 139.0 -206.0 338.0 -143.0 155.0 241.0 -186.0 283.0 -21.0 -202.0 165.0 -354.0 -112.0 -252.0 -458.0 -144.0 -637.0 -122.0 -658.0 -340.0 -338.0 -613.0 -18.0 -589.0 22.0 -207.0 -89.0 188.0 -40.0 377.0 249.0 385.0 612.0 271.0 797.0 416.0 638.0 647.0 354.0 792.0 249.0 667.0 211.0 306.0 288.0 16.0 98.0 -115.0 -132.0 -177.0 -356.0 -201.0 -484.0 -310.0 -398.0 -521.0 -177.0 -610.0 -109.0 -535.0 -84.0 -273.0 -186.0 10.0 -191.0 120.0 11.0 83.0 -38.0 192.0 -69.0 159.0 -50.0 76.0 -3.0 -81.0 -83.0 -176.0 -218.0 -114.0 -341.0 -244.0 -182.0 -506.0 -60.0 -440.0 -49.0 -222.0 -170.0 89.0 -78.0 192.0 162.0 236.0 438.0 353.0 557.0 497.0 549.0 610.0 570.0 621.0 543.0 579.0 427.0 537.0 299.0 345.0 194.0 151.0 14.0 -90.0 -58.0 -263.0 -183.0 -425.0 -331.0 -438.0 -521.0 -331.0 -600.0 -323.0 -486.0 -411.0 -297.0 -454.0 -240.0 -241.0 -278.0 -73.0 -171.0 -136.0 -26.0 -158.0 38.0 -184.0 -38.0 -93.0 -132.0 -121.0 -130.0 -251.0 -190.0 -194.0 -373.0 -188.0 -352.0 -214.0 -301.0 -192.0 -204.0 -185.0 21.0 -115.0 114.0 40.0 309.0 131.0 368.0 417.0 363.0 659.0 362.0 692.0 435.0 632.0 510.0 434.0 642.0 208.0 596.0 207.0 195.0 363.0 -139.0 245.0 -170.0 -83.0 -121.0 -329.0 -99.0 -439.0 -286.0 -321.0 -546.0 -190.0 -486.0 -351.0 -216.0 -543.0 -72.0 -461.0 -154.0 -237.0 -317.0 -87.0 -241.0 -114.0 -149.0 -123.0 -195.0 -122.0 -231.0 -125.0 -304.0 -117.0 -194.0 -329.0 -133.0 -340.0 -262.0 -188.0 -278.0 -215.0 -185.0 -189.0 -75.0 -168.0 117.0 -46.0 167.0 141.0 139.0 324.0 263.0 450.0 354.0 432.0 472.0 402.0 504.0 440.0 343.0 484.0 136.0 499.0 79.0 334.0 119.0 14.0 173.0 -208.0 104.0 -210.0 -99.0 -205.0 -229.0 -270.0 -100.0 -388.0 -221.0 -221.0 -393.0 -63.0 -308.0 -211.0 -148.0 -210.0 -144.0 -148.0 -81.0 -211.0 -48.0 -197.0 -101.0 -89.0 -175.0 -94.0 -216.0 -120.0 -154.0 -240.0 -176.0 -127.0 -317.0 -104.0 -232.0 -221.0 -81.0 -210.0 -69.0 -71.0 -159.0 153.0 -163.0 225.0 12.0 168.0 257.0 46.0 367.0 146.0 337.0 254.0 234.0 317.0 236.0 143.0 407.0 1.0 300.0 174.0 8.0 235.0 -21.0 64.0 57.0 -36.0 -21.0 -145.0 -15.0 -172.0 -107.0 -79.0 -222.0 -80.0 -226.0 -87.0 -196.0 -131.0 -172.0 -126.0 -201.0 -90.0 -171.0 -152.0 -87.0 -247.0 11.0 -289.0 -45.0 -188.0 -238.0 61.0 -386.0 45.0 -143.0 -225.0 97.0 -281.0 8.0 2.0 -200.0 227.0 -214.0 169.0 83.0 -55.0 388.0 -119.0 365.0 123.0 146.0 336.0 92.0 312.0 115.0 210.0 203.0 76.0 240.0 32.0 152.0 57.0 67.0 69.0 -34.0 20.0 14.0 -52.0 -21.0 -35.0 -92.0 13.0 -165.0 112.0 -225.0 137.0 -195.0 -113.0 163.0 -406.0 261.0 -330.0 25.0 -58.0 -210.0 73.0 -276.0 24.0 -261.0 -65.0 -203.0 -175.0 -159.0 -285.0 -91.0 -301.0 -54.0 -269.0 -132.0 -86.0 -280.0 69.0 -265.0 65.0 -80.0 -32.0 225.0 -169.0 352.0 37.0 137.0 450.0 -74.0 493.0 160.0 207.0 422.0 54.0 481.0 82.0 311.0 194.0 102.0 319.0 10.0 156.0 82.0 -51.0 120.0 -28.0 -24.0 32.0 -90.0 -10.0 -43.0 -104.0 5.0 -121.0 -45.0 -83.0 -87.0 20.0 -244.0 132.0 -241.0 44.0 -76.0 -142.0 -4.0 -167.0 2.0 -202.0 -23.0 -231.0 -104.0 -129.0 -194.0 -138.0 -146.0 -296.0 -47.0 -221.0 -169.0 -16.0 -312.0 34.0 -165.0 -86.0 32.0 -105.0 104.0 17.0 12.0 219.0 22.0 192.0 248.0 56.0 395.0 135.0 300.0 297.0 71.0 520.0 13.0 311.0 288.0 -58.0 386.0 -33.0 186.0 109.0 -6.0 147.0 -48.0 116.0 5.0 -56.0 49.0 -43.0 -43.0 117.0 -207.0 129.0 -64.0 -92.0 100.0 -187.0 91.0 -119.0 36.0 -23.0 -106.0 39.0 -164.0 -89.0 -27.0 -214.0 -27.0 -185.0 -110.0 -120.0 -230.0 -80.0 -228.0 -159.0 -168.0 -164.0 -157.0 -57.0 -101.0 -44.0 -30.0 -42.0 42.0 68.0 42.0 157.0 71.0 189.0 212.0 169.0 285.0 147.0 290.0 162.0 232.0 261.0 154.0 223.0 168.0 129.0 133.0 62.0 84.0 -14.0 58.0 -20.0 -25.0 25.0 -54.0 60.0 -56.0 -49.0 -34.0 -83.0 15.0 3.0 -34.0 98.0 -93.0 137.0 -53.0 16.0 40.0 -133.0 107.0 -64.0 25.0 -36.0 -52.0 -48.0 -63.0 -59.0 -170.0 -156.0 -69.0 -229.0 27.0 -218.0 -106.0 -67.0 -176.0 50.0 -179.0 102.0 -45.0 73.0 104.0 -37.0 220.0 85.0 169.0 285.0 131.0 299.0 246.0 275.0 282.0 232.0 263.0 236.0 183.0 272.0 73.0 173.0 133.0 23.0 133.0 -127.0 146.0 -174.0 72.0 -109.0 -121.0 -26.0 -215.0 30.0 -245.0 4.0 -137.0 -70.0 -25.0 -147.0 53.0 -106.0 23.0 -20.0 -73.0 51.0 -112.0 100.0 -74.0 4.0 26.0 -151.0 53.0 -112.0 -87.0 -12.0 -153.0 -105.0 -14.0 -279.0 61.0 -171.0 -152.0 127.0 -296.0 121.0 -18.0 -103.0 209.0 -72.0 149.0 148.0 78.0 309.0 102.0 342.0 227.0 229.0 377.0 230.0 320.0 290.0 211.0 264.0 231.0 123.0 235.0 31.0 124.0 93.0 -50.0 145.0 -144.0 7.0 -106.0 -183.0 60.0 -268.0 -6.0 -186.0 -135.0 -8.0 -244.0 10.0 -163.0 -103.0 -30.0 -186.0 -16.0 -148.0 -53.0 -29.0 -179.0 32.0 -251.0 6.0 -143.0 -126.0 -54.0 -277.0 -29.0 -241.0 -102.0 -188.0 -211.0 -120.0 -170.0 -142.0 -49.0 -203.0 30.0 -71.0 -86.0 93.0 -61.0 99.0 137.0 152.0 210.0 238.0 224.0 274.0 195.0 385.0 251.0 348.0 250.0 203.0 380.0 172.0 279.0 195.0 -20.0 254.0 6.0 115.0 80.0 -62.0 -8.0 -40.0 -88.0 -123.0 -64.0 -256.0 -63.0 -199.0 -53.0 -227.0 -11.0 -303.0 -42.0 -188.0 -113.0 -127.0 -236.0 23.0 -348.0 46.0 -333.0 -67.0 -266.0 -128.0 -270.0 -142.0 -232.0 -254.0 -120.0 -406.0 -136.0 -358.0 -191.0 -235.0 -202.0 -229.0 -149.0 -184.0 -137.0 -88.0 -142.0 0.0 -22.0 7.0 182.0 -4.0 266.0 114.0 261.0 248.0 233.0 338.0 195.0 412.0 127.0 384.0 98.0 290.0 119.0 245.0 97.0 161.0 82.0 22.0 122.0 -107.0 105.0 -134.0 -3.0 -154.0 -52.0 -99.0 -34.0 -144.0 -68.0 -174.0 -83.0 -120.0 -133.0 -87.0 -192.0 -29.0 -257.0 -1.0 -202.0 -113.0 -128.0 -299.0 -61.0 -401.0 -28.0 -280.0 -321.0 -166.0 -437.0 -128.0 -445.0 -168.0 -365.0 -326.0 -63.0 -530.0 30.0 -317.0 -231.0 77.0 -326.0 15.0 -40.0 -179.0 233.0 13.0 89.0 286.0 10.0 358.0 108.0 316.0 173.0 197.0 267.0 107.0 219.0 231.0 68.0 249.0 109.0 -54.0 269.0 -164.0 173.0 -118.0 -62.0 61.0 -279.0 169.0 -275.0 -14.0 -10.0 -361.0 239.0 -421.0 103.0 -111.0 -285.0 151.0 -276.0 -8.0 -32.0 -180.0 -85.0 -16.0 -336.0 48.0 -375.0 -91.0 -257.0 -226.0 -197.0 -380.0 19.0 -532.0 -10.0 -441.0 -251.0 -256.0 -332.0 -206.0 -289.0 -77.0 -261.0 -99.0 -90.0 -76.0 -46.0 64.0 -61.0 150.0 -21.0 244.0 89.0 202.0 312.0 -82.0 457.0 55.0 200.0 310.0 -37.0 303.0 -2.0 168.0 101.0 -154.0 316.0 -255.0 161.0 12.0 -203.0 128.0 -109.0 -14.0 -23.0 -150.0 -3.0 -206.0 -11.0 -35.0 -224.0 221.0 -306.0 143.0 -145.0 -27.0 -27.0 -121.0 -3.0 -237.0 2.0 -209.0 -120.0 -55.0 -253.0 -68.0 -277.0 -237.0 -132.0 -307.0 -45.0 -394.0 -169.0 -219.0 -285.0 18.0 -369.0 40.0 -220.0 -190.0 218.0 -501.0 411.0 -236.0 29.0 248.0 -165.0 334.0 5.0 293.0 171.0 92.0 324.0 -108.0 358.0 138.0 -1.0 341.0 -246.0 368.0 -108.0 176.0 35.0 -47.0 113.0 -102.0 20.0 -23.0 -65.0 -39.0 -124.0 -9.0 -123.0 -18.0 -31.0 -90.0 40.0 -155.0 111.0 -309.0 248.0 -215.0 -75.0 39.0 -324.0 19.0 -129.0 -153.0 -75.0 -215.0 -87.0 -229.0 -97.0 -188.0 -330.0 -14.0 -465.0 5.0 -342.0 -157.0 -180.0 -187.0 -99.0 -236.0 60.0 -302.0 155.0 -149.0 -185.0 279.0 -399.0 425.0 -98.0 -92.0 511.0 -531.0 695.0 -252.0 132.0 165.0 -177.0 431.0 -202.0 395.0 -177.0 105.0 64.0 -45.0 -52.0 41.0 -67.0 6.0 12.0 -40.0 -147.0 32.0 25.0 -185.0 240.0 -351.0 281.0 -258.0 169.0 -37.0 -278.0 436.0 -456.0 289.0 -29.0 -222.0 236.0 -289.0 2.0 -73.0 -175.0 -74.0 -141.0 -127.0 12.0 -170.0 -144.0 -62.0 -386.0 65.0 -303.0 -67.0 -206.0 -139.0 -64.0 -242.0 159.0 -265.0 -19.0 142.0 -272.0 258.0 43.0 -142.0 389.0 -300.0 360.0 -82.0 60.0 306.0 -239.0 469.0 -129.0 96.0 196.0 -199.0 308.0 -339.0 253.0 -57.0 -152.0 348.0 -469.0 292.0 -97.0 -130.0 162.0 -109.0 -95.0 226.0 -323.0 207.0 -128.0 52.0 144.0 -276.0 497.0 -356.0 376.0 -171.0 36.0 78.0 -50.0 75.0 -70.0 78.0 -74.0 167.0 -299.0 319.0 -311.0 -89.0 115.0 -308.0 105.0 -49.0 -312.0 94.0 -154.0 -109.0 240.0 -348.0 239.0 -181.0 107.0 11.0 82.0 -39.0 67.0 136.0 -78.0 363.0 -139.0 275.0 -39.0 18.0 204.0 25.0 -98.0 292.0 -198.0 56.0 247.0 -446.0 423.0 -324.0 97.0 -29.0 -185.0 177.0 -444.0 354.0 -428.0 179.0 -115.0 -146.0 292.0 -344.0 190.0 -1.0 -187.0 271.0 -21.0 -176.0 360.0 -400.0 426.0 -103.0 0.0 223.0 -306.0 311.0 -200.0 201.0 -56.0 -134.0 240.0 -306.0 129.0 -47.0 -211.0 299.0 -404.0 274.0 -171.0 -179.0 525.0 -559.0 545.0 -168.0 -131.0 611.0 -444.0 558.0 -64.0 -70.0 600.0 -496.0 719.0 9.0 -140.0 687.0 -522.0 449.0 10.0 107.0 109.0 -49.0 203.0 -139.0 41.0 205.0 -405.0 150.0 15.0 -383.0 363.0 -422.0 306.0 -276.0 205.0 -107.0 -22.0 139.0 -263.0 274.0 -287.0 287.0 -124.0 -99.0 279.0 -81.0 19.0 307.0 -365.0 203.0 59.0 -199.0 234.0 -219.0 68.0 -76.0 -26.0 67.0 -28.0 57.0 -23.0 -101.0 43.0 129.0 -77.0 193.0 -33.0 110.0 47.0 162.0 196.0 26.0 453.0 -81.0 84.0 295.0 -100.0 350.0 236.0 -173.0 471.0 -297.0 320.0 235.0 -166.0 451.0 -314.0 200.0 105.0 -66.0 296.0 -102.0 53.0 75.0 -108.0 97.0 -63.0 133.0 -28.0 121.0 -58.0 -90.0 271.0 -162.0 213.0 17.0 -15.0 107.0 6.0 24.0 64.0 17.0 81.0 52.0 -176.0 139.0 -99.0 66.0 -13.0 61.0 -181.0 17.0 36.0 -178.0 176.0 -57.0 17.0 -46.0 81.0 -67.0 138.0 41.0 124.0 94.0 94.0 140.0 100.0 312.0 6.0 205.0 216.0 58.0 258.0 219.0 24.0 360.0 77.0 190.0 107.0 -27.0 320.0 -161.0 252.0 83.0 -204.0 313.0 -139.0 79.0 25.0 -94.0 185.0 -218.0 308.0 -142.0 125.0 280.0 -182.0 344.0 -111.0 127.0 222.0 -154.0 281.0 20.0 -40.0 388.0 -275.0 329.0 -12.0 -33.0 327.0 -330.0 364.0 -190.0 130.0 135.0 -243.0 240.0 -77.0 28.0 206.0 -139.0 229.0 37.0 -35.0 364.0 -184.0 361.0 64.0 61.0 294.0 -76.0 369.0 120.0 165.0 279.0 -17.0 258.0 155.0 197.0 201.0 70.0 193.0 70.0 194.0 106.0 122.0 144.0 52.0 130.0 90.0 55.0 193.0 39.0 114.0 56.0 23.0 108.0 7.0 190.0 -1.0 87.0 38.0 63.0 115.0 70.0 83.0 29.0 3.0 41.0 122.0 -28.0 194.0 -1.0 7.0 121.0 -34.0 18.0 90.0 14.0 31.0 28.0 -8.0 89.0 4.0 166.0 -1.0 71.0 113.0 72.0 137.0 123.0 166.0 109.0 217.0 80.0 249.0 225.0 194.0 282.0 150.0 272.0 203.0 253.0 221.0 200.0 195.0 163.0 136.0 137.0 190.0 105.0 180.0 84.0 71.0 62.0 76.0 3.0 65.0 17.0 -12.0 34.0 -64.0 130.0 -75.0 30.0 68.0 -49.0 -12.0 49.0 -14.0 -18.0 54.0 -77.0 -55.0 -41.0 3.0 -77.0 -2.0 -47.0 -96.0 -17.0 -105.0 -74.0 -82.0 -92.0 -60.0 -84.0 -38.0 -26.0 5.0 -55.0 79.0 37.0 85.0 143.0 104.0 207.0 117.0 259.0 189.0 244.0 235.0 209.0 228.0 248.0 266.0 225.0 269.0 243.0 220.0 181.0 247.0 161.0 227.0 206.0 166.0 203.0 159.0 243.0 216.0 233.0 256.0 230.0 234.0 257.0 230.0 236.0 254.0 195.0 170.0 109.0 79.0 -39.0 -69.0 -125.0 -194.0 -160.0 -234.0 -274.0 -335.0 -320.0 -373.0 -470.0 -466.0 -444.0 -536.0 -435.0 -441.0 -495.0 -424.0 -454.0 -375.0 -451.0 -242.0 -231.0 -163.0 -87.0 -15.0 109.0 107.0 368.0 231.0 414.0 424.0 475.0 503.0 538.0 619.0 491.0 662.0 520.0 571.0 559.0 591.0 541.0 579.0 552.0 547.0 622.0 456.0 513.0 434.0 439.0 353.0 388.0 293.0 254.0 298.0 186.0 182.0 106.0 152.0 -11.0 -51.0 -119.0 -219.0 -289.0 -368.0 -443.0 -601.0 -491.0 -603.0 -668.0 -663.0 -713.0 -747.0 -804.0 -809.0 -947.0 -853.0 -885.0 -869.0 -748.0 -607.0 -514.0 -432.0 -231.0 -115.0 132.0 163.0 440.0 484.0 552.0 763.0 733.0 872.0 962.0 1029.0 870.0 977.0 894.0 728.0 815.0 570.0 499.0 387.0 265.0 83.0 46.0 -5.0 -128.0 -88.0 -267.0 -206.0 -251.0 -209.0 -213.0 -62.0 -122.0 -122.0 -1.0 -80.0 164.0 144.0 243.0 187.0 307.0 263.0 237.0 278.0 205.0 160.0 -46.0 -136.0 -335.0 -384.0 -617.0 -666.0 -744.0 -829.0 -875.0 -1037.0 -1100.0 -1155.0 -1069.0 -1185.0 -1102.0 -974.0 -889.0 -619.0 -414.0 -170.0 71.0 313.0 536.0 681.0 896.0 1008.0 1082.0 1231.0 1225.0 1314.0 1210.0 1178.0 1064.0 862.0 841.0 613.0 444.0 264.0 129.0 -70.0 -47.0 -205.0 -411.0 -416.0 -565.0 -568.0 -541.0 -475.0 -543.0 -363.0 -338.0 -295.0 -171.0 -122.0 11.0 18.0 132.0 113.0 212.0 204.0 223.0 157.0 75.0 25.0 -166.0 -345.0 -481.0 -575.0 -833.0 -901.0 -976.0 -988.0 -967.0 -1080.0 -1146.0 -1135.0 -1059.0 -1003.0 -874.0 -712.0 -503.0 -149.0 148.0 437.0 671.0 935.0 1131.0 1189.0 1334.0 1402.0 1392.0 1423.0 1450.0 1254.0 1232.0 1101.0 860.0 687.0 495.0 292.0 19.0 -63.0 -308.0 -386.0 -441.0 -379.0 -542.0 -601.0 -622.0 -642.0 -458.0 -455.0 -273.0 -345.0 -29.0 -39.0 34.0 131.0 170.0 263.0 176.0 247.0 84.0 168.0 110.0 52.0 -189.0 -275.0 -447.0 -678.0 -784.0 -998.0 -1096.0 -1239.0 -1246.0 -1223.0 -1192.0 -1180.0 -1100.0 -1050.0 -927.0 -787.0 -603.0 -436.0 -144.0 182.0 477.0 754.0 919.0 1173.0 1251.0 1324.0 1299.0 1276.0 1267.0 1241.0 1154.0 930.0 850.0 689.0 480.0 270.0 97.0 -96.0 -253.0 -344.0 -477.0 -475.0 -397.0 -254.0 -371.0 -362.0 -310.0 -298.0 -141.0 -30.0 -50.0 -37.0 208.0 115.0 199.0 235.0 213.0 235.0 142.0 -5.0 -81.0 -80.0 -240.0 -242.0 -461.0 -651.0 -713.0 -894.0 -1073.0 -1097.0 -1229.0 -1269.0 -1263.0 -1207.0 -995.0 -917.0 -816.0 -798.0 -586.0 -497.0 -301.0 -212.0 -30.0 408.0 614.0 886.0 964.0 1098.0 1150.0 1178.0 1018.0 906.0 880.0 776.0 739.0 502.0 415.0 291.0 200.0 -40.0 -166.0 -277.0 -431.0 -423.0 -526.0 -483.0 -347.0 -142.0 -126.0 -140.0 -115.0 -51.0 13.0 103.0 146.0 179.0 295.0 270.0 310.0 327.0 315.0 214.0 137.0 30.0 -87.0 -156.0 -221.0 -274.0 -345.0 -444.0 -623.0 -755.0 -916.0 -993.0 -1021.0 -1078.0 -1211.0 -1084.0 -963.0 -786.0 -723.0 -723.0 -605.0 -492.0 -302.0 -292.0 -52.0 46.0 355.0 630.0 789.0 850.0 970.0 1026.0 877.0 877.0 683.0 622.0 612.0 516.0 319.0 373.0 234.0 111.0 32.0 -105.0 -230.0 -280.0 -244.0 -303.0 -114.0 41.0 148.0 164.0 122.0 118.0 195.0 154.0 181.0 179.0 222.0 220.0 217.0 157.0 112.0 71.0 -169.0 -230.0 -379.0 -382.0 -440.0 -452.0 -511.0 -563.0 -616.0 -780.0 -885.0 -982.0 -1006.0 -1032.0 -1108.0 -1127.0 -958.0 -728.0 -604.0 -678.0 -591.0 -505.0 -417.0 -327.0 -231.0 -134.0 186.0 495.0 661.0 741.0 852.0 1007.0 966.0 901.0 678.0 690.0 612.0 641.0 496.0 393.0 444.0 332.0 221.0 78.0 34.0 -12.0 55.0 -7.0 54.0 113.0 336.0 329.0 321.0 270.0 260.0 315.0 158.0 154.0 102.0 204.0 71.0 73.0 -93.0 -114.0 -153.0 -327.0 -392.0 -423.0 -390.0 -486.0 -456.0 -568.0 -537.0 -623.0 -747.0 -867.0 -912.0 -929.0 -989.0 -1077.0 -1187.0 -1030.0 -867.0 -794.0 -784.0 -671.0 -614.0 -571.0 -468.0 -399.0 -223.0 51.0 323.0 571.0 772.0 917.0 992.0 1030.0 962.0 813.0 721.0 679.0 642.0 599.0 578.0 578.0 518.0 415.0 281.0 150.0 146.0 77.0 87.0 98.0 169.0 304.0 398.0 370.0 203.0 163.0 77.0 -9.0 -125.0 -148.0 -155.0 -140.0 -215.0 -340.0 -330.0 -373.0 -459.0 -527.0 -487.0 -503.0 -462.0 -398.0 -390.0 -384.0 -437.0 -564.0 -653.0 -709.0 -767.0 -748.0 -913.0 -983.0 -923.0 -876.0 -700.0 -679.0 -578.0 -580.0 -486.0 -424.0 -333.0 -104.0 26.0 349.0 613.0 870.0 968.0 1091.0 1037.0 1016.0 883.0 732.0 658.0 607.0 593.0 460.0 509.0 390.0 412.0 294.0 143.0 35.0 45.0 32.0 18.0 107.0 153.0 270.0 270.0 159.0 -43.0 -99.0 -206.0 -284.0 -340.0 -333.0 -308.0 -310.0 -330.0 -421.0 -416.0 -439.0 -495.0 -481.0 -469.0 -342.0 -208.0 -160.0 -163.0 -219.0 -307.0 -404.0 -530.0 -634.0 -662.0 -753.0 -787.0 -875.0 -851.0 -766.0 -633.0 -623.0 -591.0 -465.0 -339.0 -147.0 -28.0 144.0 328.0 722.0 886.0 1046.0 1160.0 1188.0 1222.0 1065.0 879.0 691.0 705.0 559.0 410.0 303.0 293.0 310.0 256.0 100.0 -99.0 -50.0 -118.0 -140.0 -99.0 -45.0 98.0 150.0 88.0 -115.0 -162.0 -231.0 -316.0 -331.0 -444.0 -334.0 -271.0 -205.0 -234.0 -219.0 -222.0 -264.0 -276.0 -337.0 -187.0 -75.0 36.0 1.0 -38.0 -202.0 -279.0 -422.0 -598.0 -700.0 -797.0 -860.0 -986.0 -969.0 -911.0 -684.0 -658.0 -615.0 -552.0 -380.0 -170.0 6.0 158.0 337.0 675.0 914.0 1160.0 1271.0 1418.0 1403.0 1276.0 1030.0 690.0 475.0 372.0 292.0 129.0 149.0 203.0 177.0 71.0 -82.0 -200.0 -217.0 -234.0 -213.0 -86.0 49.0 239.0 268.0 209.0 106.0 -23.0 -85.0 -147.0 -291.0 -238.0 -45.0 12.0 40.0 -19.0 -61.0 -91.0 -178.0 -306.0 -253.0 -147.0 -37.0 20.0 -42.0 -179.0 -282.0 -422.0 -619.0 -800.0 -931.0 -920.0 -1002.0 -1080.0 -1124.0 -1040.0 -922.0 -747.0 -656.0 -425.0 -118.0 123.0 298.0 419.0 546.0 719.0 999.0 1199.0 1385.0 1530.0 1607.0 1419.0 1053.0 644.0 370.0 135.0 26.0 -64.0 20.0 181.0 183.0 112.0 21.0 -79.0 -180.0 -150.0 -128.0 51.0 286.0 495.0 525.0 449.0 295.0 139.0 -12.0 -218.0 -299.0 -258.0 -79.0 46.0 31.0 25.0 -43.0 -128.0 -252.0 -342.0 -334.0 -187.0 0.0 0.0 -19.0 -87.0 -165.0 -350.0 -616.0 -842.0 -925.0 -850.0 -855.0 -919.0 -973.0 -853.0 -759.0 -735.0 -634.0 -451.0 -138.0 117.0 292.0 358.0 488.0 616.0 797.0 1020.0 1124.0 1237.0 1256.0 1157.0 976.0 634.0 299.0 47.0 -102.0 -165.0 -51.0 154.0 324.0 451.0 375.0 292.0 179.0 116.0 63.0 176.0 285.0 456.0 637.0 637.0 489.0 236.0 -31.0 -295.0 -464.0 -593.0 -527.0 -353.0 -203.0 -131.0 -66.0 -162.0 -222.0 -301.0 -385.0 -307.0 -157.0 -13.0 105.0 135.0 -17.0 -162.0 -399.0 -677.0 -848.0 -901.0 -857.0 -763.0 -811.0 -840.0 -754.0 -724.0 -607.0 -544.0 -399.0 -112.0 208.0 439.0 551.0 744.0 782.0 945.0 1055.0 1062.0 1136.0 1161.0 1126.0 919.0 677.0 340.0 134.0 -32.0 -63.0 40.0 150.0 338.0 431.0 459.0 342.0 255.0 92.0 26.0 38.0 58.0 206.0 278.0 287.0 136.0 -77.0 -310.0 -511.0 -750.0 -767.0 -671.0 -483.0 -223.0 -54.0 58.0 80.0 78.0 -32.0 -75.0 -123.0 -17.0 136.0 187.0 157.0 42.0 -160.0 -367.0 -583.0 -795.0 -897.0 -888.0 -819.0 -844.0 -857.0 -801.0 -730.0 -617.0 -489.0 -264.0 43.0 365.0 632.0 778.0 922.0 932.0 1039.0 1101.0 1156.0 1228.0 1214.0 1210.0 1039.0 743.0 386.0 145.0 -52.0 -124.0 -65.0 76.0 270.0 361.0 410.0 314.0 147.0 13.0 -108.0 -165.0 -164.0 -69.0 -30.0 18.0 -46.0 -193.0 -291.0 -466.0 -634.0 -639.0 -489.0 -288.0 3.0 178.0 336.0 419.0 378.0 245.0 137.0 48.0 -7.0 51.0 -16.0 -23.0 -119.0 -235.0 -411.0 -597.0 -776.0 -906.0 -946.0 -959.0 -845.0 -813.0 -647.0 -595.0 -399.0 -227.0 8.0 236.0 465.0 728.0 837.0 970.0 923.0 1102.0 1126.0 1194.0 1228.0 1221.0 1122.0 953.0 652.0 292.0 93.0 -103.0 -126.0 -144.0 -18.0 120.0 273.0 248.0 183.0 44.0 -94.0 -148.0 -235.0 -194.0 -88.0 25.0 91.0 78.0 -42.0 -224.0 -345.0 -481.0 -492.0 -382.0 -234.0 78.0 321.0 449.0 413.0 369.0 209.0 62.0 -124.0 -229.0 -167.0 -144.0 -99.0 -135.0 -180.0 -308.0 -432.0 -623.0 -732.0 -722.0 -699.0 -555.0 -557.0 -496.0 -394.0 -301.0 -180.0 -97.0 92.0 286.0 553.0 607.0 734.0 744.0 776.0 845.0 818.0 828.0 852.0 881.0 766.0 686.0 359.0 170.0 -67.0 -214.0 -279.0 -191.0 -23.0 184.0 377.0 413.0 449.0 300.0 187.0 9.0 -48.0 -59.0 57.0 160.0 281.0 265.0 181.0 46.0 -200.0 -347.0 -453.0 -382.0 -257.0 17.0 157.0 293.0 276.0 160.0 19.0 -194.0 -361.0 -437.0 -406.0 -368.0 -259.0 -272.0 -208.0 -237.0 -323.0 -473.0 -557.0 -560.0 -532.0 -551.0 -546.0 -406.0 -320.0 -185.0 -121.0 -34.0 125.0 338.0 407.0 515.0 532.0 542.0 626.0 624.0 671.0 804.0 844.0 825.0 778.0 541.0 338.0 123.0 -73.0 -183.0 -117.0 -42.0 197.0 427.0 513.0 561.0 481.0 352.0 177.0 56.0 -34.0 14.0 76.0 166.0 256.0 168.0 17.0 -137.0 -294.0 -447.0 -503.0 -465.0 -314.0 -127.0 -39.0 46.0 61.0 11.0 -119.0 -228.0 -326.0 -361.0 -319.0 -294.0 -197.0 -122.0 -72.0 -63.0 -102.0 -187.0 -186.0 -193.0 -261.0 -330.0 -379.0 -381.0 -398.0 -361.0 -253.0 -104.0 83.0 236.0 363.0 459.0 460.0 467.0 506.0 571.0 619.0 755.0 851.0 909.0 862.0 670.0 452.0 211.0 -23.0 -215.0 -165.0 -86.0 122.0 299.0 445.0 520.0 456.0 350.0 196.0 83.0 -18.0 28.0 35.0 101.0 90.0 7.0 -104.0 -249.0 -411.0 -559.0 -579.0 -612.0 -497.0 -325.0 -156.0 -38.0 37.0 101.0 116.0 72.0 -15.0 4.0 50.0 61.0 103.0 170.0 224.0 205.0 176.0 109.0 77.0 -47.0 -197.0 -365.0 -538.0 -614.0 -689.0 -621.0 -596.0 -385.0 -164.0 99.0 258.0 339.0 428.0 454.0 545.0 518.0 685.0 795.0 897.0 973.0 975.0 814.0 528.0 241.0 -62.0 -223.0 -337.0 -238.0 -41.0 144.0 320.0 401.0 413.0 316.0 151.0 -27.0 -130.0 -202.0 -257.0 -219.0 -218.0 -226.0 -277.0 -352.0 -499.0 -599.0 -635.0 -625.0 -499.0 -321.0 -88.0 101.0 315.0 413.0 515.0 535.0 453.0 415.0 364.0 289.0 252.0 228.0 170.0 181.0 115.0 41.0 -65.0 -218.0 -388.0 -627.0 -839.0 -977.0 -1021.0 -964.0 -775.0 -505.0 -208.0 134.0 344.0 485.0 523.0 526.0 585.0 640.0 708.0 844.0 981.0 1042.0 994.0 721.0 437.0 116.0 -207.0 -465.0 -537.0 -466.0 -282.0 -63.0 129.0 278.0 274.0 216.0 81.0 -95.0 -228.0 -300.0 -349.0 -347.0 -359.0 -355.0 -326.0 -329.0 -376.0 -369.0 -326.0 -269.0 -149.0 11.0 212.0 356.0 560.0 683.0 730.0 733.0 673.0 604.0 474.0 314.0 156.0 72.0 -58.0 -129.0 -201.0 -259.0 -320.0 -418.0 -579.0 -805.0 -980.0 -1088.0 -1110.0 -1052.0 -869.0 -544.0 -186.0 130.0 402.0 581.0 649.0 653.0 713.0 644.0 707.0 735.0 765.0 788.0 681.0 448.0 204.0 -57.0 -354.0 -484.0 -592.0 -491.0 -359.0 -199.0 -57.0 76.0 109.0 99.0 33.0 -88.0 -153.0 -245.0 -333.0 -350.0 -366.0 -348.0 -286.0 -242.0 -182.0 -126.0 -43.0 22.0 127.0 227.0 350.0 439.0 561.0 630.0 673.0 664.0 591.0 488.0 301.0 109.0 -106.0 -225.0 -351.0 -447.0 -505.0 -527.0 -550.0 -643.0 -749.0 -919.0 -1013.0 -1111.0 -1068.0 -1009.0 -801.0 -446.0 -144.0 189.0 398.0 565.0 586.0 662.0 597.0 612.0 624.0 587.0 636.0 570.0 463.0 260.0 58.0 -215.0 -369.0 -537.0 -578.0 -506.0 -408.0 -242.0 -116.0 6.0 61.0 77.0 7.0 -30.0 -113.0 -187.0 -208.0 -206.0 -153.0 -123.0 -59.0 21.0 69.0 102.0 136.0 130.0 181.0 246.0 291.0 394.0 456.0 524.0 565.0 524.0 391.0 274.0 76.0 -121.0 -261.0 -422.0 -498.0 -560.0 -583.0 -626.0 -647.0 -728.0 -804.0 -956.0 -1068.0 -1111.0 -1090.0 -966.0 -765.0 -484.0 -178.0 148.0 363.0 509.0 585.0 670.0 682.0 619.0 599.0 556.0 507.0 449.0 283.0 89.0 -85.0 -222.0 -434.0 -517.0 -570.0 -507.0 -384.0 -301.0 -167.0 -72.0 39.0 46.0 83.0 25.0 49.0 -17.0 -14.0 -3.0 -19.0 18.0 6.0 43.0 22.0 29.0 -8.0 36.0 52.0 117.0 204.0 230.0 342.0 376.0 383.0 307.0 216.0 104.0 -21.0 -176.0 -328.0 -352.0 -483.0 -502.0 -596.0 -632.0 -685.0 -776.0 -869.0 -995.0 -1044.0 -1114.0 -1027.0 -973.0 -702.0 -466.0 -187.0 150.0 372.0 564.0 640.0 732.0 694.0 684.0 604.0 526.0 490.0 379.0 251.0 32.0 -81.0 -249.0 -398.0 -490.0 -510.0 -434.0 -375.0 -230.0 -143.0 -1.0 31.0 115.0 130.0 122.0 145.0 132.0 169.0 127.0 142.0 55.0 48.0 -49.0 -103.0 -143.0 -172.0 -151.0 -97.0 12.0 66.0 180.0 239.0 321.0 308.0 267.0 209.0 143.0 17.0 -127.0 -213.0 -355.0 -481.0 -605.0 -712.0 -759.0 -818.0 -852.0 -888.0 -945.0 -978.0 -997.0 -960.0 -877.0 -643.0 -411.0 -122.0 193.0 437.0 637.0 763.0 841.0 816.0 789.0 699.0 581.0 467.0 335.0 160.0 -50.0 -187.0 -312.0 -405.0 -424.0 -388.0 -290.0 -193.0 -100.0 -46.0 22.0 10.0 45.0 76.0 103.0 184.0 221.0 265.0 226.0 190.0 54.0 -53.0 -197.0 -306.0 -359.0 -375.0 -280.0 -177.0 -12.0 127.0 272.0 348.0 390.0 373.0 304.0 227.0 115.0 -17.0 -163.0 -279.0 -429.0 -555.0 -640.0 -703.0 -753.0 -776.0 -765.0 -786.0 -836.0 -924.0 -933.0 -918.0 -868.0 -671.0 -459.0 -161.0 167.0 431.0 604.0 722.0 786.0 763.0 696.0 570.0 478.0 389.0 289.0 160.0 25.0 -39.0 -130.0 -218.0 -237.0 -225.0 -190.0 -149.0 -138.0 -100.0 -46.0 -29.0 40.0 120.0 175.0 239.0 272.0 227.0 143.0 32.0 -128.0 -249.0 -368.0 -415.0 -368.0 -303.0 -188.0 -33.0 102.0 183.0 277.0 317.0 330.0 316.0 237.0 214.0 148.0 16.0 -113.0 -239.0 -378.0 -536.0 -678.0 -753.0 -807.0 -838.0 -802.0 -771.0 -783.0 -820.0 -816.0 -816.0 -797.0 -734.0 -529.0 -304.0 -70.0 195.0 348.0 551.0 634.0 639.0 617.0 568.0 523.0 418.0 360.0 217.0 120.0 3.0 -76.0 -140.0 -192.0 -145.0 -105.0 -36.0 -12.0 53.0 70.0 95.0 70.0 102.0 108.0 102.0 124.0 99.0 74.0 -2.0 -64.0 -143.0 -211.0 -271.0 -247.0 -205.0 -143.0 -68.0 45.0 159.0 259.0 326.0 383.0 402.0 397.0 333.0 235.0 105.0 -55.0 -222.0 -401.0 -550.0 -669.0 -701.0 -779.0 -740.0 -719.0 -689.0 -659.0 -710.0 -779.0 -785.0 -811.0 -798.0 -631.0 -462.0 -190.0 76.0 323.0 530.0 690.0 728.0 750.0 685.0 631.0 558.0 415.0 369.0 282.0 170.0 117.0 85.0 12.0 38.0 13.0 20.0 33.0 1.0 -6.0 5.0 16.0 37.0 84.0 113.0 152.0 160.0 140.0 75.0 23.0 -40.0 -119.0 -156.0 -167.0 -149.0 -69.0 -15.0 33.0 152.0 205.0 249.0 307.0 288.0 292.0 261.0 161.0 68.0 -44.0 -187.0 -303.0 -450.0 -571.0 -619.0 -701.0 -732.0 -711.0 -691.0 -637.0 -595.0 -597.0 -570.0 -551.0 -518.0 -479.0 -377.0 -212.0 -24.0 200.0 383.0 560.0 690.0 812.0 805.0 771.0 710.0 583.0 469.0 348.0 258.0 174.0 149.0 115.0 130.0 137.0 147.0 158.0 150.0 113.0 83.0 69.0 42.0 52.0 73.0 105.0 133.0 162.0 153.0 144.0 86.0 20.0 -64.0 -135.0 -186.0 -223.0 -191.0 -139.0 -54.0 32.0 160.0 243.0 283.0 300.0 244.0 187.0 100.0 -48.0 -143.0 -232.0 -347.0 -411.0 -471.0 -498.0 -485.0 -476.0 -430.0 -359.0 -334.0 -285.0 -261.0 -286.0 -301.0 -306.0 -328.0 -285.0 -138.0 -4.0 191.0 364.0 502.0 622.0 685.0 669.0 584.0 554.0 466.0 396.0 384.0 353.0 355.0 348.0 317.0 287.0 245.0 201.0 170.0 140.0 116.0 118.0 131.0 166.0 190.0 197.0 223.0 222.0 195.0 141.0 65.0 16.0 -57.0 -135.0 -162.0 -209.0 -207.0 -158.0 -121.0 -67.0 6.0 74.0 144.0 200.0 194.0 214.0 188.0 119.0 57.0 -35.0 -110.0 -209.0 -299.0 -349.0 -364.0 -357.0 -339.0 -257.0 -204.0 -122.0 -111.0 -118.0 -132.0 -217.0 -265.0 -321.0 -242.0 -161.0 -7.0 160.0 368.0 511.0 616.0 671.0 640.0 578.0 489.0 447.0 371.0 371.0 347.0 377.0 339.0 351.0 299.0 266.0 227.0 161.0 149.0 126.0 135.0 135.0 172.0 186.0 211.0 191.0 188.0 145.0 101.0 14.0 -41.0 -112.0 -183.0 -220.0 -249.0 -227.0 -182.0 -105.0 -39.0 65.0 142.0 207.0 251.0 249.0 218.0 202.0 126.0 42.0 -16.0 -105.0 -169.0 -230.0 -301.0 -292.0 -279.0 -264.0 -211.0 -175.0 -133.0 -121.0 -130.0 -174.0 -226.0 -251.0 -261.0 -215.0 -86.0 34.0 218.0 333.0 428.0 494.0 544.0 489.0 419.0 457.0 378.0 409.0 377.0 406.0 402.0 387.0 331.0 276.0 267.0 208.0 204.0 190.0 203.0 199.0 247.0 223.0 224.0 204.0 170.0 151.0 101.0 5.0 -33.0 -76.0 -147.0 -200.0 -244.0 -235.0 -189.0 -136.0 -58.0 42.0 110.0 196.0 226.0 245.0 232.0 205.0 178.0 121.0 22.0 -27.0 -85.0 -158.0 -191.0 -225.0 -192.0 -138.0 -80.0 -7.0 38.0 46.0 48.0 13.0 -93.0 -152.0 -200.0 -200.0 -141.0 -40.0 63.0 205.0 297.0 320.0 350.0 327.0 307.0 221.0 251.0 264.0 331.0 390.0 458.0 507.0 497.0 498.0 395.0 356.0 275.0 222.0 210.0 234.0 244.0 307.0 345.0 335.0 342.0 281.0 202.0 114.0 5.0 -92.0 -144.0 -231.0 -252.0 -239.0 -209.0 -141.0 -60.0 -7.0 78.0 119.0 133.0 164.0 145.0 142.0 136.0 114.0 75.0 59.0 -3.0 -25.0 -83.0 -116.0 -114.0 -81.0 -43.0 20.0 76.0 82.0 134.0 74.0 17.0 -97.0 -161.0 -225.0 -233.0 -199.0 -83.0 32.0 154.0 226.0 255.0 282.0 259.0 224.0 138.0 194.0 230.0 361.0 421.0 541.0 595.0 609.0 583.0 464.0 397.0 307.0 268.0 234.0 274.0 297.0 376.0 369.0 361.0 318.0 221.0 96.0 -4.0 -98.0 -218.0 -246.0 -287.0 -283.0 -255.0 -223.0 -162.0 -99.0 -56.0 -12.0 45.0 68.0 92.0 147.0 164.0 189.0 173.0 160.0 123.0 75.0 30.0 -23.0 -25.0 -43.0 -32.0 19.0 70.0 56.0 68.0 41.0 -44.0 -120.0 -247.0 -292.0 -285.0 -261.0 -186.0 -58.0 50.0 147.0 188.0 179.0 191.0 179.0 156.0 144.0 235.0 346.0 451.0 547.0 611.0 607.0 609.0 509.0 362.0 307.0 215.0 176.0 216.0 226.0 260.0 317.0 269.0 227.0 132.0 -2.0 -80.0 -163.0 -262.0 -305.0 -318.0 -323.0 -313.0 -295.0 -263.0 -201.0 -161.0 -119.0 -66.0 -10.0 21.0 60.0 120.0 140.0 182.0 179.0 170.0 150.0 84.0 11.0 -22.0 -78.0 -107.0 -96.0 -108.0 -83.0 -96.0 -141.0 -172.0 -254.0 -309.0 -284.0 -290.0 -219.0 -79.0 -47.0 73.0 115.0 33.0 42.0 -25.0 -55.0 9.0 60.0 156.0 391.0 456.0 522.0 582.0 454.0 415.0 327.0 185.0 164.0 169.0 185.0 293.0 279.0 307.0 313.0 192.0 82.0 -18.0 -158.0 -175.0 -202.0 -258.0 -188.0 -222.0 -222.0 -236.0 -305.0 -338.0 -301.0 -315.0 -197.0 -118.0 -34.0 103.0 142.0 181.0 202.0 169.0 109.0 101.0 29.0 18.0 -24.0 -61.0 -76.0 -119.0 -144.0 -162.0 -209.0 -228.0 -272.0 -336.0 -362.0 -328.0 -271.0 -170.0 -84.0 35.0 124.0 120.0 104.0 14.0 -73.0 -181.0 -160.0 -161.0 -5.0 112.0 231.0 399.0 423.0 409.0 327.0 247.0 96.0 101.0 50.0 71.0 188.0 244.0 307.0 313.0 272.0 161.0 71.0 -72.0 -167.0 -180.0 -179.0 -163.0 -149.0 -142.0 -159.0 -192.0 -284.0 -342.0 -339.0 -333.0 -245.0 -131.0 3.0 112.0 204.0 223.0 226.0 199.0 107.0 68.0 0.0 -31.0 -65.0 -74.0 -128.0 -149.0 -167.0 -236.0 -269.0 -316.0 -329.0 -353.0 -336.0 -271.0 -151.0 -80.0 -33.0 54.0 71.0 39.0 -46.0 -175.0 -225.0 -263.0 -290.0 -175.0 -22.0 61.0 135.0 210.0 210.0 199.0 131.0 84.0 67.0 128.0 179.0 235.0 295.0 306.0 269.0 169.0 75.0 -50.0 -61.0 -126.0 -121.0 -72.0 -49.0 -35.0 -55.0 -156.0 -237.0 -266.0 -369.0 -360.0 -321.0 -233.0 -91.0 9.0 67.0 144.0 131.0 94.0 77.0 18.0 17.0 42.0 5.0 38.0 34.0 -43.0 -116.0 -243.0 -337.0 -390.0 -437.0 -448.0 -351.0 -328.0 -264.0 -163.0 -85.0 -26.0 -43.0 -25.0 -36.0 -77.0 -160.0 -215.0 -279.0 -300.0 -265.0 -285.0 -180.0 -85.0 -28.0 -7.0 0.0 11.0 11.0 40.0 34.0 104.0 185.0 264.0 271.0 244.0 211.0 143.0 60.0 -36.0 -75.0 -52.0 -24.0 -1.0 -24.0 -34.0 -47.0 -139.0 -240.0 -270.0 -258.0 -264.0 -182.0 -155.0 -37.0 27.0 43.0 47.0 34.0 15.0 4.0 46.0 32.0 133.0 114.0 104.0 44.0 -47.0 -178.0 -311.0 -418.0 -448.0 -387.0 -395.0 -304.0 -267.0 -222.0 -157.0 -144.0 -131.0 -84.0 -96.0 -88.0 -63.0 -145.0 -197.0 -226.0 -382.0 -424.0 -407.0 -444.0 -318.0 -209.0 -143.0 -124.0 -112.0 -119.0 -24.0 -26.0 -69.0 17.0 76.0 211.0 204.0 139.0 122.0 86.0 14.0 -34.0 -64.0 -10.0 88.0 -15.0 -29.0 -25.0 -106.0 -126.0 -233.0 -224.0 -106.0 -81.0 -97.0 4.0 -20.0 17.0 36.0 -109.0 -14.0 26.0 46.0 98.0 161.0 145.0 182.0 59.0 -47.0 -49.0 -198.0 -262.0 -302.0 -317.0 -271.0 -236.0 -304.0 -269.0 -267.0 -241.0 -180.0 -139.0 -93.0 1.0 -30.0 -63.0 -148.0 -293.0 -397.0 -524.0 -615.0 -608.0 -522.0 -512.0 -411.0 -371.0 -287.0 -252.0 -258.0 -267.0 -151.0 -125.0 -40.0 64.0 74.0 144.0 190.0 147.0 127.0 203.0 143.0 184.0 125.0 110.0 117.0 55.0 -54.0 -49.0 -87.0 -129.0 -59.0 -65.0 -30.0 14.0 -37.0 -37.0 45.0 -13.0 13.0 82.0 97.0 195.0 237.0 202.0 255.0 206.0 96.0 52.0 -17.0 -85.0 -53.0 -125.0 -139.0 -70.0 -120.0 -110.0 -123.0 -197.0 -184.0 -66.0 -69.0 3.0 73.0 55.0 49.0 -51.0 -202.0 -316.0 -408.0 -565.0 -561.0 -569.0 -589.0 -505.0 -521.0 -558.0 -529.0 -510.0 -488.0 -321.0 -245.0 -171.0 7.0 41.0 105.0 216.0 153.0 169.0 268.0 216.0 256.0 308.0 224.0 225.0 171.0 44.0 70.0 65.0 10.0 105.0 92.0 42.0 106.0 -5.0 -39.0 9.0 -43.0 -15.0 96.0 126.0 182.0 229.0 149.0 184.0 122.0 4.0 -18.0 -54.0 -88.0 -71.0 -120.0 -176.0 -128.0 -147.0 -148.0 -101.0 -75.0 23.0 118.0 100.0 135.0 175.0 97.0 -9.0 -80.0 -203.0 -231.0 -299.0 -408.0 -417.0 -454.0 -478.0 -470.0 -508.0 -494.0 -441.0 -472.0 -432.0 -363.0 -282.0 -203.0 -106.0 -72.0 67.0 104.0 144.0 192.0 177.0 211.0 161.0 152.0 160.0 194.0 175.0 232.0 210.0 202.0 239.0 151.0 117.0 128.0 82.0 87.0 97.0 79.0 131.0 158.0 124.0 179.0 208.0 182.0 245.0 207.0 194.0 210.0 159.0 109.0 114.0 67.0 32.0 32.0 -29.0 15.0 57.0 48.0 102.0 191.0 220.0 244.0 241.0 195.0 173.0 74.0 -44.0 -138.0 -220.0 -314.0 -365.0 -407.0 -409.0 -401.0 -447.0 -457.0 -412.0 -390.0 -374.0 -324.0 -330.0 -224.0 -147.0 -102.0 -17.0 79.0 106.0 156.0 177.0 129.0 108.0 58.0 -2.0 -34.0 -7.0 -11.0 72.0 90.0 114.0 60.0 39.0 7.0 -52.0 -22.0 8.0 104.0 176.0 229.0 250.0 308.0 267.0 243.0 239.0 214.0 243.0 273.0 277.0 292.0 290.0 242.0 208.0 161.0 118.0 145.0 162.0 173.0 234.0 244.0 259.0 242.0 199.0 139.0 76.0 11.0 -40.0 -77.0 -138.0 -182.0 -219.0 -269.0 -306.0 -324.0 -368.0 -401.0 -412.0 -423.0 -398.0 -369.0 -287.0 -203.0 -156.0 -101.0 -42.0 -17.0 -2.0 24.0 13.0 44.0 41.0 21.0 25.0 28.0 -4.0 -19.0 -75.0 -74.0 -108.0 -133.0 -92.0 -112.0 -51.0 -61.0 -66.0 -45.0 -27.0 -18.0 22.0 66.0 105.0 218.0 236.0 256.0 263.0 217.0 174.0 93.0 80.0 101.0 169.0 230.0 251.0 288.0 306.0 322.0 354.0 366.0 371.0 390.0 378.0 351.0 333.0 295.0 227.0 162.0 49.0 -67.0 -153.0 -234.0 -261.0 -260.0 -292.0 -284.0 -289.0 -290.0 -249.0 -244.0 -235.0 -196.0 -131.0 -76.0 -20.0 26.0 78.0 89.0 86.0 66.0 79.0 99.0 108.0 105.0 112.0 92.0 96.0 101.0 53.0 62.0 12.0 18.0 -54.0 -32.0 -65.0 -37.0 3.0 -110.0 -42.0 -107.0 -83.0 -57.0 -61.0 -23.0 30.0 16.0 -60.0 -9.0 -16.0 -36.0 20.0 -69.0 -72.0 58.0 -19.0 167.0 254.0 279.0 363.0 270.0 370.0 311.0 303.0 244.0 153.0 224.0 130.0 133.0 49.0 -116.0 -66.0 -204.0 -184.0 -184.0 -220.0 -102.0 -184.0 28.0 -189.0 -61.0 -46.0 -97.0 107.0 3.0 99.0 203.0 237.0 125.0 328.0 215.0 288.0 266.0 210.0 132.0 125.0 143.0 97.0 46.0 -18.0 87.0 45.0 97.0 58.0 63.0 7.0 4.0 -137.0 28.0 -99.0 28.0 57.0 84.0 86.0 -20.0 63.0 -183.0 52.0 -171.0 -99.0 -98.0 -203.0 -40.0 -61.0 12.0 49.0 1.0 30.0 126.0 153.0 182.0 157.0 179.0 162.0 219.0 55.0 -13.0 -25.0 -193.0 -65.0 -219.0 -205.0 -84.0 -267.0 -228.0 -303.0 -169.0 -186.0 -170.0 95.0 -167.0 85.0 192.0 -108.0 354.0 134.0 157.0 380.0 110.0 405.0 282.0 170.0 355.0 195.0 201.0 241.0 120.0 221.0 198.0 391.0 115.0 358.0 163.0 37.0 360.0 -169.0 140.0 68.0 79.0 198.0 250.0 125.0 196.0 238.0 -20.0 30.0 -1.0 -107.0 -3.0 94.0 -137.0 117.0 59.0 -88.0 257.0 -32.0 66.0 179.0 -31.0 238.0 -54.0 87.0 110.0 -58.0 12.0 -151.0 -230.0 -208.0 -215.0 -260.0 -399.0 -273.0 -308.0 -366.0 -207.0 -362.0 -159.0 -309.0 -173.0 -134.0 -182.0 -103.0 -70.0 51.0 7.0 274.0 65.0 129.0 242.0 28.0 234.0 188.0 43.0 348.0 155.0 218.0 203.0 175.0 306.0 -45.0 356.0 -54.0 422.0 115.0 133.0 239.0 -63.0 514.0 -100.0 390.0 116.0 286.0 223.0 36.0 156.0 -50.0 272.0 197.0 -144.0 485.0 -129.0 56.0 608.0 -447.0 486.0 105.0 -53.0 368.0 -253.0 292.0 -16.0 -105.0 103.0 -274.0 48.0 -583.0 185.0 -678.0 -287.0 129.0 -739.0 110.0 -449.0 -352.0 -136.0 -373.0 -220.0 -145.0 -349.0 147.0 -219.0 128.0 -168.0 123.0 -32.0 -153.0 244.0 -333.0 326.0 -45.0 247.0 -32.0 185.0 311.0 -308.0 465.0 -125.0 -176.0 598.0 -536.0 249.0 270.0 -312.0 552.0 -119.0 76.0 365.0 111.0 128.0 443.0 19.0 158.0 312.0 118.0 -65.0 354.0 59.0 23.0 381.0 -126.0 361.0 -63.0 196.0 -69.0 275.0 -45.0 38.0 295.0 -467.0 377.0 -170.0 -398.0 308.0 -433.0 -120.0 69.0 -520.0 194.0 -490.0 112.0 -259.0 -389.0 289.0 -655.0 320.0 -142.0 -269.0 390.0 -450.0 374.0 48.0 -255.0 476.0 -180.0 220.0 91.0 144.0 -7.0 156.0 265.0 -74.0 145.0 112.0 61.0 191.0 -5.0 -189.0 362.0 -367.0 242.0 165.0 -244.0 422.0 -64.0 43.0 190.0 -5.0 341.0 -203.0 215.0 5.0 -23.0 189.0 -293.0 386.0 -419.0 123.0 126.0 -222.0 94.0 15.0 -162.0 204.0 -102.0 -99.0 181.0 -285.0 69.0 -49.0 -241.0 53.0 -54.0 -357.0 212.0 -426.0 -82.0 -200.0 -282.0 -135.0 -334.0 22.0 -262.0 95.0 -365.0 158.0 -50.0 -115.0 404.0 -364.0 450.0 -48.0 160.0 199.0 -69.0 391.0 -16.0 256.0 45.0 151.0 186.0 -8.0 48.0 300.0 -386.0 709.0 -526.0 195.0 389.0 -622.0 975.0 -596.0 469.0 124.0 18.0 302.0 92.0 52.0 114.0 -15.0 44.0 95.0 -137.0 283.0 -414.0 421.0 -498.0 319.0 -62.0 -374.0 505.0 -724.0 507.0 -403.0 36.0 181.0 -465.0 409.0 -272.0 -246.0 115.0 -424.0 -161.0 -108.0 -525.0 24.0 -549.0 1.0 -561.0 -80.0 -233.0 -351.0 206.0 -536.0 248.0 -274.0 -138.0 217.0 -323.0 84.0 148.0 -219.0 411.0 -161.0 106.0 168.0 65.0 196.0 -12.0 171.0 112.0 -60.0 269.0 -95.0 55.0 321.0 -254.0 518.0 -58.0 138.0 490.0 -183.0 390.0 301.0 -211.0 749.0 -385.0 352.0 276.0 -218.0 591.0 -447.0 494.0 -262.0 -81.0 431.0 -706.0 532.0 60.0 -332.0 664.0 -843.0 658.0 -379.0 -128.0 409.0 -744.0 669.0 -667.0 211.0 -317.0 -371.0 1.0 -409.0 -145.0 -310.0 -344.0 -84.0 -383.0 -58.0 -276.0 -281.0 268.0 -728.0 363.0 -450.0 -34.0 104.0 -322.0 86.0 -137.0 -153.0 48.0 -211.0 -5.0 57.0 -172.0 220.0 -189.0 201.0 -175.0 151.0 69.0 -191.0 478.0 -252.0 159.0 562.0 -481.0 837.0 -138.0 202.0 379.0 -176.0 647.0 -283.0 530.0 157.0 -391.0 720.0 -390.0 121.0 288.0 -562.0 560.0 -353.0 174.0 108.0 -213.0 78.0 -7.0 -109.0 86.0 -78.0 49.0 -358.0 245.0 -204.0 -141.0 61.0 -431.0 117.0 -403.0 90.0 -398.0 16.0 -291.0 -63.0 -191.0 -155.0 -140.0 26.0 -194.0 136.0 -170.0 66.0 -273.0 67.0 -110.0 -457.0 635.0 -1094.0 748.0 -672.0 34.0 11.0 -425.0 347.0 -528.0 363.0 -235.0 -20.0 346.0 -446.0 315.0 243.0 -535.0 1006.0 -571.0 610.0 116.0 -74.0 610.0 -314.0 579.0 -142.0 240.0 79.0 93.0 25.0 82.0 37.0 -69.0 236.0 -266.0 150.0 -162.0 15.0 -61.0 -55.0 150.0 -426.0 541.0 -574.0 220.0 146.0 -472.0 466.0 -345.0 -212.0 325.0 -522.0 102.0 136.0 -333.0 271.0 -166.0 35.0 -189.0 269.0 -214.0 34.0 157.0 -235.0 43.0 215.0 -387.0 375.0 -312.0 -117.0 260.0 -668.0 426.0 -394.0 -16.0 10.0 -150.0 -27.0 -45.0 -42.0 75.0 -217.0 235.0 -339.0 326.0 -20.0 -110.0 569.0 -540.0 644.0 -314.0 313.0 134.0 79.0 197.0 -135.0 331.0 -130.0 107.0 285.0 -387.0 404.0 -91.0 -145.0 389.0 -484.0 291.0 -166.0 -37.0 55.0 -1.0 -158.0 229.0 -198.0 51.0 -127.0 8.0 -237.0 -22.0 -13.0 -319.0 292.0 -329.0 106.0 160.0 -323.0 101.0 46.0 -405.0 558.0 -687.0 486.0 -198.0 -145.0 366.0 -540.0 482.0 -552.0 374.0 -248.0 -230.0 507.0 -763.0 616.0 -300.0 -150.0 535.0 -777.0 754.0 -513.0 28.0 266.0 -336.0 283.0 -389.0 504.0 -430.0 325.0 133.0 -318.0 519.0 -131.0 74.0 213.0 29.0 -71.0 356.0 -65.0 87.0 86.0 -31.0 -1.0 112.0 -76.0 96.0 -169.0 12.0 66.0 -160.0 275.0 -224.0 116.0 -66.0 22.0 -112.0 132.0 -179.0 -94.0 25.0 -262.0 -47.0 -63.0 -188.0 176.0 -206.0 -189.0 201.0 -577.0 417.0 -502.0 73.0 -11.0 -300.0 233.0 -446.0 339.0 -335.0 18.0 204.0 -528.0 527.0 -503.0 15.0 478.0 -842.0 911.0 -734.0 308.0 201.0 -447.0 665.0 -642.0 446.0 -55.0 -182.0 603.0 -490.0 376.0 194.0 -372.0 866.0 -513.0 443.0 3.0 -1.0 97.0 -78.0 215.0 -141.0 -12.0 55.0 -165.0 1.0 117.0 -293.0 305.0 -474.0 390.0 -335.0 163.0 94.0 -275.0 108.0 -28.0 -80.0 -47.0 63.0 -215.0 -59.0 -19.0 -192.0 -88.0 119.0 -743.0 473.0 -526.0 -120.0 39.0 -493.0 133.0 -320.0 129.0 -308.0 44.0 -301.0 -54.0 -30.0 -289.0 202.0 -349.0 144.0 -175.0 1.0 85.0 -95.0 164.0 -159.0 121.0 -44.0 90.0 46.0 94.0 -38.0 165.0 50.0 19.0 353.0 -268.0 442.0 -3.0 -57.0 446.0 -326.0 321.0 -55.0 -78.0 151.0 -76.0 26.0 -104.0 147.0 -187.0 65.0 108.0 -156.0 95.0 46.0 -37.0 -16.0 148.0 -291.0 284.0 -259.0 -122.0 225.0 -688.0 608.0 -567.0 -11.0 81.0 -420.0 51.0 -144.0 -165.0 -330.0 136.0 -350.0 74.0 -289.0 71.0 -381.0 60.0 -227.0 -127.0 -32.0 -374.0 332.0 -567.0 261.0 -254.0 -54.0 -68.0 -39.0 -220.0 55.0 -117.0 -83.0 158.0 -455.0 471.0 -460.0 395.0 -117.0 53.0 177.0 -121.0 475.0 -348.0 523.0 -148.0 302.0 -57.0 304.0 3.0 102.0 317.0 -411.0 617.0 -553.0 672.0 -416.0 399.0 6.0 -88.0 502.0 -544.0 567.0 -400.0 133.0 24.0 -103.0 -136.0 295.0 -533.0 418.0 -264.0 -210.0 260.0 -520.0 231.0 -401.0 140.0 -289.0 -33.0 -114.0 -1.0 -220.0 85.0 -287.0 51.0 -235.0 -139.0 90.0 -520.0 353.0 -628.0 272.0 -361.0 114.0 -179.0 -60.0 143.0 -517.0 418.0 -571.0 192.0 -341.0 241.0 -405.0 299.0 -96.0 -119.0 512.0 -557.0 829.0 -667.0 714.0 -385.0 361.0 156.0 -195.0 583.0 -353.0 530.0 -110.0 290.0 -61.0 371.0 -252.0 549.0 -298.0 247.0 326.0 -304.0 498.0 -185.0 163.0 122.0 60.0 90.0 17.0 -58.0 144.0 -145.0 239.0 -296.0 239.0 -347.0 130.0 -68.0 -324.0 303.0 -432.0 186.0 -145.0 -199.0 9.0 -159.0 -81.0 -43.0 -262.0 42.0 -263.0 4.0 -75.0 -114.0 -23.0 -107.0 -24.0 -198.0 -33.0 25.0 -540.0 379.0 -544.0 -18.0 350.0 -820.0 628.0 -691.0 365.0 -301.0 192.0 -123.0 -116.0 495.0 -625.0 856.0 -488.0 284.0 247.0 -327.0 443.0 -20.0 -85.0 546.0 -425.0 522.0 50.0 103.0 344.0 -278.0 630.0 -658.0 994.0 -576.0 261.0 426.0 -715.0 831.0 -331.0 123.0 127.0 64.0 -301.0 511.0 -350.0 -57.0 366.0 -547.0 464.0 -207.0 -97.0 92.0 -17.0 -193.0 203.0 -208.0 139.0 -246.0 92.0 -85.0 51.0 221.0 -602.0 601.0 -719.0 275.0 -196.0 -87.0 -272.0 250.0 -537.0 82.0 153.0 -751.0 804.0 -1002.0 463.0 -304.0 6.0 -134.0 181.0 -310.0 339.0 -204.0 141.0 15.0 -38.0 355.0 -581.0 1013.0 -1154.0 1253.0 -761.0 334.0 376.0 -492.0 699.0 -332.0 283.0 -46.0 143.0 -116.0 119.0 -216.0 413.0 -208.0 258.0 32.0 -148.0 97.0 -56.0 -45.0 102.0 -200.0 132.0 -104.0 64.0 106.0 -69.0 283.0 -413.0 290.0 -147.0 -18.0 151.0 -28.0 25.0 151.0 -200.0 338.0 -279.0 87.0 87.0 -406.0 456.0 -563.0 410.0 -522.0 140.0 6.0 -434.0 508.0 -847.0 409.0 -242.0 -330.0 491.0 -526.0 168.0 133.0 -321.0 390.0 -174.0 25.0 274.0 -393.0 389.0 -115.0 51.0 194.0 -140.0 291.0 -210.0 390.0 -188.0 92.0 181.0 -217.0 274.0 -142.0 203.0 -209.0 282.0 -157.0 28.0 244.0 -235.0 79.0 45.0 -114.0 -22.0 391.0 -558.0 511.0 -142.0 21.0 325.0 -208.0 299.0 -79.0 174.0 14.0 66.0 67.0 68.0 11.0 306.0 -310.0 590.0 -390.0 182.0 172.0 -481.0 563.0 -520.0 197.0 -102.0 -162.0 141.0 -173.0 26.0 93.0 -404.0 392.0 -627.0 349.0 -151.0 -78.0 276.0 -459.0 487.0 -388.0 303.0 -149.0 216.0 -138.0 192.0 -64.0 281.0 -190.0 367.0 -113.0 -6.0 325.0 -402.0 607.0 -725.0 761.0 -495.0 209.0 127.0 -245.0 200.0 -119.0 86.0 -130.0 174.0 -136.0 169.0 -74.0 198.0 -147.0 315.0 -269.0 272.0 -27.0 25.0 255.0 -82.0 321.0 -93.0 179.0 118.0 108.0 82.0 10.0 40.0 143.0 -119.0 314.0 -404.0 416.0 -185.0 -218.0 328.0 -556.0 375.0 -309.0 -42.0 0.0 -250.0 167.0 -244.0 -12.0 98.0 -212.0 172.0 -242.0 177.0 -95.0 -6.0 198.0 -265.0 261.0 -112.0 172.0 35.0 53.0 -43.0 99.0 279.0 -260.0 372.0 -32.0 -203.0 429.0 -329.0 277.0 -22.0 -27.0 322.0 -276.0 364.0 18.0 34.0 158.0 -48.0 185.0 -81.0 292.0 81.0 -180.0 608.0 -359.0 484.0 -157.0 -16.0 407.0 -421.0 819.0 -581.0 622.0 -77.0 -69.0 569.0 -729.0 872.0 -674.0 362.0 91.0 -475.0 657.0 -557.0 397.0 -287.0 -102.0 109.0 -310.0 19.0 13.0 -360.0 304.0 -429.0 194.0 -110.0 -359.0 522.0 -875.0 779.0 -632.0 234.0 33.0 -277.0 375.0 -383.0 296.0 -176.0 -36.0 97.0 -205.0 81.0 113.0 -302.0 561.0 -562.0 487.0 -143.0 -169.0 438.0 -402.0 484.0 -360.0 389.0 -108.0 -15.0 504.0 -414.0 435.0 0.0 -191.0 477.0 -362.0 413.0 110.0 -273.0 595.0 -422.0 477.0 23.0 -37.0 419.0 -300.0 402.0 -94.0 45.0 173.0 -92.0 71.0 60.0 0.0 9.0 97.0 -47.0 -96.0 -68.0 -175.0 31.0 -245.0 148.0 -261.0 21.0 39.0 -328.0 177.0 -346.0 -22.0 -58.0 -166.0 -124.0 132.0 -474.0 492.0 -412.0 -25.0 180.0 -642.0 516.0 -567.0 127.0 -31.0 -190.0 7.0 10.0 -196.0 124.0 -27.0 -109.0 66.0 -54.0 -35.0 32.0 133.0 -275.0 473.0 -382.0 319.0 68.0 -201.0 458.0 -419.0 441.0 -159.0 53.0 425.0 -303.0 527.0 -167.0 259.0 94.0 -63.0 366.0 -222.0 526.0 -134.0 181.0 194.0 -163.0 391.0 -108.0 9.0 286.0 -388.0 305.0 -73.0 35.0 125.0 -214.0 174.0 -417.0 270.0 -299.0 25.0 32.0 -233.0 312.0 -435.0 281.0 -261.0 -138.0 293.0 -529.0 365.0 -376.0 124.0 -19.0 -202.0 297.0 -553.0 443.0 -380.0 -3.0 144.0 -534.0 455.0 -366.0 81.0 136.0 -185.0 180.0 84.0 -177.0 166.0 -110.0 -18.0 64.0 -51.0 120.0 -136.0 304.0 -123.0 345.0 -121.0 150.0 -56.0 141.0 108.0 4.0 331.0 -60.0 234.0 186.0 -2.0 259.0 73.0 -27.0 200.0 -278.0 467.0 -356.0 333.0 -11.0 -183.0 262.0 -235.0 86.0 -18.0 14.0 -31.0 -16.0 -91.0 136.0 -161.0 121.0 -59.0 -103.0 113.0 -64.0 77.0 17.0 -11.0 68.0 -22.0 36.0 -48.0 -23.0 133.0 -60.0 61.0 48.0 -169.0 256.0 -165.0 75.0 70.0 -311.0 373.0 -202.0 183.0 81.0 -205.0 327.0 -268.0 331.0 -175.0 209.0 63.0 -102.0 342.0 -266.0 477.0 -166.0 203.0 56.0 52.0 133.0 191.0 54.0 168.0 2.0 109.0 98.0 87.0 236.0 -264.0 533.0 -477.0 391.0 -159.0 -10.0 260.0 -333.0 393.0 -550.0 298.0 -152.0 -160.0 257.0 -255.0 108.0 -19.0 2.0 7.0 92.0 -26.0 61.0 49.0 -13.0 -71.0 305.0 -183.0 268.0 -14.0 -262.0 444.0 -396.0 303.0 -39.0 -106.0 169.0 -27.0 -58.0 178.0 -129.0 202.0 -105.0 102.0 25.0 -108.0 361.0 -225.0 393.0 -157.0 217.0 56.0 65.0 111.0 35.0 -18.0 230.0 -97.0 4.0 282.0 -207.0 414.0 -114.0 66.0 64.0 87.0 71.0 116.0 -114.0 151.0 -58.0 -6.0 267.0 -460.0 462.0 -297.0 49.0 86.0 -359.0 300.0 -303.0 140.0 -144.0 -161.0 106.0 -183.0 -5.0 128.0 -300.0 205.0 -124.0 -139.0 336.0 -599.0 506.0 -440.0 78.0 203.0 -422.0 493.0 -443.0 301.0 -233.0 115.0 -88.0 69.0 -50.0 -46.0 61.0 -228.0 402.0 -368.0 399.0 -202.0 160.0 -12.0 99.0 -33.0 148.0 -109.0 17.0 127.0 -358.0 556.0 -345.0 297.0 -142.0 107.0 -95.0 86.0 173.0 -73.0 70.0 -26.0 -60.0 26.0 168.0 -68.0 268.0 -265.0 300.0 -203.0 146.0 38.0 -172.0 -31.0 -78.0 -54.0 -107.0 59.0 -229.0 53.0 -179.0 19.0 -252.0 92.0 -230.0 45.0 -9.0 -236.0 153.0 -315.0 150.0 -41.0 -111.0 12.0 -111.0 -175.0 161.0 -98.0 -10.0 14.0 -177.0 118.0 -143.0 123.0 -143.0 12.0 -70.0 -73.0 65.0 -209.0 194.0 -192.0 63.0 -48.0 -70.0 86.0 -79.0 -9.0 80.0 -205.0 174.0 -61.0 -160.0 382.0 -368.0 445.0 -231.0 92.0 161.0 -209.0 207.0 -52.0 14.0 11.0 -92.0 49.0 62.0 -262.0 412.0 -470.0 194.0 4.0 -348.0 227.0 -332.0 88.0 -287.0 23.0 -153.0 -48.0 184.0 -278.0 115.0 -143.0 -72.0 50.0 -58.0 -87.0 60.0 -267.0 172.0 -191.0 11.0 42.0 -317.0 236.0 -446.0 233.0 -209.0 -174.0 157.0 -219.0 9.0 -60.0 -100.0 -45.0 -132.0 37.0 -232.0 65.0 -58.0 -179.0 183.0 -158.0 18.0 -68.0 -97.0 -40.0 22.0 -105.0 152.0 -205.0 79.0 25.0 -190.0 112.0 -144.0 4.0 -67.0 -14.0 -43.0 -28.0 38.0 -89.0 -116.0 60.0 -183.0 48.0 -6.0 -242.0 141.0 -241.0 -42.0 -10.0 -110.0 -22.0 -49.0 -138.0 -83.0 -46.0 -156.0 80.0 -159.0 -51.0 -89.0 -30.0 15.0 -30.0 -27.0 -9.0 -75.0 -16.0 10.0 -164.0 96.0 -181.0 34.0 -51.0 -155.0 156.0 -209.0 86.0 -32.0 -207.0 85.0 -188.0 -19.0 -20.0 -137.0 8.0 -90.0 -41.0 -86.0 -51.0 9.0 -129.0 12.0 -116.0 -81.0 34.0 -120.0 -28.0 -90.0 -148.0 -41.0 -6.0 -63.0 -20.0 -12.0 -65.0 -51.0 34.0 -105.0 -22.0 5.0 -86.0 -40.0 -36.0 -45.0 -39.0 46.0 -205.0 2.0 -12.0 -198.0 95.0 -170.0 -56.0 21.0 -225.0 -14.0 -57.0 -62.0 0.0 -51.0 -117.0 -80.0 11.0 -33.0 -123.0 71.0 -76.0 -85.0 8.0 -127.0 75.0 -156.0 87.0 -166.0 -26.0 123.0 -164.0 113.0 -76.0 -13.0 -30.0 19.0 -14.0 5.0 -64.0 24.0 -143.0 39.0 -11.0 -73.0 56.0 -169.0 107.0 -211.0 13.0 -10.0 -188.0 85.0 -84.0 -122.0 92.0 -150.0 -12.0 -54.0 -35.0 -20.0 -74.0 37.0 -74.0 3.0 -105.0 10.0 -53.0 -32.0 -96.0 -6.0 -133.0 41.0 -195.0 -48.0 -54.0 -150.0 11.0 -146.0 -4.0 -178.0 64.0 -131.0 7.0 -50.0 -17.0 -90.0 -50.0 -34.0 -7.0 -62.0 -11.0 -66.0 -144.0 107.0 -179.0 26.0 -82.0 -89.0 -66.0 -78.0 -9.0 -22.0 -57.0 0.0 -82.0 -16.0 -48.0 -34.0 -15.0 -27.0 -27.0 -101.0 -86.0 -25.0 -30.0 -107.0 3.0 -112.0 -41.0 -59.0 -32.0 -104.0 41.0 -104.0 -16.0 -51.0 -88.0 122.0 -126.0 42.0 -99.0 -45.0 42.0 -48.0 -28.0 -24.0 -115.0 1.0 -52.0 -42.0 25.0 -79.0 5.0 -55.0 26.0 -37.0 27.0 -23.0 28.0 48.0 -21.0 53.0 25.0 59.0 13.0 35.0 11.0 50.0 37.0 22.0 28.0 22.0 13.0 24.0 -31.0 27.0 2.0 -29.0 -21.0 -107.0 15.0 -76.0 -12.0 -27.0 -103.0 -57.0 -97.0 -131.0 -96.0 -140.0 -183.0 -196.0 -222.0 -178.0 -171.0 -124.0 -226.0 -127.0 -262.0 -185.0 -106.0 -224.0 -42.0 -206.0 -177.0 -96.0 -117.0 -71.0 -24.0 -107.0 -65.0 -60.0 -72.0 27.0 -38.0 -14.0 -37.0 -50.0 -63.0 40.0 24.0 17.0 88.0 21.0 55.0 82.0 93.0 120.0 177.0 83.0 122.0 143.0 166.0 273.0 158.0 264.0 187.0 191.0 255.0 222.0 271.0 232.0 248.0 185.0 244.0 231.0 189.0 220.0 180.0 96.0 144.0 93.0 61.0 103.0 51.0 19.0 -36.0 -58.0 -74.0 -91.0 -179.0 -193.0 -281.0 -301.0 -294.0 -329.0 -349.0 -392.0 -404.0 -413.0 -388.0 -405.0 -414.0 -485.0 -428.0 -436.0 -405.0 -385.0 -424.0 -355.0 -323.0 -319.0 -293.0 -200.0 -232.0 -161.0 -151.0 -119.0 -37.0 27.0 59.0 99.0 145.0 167.0 252.0 263.0 309.0 315.0 298.0 359.0 335.0 372.0 425.0 340.0 400.0 339.0 338.0 326.0 300.0 278.0 187.0 192.0 80.0 99.0 62.0 19.0 -12.0 -112.0 -98.0 -148.0 -159.0 -124.0 -168.0 -222.0 -173.0 -206.0 -169.0 -54.0 -167.0 -78.0 -28.0 -64.0 33.0 41.0 46.0 97.0 105.0 114.0 124.0 148.0 208.0 170.0 184.0 173.0 168.0 145.0 180.0 162.0 93.0 126.0 86.0 126.0 131.0 107.0 121.0 43.0 33.0 32.0 -16.0 43.0 30.0 52.0 73.0 12.0 15.0 45.0 12.0 -38.0 -73.0 -109.0 -132.0 -174.0 -183.0 -225.0 -274.0 -339.0 -367.0 -416.0 -437.0 -465.0 -498.0 -546.0 -596.0 -598.0 -610.0 -549.0 -562.0 -532.0 -536.0 -486.0 -423.0 -400.0 -294.0 -264.0 -180.0 -93.0 -85.0 50.0 180.0 235.0 299.0 393.0 412.0 488.0 600.0 563.0 579.0 625.0 597.0 600.0 652.0 597.0 590.0 534.0 464.0 412.0 402.0 319.0 268.0 200.0 84.0 62.0 -34.0 -56.0 -125.0 -185.0 -208.0 -271.0 -286.0 -266.0 -322.0 -273.0 -327.0 -318.0 -267.0 -282.0 -178.0 -203.0 -161.0 -155.0 -92.0 -84.0 -49.0 8.0 -28.0 9.0 17.0 52.0 95.0 78.0 56.0 88.0 80.0 138.0 96.0 121.0 106.0 104.0 137.0 91.0 118.0 114.0 158.0 89.0 120.0 103.0 123.0 171.0 145.0 148.0 107.0 99.0 80.0 128.0 87.0 50.0 -1.0 -66.0 -70.0 -102.0 -149.0 -177.0 -236.0 -251.0 -287.0 -341.0 -321.0 -356.0 -356.0 -408.0 -419.0 -397.0 -404.0 -367.0 -355.0 -320.0 -286.0 -263.0 -164.0 -109.0 -32.0 55.0 167.0 272.0 277.0 421.0 457.0 481.0 620.0 628.0 575.0 656.0 663.0 565.0 628.0 595.0 477.0 469.0 382.0 309.0 298.0 207.0 176.0 68.0 -10.0 6.0 -50.0 -120.0 -137.0 -154.0 -195.0 -211.0 -179.0 -215.0 -170.0 -131.0 -185.0 -82.0 -77.0 -22.0 9.0 11.0 31.0 43.0 62.0 60.0 75.0 80.0 19.0 37.0 57.0 4.0 44.0 -29.0 -1.0 -28.0 -36.0 -30.0 -50.0 2.0 6.0 13.0 -10.0 85.0 106.0 135.0 185.0 166.0 260.0 253.0 296.0 338.0 358.0 425.0 382.0 388.0 397.0 398.0 385.0 317.0 231.0 239.0 172.0 99.0 49.0 -11.0 -72.0 -122.0 -164.0 -200.0 -232.0 -286.0 -310.0 -388.0 -336.0 -345.0 -354.0 -328.0 -320.0 -333.0 -281.0 -256.0 -199.0 -113.0 -130.0 -75.0 38.0 222.0 223.0 295.0 304.0 333.0 465.0 454.0 442.0 484.0 518.0 440.0 477.0 437.0 426.0 448.0 329.0 280.0 289.0 252.0 233.0 176.0 111.0 119.0 101.0 79.0 43.0 54.0 80.0 34.0 5.0 33.0 59.0 77.0 85.0 83.0 64.0 105.0 120.0 83.0 149.0 136.0 106.0 81.0 59.0 62.0 55.0 75.0 -14.0 19.0 -21.0 -54.0 62.0 9.0 15.0 43.0 10.0 60.0 140.0 101.0 167.0 212.0 196.0 262.0 286.0 337.0 395.0 388.0 394.0 436.0 447.0 489.0 507.0 515.0 496.0 466.0 461.0 440.0 393.0 364.0 325.0 219.0 161.0 103.0 33.0 -26.0 -47.0 -135.0 -192.0 -230.0 -276.0 -272.0 -326.0 -360.0 -424.0 -426.0 -411.0 -416.0 -370.0 -401.0 -391.0 -355.0 -350.0 -279.0 -247.0 -214.0 -70.0 44.0 36.0 62.0 166.0 167.0 285.0 327.0 190.0 252.0 323.0 289.0 315.0 284.0 244.0 301.0 199.0 171.0 231.0 179.0 182.0 176.0 77.0 124.0 189.0 134.0 149.0 128.0 128.0 158.0 154.0 169.0 223.0 225.0 223.0 241.0 205.0 263.0 282.0 231.0 244.0 204.0 186.0 174.0 121.0 107.0 53.0 -8.0 -45.0 -46.0 7.0 -47.0 -105.0 -134.0 -104.0 -40.0 -66.0 -86.0 -122.0 -43.0 -13.0 -12.0 54.0 74.0 124.0 124.0 143.0 210.0 295.0 357.0 322.0 337.0 378.0 421.0 467.0 422.0 414.0 391.0 375.0 320.0 265.0 264.0 173.0 100.0 17.0 -57.0 -115.0 -143.0 -191.0 -259.0 -287.0 -368.0 -428.0 -436.0 -460.0 -494.0 -542.0 -565.0 -520.0 -517.0 -514.0 -511.0 -491.0 -431.0 -410.0 -374.0 -347.0 -162.0 -12.0 -49.0 -15.0 61.0 74.0 177.0 235.0 134.0 167.0 247.0 177.0 209.0 260.0 186.0 241.0 160.0 87.0 159.0 152.0 153.0 148.0 123.0 90.0 176.0 167.0 159.0 197.0 143.0 191.0 213.0 209.0 276.0 308.0 258.0 294.0 290.0 222.0 248.0 275.0 197.0 219.0 179.0 101.0 101.0 31.0 -4.0 -47.0 -92.0 -118.0 78.0 -71.0 -198.0 -14.0 -152.0 -80.0 -29.0 -182.0 -166.0 -58.0 -87.0 -136.0 2.0 -21.0 55.0 39.0 -29.0 183.0 148.0 199.0 215.0 182.0 268.0 309.0 346.0 254.0 307.0 253.0 211.0 200.0 120.0 146.0 56.0 -16.0 -91.0 -140.0 -159.0 -193.0 -240.0 -298.0 -315.0 -370.0 -409.0 -456.0 -490.0 -495.0 -554.0 -557.0 -541.0 -527.0 -530.0 -542.0 -493.0 -462.0 -430.0 -445.0 -404.0 -224.0 -53.0 -31.0 -61.0 -3.0 55.0 133.0 182.0 108.0 109.0 184.0 142.0 119.0 171.0 206.0 190.0 114.0 40.0 74.0 120.0 127.0 138.0 88.0 105.0 147.0 110.0 123.0 156.0 160.0 163.0 135.0 138.0 225.0 222.0 209.0 228.0 202.0 174.0 155.0 177.0 171.0 175.0 94.0 66.0 5.0 1.0 -24.0 -11.0 113.0 -96.0 -103.0 -118.0 -195.0 -54.0 -111.0 -261.0 -249.0 -176.0 -230.0 -212.0 -129.0 -214.0 -69.0 -123.0 -149.0 24.0 -33.0 138.0 110.0 97.0 144.0 196.0 197.0 148.0 227.0 134.0 151.0 96.0 15.0 49.0 -13.0 -57.0 -90.0 -124.0 -185.0 -221.0 -222.0 -277.0 -279.0 -345.0 -431.0 -450.0 -506.0 -530.0 -507.0 -467.0 -501.0 -515.0 -506.0 -479.0 -391.0 -399.0 -362.0 -316.0 -193.0 -130.0 -127.0 -36.0 0.0 19.0 -13.0 0.0 -20.0 1.0 20.0 -38.0 -1.0 7.0 -20.0 -23.0 -61.0 -38.0 -19.0 -30.0 -28.0 2.0 24.0 -13.0 30.0 22.0 69.0 75.0 46.0 104.0 94.0 161.0 170.0 185.0 201.0 210.0 215.0 188.0 191.0 193.0 204.0 165.0 137.0 130.0 60.0 141.0 246.0 86.0 72.0 36.0 -27.0 18.0 -6.0 -110.0 -113.0 -98.0 -191.0 -165.0 -163.0 -205.0 -112.0 -157.0 -226.0 -147.0 -199.0 -133.0 -140.0 -143.0 -167.0 -173.0 -135.0 -216.0 -171.0 -232.0 -213.0 -217.0 -291.0 -264.0 -290.0 -279.0 -284.0 -288.0 -284.0 -323.0 -285.0 -283.0 -297.0 -295.0 -312.0 -324.0 -348.0 -331.0 -333.0 -309.0 -318.0 -329.0 -283.0 -275.0 -231.0 -163.0 -123.0 -13.0 50.0 62.0 74.0 112.0 128.0 89.0 131.0 51.0 66.0 63.0 -10.0 0.0 -8.0 -5.0 -53.0 -63.0 -102.0 -87.0 -77.0 -74.0 -57.0 -92.0 -107.0 -100.0 -116.0 -106.0 -85.0 -95.0 -70.0 -66.0 -31.0 18.0 54.0 76.0 74.0 104.0 140.0 145.0 194.0 183.0 214.0 210.0 332.0 392.0 308.0 329.0 300.0 248.0 259.0 219.0 102.0 139.0 99.0 53.0 16.0 34.0 -39.0 -33.0 -99.0 -170.0 -95.0 -179.0 -144.0 -189.0 -228.0 -224.0 -254.0 -292.0 -356.0 -365.0 -405.0 -443.0 -418.0 -479.0 -472.0 -480.0 -478.0 -426.0 -454.0 -397.0 -409.0 -377.0 -353.0 -377.0 -333.0 -352.0 -276.0 -255.0 -240.0 -181.0 -197.0 -139.0 -106.0 -56.0 -5.0 39.0 144.0 182.0 230.0 281.0 334.0 352.0 341.0 368.0 332.0 314.0 341.0 294.0 272.0 280.0 182.0 162.0 122.0 58.0 41.0 24.0 -8.0 -37.0 -45.0 -139.0 -135.0 -187.0 -260.0 -267.0 -340.0 -348.0 -326.0 -344.0 -334.0 -338.0 -328.0 -318.0 -315.0 -277.0 -253.0 -188.0 -196.0 -142.0 12.0 120.0 159.0 164.0 194.0 199.0 237.0 266.0 247.0 285.0 307.0 233.0 194.0 199.0 182.0 152.0 138.0 107.0 119.0 87.0 62.0 55.0 -2.0 -48.0 -131.0 -198.0 -270.0 -331.0 -394.0 -446.0 -473.0 -512.0 -580.0 -610.0 -630.0 -585.0 -545.0 -563.0 -529.0 -476.0 -438.0 -448.0 -443.0 -418.0 -346.0 -298.0 -267.0 -155.0 -42.0 -7.0 46.0 109.0 153.0 252.0 319.0 350.0 415.0 442.0 435.0 448.0 444.0 435.0 431.0 374.0 387.0 388.0 331.0 331.0 322.0 290.0 246.0 197.0 152.0 154.0 116.0 106.0 108.0 50.0 22.0 -22.0 -101.0 -90.0 -115.0 -186.0 -201.0 -232.0 -280.0 -286.0 -343.0 -404.0 -393.0 -424.0 -490.0 -420.0 -331.0 -309.0 -284.0 -318.0 -308.0 -330.0 -323.0 -390.0 -368.0 -297.0 -263.0 -220.0 -177.0 -100.0 -92.0 -58.0 -92.0 -45.0 11.0 53.0 108.0 113.0 129.0 111.0 94.0 29.0 -28.0 -63.0 -114.0 -100.0 -133.0 -177.0 -216.0 -270.0 -306.0 -338.0 -374.0 -384.0 -357.0 -366.0 -378.0 -381.0 -368.0 -334.0 -288.0 -256.0 -195.0 -117.0 -40.0 30.0 85.0 148.0 237.0 299.0 344.0 413.0 493.0 533.0 561.0 540.0 537.0 559.0 537.0 536.0 526.0 514.0 467.0 461.0 396.0 369.0 325.0 273.0 222.0 135.0 119.0 85.0 58.0 25.0 23.0 -26.0 -61.0 -44.0 -87.0 -86.0 -50.0 -102.0 -64.0 -104.0 -107.0 -117.0 -125.0 -84.0 -76.0 -49.0 -82.0 -93.0 -156.0 -177.0 -262.0 -273.0 -341.0 -343.0 -352.0 -368.0 -345.0 -405.0 -394.0 -436.0 -416.0 -456.0 -437.0 -406.0 -398.0 -356.0 -335.0 -314.0 -276.0 -296.0 -308.0 -319.0 -317.0 -306.0 -303.0 -279.0 -262.0 -222.0 -243.0 -198.0 -202.0 -195.0 -142.0 -122.0 -134.0 -132.0 -104.0 -104.0 -89.0 -63.0 -27.0 46.0 99.0 134.0 233.0 288.0 391.0 471.0 547.0 632.0 692.0 738.0 722.0 744.0 724.0 740.0 728.0 739.0 762.0 740.0 731.0 708.0 688.0 620.0 579.0 483.0 416.0 405.0 355.0 305.0 280.0 228.0 173.0 107.0 51.0 9.0 -38.0 -83.0 -116.0 -115.0 -140.0 -152.0 -157.0 -157.0 -146.0 -159.0 -168.0 -157.0 -192.0 -182.0 -223.0 -247.0 -263.0 -280.0 -281.0 -300.0 -278.0 -311.0 -316.0 -342.0 -355.0 -374.0 -379.0 -385.0 -375.0 -370.0 -383.0 -378.0 -392.0 -430.0 -464.0 -480.0 -494.0 -479.0 -461.0 -458.0 -460.0 -455.0 -458.0 -445.0 -429.0 -403.0 -345.0 -281.0 -225.0 -199.0 -160.0 -124.0 -85.0 -48.0 -47.0 65.0 109.0 195.0 267.0 336.0 434.0 497.0 602.0 601.0 693.0 721.0 735.0 746.0 740.0 769.0 759.0 788.0 788.0 804.0 847.0 817.0 805.0 779.0 740.0 717.0 646.0 633.0 609.0 601.0 561.0 513.0 492.0 416.0 391.0 319.0 267.0 240.0 197.0 185.0 134.0 141.0 126.0 91.0 67.0 45.0 21.0 -40.0 -91.0 -156.0 -207.0 -240.0 -319.0 -354.0 -393.0 -433.0 -455.0 -490.0 -475.0 -501.0 -504.0 -534.0 -543.0 -543.0 -560.0 -554.0 -563.0 -532.0 -534.0 -557.0 -533.0 -524.0 -534.0 -531.0 -517.0 -495.0 -500.0 -504.0 -515.0 -504.0 -460.0 -442.0 -417.0 -389.0 -353.0 -369.0 -358.0 -328.0 -317.0 -251.0 -204.0 -111.0 -17.0 105.0 198.0 300.0 389.0 496.0 569.0 618.0 692.0 738.0 804.0 817.0 878.0 879.0 910.0 901.0 878.0 892.0 874.0 884.0 848.0 835.0 815.0 746.0 706.0 640.0 613.0 559.0 515.0 493.0 430.0 415.0 351.0 326.0 295.0 272.0 257.0 209.0 183.0 166.0 156.0 155.0 128.0 124.0 106.0 84.0 52.0 28.0 1.0 -48.0 -117.0 -214.0 -276.0 -330.0 -378.0 -426.0 -439.0 -455.0 -484.0 -531.0 -569.0 -608.0 -650.0 -722.0 -744.0 -770.0 -796.0 -812.0 -815.0 -802.0 -782.0 -762.0 -760.0 -754.0 -759.0 -727.0 -708.0 -656.0 -599.0 -524.0 -463.0 -388.0 -352.0 -310.0 -271.0 -223.0 -196.0 -159.0 -106.0 -44.0 58.0 164.0 302.0 388.0 501.0 576.0 642.0 642.0 682.0 694.0 698.0 723.0 734.0 780.0 822.0 858.0 871.0 904.0 894.0 875.0 835.0 786.0 755.0 721.0 680.0 660.0 646.0 631.0 588.0 549.0 504.0 469.0 415.0 372.0 351.0 305.0 291.0 242.0 212.0 188.0 172.0 153.0 114.0 116.0 47.0 14.0 -44.0 -99.0 -137.0 -200.0 -230.0 -294.0 -327.0 -389.0 -415.0 -447.0 -491.0 -503.0 -554.0 -565.0 -603.0 -617.0 -615.0 -640.0 -645.0 -686.0 -698.0 -714.0 -708.0 -703.0 -690.0 -695.0 -715.0 -720.0 -733.0 -696.0 -666.0 -631.0 -598.0 -556.0 -528.0 -511.0 -494.0 -465.0 -419.0 -374.0 -310.0 -211.0 -108.0 -3.0 96.0 216.0 329.0 430.0 522.0 572.0 652.0 671.0 722.0 754.0 784.0 821.0 856.0 895.0 908.0 971.0 972.0 978.0 952.0 915.0 862.0 799.0 762.0 718.0 677.0 635.0 596.0 584.0 545.0 524.0 505.0 461.0 453.0 403.0 387.0 340.0 322.0 281.0 255.0 233.0 199.0 186.0 153.0 135.0 79.0 32.0 -36.0 -108.0 -187.0 -267.0 -344.0 -414.0 -465.0 -512.0 -544.0 -581.0 -630.0 -669.0 -727.0 -762.0 -823.0 -857.0 -890.0 -914.0 -926.0 -935.0 -908.0 -888.0 -852.0 -846.0 -794.0 -750.0 -689.0 -638.0 -581.0 -512.0 -465.0 -425.0 -376.0 -332.0 -281.0 -236.0 -174.0 -93.0 -29.0 64.0 150.0 260.0 348.0 456.0 530.0 583.0 624.0 644.0 667.0 660.0 681.0 718.0 754.0 805.0 855.0 916.0 954.0 967.0 972.0 946.0 935.0 875.0 844.0 818.0 800.0 779.0 762.0 777.0 734.0 728.0 686.0 656.0 625.0 590.0 539.0 481.0 454.0 397.0 393.0 350.0 337.0 321.0 294.0 266.0 210.0 171.0 102.0 59.0 -35.0 -100.0 -161.0 -247.0 -306.0 -384.0 -436.0 -486.0 -537.0 -597.0 -652.0 -694.0 -770.0 -829.0 -906.0 -965.0 -997.0 -1050.0 -1059.0 -1078.0 -1066.0 -1069.0 -1076.0 -1053.0 -1038.0 -993.0 -964.0 -896.0 -841.0 -764.0 -699.0 -645.0 -592.0 -556.0 -486.0 -430.0 -346.0 -265.0 -138.0 -26.0 103.0 240.0 381.0 511.0 602.0 715.0 778.0 826.0 856.0 888.0 908.0 941.0 968.0 1004.0 1052.0 1081.0 1107.0 1119.0 1103.0 1071.0 1031.0 982.0 935.0 893.0 868.0 844.0 810.0 785.0 764.0 712.0 689.0 635.0 599.0 546.0 502.0 450.0 405.0 371.0 326.0 313.0 270.0 256.0 219.0 194.0 150.0 122.0 59.0 -16.0 -78.0 -163.0 -241.0 -318.0 -386.0 -456.0 -517.0 -578.0 -624.0 -677.0 -724.0 -776.0 -843.0 -908.0 -970.0 -1033.0 -1080.0 -1122.0 -1148.0 -1177.0 -1184.0 -1186.0 -1177.0 -1141.0 -1086.0 -1022.0 -968.0 -924.0 -869.0 -827.0 -801.0 -741.0 -690.0 -627.0 -563.0 -469.0 -374.0 -264.0 -160.0 -41.0 104.0 196.0 310.0 403.0 499.0 561.0 606.0 660.0 697.0 747.0 778.0 836.0 881.0 929.0 973.0 1001.0 1016.0 1012.0 991.0 965.0 934.0 898.0 891.0 871.0 870.0 877.0 872.0 883.0 877.0 861.0 831.0 802.0 762.0 691.0 655.0 606.0 543.0 500.0 454.0 423.0 390.0 361.0 320.0 271.0 208.0 129.0 49.0 -62.0 -158.0 -247.0 -334.0 -411.0 -481.0 -546.0 -634.0 -708.0 -787.0 -870.0 -958.0 -1040.0 -1110.0 -1183.0 -1235.0 -1275.0 -1299.0 -1320.0 -1329.0 -1337.0 -1349.0 -1322.0 -1284.0 -1233.0 -1186.0 -1131.0 -1075.0 -1024.0 -987.0 -936.0 -857.0 -790.0 -705.0 -609.0 -485.0 -378.0 -246.0 -136.0 7.0 144.0 238.0 361.0 445.0 541.0 586.0 641.0 674.0 695.0 748.0 789.0 854.0 897.0 961.0 1004.0 1028.0 1034.0 1031.0 1027.0 997.0 983.0 961.0 939.0 918.0 895.0 876.0 858.0 831.0 804.0 794.0 762.0 730.0 698.0 665.0 634.0 591.0 540.0 517.0 490.0 442.0 424.0 389.0 356.0 314.0 248.0 174.0 121.0 37.0 -41.0 -100.0 -192.0 -238.0 -312.0 -388.0 -473.0 -554.0 -643.0 -728.0 -807.0 -894.0 -963.0 -1034.0 -1105.0 -1160.0 -1211.0 -1261.0 -1284.0 -1310.0 -1334.0 -1329.0 -1314.0 -1294.0 -1266.0 -1241.0 -1195.0 -1165.0 -1136.0 -1080.0 -1010.0 -930.0 -847.0 -731.0 -611.0 -480.0 -340.0 -197.0 -44.0 84.0 214.0 323.0 403.0 480.0 543.0 606.0 636.0 688.0 735.0 791.0 839.0 870.0 919.0 944.0 967.0 956.0 960.0 937.0 922.0 900.0 899.0 896.0 884.0 876.0 859.0 850.0 821.0 818.0 786.0 761.0 725.0 708.0 670.0 633.0 605.0 568.0 544.0 498.0 458.0 411.0 377.0 308.0 251.0 175.0 94.0 22.0 -84.0 -168.0 -249.0 -320.0 -389.0 -460.0 -518.0 -585.0 -649.0 -715.0 -782.0 -834.0 -912.0 -966.0 -1022.0 -1072.0 -1115.0 -1161.0 -1195.0 -1229.0 -1251.0 -1272.0 -1264.0 -1246.0 -1222.0 -1205.0 -1183.0 -1177.0 -1165.0 -1152.0 -1112.0 -1055.0 -1001.0 -906.0 -829.0 -717.0 -606.0 -452.0 -319.0 -188.0 -35.0 81.0 197.0 287.0 369.0 447.0 511.0 558.0 632.0 696.0 752.0 813.0 874.0 910.0 947.0 959.0 951.0 952.0 930.0 903.0 892.0 884.0 868.0 857.0 840.0 822.0 802.0 779.0 736.0 718.0 679.0 639.0 606.0 562.0 524.0 500.0 462.0 419.0 390.0 342.0 303.0 242.0 200.0 137.0 90.0 14.0 -55.0 -111.0 -199.0 -263.0 -335.0 -404.0 -473.0 -533.0 -600.0 -655.0 -716.0 -780.0 -833.0 -897.0 -951.0 -990.0 -1033.0 -1075.0 -1107.0 -1130.0 -1156.0 -1170.0 -1180.0 -1182.0 -1174.0 -1173.0 -1164.0 -1152.0 -1131.0 -1119.0 -1105.0 -1080.0 -1049.0 -999.0 -937.0 -866.0 -779.0 -666.0 -546.0 -427.0 -301.0 -164.0 -38.0 66.0 172.0 270.0 342.0 417.0 481.0 542.0 615.0 676.0 754.0 810.0 869.0 905.0 929.0 944.0 935.0 933.0 912.0 912.0 890.0 883.0 871.0 868.0 855.0 838.0 826.0 799.0 766.0 727.0 714.0 669.0 642.0 602.0 562.0 520.0 485.0 428.0 382.0 335.0 261.0 212.0 133.0 55.0 -28.0 -103.0 -199.0 -280.0 -365.0 -444.0 -503.0 -580.0 -643.0 -707.0 -770.0 -829.0 -870.0 -923.0 -958.0 -985.0 -1024.0 -1048.0 -1058.0 -1074.0 -1079.0 -1073.0 -1072.0 -1058.0 -1051.0 -1044.0 -1018.0 -1003.0 -978.0 -955.0 -934.0 -914.0 -900.0 -881.0 -872.0 -835.0 -793.0 -734.0 -664.0 -582.0 -490.0 -365.0 -248.0 -132.0 -9.0 78.0 165.0 252.0 325.0 385.0 469.0 533.0 600.0 691.0 745.0 812.0 872.0 899.0 932.0 947.0 933.0 936.0 941.0 894.0 892.0 886.0 856.0 853.0 840.0 823.0 815.0 796.0 744.0 737.0 688.0 635.0 599.0 553.0 500.0 472.0 437.0 391.0 360.0 298.0 251.0 187.0 126.0 45.0 -13.0 -88.0 -166.0 -235.0 -314.0 -384.0 -463.0 -516.0 -591.0 -646.0 -720.0 -787.0 -839.0 -893.0 -947.0 -986.0 -1011.0 -1039.0 -1048.0 -1054.0 -1056.0 -1052.0 -1035.0 -1032.0 -1025.0 -1013.0 -1010.0 -988.0 -972.0 -945.0 -908.0 -872.0 -839.0 -808.0 -764.0 -731.0 -689.0 -638.0 -573.0 -509.0 -437.0 -358.0 -254.0 -139.0 -41.0 90.0 194.0 282.0 370.0 449.0 504.0 578.0 636.0 668.0 732.0 767.0 820.0 871.0 904.0 924.0 965.0 963.0 938.0 940.0 905.0 876.0 872.0 839.0 811.0 811.0 767.0 750.0 727.0 672.0 640.0 609.0 557.0 511.0 478.0 425.0 389.0 349.0 290.0 253.0 201.0 144.0 98.0 34.0 -27.0 -88.0 -158.0 -223.0 -279.0 -354.0 -420.0 -469.0 -540.0 -603.0 -656.0 -708.0 -759.0 -804.0 -844.0 -868.0 -890.0 -913.0 -924.0 -923.0 -923.0 -920.0 -909.0 -901.0 -894.0 -884.0 -872.0 -864.0 -869.0 -871.0 -852.0 -830.0 -792.0 -747.0 -710.0 -666.0 -633.0 -601.0 -561.0 -535.0 -472.0 -419.0 -342.0 -257.0 -173.0 -74.0 25.0 148.0 252.0 377.0 472.0 572.0 659.0 723.0 797.0 859.0 911.0 965.0 1027.0 1059.0 1105.0 1133.0 1130.0 1124.0 1098.0 1061.0 1037.0 998.0 944.0 918.0 880.0 832.0 810.0 751.0 705.0 656.0 588.0 525.0 475.0 416.0 357.0 324.0 260.0 221.0 193.0 142.0 103.0 69.0 12.0 -29.0 -79.0 -145.0 -205.0 -259.0 -330.0 -390.0 -447.0 -511.0 -550.0 -591.0 -632.0 -664.0 -691.0 -729.0 -744.0 -766.0 -788.0 -790.0 -788.0 -786.0 -778.0 -767.0 -757.0 -741.0 -732.0 -718.0 -700.0 -669.0 -646.0 -627.0 -605.0 -593.0 -565.0 -537.0 -500.0 -452.0 -415.0 -381.0 -348.0 -326.0 -296.0 -255.0 -222.0 -180.0 -131.0 -63.0 13.0 106.0 199.0 308.0 429.0 519.0 624.0 713.0 800.0 872.0 931.0 984.0 1021.0 1058.0 1079.0 1119.0 1137.0 1151.0 1161.0 1154.0 1130.0 1093.0 1047.0 985.0 935.0 866.0 814.0 756.0 694.0 628.0 574.0 501.0 432.0 365.0 298.0 249.0 194.0 152.0 120.0 88.0 53.0 44.0 5.0 -11.0 -43.0 -78.0 -113.0 -159.0 -210.0 -262.0 -297.0 -361.0 -386.0 -435.0 -467.0 -484.0 -517.0 -546.0 -557.0 -579.0 -606.0 -607.0 -629.0 -641.0 -639.0 -643.0 -641.0 -611.0 -594.0 -571.0 -534.0 -504.0 -465.0 -432.0 -415.0 -385.0 -363.0 -367.0 -359.0 -336.0 -318.0 -292.0 -259.0 -229.0 -203.0 -170.0 -143.0 -118.0 -92.0 -62.0 -23.0 16.0 72.0 130.0 219.0 305.0 414.0 533.0 642.0 748.0 836.0 904.0 961.0 1013.0 1024.0 1053.0 1071.0 1072.0 1104.0 1114.0 1107.0 1106.0 1081.0 1020.0 977.0 901.0 799.0 733.0 631.0 535.0 490.0 413.0 346.0 313.0 252.0 190.0 151.0 91.0 44.0 13.0 -27.0 -41.0 -40.0 -64.0 -62.0 -49.0 -68.0 -63.0 -68.0 -103.0 -126.0 -162.0 -219.0 -257.0 -300.0 -360.0 -387.0 -419.0 -457.0 -466.0 -493.0 -508.0 -513.0 -532.0 -543.0 -544.0 -558.0 -556.0 -537.0 -524.0 -494.0 -450.0 -404.0 -369.0 -320.0 -284.0 -260.0 -237.0 -234.0 -225.0 -225.0 -234.0 -242.0 -238.0 -232.0 -224.0 -207.0 -196.0 -174.0 -155.0 -145.0 -134.0 -121.0 -98.0 -70.0 -30.0 15.0 78.0 151.0 228.0 323.0 428.0 528.0 618.0 708.0 777.0 842.0 892.0 930.0 953.0 983.0 985.0 984.0 979.0 965.0 947.0 896.0 854.0 782.0 717.0 627.0 542.0 461.0 379.0 306.0 242.0 202.0 153.0 115.0 73.0 44.0 15.0 -11.0 -42.0 -62.0 -80.0 -90.0 -78.0 -74.0 -68.0 -52.0 -42.0 -52.0 -60.0 -75.0 -125.0 -151.0 -209.0 -257.0 -294.0 -339.0 -371.0 -407.0 -424.0 -451.0 -449.0 -471.0 -471.0 -474.0 -492.0 -474.0 -468.0 -448.0 -420.0 -381.0 -341.0 -293.0 -244.0 -204.0 -161.0 -131.0 -112.0 -96.0 -87.0 -80.0 -81.0 -89.0 -95.0 -96.0 -106.0 -101.0 -99.0 -96.0 -85.0 -77.0 -69.0 -54.0 -43.0 -36.0 -13.0 13.0 41.0 81.0 121.0 167.0 228.0 299.0 380.0 461.0 537.0 607.0 676.0 721.0 757.0 790.0 798.0 797.0 786.0 767.0 754.0 733.0 704.0 680.0 649.0 601.0 545.0 498.0 434.0 372.0 321.0 265.0 225.0 183.0 144.0 117.0 85.0 51.0 30.0 0.0 -32.0 -57.0 -83.0 -108.0 -120.0 -136.0 -140.0 -124.0 -118.0 -119.0 -124.0 -127.0 -159.0 -175.0 -221.0 -258.0 -288.0 -338.0 -357.0 -387.0 -383.0 -394.0 -369.0 -370.0 -348.0 -322.0 -333.0 -304.0 -305.0 -293.0 -289.0 -276.0 -263.0 -239.0 -215.0 -193.0 -158.0 -136.0 -117.0 -96.0 -86.0 -76.0 -73.0 -78.0 -81.0 -87.0 -89.0 -83.0 -74.0 -62.0 -36.0 -11.0 11.0 22.0 41.0 37.0 37.0 34.0 31.0 53.0 56.0 91.0 126.0 166.0 214.0 266.0 336.0 392.0 461.0 509.0 569.0 615.0 639.0 668.0 668.0 684.0 678.0 680.0 675.0 667.0 653.0 631.0 605.0 568.0 529.0 476.0 420.0 362.0 306.0 235.0 179.0 108.0 57.0 2.0 -59.0 -108.0 -155.0 -199.0 -247.0 -281.0 -320.0 -351.0 -373.0 -400.0 -415.0 -414.0 -416.0 -400.0 -377.0 -343.0 -321.0 -294.0 -280.0 -282.0 -286.0 -316.0 -331.0 -366.0 -379.0 -392.0 -394.0 -374.0 -353.0 -323.0 -307.0 -277.0 -273.0 -270.0 -261.0 -259.0 -254.0 -241.0 -219.0 -205.0 -174.0 -141.0 -107.0 -70.0 -47.0 -25.0 -13.0 -3.0 -3.0 -1.0 -3.0 -6.0 -4.0 -3.0 5.0 6.0 15.0 20.0 20.0 13.0 9.0 0.0 -20.0 -39.0 -44.0 -41.0 -32.0 -17.0 16.0 56.0 112.0 170.0 249.0 350.0 429.0 507.0 565.0 634.0 654.0 682.0 681.0 668.0 653.0 627.0 607.0 572.0 553.0 515.0 474.0 417.0 363.0 284.0 205.0 112.0 5.0 -89.0 -183.0 -276.0 -361.0 -431.0 -485.0 -530.0 -566.0 -593.0 -614.0 -636.0 -646.0 -655.0 -665.0 -653.0 -650.0 -628.0 -610.0 -575.0 -550.0 -510.0 -485.0 -476.0 -456.0 -448.0 -444.0 -440.0 -417.0 -338.0 -294.0 -277.0 -262.0 -217.0 -211.0 -218.0 -223.0 -255.0 -212.0 -221.0 -175.0 -165.0 -72.0 4.0 56.0 94.0 121.0 174.0 160.0 180.0 133.0 143.0 153.0 156.0 160.0 172.0 202.0 223.0 218.0 194.0 165.0 150.0 110.0 74.0 47.0 55.0 68.0 75.0 107.0 113.0 136.0 126.0 138.0 109.0 107.0 102.0 111.0 130.0 153.0 204.0 259.0 349.0 405.0 472.0 514.0 553.0 551.0 522.0 480.0 416.0 362.0 279.0 211.0 140.0 107.0 65.0 -1.0 -43.0 -107.0 -165.0 -263.0 -344.0 -438.0 -510.0 -577.0 -650.0 -684.0 -717.0 -719.0 -728.0 -723.0 -707.0 -693.0 -677.0 -678.0 -669.0 -660.0 -642.0 -620.0 -604.0 -557.0 -514.0 -454.0 -412.0 -351.0 -309.0 -269.0 -227.0 -225.0 -193.0 -201.0 -172.0 -173.0 -97.0 0.0 65.0 125.0 178.0 257.0 244.0 277.0 215.0 224.0 232.0 255.0 278.0 319.0 438.0 477.0 561.0 554.0 589.0 572.0 579.0 539.0 479.0 479.0 463.0 475.0 443.0 451.0 449.0 440.0 409.0 335.0 278.0 221.0 160.0 100.0 55.0 55.0 43.0 79.0 60.0 47.0 19.0 -6.0 -81.0 -178.0 -229.0 -272.0 -286.0 -318.0 -301.0 -287.0 -222.0 -195.0 -168.0 -148.0 -133.0 -142.0 -172.0 -204.0 -235.0 -258.0 -291.0 -310.0 -336.0 -326.0 -326.0 -339.0 -357.0 -382.0 -404.0 -438.0 -492.0 -528.0 -559.0 -564.0 -591.0 -578.0 -566.0 -532.0 -509.0 -479.0 -444.0 -415.0 -364.0 -350.0 -300.0 -270.0 -210.0 -162.0 -109.0 -58.0 3.0 53.0 84.0 115.0 141.0 163.0 185.0 193.0 227.0 274.0 325.0 369.0 419.0 468.0 477.0 499.0 482.0 475.0 445.0 461.0 456.0 481.0 511.0 547.0 581.0 590.0 603.0 582.0 574.0 526.0 507.0 480.0 473.0 462.0 454.0 447.0 420.0 386.0 331.0 263.0 177.0 94.0 22.0 -55.0 -124.0 -194.0 -251.0 -298.0 -360.0 -410.0 -455.0 -493.0 -549.0 -592.0 -648.0 -703.0 -761.0 -811.0 -860.0 -887.0 -875.0 -843.0 -801.0 -758.0 -695.0 -642.0 -590.0 -559.0 -522.0 -458.0 -409.0 -376.0 -318.0 -245.0 -228.0 -216.0 -199.0 -202.0 -216.0 -228.0 -229.0 -234.0 -208.0 -192.0 -177.0 -166.0 -155.0 -139.0 -137.0 -143.0 -144.0 -110.0 -67.0 -42.0 10.0 83.0 149.0 188.0 245.0 273.0 292.0 319.0 334.0 350.0 360.0 400.0 429.0 475.0 467.0 485.0 498.0 494.0 459.0 447.0 439.0 417.0 395.0 476.0 564.0 571.0 599.0 620.0 618.0 562.0 524.0 376.0 346.0 323.0 317.0 309.0 302.0 321.0 300.0 277.0 174.0 90.0 19.0 -6.0 -106.0 -159.0 -181.0 -197.0 -205.0 -278.0 -372.0 -451.0 -507.0 -595.0 -675.0 -739.0 -777.0 -766.0 -764.0 -797.0 -820.0 -794.0 -768.0 -773.0 -803.0 -804.0 -801.0 -783.0 -786.0 -794.0 -749.0 -685.0 -602.0 -552.0 -471.0 -416.0 -324.0 -241.0 -199.0 -120.0 -17.0 96.0 161.0 234.0 284.0 336.0 347.0 332.0 316.0 304.0 321.0 340.0 354.0 369.0 388.0 398.0 395.0 356.0 303.0 285.0 283.0 268.0 294.0 329.0 388.0 436.0 469.0 459.0 444.0 425.0 394.0 362.0 336.0 352.0 374.0 411.0 426.0 432.0 435.0 423.0 374.0 328.0 285.0 244.0 201.0 182.0 149.0 127.0 114.0 207.0 227.0 177.0 167.0 142.0 89.0 17.0 -68.0 -216.0 -181.0 -205.0 -223.0 -233.0 -238.0 -247.0 -284.0 -328.0 -450.0 -466.0 -455.0 -442.0 -431.0 -409.0 -372.0 -334.0 -336.0 -412.0 -466.0 -469.0 -494.0 -512.0 -503.0 -475.0 -433.0 -400.0 -410.0 -447.0 -464.0 -450.0 -416.0 -392.0 -360.0 -314.0 -248.0 -227.0 -240.0 -249.0 -249.0 -193.0 -136.0 -54.0 31.0 137.0 206.0 257.0 273.0 281.0 378.0 465.0 556.0 616.0 693.0 743.0 750.0 666.0 563.0 515.0 470.0 482.0 476.0 480.0 496.0 505.0 434.0 325.0 231.0 144.0 125.0 113.0 100.0 144.0 215.0 230.0 206.0 166.0 103.0 72.0 52.0 31.0 29.0 60.0 86.0 78.0 43.0 -41.0 -86.0 -122.0 -177.0 -217.0 -243.0 -267.0 -280.0 -311.0 -373.0 -416.0 -371.0 -273.0 -257.0 -243.0 -214.0 -190.0 -214.0 -275.0 -375.0 -382.0 -311.0 -263.0 -210.0 -179.0 -124.0 -111.0 -104.0 -184.0 -210.0 -160.0 -82.0 -6.0 18.0 64.0 96.0 115.0 37.0 -31.0 -38.0 -8.0 25.0 31.0 16.0 1.0 -5.0 -40.0 -114.0 -183.0 -150.0 -48.0 39.0 64.0 70.0 98.0 75.0 0.0 -88.0 -110.0 -63.0 31.0 131.0 196.0 271.0 259.0 236.0 181.0 102.0 64.0 191.0 335.0 401.0 469.0 453.0 406.0 332.0 214.0 73.0 78.0 111.0 138.0 167.0 102.0 12.0 -48.0 -155.0 -291.0 -310.0 -282.0 -183.0 -113.0 -131.0 -158.0 -174.0 -231.0 -303.0 -329.0 -318.0 -240.0 -178.0 -172.0 -222.0 -265.0 -299.0 -348.0 -380.0 -399.0 -362.0 -310.0 -238.0 -258.0 -277.0 -272.0 -269.0 -251.0 -237.0 -210.0 -158.0 51.0 123.0 149.0 163.0 182.0 240.0 299.0 286.0 207.0 324.0 345.0 361.0 317.0 268.0 293.0 336.0 340.0 256.0 308.0 321.0 361.0 354.0 291.0 294.0 340.0 383.0 326.0 299.0 293.0 288.0 276.0 198.0 125.0 104.0 102.0 36.0 -59.0 -120.0 -138.0 -105.0 -100.0 -151.0 -156.0 -157.0 -180.0 -265.0 -379.0 -455.0 -423.0 -349.0 -303.0 -266.0 -258.0 -230.0 -240.0 -315.0 -402.0 -317.0 -164.0 -26.0 67.0 75.0 77.0 85.0 22.0 -107.0 -142.0 -115.0 -43.0 -3.0 -76.0 -175.0 -227.0 -286.0 -367.0 -401.0 -364.0 -270.0 -196.0 -208.0 -275.0 -326.0 -334.0 -300.0 -270.0 -234.0 -117.0 -28.0 8.0 -1.0 -38.0 -24.0 32.0 84.0 127.0 194.0 254.0 301.0 308.0 257.0 266.0 297.0 333.0 365.0 364.0 363.0 471.0 574.0 577.0 590.0 569.0 606.0 628.0 577.0 426.0 413.0 435.0 448.0 451.0 389.0 371.0 368.0 349.0 239.0 233.0 242.0 318.0 376.0 352.0 317.0 305.0 306.0 228.0 164.0 135.0 117.0 100.0 15.0 -126.0 -238.0 -309.0 -385.0 -482.0 -538.0 -564.0 -503.0 -473.0 -521.0 -611.0 -675.0 -706.0 -740.0 -755.0 -744.0 -681.0 -636.0 -558.0 -508.0 -507.0 -488.0 -474.0 -465.0 -445.0 -377.0 -236.0 -36.0 67.0 70.0 89.0 92.0 79.0 77.0 48.0 23.0 119.0 146.0 100.0 47.0 -23.0 -28.0 -18.0 -23.0 -55.0 34.0 89.0 104.0 124.0 105.0 180.0 264.0 334.0 371.0 421.0 456.0 483.0 498.0 460.0 494.0 562.0 611.0 617.0 563.0 513.0 514.0 524.0 493.0 475.0 462.0 441.0 417.0 331.0 255.0 191.0 275.0 426.0 422.0 398.0 375.0 356.0 337.0 276.0 152.0 162.0 252.0 245.0 227.0 166.0 78.0 101.0 97.0 10.0 24.0 66.0 116.0 137.0 72.0 20.0 48.0 85.0 28.0 -15.0 -71.0 -121.0 -171.0 -302.0 -424.0 -504.0 -526.0 -566.0 -610.0 -682.0 -685.0 -626.0 -577.0 -605.0 -631.0 -619.0 -583.0 -563.0 -571.0 -519.0 -467.0 -356.0 -300.0 -272.0 -299.0 -260.0 -205.0 -162.0 -129.0 -95.0 73.0 250.0 379.0 391.0 413.0 420.0 423.0 412.0 369.0 360.0 389.0 429.0 396.0 346.0 308.0 328.0 329.0 278.0 258.0 271.0 340.0 376.0 381.0 368.0 402.0 450.0 445.0 435.0 424.0 452.0 475.0 461.0 410.0 395.0 400.0 375.0 307.0 248.0 203.0 196.0 188.0 122.0 61.0 32.0 -23.0 -76.0 -124.0 -165.0 -168.0 -41.0 113.0 67.0 46.0 39.0 35.0 60.0 37.0 -48.0 -17.0 69.0 56.0 46.0 -26.0 -90.0 -44.0 -41.0 -109.0 -40.0 21.0 87.0 122.0 45.0 42.0 83.0 107.0 53.0 33.0 12.0 -10.0 -43.0 -178.0 -269.0 -338.0 -351.0 -379.0 -422.0 -434.0 -416.0 -340.0 -313.0 -340.0 -351.0 -317.0 -293.0 -300.0 -329.0 -318.0 -232.0 -137.0 -115.0 -98.0 -114.0 -76.0 -21.0 -22.0 0.0 52.0 148.0 222.0 328.0 364.0 382.0 404.0 378.0 378.0 378.0 382.0 386.0 385.0 321.0 274.0 277.0 252.0 217.0 197.0 171.0 190.0 203.0 180.0 208.0 197.0 183.0 204.0 204.0 150.0 139.0 155.0 121.0 124.0 81.0 66.0 68.0 -13.0 -59.0 -80.0 -130.0 -174.0 -154.0 -191.0 -264.0 -256.0 -298.0 -304.0 -310.0 -334.0 -316.0 -121.0 6.0 -76.0 -37.0 -63.0 0.0 137.0 112.0 29.0 121.0 173.0 142.0 152.0 71.0 101.0 233.0 194.0 145.0 205.0 196.0 302.0 305.0 259.0 330.0 406.0 386.0 320.0 262.0 175.0 197.0 82.0 -64.0 -125.0 -193.0 -193.0 -225.0 -324.0 -373.0 -343.0 -300.0 -279.0 -285.0 -304.0 -280.0 -316.0 -365.0 -377.0 -353.0 -277.0 -225.0 -193.0 -191.0 -193.0 -209.0 -200.0 -243.0 -227.0 -122.0 -6.0 90.0 140.0 163.0 190.0 219.0 198.0 180.0 136.0 134.0 148.0 111.0 56.0 25.0 18.0 25.0 -9.0 -43.0 -7.0 1.0 -20.0 -13.0 -54.0 -56.0 -5.0 -10.0 -13.0 -5.0 -7.0 11.0 25.0 -52.0 -41.0 -40.0 -67.0 -63.0 -86.0 -119.0 -111.0 -89.0 -116.0 -120.0 -150.0 -162.0 -142.0 -146.0 -141.0 -94.0 -20.0 194.0 212.0 201.0 249.0 288.0 383.0 384.0 338.0 260.0 381.0 415.0 424.0 393.0 342.0 432.0 403.0 320.0 307.0 327.0 394.0 429.0 379.0 343.0 380.0 405.0 318.0 254.0 155.0 142.0 104.0 -57.0 -166.0 -243.0 -273.0 -339.0 -382.0 -449.0 -446.0 -366.0 -374.0 -411.0 -475.0 -494.0 -463.0 -432.0 -472.0 -484.0 -441.0 -449.0 -423.0 -442.0 -470.0 -429.0 -399.0 -413.0 -432.0 -428.0 -339.0 -123.0 -50.0 -34.0 19.0 -6.0 -7.0 47.0 8.0 -29.0 18.0 -2.0 -33.0 -21.0 -24.0 -5.0 39.0 -36.0 -30.0 -15.0 -15.0 15.0 20.0 14.0 46.0 79.0 66.0 100.0 85.0 92.0 110.0 85.0 81.0 104.0 97.0 123.0 152.0 108.0 100.0 124.0 94.0 100.0 97.0 74.0 82.0 109.0 55.0 80.0 88.0 207.0 444.0 335.0 340.0 372.0 388.0 471.0 459.0 301.0 331.0 476.0 386.0 374.0 301.0 229.0 348.0 256.0 179.0 231.0 199.0 284.0 266.0 160.0 151.0 273.0 228.0 149.0 96.0 -11.0 7.0 -152.0 -318.0 -387.0 -437.0 -434.0 -450.0 -540.0 -600.0 -569.0 -574.0 -587.0 -640.0 -655.0 -611.0 -629.0 -701.0 -706.0 -678.0 -669.0 -623.0 -602.0 -559.0 -523.0 -548.0 -557.0 -575.0 -560.0 -416.0 -271.0 -155.0 -95.0 3.0 10.0 5.0 37.0 6.0 59.0 43.0 86.0 52.0 11.0 60.0 67.0 47.0 -4.0 7.0 19.0 56.0 66.0 47.0 114.0 132.0 140.0 135.0 99.0 156.0 195.0 208.0 207.0 235.0 265.0 293.0 279.0 242.0 265.0 213.0 221.0 211.0 168.0 167.0 169.0 123.0 60.0 61.0 -1.0 10.0 16.0 263.0 359.0 265.0 292.0 162.0 209.0 254.0 223.0 154.0 236.0 293.0 258.0 246.0 84.0 130.0 143.0 48.0 88.0 34.0 87.0 150.0 111.0 70.0 49.0 62.0 -2.0 -44.0 -179.0 -177.0 -220.0 -359.0 -417.0 -499.0 -538.0 -576.0 -588.0 -642.0 -655.0 -654.0 -677.0 -644.0 -670.0 -626.0 -596.0 -667.0 -669.0 -722.0 -701.0 -661.0 -537.0 -461.0 -491.0 -469.0 -508.0 -403.0 -394.0 -383.0 -282.0 -112.0 43.0 1.0 41.0 48.0 75.0 168.0 152.0 100.0 99.0 168.0 106.0 59.0 97.0 99.0 178.0 114.0 88.0 144.0 189.0 204.0 191.0 202.0 163.0 249.0 239.0 233.0 254.0 268.0 301.0 303.0 279.0 263.0 285.0 263.0 270.0 214.0 185.0 178.0 181.0 129.0 99.0 79.0 52.0 1.0 -57.0 -77.0 -73.0 -67.0 161.0 241.0 97.0 144.0 110.0 187.0 211.0 180.0 96.0 159.0 196.0 141.0 134.0 -32.0 27.0 40.0 -80.0 -76.0 -70.0 -17.0 28.0 -6.0 -60.0 -38.0 -8.0 -70.0 -91.0 -169.0 -154.0 -187.0 -323.0 -420.0 -472.0 -484.0 -540.0 -577.0 -629.0 -588.0 -566.0 -549.0 -535.0 -571.0 -555.0 -531.0 -496.0 -524.0 -531.0 -496.0 -426.0 -319.0 -351.0 -346.0 -365.0 -351.0 -280.0 -288.0 -276.0 -157.0 26.0 65.0 93.0 53.0 34.0 156.0 181.0 178.0 201.0 245.0 243.0 188.0 170.0 138.0 192.0 193.0 140.0 134.0 173.0 239.0 210.0 210.0 160.0 169.0 212.0 219.0 234.0 224.0 250.0 247.0 219.0 201.0 200.0 217.0 177.0 153.0 126.0 123.0 158.0 99.0 89.0 31.0 -3.0 -1.0 -53.0 -91.0 -31.0 154.0 160.0 133.0 79.0 27.0 123.0 152.0 162.0 126.0 142.0 169.0 152.0 136.0 91.0 171.0 121.0 58.0 35.0 11.0 91.0 117.0 71.0 -5.0 33.0 83.0 85.0 58.0 13.0 41.0 2.0 -69.0 -178.0 -248.0 -248.0 -275.0 -328.0 -414.0 -459.0 -476.0 -428.0 -405.0 -388.0 -381.0 -425.0 -451.0 -490.0 -474.0 -383.0 -347.0 -363.0 -369.0 -280.0 -229.0 -217.0 -239.0 -237.0 -207.0 -255.0 -216.0 -167.0 -35.0 96.0 139.0 72.0 106.0 170.0 203.0 238.0 218.0 221.0 252.0 262.0 227.0 256.0 240.0 267.0 253.0 161.0 150.0 179.0 190.0 200.0 208.0 181.0 175.0 223.0 220.0 208.0 201.0 238.0 237.0 196.0 203.0 205.0 210.0 194.0 185.0 134.0 107.0 98.0 83.0 58.0 29.0 30.0 32.0 52.0 106.0 135.0 204.0 196.0 148.0 151.0 167.0 186.0 206.0 223.0 155.0 216.0 229.0 216.0 211.0 164.0 149.0 133.0 104.0 89.0 158.0 162.0 164.0 164.0 109.0 125.0 142.0 148.0 147.0 105.0 87.0 62.0 -9.0 -102.0 -123.0 -162.0 -215.0 -309.0 -382.0 -398.0 -379.0 -292.0 -263.0 -318.0 -368.0 -366.0 -381.0 -349.0 -317.0 -296.0 -278.0 -258.0 -247.0 -221.0 -191.0 -187.0 -194.0 -235.0 -223.0 -179.0 -85.0 20.0 71.0 103.0 114.0 162.0 180.0 224.0 221.0 194.0 219.0 187.0 211.0 204.0 210.0 211.0 188.0 158.0 120.0 105.0 125.0 181.0 145.0 141.0 187.0 150.0 167.0 199.0 158.0 188.0 224.0 183.0 172.0 213.0 190.0 224.0 233.0 146.0 156.0 168.0 112.0 116.0 143.0 66.0 79.0 90.0 63.0 144.0 195.0 206.0 170.0 165.0 158.0 208.0 215.0 206.0 232.0 200.0 238.0 231.0 239.0 211.0 186.0 178.0 174.0 184.0 176.0 216.0 204.0 217.0 196.0 183.0 215.0 212.0 209.0 176.0 142.0 90.0 56.0 -7.0 -61.0 -81.0 -138.0 -224.0 -340.0 -406.0 -431.0 -409.0 -398.0 -364.0 -372.0 -381.0 -346.0 -361.0 -401.0 -422.0 -383.0 -384.0 -347.0 -288.0 -282.0 -271.0 -286.0 -300.0 -315.0 -314.0 -299.0 -210.0 -71.0 -43.0 -18.0 -42.0 -18.0 56.0 103.0 67.0 29.0 65.0 51.0 102.0 82.0 82.0 93.0 83.0 51.0 27.0 32.0 66.0 124.0 89.0 84.0 105.0 137.0 174.0 179.0 157.0 205.0 222.0 188.0 210.0 208.0 236.0 257.0 222.0 152.0 184.0 186.0 145.0 164.0 66.0 43.0 58.0 27.0 44.0 183.0 222.0 222.0 270.0 158.0 193.0 260.0 269.0 316.0 293.0 250.0 255.0 261.0 215.0 254.0 207.0 139.0 179.0 132.0 169.0 217.0 213.0 200.0 175.0 151.0 189.0 210.0 158.0 144.0 96.0 50.0 9.0 -76.0 -145.0 -156.0 -208.0 -295.0 -410.0 -499.0 -518.0 -492.0 -463.0 -444.0 -433.0 -448.0 -477.0 -507.0 -509.0 -479.0 -433.0 -435.0 -476.0 -454.0 -383.0 -352.0 -389.0 -434.0 -420.0 -400.0 -333.0 -298.0 -209.0 -152.0 -103.0 -65.0 -75.0 -17.0 37.0 92.0 41.0 82.0 63.0 86.0 135.0 113.0 123.0 81.0 136.0 110.0 132.0 120.0 143.0 187.0 180.0 212.0 206.0 262.0 246.0 265.0 257.0 253.0 270.0 286.0 319.0 286.0 258.0 239.0 228.0 172.0 172.0 182.0 169.0 153.0 79.0 40.0 86.0 112.0 117.0 218.0 234.0 191.0 214.0 172.0 181.0 237.0 201.0 150.0 150.0 150.0 163.0 150.0 77.0 79.0 77.0 43.0 73.0 67.0 67.0 134.0 139.0 114.0 132.0 155.0 153.0 143.0 86.0 62.0 70.0 -3.0 -50.0 -104.0 -179.0 -225.0 -279.0 -372.0 -471.0 -540.0 -520.0 -485.0 -531.0 -553.0 -545.0 -513.0 -466.0 -466.0 -498.0 -460.0 -443.0 -460.0 -458.0 -496.0 -470.0 -370.0 -375.0 -397.0 -368.0 -364.0 -315.0 -257.0 -204.0 -134.0 -55.0 -39.0 39.0 72.0 120.0 213.0 193.0 204.0 250.0 290.0 277.0 316.0 281.0 260.0 281.0 243.0 253.0 250.0 262.0 261.0 255.0 200.0 234.0 251.0 235.0 276.0 266.0 277.0 266.0 270.0 258.0 254.0 205.0 186.0 171.0 124.0 116.0 71.0 68.0 43.0 -15.0 -4.0 68.0 77.0 77.0 106.0 74.0 101.0 114.0 89.0 121.0 138.0 129.0 117.0 104.0 83.0 87.0 38.0 25.0 38.0 17.0 50.0 62.0 47.0 43.0 81.0 90.0 110.0 123.0 115.0 125.0 75.0 57.0 33.0 1.0 -35.0 -78.0 -148.0 -241.0 -269.0 -302.0 -324.0 -379.0 -409.0 -461.0 -509.0 -523.0 -508.0 -443.0 -438.0 -412.0 -426.0 -445.0 -430.0 -399.0 -411.0 -424.0 -371.0 -325.0 -336.0 -313.0 -318.0 -273.0 -207.0 -178.0 -96.0 -70.0 54.0 63.0 124.0 143.0 187.0 258.0 198.0 253.0 241.0 300.0 272.0 277.0 241.0 196.0 232.0 172.0 181.0 157.0 165.0 136.0 132.0 143.0 137.0 155.0 147.0 171.0 148.0 163.0 148.0 152.0 140.0 130.0 106.0 62.0 66.0 30.0 23.0 -17.0 -15.0 -46.0 -12.0 -16.0 -30.0 0.0 -45.0 31.0 56.0 37.0 30.0 66.0 52.0 78.0 123.0 49.0 98.0 93.0 50.0 65.0 45.0 41.0 72.0 65.0 23.0 53.0 38.0 59.0 118.0 89.0 109.0 132.0 110.0 103.0 96.0 73.0 76.0 53.0 -18.0 -41.0 -86.0 -146.0 -176.0 -205.0 -256.0 -312.0 -338.0 -390.0 -413.0 -410.0 -398.0 -374.0 -384.0 -362.0 -341.0 -340.0 -346.0 -371.0 -365.0 -377.0 -403.0 -427.0 -359.0 -323.0 -292.0 -275.0 -329.0 -255.0 -152.0 -67.0 -17.0 53.0 81.0 149.0 174.0 138.0 244.0 272.0 250.0 205.0 180.0 160.0 206.0 198.0 98.0 91.0 46.0 83.0 52.0 39.0 70.0 91.0 118.0 98.0 109.0 110.0 209.0 198.0 169.0 162.0 134.0 146.0 141.0 119.0 89.0 99.0 52.0 34.0 43.0 57.0 78.0 84.0 75.0 56.0 52.0 51.0 86.0 109.0 121.0 138.0 121.0 112.0 125.0 137.0 128.0 110.0 101.0 95.0 99.0 90.0 94.0 104.0 110.0 104.0 83.0 102.0 110.0 127.0 123.0 103.0 103.0 98.0 113.0 98.0 77.0 19.0 -7.0 -52.0 -100.0 -125.0 -164.0 -169.0 -199.0 -225.0 -262.0 -261.0 -231.0 -239.0 -239.0 -273.0 -260.0 -238.0 -240.0 -276.0 -326.0 -334.0 -397.0 -414.0 -490.0 -453.0 -350.0 -218.0 -162.0 -168.0 -114.0 -85.0 18.0 36.0 89.0 75.0 118.0 155.0 148.0 161.0 165.0 172.0 110.0 114.0 74.0 88.0 123.0 123.0 111.0 110.0 129.0 172.0 213.0 208.0 260.0 288.0 280.0 291.0 313.0 330.0 379.0 383.0 348.0 319.0 290.0 290.0 291.0 279.0 266.0 258.0 223.0 193.0 185.0 184.0 189.0 177.0 147.0 102.0 83.0 105.0 102.0 108.0 122.0 114.0 126.0 120.0 101.0 89.0 95.0 51.0 5.0 -40.0 -62.0 -53.0 -75.0 -75.0 -91.0 -89.0 -85.0 -95.0 -124.0 -123.0 -78.0 -66.0 -75.0 -59.0 -59.0 -22.0 -18.0 -33.0 -73.0 -109.0 -94.0 -128.0 -124.0 -155.0 -181.0 -256.0 -312.0 -313.0 -247.0 -162.0 -97.0 -87.0 -41.0 11.0 38.0 90.0 102.0 135.0 113.0 91.0 -17.0 5.0 9.0 -18.0 -69.0 -171.0 -191.0 -202.0 -204.0 -207.0 -153.0 -141.0 -88.0 -62.0 -77.0 -22.0 51.0 85.0 105.0 80.0 68.0 107.0 129.0 134.0 145.0 125.0 131.0 139.0 124.0 182.0 218.0 265.0 287.0 292.0 312.0 369.0 393.0 383.0 371.0 306.0 309.0 283.0 246.0 200.0 150.0 117.0 71.0 12.0 -33.0 6.0 -4.0 5.0 -25.0 -53.0 -47.0 -37.0 -30.0 -49.0 -32.0 -20.0 -19.0 -79.0 -96.0 -103.0 -134.0 -154.0 -212.0 -234.0 -224.0 -207.0 -203.0 -204.0 -175.0 -129.0 -100.0 -116.0 -76.0 -54.0 -13.0 -2.0 -25.0 -15.0 -5.0 -6.0 -69.0 -88.0 -127.0 -95.0 -86.0 -101.0 -101.0 -83.0 -62.0 4.0 91.0 84.0 145.0 186.0 186.0 218.0 220.0 186.0 197.0 140.0 60.0 10.0 -25.0 -40.0 -60.0 -123.0 -156.0 -165.0 -170.0 -138.0 -138.0 -132.0 -105.0 -74.0 -61.0 -20.0 9.0 21.0 17.0 -27.0 -57.0 -32.0 -18.0 -13.0 -24.0 -37.0 -26.0 -20.0 -2.0 30.0 56.0 72.0 111.0 116.0 120.0 140.0 143.0 132.0 100.0 57.0 37.0 23.0 -4.0 -19.0 -53.0 -101.0 -130.0 -156.0 -146.0 -140.0 -146.0 -143.0 -115.0 -101.0 -73.0 -68.0 -55.0 -46.0 -71.0 -61.0 -85.0 -74.0 -34.0 33.0 34.0 44.0 26.0 18.0 47.0 110.0 149.0 153.0 215.0 250.0 290.0 294.0 338.0 304.0 324.0 327.0 276.0 289.0 296.0 275.0 250.0 200.0 119.0 144.0 127.0 99.0 91.0 56.0 25.0 35.0 -2.0 -13.0 7.0 -19.0 -7.0 -30.0 -68.0 -61.0 -51.0 -99.0 -100.0 -101.0 -125.0 -133.0 -153.0 -163.0 -163.0 -166.0 -182.0 -197.0 -213.0 -208.0 -226.0 -233.0 -266.0 -270.0 -259.0 -232.0 -226.0 -203.0 -149.0 -134.0 -78.0 -52.0 20.0 30.0 41.0 58.0 84.0 103.0 110.0 129.0 93.0 123.0 101.0 106.0 119.0 128.0 146.0 152.0 156.0 160.0 208.0 197.0 206.0 207.0 201.0 226.0 212.0 199.0 174.0 152.0 119.0 115.0 91.0 87.0 99.0 59.0 39.0 4.0 7.0 -9.0 -12.0 -18.0 -24.0 -39.0 -71.0 -83.0 -79.0 -63.0 -97.0 -117.0 -154.0 -153.0 -137.0 -137.0 -137.0 -141.0 -142.0 -125.0 -136.0 -143.0 -86.0 -79.0 -79.0 -98.0 -135.0 -140.0 -131.0 -160.0 -169.0 -204.0 -226.0 -233.0 -268.0 -264.0 -285.0 -271.0 -294.0 -297.0 -292.0 -269.0 -244.0 -240.0 -231.0 -238.0 -223.0 -236.0 -202.0 -245.0 -262.0 -269.0 -288.0 -293.0 -294.0 -311.0 -339.0 -330.0 -363.0 -321.0 -296.0 -259.0 -218.0 -192.0 -154.0 -103.0 -68.0 -58.0 -7.0 -2.0 14.0 29.0 42.0 48.0 47.0 19.0 0.0 21.0 29.0 53.0 64.0 75.0 85.0 80.0 97.0 132.0 148.0 170.0 194.0 178.0 146.0 137.0 148.0 151.0 156.0 118.0 81.0 89.0 95.0 88.0 73.0 57.0 32.0 35.0 34.0 22.0 45.0 35.0 -6.0 -21.0 -20.0 -1.0 11.0 -14.0 -66.0 -80.0 -111.0 -120.0 -141.0 -147.0 -159.0 -192.0 -224.0 -247.0 -218.0 -207.0 -206.0 -228.0 -197.0 -188.0 -167.0 -166.0 -133.0 -119.0 -86.0 -57.0 -108.0 -95.0 -65.0 -48.0 -81.0 -47.0 -84.0 -100.0 -90.0 -74.0 -74.0 -40.0 -31.0 -34.0 -14.0 -27.0 33.0 22.0 29.0 2.0 7.0 -17.0 13.0 3.0 -33.0 -30.0 -54.0 -32.0 -23.0 -7.0 -15.0 16.0 -6.0 -7.0 9.0 25.0 44.0 60.0 22.0 -2.0 21.0 20.0 22.0 3.0 -18.0 -25.0 -20.0 -42.0 -19.0 -3.0 12.0 7.0 -17.0 -30.0 -25.0 -15.0 -16.0 -24.0 -41.0 -41.0 -53.0 -81.0 -85.0 -78.0 -96.0 -125.0 -139.0 -156.0 -162.0 -132.0 -152.0 -133.0 -156.0 -144.0 -151.0 -160.0 -163.0 -153.0 -99.0 -123.0 -88.0 -153.0 -123.0 -117.0 -104.0 -136.0 -96.0 -78.0 -97.0 -39.0 -97.0 -52.0 -73.0 -59.0 -92.0 -66.0 -73.0 -29.0 -35.0 -33.0 2.0 -16.0 35.0 30.0 44.0 36.0 84.0 75.0 109.0 87.0 93.0 117.0 104.0 116.0 115.0 113.0 115.0 139.0 120.0 120.0 119.0 129.0 133.0 114.0 104.0 97.0 99.0 85.0 81.0 67.0 53.0 36.0 2.0 -17.0 -36.0 -46.0 -79.0 -112.0 -146.0 -147.0 -155.0 -170.0 -195.0 -215.0 -179.0 -176.0 -174.0 -157.0 -138.0 -134.0 -123.0 -121.0 -130.0 -99.0 -100.0 -96.0 -80.0 -66.0 -24.0 -17.0 -7.0 11.0 31.0 30.0 59.0 72.0 71.0 99.0 86.0 82.0 93.0 112.0 109.0 121.0 114.0 116.0 133.0 144.0 165.0 175.0 158.0 143.0 160.0 177.0 165.0 170.0 184.0 169.0 195.0 199.0 188.0 214.0 242.0 217.0 204.0 222.0 212.0 213.0 188.0 144.0 114.0 85.0 61.0 72.0 56.0 28.0 18.0 -14.0 -27.0 7.0 7.0 15.0 29.0 16.0 22.0 27.0 29.0 45.0 43.0 -3.0 -7.0 -35.0 -40.0 -19.0 -32.0 -51.0 -53.0 -83.0 -105.0 -89.0 -100.0 -87.0 -106.0 -139.0 -158.0 -169.0 -174.0 -180.0 -214.0 -240.0 -246.0 -273.0 -274.0 -270.0 -272.0 -272.0 -262.0 -273.0 -241.0 -205.0 -190.0 -172.0 -172.0 -159.0 -149.0 -124.0 -140.0 -104.0 -86.0 -56.0 -17.0 -12.0 21.0 46.0 82.0 85.0 115.0 108.0 140.0 177.0 188.0 204.0 218.0 234.0 238.0 223.0 219.0 252.0 263.0 287.0 278.0 258.0 260.0 289.0 291.0 305.0 293.0 296.0 309.0 272.0 272.0 285.0 287.0 283.0 280.0 234.0 241.0 232.0 233.0 220.0 200.0 171.0 149.0 122.0 88.0 80.0 27.0 -2.0 -51.0 -79.0 -129.0 -146.0 -172.0 -197.0 -226.0 -264.0 -288.0 -320.0 -320.0 -338.0 -341.0 -355.0 -359.0 -369.0 -353.0 -324.0 -304.0 -297.0 -293.0 -267.0 -242.0 -206.0 -187.0 -146.0 -113.0 -116.0 -98.0 -93.0 -54.0 -29.0 -28.0 -18.0 5.0 34.0 37.0 55.0 35.0 64.0 83.0 59.0 70.0 91.0 122.0 130.0 127.0 142.0 167.0 184.0 182.0 207.0 229.0 263.0 265.0 243.0 251.0 258.0 285.0 262.0 274.0 274.0 298.0 308.0 307.0 325.0 335.0 371.0 360.0 381.0 387.0 389.0 390.0 380.0 370.0 355.0 339.0 317.0 302.0 275.0 249.0 221.0 183.0 157.0 125.0 96.0 86.0 75.0 58.0 32.0 7.0 -3.0 -4.0 -25.0 -43.0 -41.0 -57.0 -81.0 -98.0 -126.0 -144.0 -164.0 -195.0 -236.0 -273.0 -294.0 -313.0 -339.0 -352.0 -364.0 -376.0 -376.0 -386.0 -370.0 -342.0 -321.0 -300.0 -276.0 -230.0 -204.0 -176.0 -148.0 -117.0 -73.0 -38.0 -4.0 21.0 39.0 70.0 100.0 128.0 129.0 148.0 167.0 191.0 218.0 218.0 230.0 236.0 261.0 250.0 270.0 295.0 340.0 343.0 345.0 358.0 359.0 388.0 368.0 383.0 371.0 395.0 373.0 385.0 347.0 341.0 344.0 314.0 312.0 299.0 309.0 288.0 304.0 254.0 253.0 214.0 205.0 179.0 147.0 119.0 99.0 101.0 73.0 67.0 31.0 34.0 23.0 17.0 -11.0 -12.0 -18.0 -14.0 -30.0 -48.0 -60.0 -80.0 -102.0 -135.0 -135.0 -131.0 -127.0 -148.0 -158.0 -179.0 -167.0 -182.0 -202.0 -216.0 -214.0 -207.0 -231.0 -240.0 -240.0 -224.0 -218.0 -207.0 -220.0 -207.0 -196.0 -188.0 -178.0 -153.0 -129.0 -103.0 -96.0 -99.0 -78.0 -64.0 -6.0 14.0 29.0 31.0 54.0 99.0 150.0 178.0 207.0 245.0 240.0 259.0 262.0 278.0 284.0 294.0 268.0 273.0 278.0 282.0 300.0 299.0 323.0 320.0 330.0 315.0 320.0 319.0 339.0 321.0 306.0 293.0 256.0 243.0 215.0 200.0 180.0 182.0 153.0 140.0 125.0 106.0 94.0 70.0 47.0 38.0 20.0 -17.0 -27.0 -72.0 -101.0 -127.0 -169.0 -202.0 -235.0 -265.0 -291.0 -309.0 -324.0 -320.0 -317.0 -326.0 -331.0 -322.0 -309.0 -291.0 -284.0 -277.0 -254.0 -246.0 -233.0 -228.0 -221.0 -203.0 -179.0 -168.0 -159.0 -151.0 -121.0 -101.0 -86.0 -68.0 -57.0 -44.0 -41.0 -48.0 -41.0 -1.0 22.0 37.0 33.0 53.0 74.0 71.0 62.0 77.0 86.0 97.0 86.0 72.0 90.0 106.0 99.0 80.0 97.0 107.0 117.0 99.0 97.0 104.0 107.0 106.0 106.0 104.0 129.0 138.0 120.0 104.0 111.0 122.0 116.0 105.0 84.0 69.0 63.0 57.0 35.0 31.0 16.0 12.0 -9.0 -27.0 -34.0 -33.0 -58.0 -68.0 -80.0 -90.0 -78.0 -100.0 -117.0 -134.0 -141.0 -144.0 -136.0 -156.0 -145.0 -142.0 -147.0 -153.0 -167.0 -182.0 -181.0 -173.0 -183.0 -180.0 -183.0 -178.0 -181.0 -211.0 -207.0 -202.0 -205.0 -189.0 -190.0 -178.0 -172.0 -170.0 -172.0 -160.0 -165.0 -139.0 -112.0 -93.0 -66.0 -59.0 -47.0 -26.0 3.0 28.0 62.0 73.0 110.0 124.0 144.0 147.0 169.0 176.0 175.0 193.0 189.0 207.0 198.0 208.0 218.0 231.0 229.0 215.0 197.0 185.0 165.0 160.0 140.0 120.0 112.0 90.0 69.0 38.0 28.0 14.0 -8.0 -37.0 -63.0 -84.0 -79.0 -87.0 -110.0 -115.0 -115.0 -116.0 -121.0 -122.0 -113.0 -103.0 -105.0 -112.0 -99.0 -96.0 -93.0 -104.0 -129.0 -136.0 -150.0 -171.0 -186.0 -185.0 -175.0 -164.0 -172.0 -175.0 -176.0 -169.0 -163.0 -160.0 -144.0 -137.0 -134.0 -137.0 -140.0 -135.0 -144.0 -133.0 -136.0 -129.0 -120.0 -108.0 -87.0 -75.0 -52.0 -32.0 -2.0 10.0 27.0 33.0 53.0 53.0 69.0 63.0 73.0 97.0 114.0 129.0 123.0 123.0 134.0 145.0 146.0 148.0 140.0 147.0 113.0 106.0 96.0 116.0 116.0 111.0 95.0 86.0 94.0 101.0 105.0 105.0 123.0 110.0 106.0 93.0 99.0 88.0 74.0 62.0 45.0 21.0 4.0 -2.0 -3.0 8.0 -10.0 -44.0 -81.0 -95.0 -100.0 -115.0 -133.0 -156.0 -159.0 -182.0 -196.0 -194.0 -195.0 -192.0 -203.0 -218.0 -236.0 -243.0 -238.0 -222.0 -224.0 -213.0 -226.0 -223.0 -222.0 -220.0 -199.0 -195.0 -177.0 -175.0 -167.0 -159.0 -143.0 -134.0 -124.0 -111.0 -97.0 -82.0 -57.0 -39.0 -37.0 -39.0 -39.0 -17.0 14.0 52.0 72.0 70.0 67.0 84.0 96.0 106.0 104.0 102.0 100.0 98.0 104.0 102.0 95.0 88.0 86.0 84.0 103.0 140.0 160.0 147.0 131.0 102.0 101.0 103.0 104.0 106.0 90.0 68.0 42.0 20.0 1.0 -8.0 -35.0 -55.0 -66.0 -68.0 -54.0 -32.0 -30.0 -34.0 -45.0 -56.0 -61.0 -62.0 -59.0 -66.0 -63.0 -71.0 -74.0 -86.0 -85.0 -64.0 -59.0 -62.0 -71.0 -79.0 -84.0 -81.0 -86.0 -81.0 -71.0 -63.0 -60.0 -62.0 -52.0 -64.0 -69.0 -93.0 -100.0 -105.0 -111.0 -111.0 -119.0 -106.0 -111.0 -117.0 -108.0 -103.0 -88.0 -71.0 -69.0 -60.0 -59.0 -50.0 -51.0 -40.0 -37.0 -29.0 -27.0 -7.0 8.0 28.0 39.0 30.0 26.0 21.0 36.0 40.0 53.0 59.0 68.0 56.0 70.0 68.0 106.0 117.0 126.0 130.0 114.0 114.0 107.0 112.0 113.0 107.0 72.0 58.0 51.0 79.0 79.0 109.0 114.0 106.0 75.0 47.0 52.0 65.0 82.0 58.0 47.0 30.0 30.0 16.0 -1.0 -14.0 -15.0 -34.0 -45.0 -49.0 -48.0 -50.0 -61.0 -74.0 -93.0 -102.0 -87.0 -74.0 -65.0 -58.0 -74.0 -77.0 -85.0 -69.0 -48.0 -43.0 -36.0 -22.0 -10.0 5.0 18.0 27.0 14.0 1.0 4.0 14.0 47.0 51.0 53.0 28.0 6.0 1.0 13.0 32.0 54.0 45.0 32.0 20.0 18.0 39.0 28.0 38.0 24.0 -7.0 -21.0 -36.0 -34.0 -22.0 -26.0 -16.0 -21.0 -8.0 9.0 26.0 31.0 14.0 13.0 10.0 17.0 24.0 10.0 0.0 -14.0 -26.0 -6.0 -11.0 -2.0 -8.0 -16.0 -14.0 2.0 28.0 42.0 43.0 32.0 35.0 39.0 42.0 58.0 78.0 76.0 87.0 79.0 88.0 98.0 88.0 84.0 80.0 83.0 100.0 117.0 123.0 128.0 122.0 104.0 93.0 75.0 58.0 57.0 45.0 41.0 31.0 21.0 24.0 18.0 17.0 6.0 4.0 5.0 1.0 1.0 -2.0 2.0 -8.0 -36.0 -46.0 -45.0 -37.0 -32.0 -42.0 -48.0 -43.0 -39.0 -37.0 -40.0 -31.0 -14.0 -5.0 -16.0 -28.0 -36.0 -32.0 -33.0 -41.0 -37.0 -28.0 -23.0 -24.0 -13.0 -6.0 -6.0 -22.0 -37.0 -32.0 -18.0 -6.0 -7.0 -5.0 -3.0 2.0 9.0 17.0 25.0 18.0 4.0 -3.0 -10.0 -18.0 -17.0 -10.0 -6.0 -6.0 -13.0 -12.0 2.0 16.0 25.0 12.0 6.0 0.0 -3.0 -4.0 -3.0 9.0 -4.0 -21.0 -42.0 -47.0 -33.0 -9.0 4.0 4.0 1.0 1.0 2.0 15.0 35.0 35.0 33.0 22.0 28.0 34.0 38.0 33.0 27.0 6.0 -15.0 -26.0 -31.0 -23.0 -10.0 -7.0 -10.0 -10.0 -21.0 -23.0 -30.0 -22.0 -20.0 -29.0 -35.0 -26.0 -9.0 -10.0 -26.0 -41.0 -37.0 -33.0 -41.0 -55.0 -54.0 -46.0 -45.0 -48.0 -55.0 -62.0 -64.0 -68.0 -75.0 -78.0 -71.0 -65.0 -71.0 -90.0 -94.0 -96.0 -83.0 -77.0 -80.0 -83.0 -91.0 -81.0 -81.0 -76.0 -68.0 -53.0 -50.0 -52.0 -43.0 -40.0 -47.0 -54.0 -62.0 -60.0 -53.0 -39.0 -29.0 -39.0 -43.0 -52.0 -58.0 -61.0 -53.0 -40.0 -36.0 -32.0 -16.0 6.0 16.0 16.0 10.0 7.0 19.0 28.0 29.0 19.0 11.0 0.0 -10.0 -18.0 -8.0 0.0 5.0 10.0 14.0 19.0 19.0 30.0 37.0 40.0 42.0 46.0 46.0 43.0 32.0 25.0 21.0 16.0 17.0 16.0 16.0 15.0 13.0 17.0 22.0 23.0 19.0 17.0 2.0 -7.0 -26.0 -38.0 -31.0 -36.0 -45.0 -67.0 -85.0 -102.0 -112.0 -115.0 -108.0 -101.0 -98.0 -103.0 -102.0 -101.0 -99.0 -93.0 -104.0 -102.0 -113.0 -126.0 -141.0 -149.0 -156.0 -150.0 -153.0 -147.0 -138.0 -144.0 -139.0 -128.0 -109.0 -98.0 -82.0 -71.0 -67.0 -68.0 -67.0 -61.0 -50.0 -43.0 -42.0 -46.0 -36.0 -23.0 -16.0 2.0 10.0 18.0 13.0 11.0 22.0 35.0 45.0 44.0 44.0 45.0 40.0 40.0 41.0 38.0 39.0 40.0 34.0 30.0 40.0 42.0 31.0 24.0 21.0 23.0 19.0 15.0 18.0 10.0 8.0 -6.0 -28.0 -35.0 -40.0 -46.0 -59.0 -63.0 -63.0 -66.0 -74.0 -78.0 -78.0 -77.0 -79.0 -83.0 -85.0 -83.0 -78.0 -91.0 -102.0 -108.0 -112.0 -109.0 -110.0 -105.0 -109.0 -116.0 -115.0 -111.0 -102.0 -100.0 -95.0 -93.0 -91.0 -87.0 -88.0 -85.0 -80.0 -71.0 -71.0 -77.0 -76.0 -71.0 -69.0 -69.0 -59.0 -54.0 -48.0 -34.0 -24.0 -21.0 -9.0 -7.0 -9.0 -6.0 -2.0 7.0 11.0 8.0 7.0 8.0 7.0 7.0 6.0 -1.0 1.0 2.0 -8.0 -11.0 -7.0 8.0 17.0 16.0 19.0 7.0 -6.0 -9.0 -15.0 -23.0 -21.0 -20.0 -15.0 -23.0 -35.0 -46.0 -58.0 -66.0 -71.0 -66.0 -61.0 -56.0 -57.0 -66.0 -68.0 -65.0 -65.0 -64.0 -64.0 -64.0 -62.0 -71.0 -70.0 -66.0 -67.0 -69.0 -71.0 -76.0 -85.0 -84.0 -76.0 -69.0 -62.0 -56.0 -58.0 -57.0 -53.0 -53.0 -55.0 -53.0 -54.0 -55.0 -52.0 -52.0 -46.0 -27.0 -25.0 -25.0 -20.0 -23.0 -12.0 -8.0 4.0 17.0 19.0 22.0 13.0 8.0 15.0 19.0 30.0 32.0 33.0 37.0 41.0 56.0 70.0 77.0 77.0 73.0 67.0 70.0 72.0 79.0 93.0 100.0 99.0 93.0 87.0 86.0 87.0 83.0 75.0 74.0 73.0 72.0 71.0 65.0 61.0 53.0 44.0 30.0 23.0 18.0 4.0 -5.0 -16.0 -16.0 -19.0 -18.0 -18.0 -27.0 -37.0 -47.0 -38.0 -36.0 -35.0 -39.0 -48.0 -55.0 -60.0 -58.0 -63.0 -68.0 -66.0 -69.0 -73.0 -70.0 -68.0 -66.0 -66.0 -72.0 -77.0 -82.0 -74.0 -59.0 -52.0 -44.0 -43.0 -39.0 -40.0 -38.0 -28.0 -19.0 -13.0 -15.0 -22.0 -24.0 -16.0 -3.0 5.0 24.0 29.0 30.0 30.0 36.0 48.0 60.0 72.0 71.0 71.0 61.0 61.0 53.0 55.0 58.0 54.0 52.0 49.0 55.0 59.0 66.0 66.0 68.0 67.0 65.0 66.0 69.0 69.0 64.0 58.0 57.0 64.0 66.0 66.0 59.0 48.0 42.0 39.0 39.0 38.0 36.0 33.0 25.0 25.0 23.0 19.0 16.0 12.0 2.0 -11.0 -15.0 -18.0 -22.0 -25.0 -28.0 -33.0 -44.0 -46.0 -52.0 -56.0 -51.0 -53.0 -53.0 -47.0 -40.0 -35.0 -33.0 -33.0 -38.0 -38.0 -38.0 -32.0 -27.0 -23.0 -26.0 -28.0 -25.0 -26.0 -17.0 -10.0 -5.0 -1.0 5.0 6.0 12.0 19.0 28.0 39.0 44.0 48.0 53.0 52.0 55.0 65.0 72.0 77.0 78.0 79.0 80.0 83.0 90.0 98.0 107.0 111.0 113.0 116.0 123.0 129.0 132.0 135.0 131.0 128.0 119.0 111.0 106.0 101.0 101.0 91.0 85.0 81.0 73.0 67.0 62.0 58.0 60.0 59.0 57.0 55.0 56.0 56.0 53.0 51.0 52.0 52.0 49.0 42.0 32.0 31.0 37.0 41.0 37.0 31.0 30.0 24.0 24.0 28.0 32.0 33.0 29.0 27.0 34.0 39.0 42.0 48.0 51.0 51.0 52.0 45.0 46.0 50.0 52.0 56.0 59.0 61.0 59.0 59.0 60.0 66.0 72.0 75.0 81.0 83.0 89.0 93.0 94.0 103.0 107.0 111.0 119.0 121.0 127.0 130.0 135.0 133.0 131.0 132.0 134.0 138.0 136.0 136.0 135.0 138.0 137.0 136.0 140.0 140.0 139.0 138.0 138.0 133.0 134.0 134.0 138.0 133.0 129.0 122.0 121.0 121.0 117.0 116.0 111.0 108.0 103.0 95.0 88.0 86.0 83.0 78.0 71.0 68.0 62.0 63.0 58.0 50.0 47.0 44.0 35.0 27.0 28.0 26.0 27.0 30.0 29.0 32.0 35.0 36.0 37.0 40.0 49.0 56.0 61.0 61.0 61.0 66.0 70.0 78.0 77.0 76.0 78.0 82.0 85.0 95.0 104.0 110.0 118.0 118.0 124.0 130.0 135.0 140.0 139.0 143.0 145.0 151.0 156.0 154.0 152.0 149.0 146.0 151.0 156.0 159.0 164.0 164.0 163.0 164.0 166.0 170.0 168.0 167.0 167.0 165.0 160.0 158.0 160.0 155.0 147.0 144.0 146.0 136.0 132.0 123.0 117.0 115.0 110.0 105.0 103.0 99.0 95.0 90.0 82.0 83.0 79.0 73.0 75.0 76.0 71.0 69.0 63.0 60.0 56.0 54.0 49.0 45.0 41.0 39.0 41.0 39.0 40.0 35.0 37.0 35.0 37.0 42.0 44.0 47.0 48.0 52.0 52.0 51.0 54.0 55.0 56.0 65.0 69.0 81.0 86.0 84.0 90.0 94.0 99.0 112.0 118.0 121.0 126.0 123.0 123.0 124.0 120.0 128.0 130.0 135.0 135.0 136.0 137.0 139.0 143.0 139.0 141.0 141.0 142.0 139.0 139.0 138.0 137.0 132.0 131.0 126.0 120.0 123.0 115.0 109.0 102.0 97.0 93.0 86.0 83.0 82.0 73.0 70.0 68.0 66.0 59.0 56.0 52.0 48.0 44.0 37.0 42.0 39.0 37.0 29.0 28.0 23.0 16.0 19.0 16.0 15.0 12.0 7.0 4.0 7.0 6.0 7.0 11.0 7.0 11.0 11.0 15.0 17.0 20.0 25.0 28.0 33.0 36.0 42.0 44.0 46.0 49.0 50.0 53.0 55.0 61.0 67.0 67.0 72.0 78.0 80.0 80.0 84.0 84.0 87.0 90.0 90.0 93.0 92.0 95.0 97.0 95.0 95.0 91.0 94.0 98.0 101.0 103.0 105.0 102.0 101.0 99.0 99.0 101.0 101.0 97.0 92.0 85.0 84.0 83.0 75.0 75.0 65.0 60.0 52.0 45.0 45.0 43.0 40.0 37.0 30.0 24.0 20.0 16.0 14.0 10.0 3.0 -3.0 -5.0 -12.0 -11.0 -16.0 -20.0 -26.0 -29.0 -29.0 -32.0 -30.0 -30.0 -30.0 -33.0 -32.0 -31.0 -32.0 -30.0 -30.0 -37.0 -38.0 -40.0 -39.0 -35.0 -37.0 -37.0 -36.0 -38.0 -45.0 -47.0 -50.0 -44.0 -45.0 -39.0 -35.0 -28.0 -27.0 -29.0 -24.0 -29.0 -22.0 -18.0 -10.0 -2.0 5.0 9.0 7.0 13.0 18.0 25.0 33.0 37.0 39.0 40.0 43.0 41.0 47.0 53.0 51.0 46.0 43.0 40.0 41.0 42.0 41.0 39.0 34.0 37.0 31.0 30.0 29.0 23.0 19.0 14.0 7.0 7.0 6.0 2.0 4.0 -6.0 -13.0 -21.0 -23.0 -28.0 -36.0 -40.0 -45.0 -49.0 -63.0 -70.0 -76.0 -79.0 -87.0 -91.0 -94.0 -100.0 -106.0 -110.0 -119.0 -114.0 -115.0 -116.0 -112.0 -119.0 -117.0 -116.0 -114.0 -114.0 -109.0 -107.0 -110.0 -112.0 -112.0 -108.0 -101.0 -104.0 -101.0 -102.0 -103.0 -94.0 -96.0 -85.0 -81.0 -71.0 -65.0 -60.0 -56.0 -50.0 -47.0 -43.0 -37.0 -38.0 -33.0 -34.0 -29.0 -31.0 -31.0 -29.0 -32.0 -29.0 -25.0 -27.0 -22.0 -18.0 -15.0 -9.0 -10.0 -5.0 -7.0 -7.0 -5.0 -6.0 -1.0 0.0 1.0 -2.0 -11.0 -10.0 -12.0 -12.0 -12.0 -14.0 -12.0 -19.0 -22.0 -27.0 -27.0 -36.0 -39.0 -45.0 -51.0 -54.0 -61.0 -68.0 -78.0 -86.0 -89.0 -96.0 -105.0 -109.0 -115.0 -120.0 -125.0 -129.0 -134.0 -139.0 -143.0 -146.0 -150.0 -153.0 -155.0 -159.0 -161.0 -164.0 -162.0 -163.0 -162.0 -161.0 -163.0 -162.0 -163.0 -161.0 -156.0 -155.0 -155.0 -150.0 -147.0 -141.0 -135.0 -128.0 -123.0 -123.0 -115.0 -110.0 -104.0 -98.0 -95.0 -95.0 -91.0 -84.0 -82.0 -79.0 -74.0 -70.0 -63.0 -58.0 -61.0 -52.0 -50.0 -46.0 -40.0 -37.0 -33.0 -36.0 -34.0 -32.0 -31.0 -37.0 -32.0 -33.0 -38.0 -44.0 -47.0 -47.0 -47.0 -47.0 -50.0 -52.0 -56.0 -56.0 -61.0 -62.0 -62.0 -66.0 -65.0 -69.0 -74.0 -79.0 -87.0 -86.0 -90.0 -92.0 -87.0 -89.0 -89.0 -93.0 -96.0 -99.0 -101.0 -104.0 -109.0 -109.0 -111.0 -117.0 -116.0 -116.0 -123.0 -129.0 -126.0 -126.0 -130.0 -125.0 -127.0 -123.0 -122.0 -132.0 -130.0 -128.0 -128.0 -125.0 -123.0 -124.0 -122.0 -122.0 -125.0 -122.0 -117.0 -110.0 -107.0 -106.0 -102.0 -104.0 -100.0 -97.0 -92.0 -89.0 -86.0 -79.0 -80.0 -80.0 -77.0 -70.0 -73.0 -69.0 -65.0 -65.0 -68.0 -62.0 -60.0 -56.0 -52.0 -55.0 -53.0 -53.0 -51.0 -52.0 -51.0 -50.0 -46.0 -46.0 -51.0 -47.0 -47.0 -49.0 -48.0 -45.0 -47.0 -51.0 -58.0 -61.0 -60.0 -61.0 -64.0 -69.0 -74.0 -75.0 -78.0 -83.0 -85.0 -88.0 -93.0 -94.0 -97.0 -99.0 -100.0 -103.0 -105.0 -107.0 -113.0 -116.0 -116.0 -120.0 -123.0 -126.0 -127.0 -125.0 -131.0 -132.0 -132.0 -131.0 -136.0 -135.0 -134.0 -134.0 -132.0 -132.0 -129.0 -126.0 -123.0 -121.0 -121.0 -120.0 -122.0 -122.0 -118.0 -118.0 -114.0 -115.0 -114.0 -115.0 -118.0 -114.0 -111.0 -110.0 -108.0 -101.0 -100.0 -94.0 -91.0 -88.0 -88.0 -89.0 -86.0 -84.0 -82.0 -79.0 -79.0 -80.0 -85.0 -80.0 -80.0 -78.0 -74.0 -73.0 -69.0 -71.0 -68.0 -68.0 -67.0 -65.0 -64.0 -62.0 -67.0 -66.0 -68.0 -70.0 -67.0 -64.0 -66.0 -69.0 -72.0 -73.0 -72.0 -75.0 -72.0 -73.0 -73.0 -73.0 -76.0 -74.0 -81.0 -82.0 -80.0 -86.0 -84.0 -88.0 -91.0 -99.0 -101.0 -102.0 -104.0 -99.0 -102.0 -100.0 -102.0 -102.0 -100.0 -96.0 -94.0 -97.0 -101.0 -100.0 -98.0 -95.0 -97.0 -98.0 -98.0 -98.0 -97.0 -98.0 -97.0 -98.0 -94.0 -92.0 -89.0 -90.0 -91.0 -89.0 -85.0 -82.0 -76.0 -72.0 -69.0 -63.0 -63.0 -58.0 -57.0 -56.0 -58.0 -58.0 -58.0 -51.0 -46.0 -43.0 -47.0 -49.0 -44.0 -45.0 -47.0 -46.0 -44.0 -44.0 -45.0 -48.0 -51.0 -52.0 -53.0 -57.0 -57.0 -62.0 -57.0 -52.0 -56.0 -57.0 -57.0 -55.0 -57.0 -55.0 -55.0 -58.0 -59.0 -61.0 -63.0 -65.0 -64.0 -67.0 -68.0 -64.0 -67.0 -66.0 -66.0 -62.0 -65.0 -64.0 -66.0 -63.0 -62.0 -63.0 -62.0 -59.0 -58.0 -59.0 -58.0 -60.0 -60.0 -65.0 -61.0 -63.0 -65.0 -65.0 -65.0 -65.0 -66.0 -66.0 -68.0 -66.0 -63.0 -63.0 -65.0 -66.0 -65.0 -65.0 -59.0 -61.0 -64.0 -60.0 -61.0 -64.0 -65.0 -59.0 -54.0 -54.0 -53.0 -51.0 -50.0 -49.0 -51.0 -49.0 -45.0 -41.0 -43.0 -41.0 -37.0 -36.0 -33.0 -34.0 -31.0 -31.0 -28.0 -29.0 -29.0 -28.0 -23.0 -26.0 -32.0 -31.0 -29.0 -29.0 -28.0 -32.0 -33.0 -27.0 -32.0 -31.0 -32.0 -35.0 -35.0 -35.0 -39.0 -40.0 -40.0 -39.0 -38.0 -38.0 -34.0 -36.0 -33.0 -34.0 -37.0 -34.0 -35.0 -33.0 -33.0 -34.0 -33.0 -31.0 -29.0 -29.0 -28.0 -30.0 -27.0 -27.0 -30.0 -32.0 -31.0 -28.0 -27.0 -27.0 -25.0 -21.0 -24.0 -23.0 -22.0 -22.0 -21.0 -19.0 -21.0 -21.0 -21.0 -21.0 -19.0 -19.0 -18.0 -21.0 -21.0 -23.0 -25.0 -22.0 -21.0 -19.0 -21.0 -18.0 -19.0 -19.0 -20.0 -24.0 -20.0 -21.0 -22.0 -18.0 -17.0 -18.0 -16.0 -17.0 -18.0 -16.0 -13.0 -15.0 -14.0 -11.0 -11.0 -10.0 -8.0 -7.0 -6.0 -2.0 -4.0 -7.0 -7.0 -2.0 -2.0 -4.0 -4.0 -5.0 -8.0 -8.0 -5.0 -6.0 -2.0 -3.0 -6.0 -4.0 -5.0 -2.0 -6.0 -3.0 -6.0 -9.0 -7.0 -11.0 -11.0 -13.0 -20.0 -20.0 -19.0 -18.0 -19.0 -19.0 -20.0 -21.0 -19.0 -19.0 -14.0 -15.0 -16.0 -16.0 -12.0 -10.0 -13.0 -12.0 -15.0 -14.0 -17.0 -12.0 -13.0 -10.0 -8.0 -3.0 0.0 0.0 6.0 6.0 4.0 10.0 16.0 17.0 17.0 17.0 19.0 22.0 26.0 22.0 20.0 22.0 22.0 27.0 31.0 30.0 28.0 30.0 32.0 33.0 33.0 34.0 32.0 32.0 34.0 35.0 35.0 34.0 31.0 30.0 28.0 27.0 26.0 25.0 21.0 25.0 31.0 32.0 32.0 33.0 39.0 41.0 39.0 36.0 37.0 39.0 37.0 38.0 39.0 40.0 41.0 44.0 43.0 47.0 49.0 47.0 49.0 50.0 50.0 49.0 50.0 50.0 56.0 51.0 49.0 46.0 49.0 51.0 45.0 46.0 46.0 45.0 48.0 48.0 45.0 50.0 52.0 51.0 52.0 48.0 50.0 49.0 47.0 49.0 48.0 49.0 52.0 53.0 53.0 50.0 50.0 49.0 49.0 55.0 55.0 57.0 56.0 58.0 57.0 59.0 60.0 59.0 61.0 64.0 64.0 61.0 65.0 64.0 62.0 66.0 64.0 63.0 65.0 64.0 64.0 64.0 70.0 70.0 69.0 68.0 69.0 76.0 73.0 74.0 72.0 74.0 76.0 76.0 79.0 77.0 79.0 81.0 78.0 77.0 77.0 76.0 77.0 77.0 78.0 77.0 78.0 79.0 80.0 81.0 82.0 84.0 85.0 87.0 89.0 90.0 91.0 91.0 96.0 96.0 95.0 96.0 95.0 97.0 95.0 102.0 101.0 106.0 107.0 103.0 105.0 103.0 104.0 107.0 112.0 110.0 116.0 114.0 113.0 115.0 118.0 121.0 124.0 129.0 130.0 133.0 134.0 133.0 132.0 134.0 134.0 136.0 136.0 140.0 140.0 137.0 142.0 138.0 143.0 142.0 146.0 145.0 138.0 137.0 142.0 138.0 134.0 136.0 131.0 137.0 135.0 139.0 141.0 138.0 135.0 134.0 133.0 128.0 131.0 122.0 127.0 125.0 124.0 126.0 124.0 124.0 118.0 117.0 115.0 115.0 111.0 110.0 108.0 108.0 104.0 104.0 102.0 102.0 102.0 99.0 98.0 101.0 101.0 97.0 103.0 104.0 102.0 101.0 100.0 103.0 104.0 109.0 112.0 116.0 119.0 117.0 119.0 118.0 123.0 124.0 124.0 126.0 126.0 131.0 131.0 137.0 134.0 135.0 133.0 133.0 133.0 131.0 134.0 129.0 131.0 131.0 137.0 135.0 132.0 136.0 139.0 138.0 141.0 137.0 137.0 139.0 136.0 142.0 138.0 138.0 135.0 139.0 139.0 136.0 140.0 141.0 140.0 135.0 137.0 133.0 134.0 123.0 113.0 114.0 116.0 120.0 124.0 123.0 113.0 115.0 111.0 107.0 111.0 111.0 108.0 113.0 105.0 106.0 106.0 102.0 104.0 95.0 103.0 101.0 102.0 101.0 101.0 109.0 112.0 114.0 112.0 117.0 115.0 112.0 112.0 106.0 110.0 120.0 122.0 117.0 119.0 112.0 117.0 119.0 115.0 124.0 123.0 122.0 123.0 126.0 126.0 129.0 130.0 129.0 130.0 130.0 128.0 130.0 125.0 126.0 131.0 128.0 126.0 125.0 124.0 122.0 128.0 125.0 126.0 127.0 131.0 127.0 131.0 132.0 132.0 132.0 126.0 124.0 118.0 117.0 116.0 116.0 117.0 117.0 116.0 116.0 114.0 116.0 119.0 117.0 120.0 119.0 117.0 116.0 120.0 123.0 121.0 120.0 120.0 120.0 114.0 127.0 129.0 118.0 127.0 124.0 119.0 126.0 122.0 119.0 127.0 128.0 127.0 122.0 120.0 122.0 123.0 118.0 120.0 124.0 120.0 121.0 120.0 116.0 114.0 119.0 124.0 125.0 126.0 124.0 128.0 133.0 131.0 128.0 130.0 125.0 129.0 134.0 129.0 132.0 125.0 128.0 130.0 127.0 132.0 130.0 133.0 133.0 132.0 123.0 114.0 118.0 113.0 109.0 112.0 122.0 119.0 108.0 105.0 106.0 105.0 104.0 108.0 106.0 109.0 108.0 108.0 100.0 100.0 101.0 100.0 97.0 102.0 98.0 98.0 101.0 91.0 97.0 99.0 95.0 98.0 97.0 100.0 100.0 96.0 107.0 104.0 103.0 104.0 103.0 100.0 104.0 107.0 101.0 105.0 100.0 102.0 104.0 97.0 107.0 107.0 109.0 106.0 102.0 106.0 99.0 99.0 93.0 95.0 93.0 87.0 88.0 87.0 91.0 87.0 87.0 80.0 80.0 81.0 73.0 73.0 65.0 65.0 67.0 65.0 67.0 67.0 68.0 63.0 61.0 61.0 55.0 55.0 53.0 49.0 46.0 46.0 48.0 47.0 41.0 37.0 39.0 30.0 33.0 34.0 27.0 27.0 21.0 21.0 21.0 14.0 17.0 16.0 14.0 17.0 11.0 8.0 8.0 7.0 2.0 2.0 2.0 -1.0 -4.0 -1.0 2.0 -4.0 -5.0 -6.0 -4.0 -7.0 -4.0 -7.0 -10.0 -15.0 -18.0 -21.0 -18.0 -14.0 -16.0 -13.0 -17.0 -20.0 -20.0 -23.0 -26.0 -22.0 -24.0 -28.0 -29.0 -32.0 -35.0 -37.0 -36.0 -39.0 -42.0 -42.0 -44.0 -47.0 -48.0 -50.0 -58.0 -60.0 -58.0 -58.0 -58.0 -61.0 -63.0 -73.0 -72.0 -81.0 -81.0 -79.0 -87.0 -83.0 -88.0 -88.0 -93.0 -96.0 -100.0 -101.0 -100.0 -99.0 -103.0 -105.0 -99.0 -100.0 -101.0 -101.0 -103.0 -105.0 -108.0 -109.0 -101.0 -108.0 -107.0 -105.0 -104.0 -102.0 -102.0 -100.0 -103.0 -99.0 -98.0 -97.0 -96.0 -95.0 -95.0 -95.0 -95.0 -96.0 -100.0 -99.0 -100.0 -100.0 -101.0 -101.0 -109.0 -109.0 -109.0 -115.0 -111.0 -113.0 -118.0 -117.0 -123.0 -126.0 -122.0 -122.0 -123.0 -125.0 -123.0 -132.0 -132.0 -134.0 -136.0 -138.0 -136.0 -131.0 -137.0 -140.0 -142.0 -146.0 -147.0 -147.0 -146.0 -146.0 -153.0 -145.0 -148.0 -158.0 -156.0 -160.0 -159.0 -160.0 -156.0 -160.0 -164.0 -159.0 -158.0 -157.0 -164.0 -161.0 -156.0 -164.0 -162.0 -161.0 -163.0 -165.0 -164.0 -166.0 -163.0 -168.0 -169.0 -174.0 -174.0 -176.0 -185.0 -186.0 -187.0 -189.0 -194.0 -189.0 -194.0 -194.0 -198.0 -199.0 -198.0 -204.0 -199.0 -201.0 -203.0 -205.0 -205.0 -208.0 -207.0 -208.0 -206.0 -208.0 -208.0 -204.0 -204.0 -201.0 -204.0 -202.0 -201.0 -205.0 -203.0 -200.0 -201.0 -198.0 -197.0 -202.0 -205.0 -199.0 -202.0 -199.0 -199.0 -201.0 -194.0 -196.0 -194.0 -193.0 -193.0 -191.0 -190.0 -191.0 -195.0 -192.0 -194.0 -197.0 -195.0 -198.0 -193.0 -197.0 -194.0 -194.0 -191.0 -188.0 -193.0 -189.0 -188.0 -187.0 -188.0 -184.0 -187.0 -190.0 -193.0 -191.0 -188.0 -190.0 -188.0 -189.0 -187.0 -187.0 -190.0 -194.0 -194.0 -195.0 -191.0 -189.0 -190.0 -194.0 -186.0 -195.0 -192.0 -193.0 -199.0 -194.0 -193.0 -190.0 -191.0 -192.0 -188.0 -186.0 -191.0 -187.0 -190.0 -191.0 -192.0 -190.0 -191.0 -189.0 -190.0 -188.0 -184.0 -190.0 -189.0 -187.0 -187.0 -187.0 -182.0 -183.0 -183.0 -182.0 -180.0 -180.0 -179.0 -175.0 -170.0 -170.0 -167.0 -166.0 -167.0 -162.0 -159.0 -157.0 -155.0 -151.0 -150.0 -148.0 -148.0 -148.0 -143.0 -139.0 -138.0 -141.0 -141.0 -143.0 -139.0 -132.0 -132.0 -133.0 -132.0 -135.0 -135.0 -134.0 -140.0 -140.0 -139.0 -140.0 -147.0 -145.0 -147.0 -154.0 -154.0 -154.0 -158.0 -158.0 -158.0 -163.0 -167.0 -167.0 -163.0 -167.0 -167.0 -164.0 -167.0 -169.0 -171.0 -176.0 -179.0 -180.0 -184.0 -186.0 -185.0 -187.0 -185.0 -185.0 -190.0 -188.0 -192.0 -194.0 -191.0 -190.0 -189.0 -190.0 -190.0 -193.0 -192.0 -187.0 -186.0 -187.0 -187.0 -181.0 -181.0 -179.0 -173.0 -173.0 -170.0 -168.0 -170.0 -164.0 -159.0 -160.0 -164.0 -163.0 -156.0 -151.0 -151.0 -151.0 -141.0 -144.0 -138.0 -138.0 -141.0 -132.0 -129.0 -123.0 -119.0 -118.0 -118.0 -120.0 -115.0 -114.0 -114.0 -107.0 -109.0 -109.0 -108.0 -106.0 -105.0 -108.0 -104.0 -98.0 -98.0 -101.0 -101.0 -99.0 -94.0 -93.0 -93.0 -95.0 -96.0 -91.0 -92.0 -95.0 -91.0 -90.0 -91.0 -89.0 -87.0 -86.0 -91.0 -89.0 -92.0 -94.0 -92.0 -90.0 -87.0 -90.0 -88.0 -85.0 -85.0 -88.0 -89.0 -87.0 -89.0 -88.0 -88.0 -89.0 -88.0 -85.0 -88.0 -89.0 -83.0 -80.0 -79.0 -76.0 -74.0 -69.0 -70.0 -66.0 -66.0 -64.0 -61.0 -60.0 -59.0 -58.0 -51.0 -51.0 -50.0 -47.0 -43.0 -40.0 -37.0 -36.0 -25.0 -21.0 -20.0 -10.0 -5.0 -2.0 1.0 1.0 2.0 2.0 4.0 6.0 16.0 17.0 15.0 16.0 19.0 24.0 29.0 27.0 27.0 33.0 30.0 30.0 30.0 27.0 27.0 27.0 26.0 27.0 24.0 29.0 31.0 27.0 26.0 25.0 26.0 27.0 26.0 30.0 28.0 26.0 27.0 27.0 32.0 29.0 23.0 26.0 30.0 28.0 28.0 27.0 32.0 33.0 33.0 36.0 36.0 39.0 32.0 38.0 43.0 38.0 38.0 36.0 38.0 40.0 43.0 41.0 40.0 42.0 43.0 46.0 46.0 50.0 53.0 50.0 53.0 56.0 56.0 57.0 64.0 67.0 67.0 67.0 69.0 76.0 74.0 74.0 75.0 79.0 83.0 83.0 82.0 82.0 87.0 92.0 99.0 100.0 102.0 105.0 107.0 107.0 111.0 115.0 116.0 118.0 122.0 120.0 116.0 123.0 129.0 126.0 127.0 127.0 126.0 130.0 130.0 129.0 128.0 134.0 136.0 133.0 133.0 135.0 133.0 137.0 138.0 134.0 139.0 138.0 137.0 142.0 143.0 141.0 142.0 143.0 143.0 144.0 145.0 143.0 142.0 141.0 140.0 138.0 140.0 137.0 135.0 143.0 138.0 137.0 138.0 137.0 140.0 141.0 145.0 145.0 147.0 148.0 148.0 150.0 146.0 144.0 146.0 151.0 152.0 155.0 153.0 152.0 152.0 153.0 152.0 151.0 156.0 149.0 151.0 147.0 148.0 149.0 147.0 149.0 147.0 149.0 151.0 149.0 150.0 151.0 148.0 152.0 157.0 155.0 156.0 160.0 158.0 164.0 166.0 167.0 171.0 171.0 167.0 168.0 174.0 178.0 180.0 183.0 181.0 182.0 184.0 183.0 184.0 181.0 187.0 186.0 185.0 181.0 181.0 185.0 185.0 185.0 186.0 186.0 183.0 185.0 183.0 183.0 178.0 179.0 181.0 177.0 175.0 175.0 179.0 175.0 176.0 174.0 169.0 173.0 173.0 169.0 169.0 169.0 167.0 171.0 171.0 170.0 168.0 169.0 167.0 167.0 166.0 168.0 165.0 164.0 167.0 163.0 167.0 169.0 165.0 168.0 174.0 173.0 173.0 176.0 179.0 178.0 177.0 176.0 182.0 182.0 184.0 183.0 188.0 188.0 187.0 194.0 188.0 187.0 188.0 192.0 195.0 196.0 192.0 193.0 192.0 192.0 191.0 188.0 191.0 188.0 190.0 186.0 184.0 182.0 181.0 182.0 182.0 178.0 176.0 177.0 178.0 176.0 174.0 177.0 177.0 175.0 173.0 169.0 169.0 172.0 170.0 171.0 166.0 167.0 164.0 165.0 166.0 163.0 166.0 164.0 166.0 166.0 166.0 164.0 164.0 162.0 164.0 160.0 158.0 158.0 155.0 155.0 150.0 154.0 152.0 151.0 155.0 151.0 150.0 153.0 151.0 152.0 155.0 156.0 151.0 152.0 149.0 154.0 157.0 153.0 153.0 149.0 149.0 151.0 149.0 149.0 147.0 146.0 149.0 145.0 146.0 144.0 140.0 141.0 140.0 135.0 133.0 134.0 135.0 133.0 132.0 128.0 131.0 133.0 132.0 132.0 133.0 131.0 131.0 130.0 132.0 135.0 134.0 132.0 133.0 132.0 126.0 125.0 126.0 123.0 123.0 123.0 119.0 122.0 120.0 117.0 113.0 113.0 110.0 109.0 108.0 104.0 99.0 99.0 102.0 98.0 97.0 103.0 101.0 97.0 97.0 95.0 94.0 99.0 97.0 93.0 92.0 92.0 90.0 91.0 90.0 89.0 92.0 93.0 95.0 92.0 96.0 95.0 92.0 92.0 90.0 89.0 92.0 92.0 92.0 92.0 90.0 89.0 91.0 88.0 91.0 87.0 85.0 86.0 83.0 83.0 79.0 77.0 73.0 75.0 73.0 71.0 71.0 72.0 73.0 72.0 72.0 75.0 73.0 75.0 73.0 71.0 68.0 63.0 65.0 63.0 68.0 61.0 58.0 58.0 55.0 55.0 51.0 52.0 46.0 50.0 51.0 49.0 46.0 36.0 40.0 43.0 36.0 34.0 39.0 36.0 34.0 35.0 30.0 30.0 27.0 23.0 24.0 20.0 24.0 26.0 23.0 23.0 20.0 21.0 18.0 17.0 15.0 13.0 20.0 16.0 11.0 12.0 9.0 7.0 6.0 7.0 4.0 3.0 0.0 -2.0 -3.0 -6.0 -4.0 -6.0 -7.0 -6.0 -12.0 -13.0 -13.0 -13.0 -12.0 -13.0 -14.0 -14.0 -14.0 -17.0 -19.0 -19.0 -18.0 -20.0 -19.0 -23.0 -20.0 -23.0 -24.0 -21.0 -25.0 -25.0 -27.0 -33.0 -35.0 -34.0 -38.0 -40.0 -43.0 -44.0 -45.0 -45.0 -45.0 -48.0 -48.0 -49.0 -47.0 -48.0 -50.0 -53.0 -54.0 -58.0 -63.0 -59.0 -62.0 -60.0 -61.0 -65.0 -63.0 -62.0 -64.0 -65.0 -66.0 -67.0 -67.0 -66.0 -69.0 -67.0 -68.0 -68.0 -71.0 -74.0 -72.0 -75.0 -70.0 -71.0 -75.0 -74.0 -76.0 -75.0 -75.0 -78.0 -74.0 -77.0 -78.0 -77.0 -81.0 -80.0 -78.0 -81.0 -75.0 -78.0 -76.0 -75.0 -78.0 -77.0 -76.0 -71.0 -75.0 -70.0 -76.0 -73.0 -70.0 -73.0 -71.0 -73.0 -71.0 -72.0 -70.0 -73.0 -74.0 -75.0 -76.0 -75.0 -77.0 -77.0 -77.0 -75.0 -74.0 -76.0 -76.0 -79.0 -82.0 -82.0 -84.0 -89.0 -87.0 -85.0 -88.0 -85.0 -86.0 -90.0 -86.0 -84.0 -90.0 -90.0 -92.0 -94.0 -94.0 -92.0 -93.0 -95.0 -96.0 -98.0 -102.0 -101.0 -100.0 -100.0 -96.0 -99.0 -100.0 -100.0 -99.0 -99.0 -99.0 -99.0 -103.0 -100.0 -98.0 -102.0 -104.0 -98.0 -102.0 -102.0 -104.0 -104.0 -102.0 -104.0 -101.0 -100.0 -99.0 -100.0 -102.0 -99.0 -92.0 -91.0 -92.0 -89.0 -85.0 -83.0 -83.0 -83.0 -82.0 -79.0 -78.0 -84.0 -80.0 -81.0 -81.0 -78.0 -81.0 -78.0 -79.0 -79.0 -77.0 -75.0 -78.0 -75.0 -72.0 -72.0 -78.0 -78.0 -76.0 -79.0 -79.0 -80.0 -79.0 -80.0 -82.0 -85.0 -84.0 -88.0 -89.0 -88.0 -87.0 -89.0 -89.0 -92.0 -94.0 -93.0 -98.0 -98.0 -102.0 -102.0 -103.0 -101.0 -101.0 -103.0 -107.0 -105.0 -104.0 -107.0 -105.0 -105.0 -103.0 -104.0 -102.0 -100.0 -99.0 -103.0 -98.0 -101.0 -101.0 -98.0 -103.0 -100.0 -100.0 -97.0 -97.0 -94.0 -93.0 -94.0 -91.0 -91.0 -86.0 -88.0 -93.0 -92.0 -89.0 -89.0 -86.0 -88.0 -88.0 -83.0 -80.0 -79.0 -80.0 -82.0 -81.0 -79.0 -76.0 -81.0 -78.0 -81.0 -83.0 -84.0 -82.0 -85.0 -87.0 -81.0 -84.0 -81.0 -83.0 -84.0 -81.0 -79.0 -80.0 -81.0 -78.0 -80.0 -80.0 -81.0 -82.0 -83.0 -84.0 -90.0 -84.0 -86.0 -91.0 -92.0 -94.0 -96.0 -93.0 -93.0 -97.0 -99.0 -101.0 -103.0 -102.0 -108.0 -111.0 -111.0 -113.0 -112.0 -117.0 -117.0 -111.0 -115.0 -113.0 -112.0 -114.0 -114.0 -118.0 -115.0 -114.0 -120.0 -121.0 -119.0 -119.0 -120.0 -120.0 -121.0 -120.0 -118.0 -119.0 -119.0 -119.0 -116.0 -117.0 -116.0 -115.0 -112.0 -111.0 -116.0 -115.0 -115.0 -118.0 -119.0 -120.0 -122.0 -120.0 -123.0 -119.0 -121.0 -123.0 -121.0 -122.0 -120.0 -123.0 -122.0 -125.0 -125.0 -127.0 -127.0 -127.0 -128.0 -132.0 -132.0 -132.0 -132.0 -137.0 -139.0 -140.0 -140.0 -139.0 -140.0 -138.0 -137.0 -134.0 -135.0 -137.0 -136.0 -135.0 -134.0 -131.0 -132.0 -128.0 -131.0 -134.0 -129.0 -131.0 -128.0 -126.0 -127.0 -123.0 -121.0 -124.0 -124.0 -120.0 -121.0 -125.0 -122.0 -124.0 -123.0 -121.0 -121.0 -120.0 -120.0 -121.0 -121.0 -119.0 -117.0 -111.0 -116.0 -117.0 -118.0 -117.0 -115.0 -114.0 -111.0 -112.0 -114.0 -113.0 -111.0 -113.0 -111.0 -109.0 -108.0 -109.0 -109.0 -108.0 -107.0 -105.0 -104.0 -105.0 -104.0 -102.0 -100.0 -99.0 -102.0 -102.0 -97.0 -102.0 -103.0 -104.0 -103.0 -104.0 -102.0 -105.0 -112.0 -105.0 -106.0 -107.0 -108.0 -107.0 -109.0 -110.0 -107.0 -109.0 -109.0 -107.0 -106.0 -106.0 -106.0 -104.0 -104.0 -101.0 -100.0 -101.0 -99.0 -97.0 -102.0 -95.0 -94.0 -98.0 -95.0 -98.0 -94.0 -96.0 -97.0 -93.0 -95.0 -94.0 -91.0 -94.0 -93.0 -91.0 -94.0 -93.0 -90.0 -90.0 -88.0 -89.0 -91.0 -92.0 -92.0 -93.0 -89.0 -89.0 -94.0 -88.0 -89.0 -86.0 -83.0 -84.0 -82.0 -79.0 -79.0 -77.0 -85.0 -82.0 -80.0 -82.0 -80.0 -83.0 -80.0 -79.0 -78.0 -78.0 -83.0 -78.0 -77.0 -77.0 -81.0 -80.0 -82.0 -81.0 -82.0 -81.0 -78.0 -86.0 -85.0 -87.0 -87.0 -87.0 -83.0 -85.0 -84.0 -81.0 -84.0 -82.0 -82.0 -80.0 -81.0 -73.0 -72.0 -70.0 -70.0 -68.0 -65.0 -64.0 -61.0 -59.0 -55.0 -57.0 -53.0 -48.0 -48.0 -44.0 -40.0 -39.0 -41.0 -38.0 -38.0 -38.0 -36.0 -36.0 -34.0 -34.0 -32.0 -31.0 -31.0 -33.0 -38.0 -38.0 -35.0 -31.0 -30.0 -33.0 -34.0 -31.0 -31.0 -33.0 -35.0 -36.0 -35.0 -38.0 -40.0 -37.0 -35.0 -39.0 -35.0 -33.0 -33.0 -34.0 -35.0 -34.0 -33.0 -30.0 -32.0 -32.0 -30.0 -33.0 -31.0 -30.0 -33.0 -31.0 -34.0 -31.0 -32.0 -28.0 -26.0 -26.0 -25.0 -23.0 -21.0 -22.0 -19.0 -19.0 -15.0 -14.0 -16.0 -17.0 -14.0 -15.0 -14.0 -17.0 -18.0 -15.0 -18.0 -14.0 -10.0 -14.0 -17.0 -7.0 -8.0 -10.0 -9.0 -8.0 -9.0 -7.0 -7.0 -11.0 -10.0 -10.0 -6.0 -8.0 -3.0 -3.0 -6.0 -1.0 1.0 4.0 6.0 8.0 9.0 12.0 11.0 12.0 10.0 10.0 9.0 9.0 6.0 10.0 10.0 8.0 7.0 8.0 8.0 4.0 11.0 8.0 12.0 12.0 9.0 11.0 15.0 12.0 13.0 13.0 13.0 18.0 15.0 14.0 14.0 18.0 19.0 21.0 19.0 21.0 19.0 19.0 20.0 20.0 26.0 22.0 23.0 24.0 29.0 30.0 30.0 35.0 31.0 33.0 37.0 39.0 40.0 44.0 46.0 50.0 48.0 50.0 54.0 52.0 52.0 55.0 55.0 55.0 58.0 55.0 56.0 53.0 53.0 53.0 54.0 54.0 51.0 52.0 54.0 53.0 49.0 51.0 51.0 51.0 51.0 55.0 53.0 55.0 55.0 56.0 55.0 52.0 54.0 54.0 55.0 60.0 64.0 60.0 62.0 64.0 66.0 66.0 69.0 69.0 71.0 72.0 72.0 76.0 75.0 76.0 84.0 87.0 89.0 89.0 91.0 96.0 98.0 100.0 102.0 103.0 104.0 106.0 109.0 108.0 109.0 111.0 110.0 113.0 115.0 113.0 110.0 112.0 113.0 117.0 117.0 118.0 116.0 115.0 115.0 114.0 116.0 115.0 114.0 113.0 112.0 113.0 113.0 114.0 113.0 109.0 111.0 112.0 111.0 109.0 111.0 110.0 111.0 113.0 113.0 115.0 111.0 109.0 113.0 112.0 109.0 111.0 110.0 111.0 113.0 113.0 109.0 113.0 114.0 113.0 118.0 117.0 121.0 121.0 122.0 129.0 127.0 129.0 134.0 132.0 133.0 138.0 141.0 140.0 139.0 140.0 142.0 147.0 147.0 148.0 150.0 153.0 151.0 152.0 153.0 152.0 154.0 155.0 159.0 160.0 164.0 164.0 166.0 164.0 166.0 173.0 177.0 178.0 176.0 178.0 180.0 180.0 177.0 178.0 181.0 183.0 183.0 184.0 183.0 189.0 187.0 185.0 188.0 185.0 186.0 191.0 188.0 188.0 189.0 187.0 188.0 186.0 189.0 187.0 191.0 191.0 188.0 188.0 189.0 190.0 187.0 189.0 192.0 191.0 190.0 190.0 190.0 191.0 191.0 193.0 189.0 192.0 190.0 190.0 192.0 190.0 196.0 195.0 196.0 196.0 196.0 202.0 199.0 198.0 198.0 203.0 200.0 200.0 202.0 201.0 204.0 205.0 206.0 208.0 209.0 207.0 209.0 210.0 210.0 211.0 213.0 212.0 214.0 214.0 215.0 210.0 211.0 216.0 207.0 209.0 205.0 201.0 201.0 203.0 201.0 195.0 196.0 193.0 196.0 194.0 194.0 198.0 197.0 196.0 195.0 192.0 190.0 191.0 189.0 187.0 185.0 184.0 180.0 179.0 179.0 177.0 177.0 171.0 176.0 173.0 171.0 173.0 173.0 175.0 174.0 170.0 171.0 170.0 170.0 169.0 172.0 174.0 169.0 169.0 167.0 166.0 166.0 169.0 164.0 163.0 164.0 164.0 162.0 157.0 158.0 160.0 160.0 157.0 156.0 155.0 152.0 151.0 153.0 150.0 150.0 149.0 146.0 146.0 147.0 144.0 144.0 147.0 144.0 145.0 146.0 145.0 143.0 145.0 141.0 141.0 141.0 141.0 145.0 141.0 143.0 143.0 144.0 142.0 139.0 139.0 136.0 135.0 136.0 134.0 135.0 134.0 131.0 129.0 128.0 124.0 122.0 123.0 119.0 121.0 119.0 115.0 111.0 112.0 109.0 105.0 103.0 103.0 102.0 98.0 98.0 96.0 95.0 91.0 94.0 93.0 91.0 92.0 93.0 91.0 89.0 89.0 88.0 89.0 89.0 86.0 82.0 80.0 78.0 71.0 75.0 76.0 70.0 69.0 69.0 69.0 68.0 65.0 65.0 66.0 65.0 64.0 64.0 58.0 54.0 56.0 55.0 52.0 48.0 46.0 45.0 45.0 43.0 41.0 37.0 38.0 35.0 29.0 34.0 31.0 30.0 32.0 28.0 26.0 24.0 21.0 21.0 19.0 18.0 14.0 16.0 9.0 4.0 6.0 3.0 0.0 -5.0 -4.0 -5.0 -9.0 -11.0 -13.0 -14.0 -15.0 -19.0 -24.0 -22.0 -24.0 -27.0 -26.0 -29.0 -28.0 -29.0 -37.0 -37.0 -37.0 -43.0 -43.0 -41.0 -42.0 -45.0 -45.0 -46.0 -46.0 -48.0 -50.0 -52.0 -53.0 -53.0 -56.0 -54.0 -58.0 -61.0 -63.0 -60.0 -61.0 -64.0 -65.0 -67.0 -65.0 -67.0 -71.0 -71.0 -76.0 -77.0 -77.0 -80.0 -79.0 -86.0 -81.0 -81.0 -85.0 -84.0 -84.0 -87.0 -88.0 -87.0 -90.0 -93.0 -94.0 -92.0 -95.0 -93.0 -90.0 -92.0 -92.0 -91.0 -90.0 -95.0 -90.0 -92.0 -91.0 -91.0 -93.0 -91.0 -94.0 -93.0 -92.0 -95.0 -95.0 -94.0 -94.0 -97.0 -96.0 -97.0 -101.0 -100.0 -100.0 -101.0 -104.0 -103.0 -108.0 -109.0 -111.0 -117.0 -119.0 -116.0 -118.0 -124.0 -122.0 -122.0 -126.0 -126.0 -128.0 -131.0 -135.0 -139.0 -140.0 -142.0 -141.0 -147.0 -147.0 -153.0 -156.0 -156.0 -156.0 -155.0 -156.0 -160.0 -159.0 -159.0 -161.0 -161.0 -166.0 -165.0 -167.0 -163.0 -166.0 -165.0 -164.0 -167.0 -165.0 -162.0 -163.0 -162.0 -162.0 -167.0 -164.0 -166.0 -166.0 -165.0 -170.0 -167.0 -167.0 -169.0 -170.0 -173.0 -172.0 -172.0 -176.0 -177.0 -179.0 -179.0 -179.0 -183.0 -186.0 -187.0 -188.0 -189.0 -189.0 -189.0 -194.0 -198.0 -200.0 -202.0 -201.0 -204.0 -206.0 -204.0 -204.0 -210.0 -208.0 -210.0 -209.0 -210.0 -209.0 -210.0 -207.0 -210.0 -209.0 -212.0 -216.0 -215.0 -221.0 -215.0 -216.0 -215.0 -216.0 -217.0 -218.0 -218.0 -218.0 -221.0 -224.0 -219.0 -224.0 -230.0 -231.0 -228.0 -236.0 -234.0 -232.0 -237.0 -235.0 -239.0 -234.0 -236.0 -234.0 -235.0 -236.0 -234.0 -235.0 -236.0 -232.0 -235.0 -240.0 -237.0 -236.0 -237.0 -240.0 -240.0 -238.0 -240.0 -237.0 -239.0 -234.0 -236.0 -240.0 -239.0 -243.0 -240.0 -239.0 -233.0 -236.0 -232.0 -234.0 -235.0 -229.0 -231.0 -233.0 -234.0 -234.0 -234.0 -232.0 -231.0 -233.0 -234.0 -232.0 -232.0 -233.0 -232.0 -236.0 -233.0 -231.0 -235.0 -234.0 -233.0 -231.0 -233.0 -233.0 -232.0 -235.0 -235.0 -235.0 -233.0 -230.0 -230.0 -229.0 -228.0 -228.0 -230.0 -226.0 -228.0 -232.0 -232.0 -234.0 -234.0 -230.0 -231.0 -236.0 -233.0 -234.0 -235.0 -235.0 -232.0 -232.0 -235.0 -233.0 -231.0 -234.0 -236.0 -236.0 -238.0 -240.0 -238.0 -238.0 -239.0 -241.0 -238.0 -241.0 -241.0 -241.0 -239.0 -241.0 -244.0 -247.0 -248.0 -247.0 -250.0 -247.0 -249.0 -245.0 -246.0 -246.0 -245.0 -242.0 -242.0 -242.0 -237.0 -239.0 -239.0 -243.0 -238.0 -239.0 -240.0 -238.0 -236.0 -235.0 -235.0 -234.0 -232.0 -231.0 -229.0 -228.0 -224.0 -222.0 -223.0 -219.0 -218.0 -215.0 -213.0 -215.0 -214.0 -209.0 -210.0 -210.0 -208.0 -207.0 -208.0 -205.0 -203.0 -204.0 -204.0 -201.0 -201.0 -203.0 -203.0 -205.0 -201.0 -204.0 -203.0 -202.0 -204.0 -202.0 -201.0 -199.0 -202.0 -201.0 -200.0 -196.0 -193.0 -194.0 -197.0 -197.0 -197.0 -196.0 -192.0 -197.0 -192.0 -186.0 -187.0 -187.0 -185.0 -187.0 -184.0 -181.0 -181.0 -176.0 -176.0 -175.0 -172.0 -169.0 -169.0 -167.0 -169.0 -166.0 -164.0 -162.0 -158.0 -157.0 -150.0 -150.0 -147.0 -146.0 -142.0 -144.0 -141.0 -134.0 -132.0 -132.0 -133.0 -131.0 -128.0 -123.0 -125.0 -122.0 -122.0 -122.0 -122.0 -118.0 -115.0 -112.0 -110.0 -112.0 -107.0 -106.0 -107.0 -105.0 -104.0 -103.0 -98.0 -99.0 -99.0 -95.0 -90.0 -89.0 -93.0 -90.0 -87.0 -85.0 -85.0 -84.0 -80.0 -76.0 -81.0 -82.0 -74.0 -75.0 -74.0 -75.0 -74.0 -70.0 -71.0 -70.0 -74.0 -72.0 -66.0 -67.0 -67.0 -69.0 -68.0 -66.0 -62.0 -60.0 -60.0 -59.0 -56.0 -56.0 -56.0 -53.0 -51.0 -50.0 -48.0 -47.0 -46.0 -47.0 -45.0 -43.0 -42.0 -41.0 -36.0 -37.0 -36.0 -33.0 -31.0 -25.0 -24.0 -21.0 -20.0 -16.0 -14.0 -11.0 -9.0 -7.0 -5.0 -2.0 -6.0 0.0 1.0 0.0 2.0 3.0 10.0 13.0 12.0 15.0 18.0 18.0 19.0 19.0 16.0 16.0 19.0 17.0 18.0 21.0 18.0 23.0 19.0 17.0 22.0 23.0 25.0 19.0 23.0 26.0 21.0 24.0 25.0 29.0 27.0 27.0 27.0 32.0 41.0 38.0 37.0 41.0 46.0 45.0 48.0 54.0 53.0 62.0 61.0 64.0 67.0 68.0 72.0 71.0 72.0 74.0 79.0 84.0 85.0 83.0 85.0 90.0 95.0 96.0 101.0 100.0 102.0 100.0 100.0 105.0 103.0 107.0 109.0 109.0 113.0 111.0 111.0 114.0 115.0 123.0 122.0 120.0 130.0 126.0 127.0 123.0 123.0 127.0 128.0 128.0 132.0 131.0 130.0 136.0 132.0 137.0 141.0 139.0 142.0 142.0 145.0 149.0 151.0 155.0 160.0 154.0 157.0 156.0 157.0 158.0 161.0 167.0 164.0 167.0 169.0 171.0 173.0 170.0 172.0 174.0 171.0 171.0 175.0 170.0 171.0 171.0 173.0 172.0 173.0 178.0 177.0 180.0 182.0 182.0 180.0 180.0 182.0 181.0 185.0 187.0 190.0 194.0 194.0 198.0 198.0 202.0 200.0 203.0 205.0 206.0 210.0 209.0 213.0 210.0 214.0 218.0 216.0 217.0 220.0 218.0 220.0 222.0 222.0 223.0 223.0 225.0 226.0 227.0 232.0 236.0 229.0 234.0 235.0 235.0 237.0 233.0 241.0 240.0 239.0 239.0 237.0 237.0 234.0 237.0 237.0 236.0 237.0 237.0 234.0 238.0 242.0 246.0 247.0 245.0 245.0 247.0 249.0 244.0 247.0 246.0 251.0 251.0 250.0 253.0 251.0 257.0 258.0 256.0 258.0 260.0 263.0 259.0 257.0 260.0 262.0 262.0 263.0 266.0 263.0 265.0 268.0 267.0 267.0 268.0 267.0 269.0 267.0 269.0 269.0 269.0 271.0 271.0 273.0 271.0 269.0 271.0 271.0 268.0 268.0 274.0 273.0 272.0 270.0 271.0 270.0 274.0 273.0 268.0 268.0 268.0 268.0 274.0 270.0 269.0 273.0 274.0 273.0 274.0 275.0 272.0 274.0 274.0 278.0 276.0 275.0 271.0 269.0 273.0 271.0 272.0 271.0 277.0 279.0 279.0 274.0 273.0 274.0 274.0 277.0 272.0 276.0 277.0 277.0 274.0 274.0 277.0 277.0 277.0 274.0 270.0 271.0 273.0 276.0 273.0 271.0 272.0 273.0 276.0 277.0 276.0 277.0 275.0 273.0 273.0 271.0 274.0 270.0 272.0 272.0 273.0 273.0 269.0 268.0 265.0 266.0 264.0 264.0 268.0 265.0 264.0 263.0 258.0 256.0 259.0 261.0 256.0 258.0 260.0 259.0 259.0 260.0 261.0 259.0 260.0 259.0 255.0 254.0 250.0 251.0 253.0 248.0 253.0 253.0 251.0 248.0 251.0 248.0 246.0 252.0 250.0 248.0 245.0 248.0 244.0 240.0 240.0 238.0 238.0 240.0 240.0 238.0 237.0 238.0 239.0 238.0 238.0 237.0 235.0 234.0 236.0 236.0 237.0 236.0 233.0 233.0 232.0 232.0 231.0 227.0 229.0 227.0 227.0 227.0 225.0 225.0 223.0 229.0 225.0 223.0 223.0 220.0 221.0 219.0 219.0 225.0 219.0 217.0 218.0 219.0 219.0 216.0 218.0 218.0 216.0 215.0 217.0 215.0 217.0 218.0 218.0 217.0 216.0 216.0 210.0 208.0 213.0 208.0 206.0 207.0 205.0 210.0 206.0 204.0 206.0 205.0 202.0 204.0 201.0 204.0 201.0 196.0 198.0 196.0 195.0 191.0 190.0 189.0 187.0 183.0 187.0 182.0 183.0 181.0 176.0 175.0 173.0 174.0 174.0 172.0 171.0 173.0 168.0 167.0 166.0 160.0 159.0 160.0 154.0 153.0 154.0 153.0 151.0 150.0 154.0 148.0 146.0 150.0 146.0 147.0 142.0 142.0 137.0 137.0 134.0 130.0 133.0 127.0 127.0 126.0 126.0 128.0 130.0 128.0 127.0 129.0 123.0 119.0 122.0 118.0 117.0 114.0 116.0 114.0 114.0 108.0 107.0 110.0 103.0 101.0 102.0 104.0 100.0 97.0 94.0 95.0 97.0 93.0 92.0 92.0 92.0 95.0 94.0 95.0 91.0 89.0 87.0 87.0 84.0 79.0 79.0 79.0 81.0 81.0 81.0 80.0 81.0 82.0 78.0 79.0 79.0 72.0 72.0 71.0 67.0 65.0 63.0 64.0 61.0 57.0 56.0 53.0 52.0 54.0 52.0 50.0 50.0 48.0 48.0 47.0 45.0 45.0 44.0 40.0 34.0 37.0 34.0 33.0 33.0 31.0 30.0 27.0 22.0 24.0 21.0 23.0 23.0 19.0 19.0 17.0 17.0 16.0 17.0 16.0 17.0 16.0 14.0 16.0 15.0 14.0 11.0 14.0 13.0 9.0 10.0 8.0 3.0 8.0 2.0 3.0 -1.0 -3.0 -3.0 -6.0 -4.0 -9.0 -5.0 -6.0 -10.0 -15.0 -16.0 -17.0 -22.0 -23.0 -23.0 -25.0 -29.0 -32.0 -35.0 -39.0 -38.0 -41.0 -41.0 -38.0 -46.0 -46.0 -48.0 -48.0 -48.0 -48.0 -51.0 -50.0 -52.0 -57.0 -56.0 -56.0 -58.0 -60.0 -58.0 -62.0 -61.0 -61.0 -65.0 -63.0 -60.0 -60.0 -61.0 -60.0 -56.0 -56.0 -59.0 -58.0 -55.0 -57.0 -60.0 -62.0 -62.0 -60.0 -59.0 -65.0 -68.0 -66.0 -66.0 -64.0 -68.0 -67.0 -71.0 -71.0 -68.0 -65.0 -66.0 -71.0 -70.0 -72.0 -71.0 -74.0 -75.0 -79.0 -77.0 -80.0 -85.0 -84.0 -86.0 -85.0 -85.0 -89.0 -88.0 -94.0 -94.0 -93.0 -96.0 -96.0 -99.0 -102.0 -105.0 -104.0 -107.0 -106.0 -109.0 -108.0 -109.0 -112.0 -109.0 -109.0 -115.0 -112.0 -110.0 -114.0 -116.0 -116.0 -118.0 -115.0 -117.0 -118.0 -119.0 -121.0 -121.0 -121.0 -124.0 -125.0 -129.0 -127.0 -124.0 -128.0 -124.0 -128.0 -130.0 -129.0 -129.0 -128.0 -134.0 -133.0 -133.0 -134.0 -135.0 -130.0 -135.0 -137.0 -133.0 -139.0 -142.0 -140.0 -140.0 -145.0 -144.0 -148.0 -150.0 -147.0 -149.0 -150.0 -152.0 -148.0 -151.0 -150.0 -147.0 -148.0 -152.0 -155.0 -156.0 -155.0 -155.0 -153.0 -151.0 -153.0 -157.0 -158.0 -157.0 -161.0 -166.0 -163.0 -162.0 -162.0 -165.0 -169.0 -164.0 -167.0 -171.0 -168.0 -174.0 -173.0 -177.0 -182.0 -182.0 -181.0 -183.0 -183.0 -184.0 -188.0 -188.0 -190.0 -187.0 -192.0 -195.0 -197.0 -192.0 -191.0 -193.0 -191.0 -196.0 -195.0 -191.0 -192.0 -196.0 -193.0 -190.0 -193.0 -193.0 -192.0 -192.0 -192.0 -194.0 -195.0 -193.0 -196.0 -191.0 -197.0 -198.0 -199.0 -198.0 -196.0 -198.0 -202.0 -203.0 -202.0 -205.0 -203.0 -203.0 -200.0 -202.0 -203.0 -205.0 -208.0 -210.0 -206.0 -209.0 -208.0 -213.0 -212.0 -214.0 -215.0 -220.0 -223.0 -218.0 -220.0 -219.0 -220.0 -220.0 -219.0 -217.0 -223.0 -223.0 -223.0 -222.0 -221.0 -221.0 -217.0 -221.0 -220.0 -223.0 -219.0 -214.0 -214.0 -212.0 -214.0 -212.0 -211.0 -213.0 -212.0 -212.0 -213.0 -212.0 -211.0 -212.0 -207.0 -209.0 -205.0 -205.0 -210.0 -208.0 -207.0 -210.0 -214.0 -215.0 -216.0 -215.0 -223.0 -219.0 -219.0 -223.0 -221.0 -221.0 -221.0 -223.0 -224.0 -226.0 -226.0 -228.0 -227.0 -227.0 -229.0 -231.0 -233.0 -233.0 -232.0 -235.0 -234.0 -239.0 -240.0 -239.0 -241.0 -243.0 -242.0 -244.0 -248.0 -247.0 -250.0 -251.0 -248.0 -250.0 -254.0 -253.0 -257.0 -259.0 -257.0 -258.0 -260.0 -264.0 -266.0 -263.0 -264.0 -264.0 -264.0 -267.0 -267.0 -268.0 -271.0 -272.0 -269.0 -273.0 -274.0 -277.0 -280.0 -278.0 -281.0 -284.0 -285.0 -281.0 -283.0 -284.0 -285.0 -288.0 -287.0 -286.0 -286.0 -286.0 -286.0 -288.0 -285.0 -286.0 -284.0 -284.0 -285.0 -285.0 -283.0 -286.0 -281.0 -279.0 -278.0 -278.0 -280.0 -283.0 -283.0 -281.0 -281.0 -283.0 -283.0 -283.0 -283.0 -284.0 -284.0 -283.0 -283.0 -285.0 -284.0 -285.0 -289.0 -283.0 -287.0 -288.0 -288.0 -287.0 -289.0 -291.0 -284.0 -286.0 -290.0 -292.0 -292.0 -290.0 -292.0 -293.0 -295.0 -295.0 -295.0 -295.0 -296.0 -302.0 -300.0 -299.0 -300.0 -297.0 -295.0 -297.0 -295.0 -295.0 -299.0 -295.0 -301.0 -294.0 -296.0 -299.0 -297.0 -296.0 -296.0 -296.0 -296.0 -292.0 -294.0 -294.0 -294.0 -295.0 -288.0 -291.0 -291.0 -290.0 -290.0 -289.0 -290.0 -288.0 -285.0 -283.0 -290.0 -285.0 -287.0 -287.0 -286.0 -284.0 -283.0 -286.0 -286.0 -285.0 -286.0 -284.0 -287.0 -287.0 -287.0 -287.0 -277.0 -284.0 -280.0 -280.0 -281.0 -281.0 -277.0 -278.0 -281.0 -274.0 -274.0 -273.0 -275.0 -274.0 -275.0 -274.0 -269.0 -267.0 -268.0 -272.0 -269.0 -268.0 -263.0 -264.0 -262.0 -257.0 -261.0 -254.0 -258.0 -260.0 -260.0 -258.0 -256.0 -254.0 -250.0 -254.0 -246.0 -250.0 -252.0 -252.0 -246.0 -243.0 -247.0 -247.0 -246.0 -244.0 -242.0 -240.0 -245.0 -243.0 -241.0 -245.0 -245.0 -244.0 -244.0 -243.0 -241.0 -239.0 -234.0 -230.0 -231.0 -230.0 -231.0 -231.0 -226.0 -223.0 -220.0 -221.0 -222.0 -220.0 -221.0 -219.0 -218.0 -213.0 -211.0 -210.0 -209.0 -207.0 -202.0 -205.0 -205.0 -200.0 -198.0 -194.0 -192.0 -194.0 -195.0 -192.0 -191.0 -191.0 -187.0 -188.0 -187.0 -183.0 -186.0 -184.0 -180.0 -181.0 -178.0 -176.0 -175.0 -174.0 -175.0 -175.0 -172.0 -169.0 -174.0 -173.0 -174.0 -171.0 -171.0 -167.0 -165.0 -165.0 -163.0 -160.0 -155.0 -158.0 -153.0 -150.0 -148.0 -147.0 -143.0 -144.0 -141.0 -140.0 -144.0 -141.0 -138.0 -134.0 -138.0 -136.0 -134.0 -129.0 -125.0 -125.0 -122.0 -119.0 -118.0 -117.0 -114.0 -113.0 -113.0 -112.0 -106.0 -97.0 -100.0 -101.0 -98.0 -98.0 -93.0 -89.0 -88.0 -84.0 -82.0 -81.0 -78.0 -79.0 -79.0 -78.0 -74.0 -74.0 -70.0 -72.0 -71.0 -69.0 -68.0 -68.0 -67.0 -65.0 -63.0 -60.0 -59.0 -60.0 -58.0 -54.0 -52.0 -50.0 -50.0 -50.0 -44.0 -44.0 -48.0 -45.0 -42.0 -44.0 -48.0 -48.0 -48.0 -47.0 -46.0 -44.0 -42.0 -41.0 -34.0 -32.0 -34.0 -35.0 -28.0 -27.0 -24.0 -21.0 -25.0 -21.0 -21.0 -22.0 -20.0 -17.0 -19.0 -18.0 -17.0 -19.0 -15.0 -12.0 -9.0 -7.0 -7.0 -2.0 1.0 2.0 4.0 9.0 11.0 9.0 13.0 11.0 13.0 21.0 18.0 22.0 27.0 24.0 27.0 29.0 32.0 34.0 35.0 39.0 43.0 46.0 44.0 52.0 51.0 51.0 56.0 59.0 58.0 56.0 63.0 62.0 65.0 61.0 67.0 67.0 69.0 72.0 75.0 76.0 72.0 79.0 77.0 81.0 83.0 83.0 85.0 86.0 84.0 88.0 91.0 91.0 94.0 100.0 104.0 107.0 107.0 105.0 110.0 114.0 117.0 114.0 120.0 120.0 123.0 129.0 128.0 130.0 130.0 136.0 140.0 140.0 142.0 150.0 147.0 148.0 149.0 155.0 161.0 159.0 163.0 161.0 164.0 171.0 169.0 170.0 176.0 178.0 183.0 180.0 181.0 182.0 185.0 187.0 185.0 188.0 189.0 194.0 198.0 200.0 200.0 206.0 207.0 212.0 212.0 214.0 217.0 222.0 224.0 223.0 226.0 225.0 235.0 234.0 238.0 238.0 239.0 246.0 252.0 253.0 257.0 261.0 258.0 262.0 261.0 262.0 267.0 269.0 267.0 272.0 274.0 273.0 276.0 281.0 281.0 279.0 283.0 280.0 284.0 284.0 286.0 289.0 290.0 290.0 291.0 291.0 292.0 290.0 291.0 294.0 292.0 291.0 292.0 293.0 297.0 301.0 298.0 304.0 304.0 305.0 308.0 309.0 311.0 313.0 318.0 314.0 316.0 320.0 320.0 321.0 320.0 322.0 323.0 327.0 331.0 331.0 331.0 332.0 329.0 339.0 342.0 338.0 340.0 341.0 345.0 347.0 344.0 345.0 348.0 347.0 348.0 350.0 348.0 349.0 351.0 348.0 351.0 350.0 346.0 348.0 351.0 350.0 350.0 353.0 350.0 351.0 353.0 358.0 356.0 354.0 355.0 355.0 355.0 358.0 364.0 363.0 362.0 365.0 369.0 369.0 369.0 369.0 370.0 371.0 374.0 376.0 380.0 385.0 382.0 387.0 386.0 386.0 387.0 386.0 388.0 393.0 389.0 388.0 392.0 390.0 387.0 390.0 394.0 392.0 396.0 396.0 399.0 401.0 403.0 404.0 407.0 410.0 409.0 410.0 414.0 413.0 414.0 414.0 411.0 417.0 413.0 412.0 416.0 417.0 418.0 420.0 422.0 418.0 421.0 423.0 422.0 423.0 425.0 423.0 423.0 423.0 423.0 423.0 420.0 420.0 421.0 422.0 417.0 419.0 422.0 419.0 418.0 416.0 414.0 416.0 412.0 410.0 411.0 409.0 408.0 409.0 405.0 403.0 402.0 401.0 399.0 400.0 394.0 391.0 390.0 389.0 391.0 389.0 388.0 387.0 389.0 390.0 385.0 380.0 378.0 376.0 380.0 377.0 373.0 376.0 370.0 369.0 368.0 365.0 366.0 367.0 366.0 366.0 367.0 366.0 368.0 365.0 364.0 362.0 364.0 363.0 360.0 362.0 359.0 358.0 355.0 351.0 349.0 349.0 347.0 350.0 348.0 347.0 346.0 345.0 348.0 341.0 338.0 339.0 338.0 331.0 331.0 332.0 326.0 326.0 321.0 321.0 322.0 315.0 327.0 309.0 317.0 312.0 301.0 324.0 294.0 309.0 310.0 297.0 312.0 298.0 299.0 298.0 299.0 294.0 288.0 293.0 280.0 279.0 280.0 274.0 280.0 267.0 275.0 282.0 274.0 284.0 279.0 278.0 283.0 284.0 281.0 278.0 267.0 261.0 263.0 263.0 263.0 265.0 264.0 263.0 260.0 254.0 255.0 254.0 247.0 246.0 240.0 237.0 239.0 230.0 225.0 224.0 223.0 216.0 208.0 207.0 209.0 201.0 197.0 195.0 195.0 199.0 191.0 185.0 186.0 185.0 182.0 184.0 185.0 187.0 186.0 188.0 182.0 177.0 174.0 168.0 169.0 171.0 173.0 170.0 171.0 172.0 163.0 159.0 157.0 156.0 154.0 153.0 153.0 146.0 147.0 145.0 144.0 135.0 131.0 134.0 132.0 129.0 121.0 118.0 116.0 106.0 106.0 103.0 104.0 100.0 95.0 98.0 92.0 87.0 82.0 81.0 74.0 71.0 68.0 66.0 63.0 57.0 56.0 61.0 58.0 55.0 55.0 50.0 49.0 40.0 38.0 35.0 31.0 30.0 21.0 20.0 16.0 15.0 13.0 5.0 3.0 3.0 -2.0 -7.0 -5.0 -6.0 -6.0 -11.0 -13.0 -15.0 -19.0 -18.0 -19.0 -19.0 -25.0 -24.0 -27.0 -29.0 -30.0 -32.0 -29.0 -35.0 -34.0 -34.0 -32.0 -34.0 -38.0 -40.0 -44.0 -35.0 -39.0 -36.0 -38.0 -43.0 -48.0 -54.0 -51.0 -55.0 -55.0 -62.0 -61.0 -56.0 -63.0 -65.0 -67.0 -72.0 -70.0 -72.0 -77.0 -80.0 -83.0 -82.0 -83.0 -85.0 -83.0 -90.0 -93.0 -98.0 -107.0 -104.0 -109.0 -114.0 -117.0 -117.0 -119.0 -118.0 -118.0 -117.0 -124.0 -123.0 -125.0 -128.0 -123.0 -125.0 -127.0 -130.0 -127.0 -131.0 -132.0 -132.0 -135.0 -136.0 -135.0 -134.0 -135.0 -134.0 -135.0 -137.0 -138.0 -134.0 -137.0 -138.0 -136.0 -137.0 -136.0 -139.0 -137.0 -140.0 -146.0 -148.0 -151.0 -151.0 -154.0 -157.0 -156.0 -156.0 -155.0 -162.0 -165.0 -166.0 -169.0 -168.0 -173.0 -176.0 -180.0 -181.0 -182.0 -190.0 -192.0 -196.0 -201.0 -203.0 -204.0 -208.0 -212.0 -213.0 -216.0 -219.0 -223.0 -223.0 -227.0 -230.0 -230.0 -234.0 -238.0 -240.0 -241.0 -246.0 -248.0 -248.0 -255.0 -254.0 -254.0 -255.0 -256.0 -258.0 -260.0 -264.0 -261.0 -261.0 -260.0 -262.0 -263.0 -260.0 -264.0 -264.0 -263.0 -265.0 -266.0 -264.0 -265.0 -266.0 -267.0 -268.0 -267.0 -268.0 -265.0 -268.0 -268.0 -266.0 -267.0 -267.0 -265.0 -265.0 -264.0 -265.0 -271.0 -272.0 -271.0 -265.0 -267.0 -267.0 -274.0 -269.0 -269.0 -276.0 -274.0 -278.0 -271.0 -275.0 -276.0 -276.0 -276.0 -282.0 -282.0 -282.0 -288.0 -291.0 -293.0 -289.0 -293.0 -297.0 -298.0 -296.0 -300.0 -302.0 -303.0 -303.0 -305.0 -308.0 -307.0 -307.0 -305.0 -311.0 -310.0 -310.0 -307.0 -306.0 -304.0 -307.0 -310.0 -308.0 -308.0 -307.0 -306.0 -307.0 -307.0 -306.0 -302.0 -305.0 -306.0 -307.0 -303.0 -301.0 -300.0 -302.0 -303.0 -302.0 -303.0 -298.0 -303.0 -301.0 -303.0 -301.0 -303.0 -301.0 -300.0 -304.0 -305.0 -305.0 -304.0 -310.0 -305.0 -309.0 -308.0 -306.0 -307.0 -308.0 -307.0 -308.0 -310.0 -311.0 -313.0 -310.0 -314.0 -314.0 -317.0 -315.0 -317.0 -318.0 -316.0 -315.0 -315.0 -312.0 -314.0 -312.0 -313.0 -311.0 -310.0 -315.0 -314.0 -315.0 -314.0 -313.0 -308.0 -309.0 -310.0 -310.0 -311.0 -307.0 -305.0 -306.0 -303.0 -303.0 -300.0 -298.0 -296.0 -295.0 -295.0 -290.0 -294.0 -291.0 -289.0 -289.0 -291.0 -292.0 -289.0 -291.0 -294.0 -292.0 -294.0 -290.0 -290.0 -284.0 -281.0 -290.0 -285.0 -288.0 -287.0 -288.0 -289.0 -287.0 -285.0 -287.0 -285.0 -283.0 -285.0 -280.0 -284.0 -282.0 -283.0 -283.0 -281.0 -281.0 -281.0 -282.0 -281.0 -278.0 -275.0 -277.0 -276.0 -274.0 -273.0 -266.0 -268.0 -264.0 -261.0 -262.0 -258.0 -258.0 -256.0 -249.0 -247.0 -248.0 -243.0 -241.0 -239.0 -237.0 -232.0 -231.0 -233.0 -231.0 -227.0 -229.0 -227.0 -226.0 -223.0 -222.0 -220.0 -221.0 -223.0 -220.0 -219.0 -216.0 -221.0 -216.0 -217.0 -217.0 -212.0 -207.0 -207.0 -209.0 -202.0 -203.0 -204.0 -203.0 -202.0 -195.0 -192.0 -186.0 -186.0 -184.0 -183.0 -179.0 -177.0 -173.0 -169.0 -169.0 -165.0 -164.0 -159.0 -159.0 -160.0 -159.0 -158.0 -158.0 -153.0 -151.0 -148.0 -145.0 -146.0 -143.0 -144.0 -142.0 -138.0 -137.0 -135.0 -133.0 -136.0 -131.0 -126.0 -123.0 -123.0 -124.0 -120.0 -119.0 -119.0 -115.0 -112.0 -115.0 -115.0 -113.0 -113.0 -107.0 -107.0 -111.0 -109.0 -112.0 -109.0 -107.0 -102.0 -100.0 -99.0 -99.0 -99.0 -94.0 -94.0 -96.0 -94.0 -94.0 -96.0 -94.0 -94.0 -93.0 -91.0 -89.0 -87.0 -86.0 -85.0 -79.0 -82.0 -76.0 -76.0 -75.0 -72.0 -72.0 -68.0 -70.0 -63.0 -60.0 -59.0 -57.0 -58.0 -52.0 -49.0 -44.0 -38.0 -39.0 -32.0 -27.0 -29.0 -24.0 -23.0 -19.0 -18.0 -20.0 -17.0 -12.0 -16.0 -10.0 -12.0 -15.0 -11.0 -10.0 -7.0 -13.0 -11.0 -9.0 -13.0 -12.0 -11.0 -9.0 -10.0 -4.0 0.0 4.0 5.0 -1.0 1.0 2.0 5.0 5.0 7.0 8.0 10.0 10.0 12.0 16.0 17.0 25.0 24.0 22.0 20.0 22.0 24.0 24.0 26.0 27.0 27.0 31.0 32.0 33.0 39.0 39.0 41.0 37.0 45.0 41.0 41.0 44.0 39.0 42.0 43.0 48.0 48.0 50.0 50.0 51.0 52.0 57.0 61.0 63.0 65.0 64.0 66.0 70.0 73.0 71.0 71.0 72.0 74.0 76.0 72.0 72.0 78.0 80.0 80.0 84.0 85.0 84.0 88.0 89.0 91.0 95.0 96.0 95.0 92.0 95.0 92.0 95.0 95.0 98.0 98.0 97.0 100.0 97.0 100.0 101.0 101.0 102.0 103.0 107.0 104.0 109.0 109.0 108.0 113.0 106.0 110.0 107.0 110.0 105.0 107.0 107.0 108.0 108.0 104.0 108.0 106.0 105.0 106.0 104.0 104.0 105.0 102.0 101.0 100.0 103.0 102.0 105.0 110.0 106.0 106.0 109.0 108.0 108.0 108.0 110.0 105.0 109.0 113.0 111.0 117.0 114.0 117.0 116.0 118.0 122.0 117.0 117.0 118.0 116.0 120.0 120.0 119.0 120.0 124.0 123.0 122.0 129.0 127.0 121.0 121.0 119.0 117.0 119.0 120.0 121.0 119.0 119.0 117.0 116.0 120.0 120.0 122.0 122.0 120.0 121.0 120.0 117.0 118.0 124.0 127.0 127.0 126.0 118.0 121.0 123.0 122.0 125.0 124.0 121.0 120.0 119.0 120.0 121.0 118.0 119.0 122.0 117.0 112.0 115.0 113.0 115.0 113.0 108.0 108.0 110.0 104.0 101.0 99.0 100.0 100.0 99.0 100.0 100.0 100.0 99.0 100.0 98.0 98.0 99.0 102.0 102.0 102.0 103.0 104.0 99.0 102.0 105.0 102.0 106.0 103.0 101.0 103.0 101.0 104.0 104.0 105.0 103.0 103.0 103.0 103.0 106.0 104.0 108.0 109.0 107.0 108.0 107.0 106.0 108.0 109.0 106.0 107.0 107.0 105.0 103.0 104.0 104.0 102.0 102.0 97.0 97.0 94.0 94.0 89.0 85.0 78.0 78.0 77.0 70.0 69.0 65.0 64.0 62.0 59.0 57.0 59.0 58.0 55.0 55.0 57.0 53.0 56.0 58.0 53.0 47.0 48.0 52.0 52.0 50.0 53.0 58.0 54.0 57.0 58.0 58.0 53.0 55.0 58.0 53.0 56.0 54.0 53.0 50.0 50.0 46.0 45.0 44.0 43.0 48.0 44.0 41.0 45.0 43.0 40.0 43.0 42.0 39.0 41.0 40.0 40.0 45.0 43.0 42.0 40.0 39.0 37.0 39.0 41.0 44.0 47.0 47.0 48.0 48.0 54.0 48.0 50.0 53.0 52.0 53.0 52.0 52.0 54.0 55.0 57.0 57.0 56.0 56.0 55.0 57.0 60.0 60.0 61.0 67.0 71.0 69.0 74.0 73.0 80.0 80.0 77.0 84.0 87.0 88.0 88.0 85.0 84.0 86.0 81.0 85.0 83.0 82.0 79.0 75.0 72.0 73.0 68.0 61.0 64.0 61.0 61.0 53.0 51.0 47.0 46.0 46.0 40.0 42.0 42.0 44.0 43.0 43.0 43.0 42.0 42.0 44.0 41.0 42.0 44.0 46.0 47.0 48.0 50.0 48.0 50.0 53.0 54.0 53.0 57.0 57.0 55.0 54.0 55.0 51.0 53.0 52.0 51.0 53.0 53.0 51.0 53.0 56.0 58.0 57.0 55.0 55.0 57.0 55.0 57.0 59.0 61.0 66.0 63.0 70.0 67.0 70.0 66.0 68.0 72.0 71.0 72.0 70.0 72.0 71.0 74.0 69.0 69.0 69.0 67.0 65.0 67.0 69.0 70.0 72.0 69.0 69.0 71.0 67.0 68.0 66.0 66.0 67.0 70.0 66.0 69.0 70.0 71.0 72.0 73.0 74.0 75.0 75.0 75.0 75.0 77.0 75.0 72.0 73.0 71.0 73.0 69.0 69.0 66.0 67.0 67.0 68.0 72.0 68.0 67.0 68.0 65.0 63.0 65.0 62.0 64.0 59.0 59.0 60.0 54.0 56.0 55.0 56.0 56.0 60.0 60.0 61.0 60.0 59.0 57.0 58.0 60.0 60.0 60.0 59.0 60.0 57.0 61.0 61.0 64.0 66.0 66.0 67.0 68.0 71.0 74.0 78.0 81.0 81.0 79.0 79.0 79.0 77.0 80.0 81.0 80.0 83.0 84.0 87.0 88.0 87.0 91.0 89.0 92.0 94.0 97.0 96.0 95.0 96.0 98.0 98.0 98.0 100.0 100.0 101.0 98.0 99.0 98.0 97.0 95.0 98.0 94.0 89.0 89.0 88.0 85.0 83.0 87.0 84.0 83.0 79.0 79.0 77.0 76.0 78.0 76.0 77.0 76.0 72.0 73.0 72.0 71.0 68.0 64.0 69.0 63.0 64.0 63.0 60.0 61.0 56.0 51.0 52.0 50.0 44.0 42.0 37.0 36.0 33.0 32.0 31.0 33.0 29.0 24.0 26.0 20.0 20.0 22.0 19.0 18.0 17.0 12.0 14.0 14.0 14.0 15.0 14.0 15.0 13.0 11.0 10.0 13.0 12.0 10.0 7.0 11.0 12.0 10.0 10.0 11.0 10.0 10.0 10.0 9.0 9.0 8.0 10.0 8.0 6.0 6.0 9.0 4.0 4.0 7.0 9.0 13.0 13.0 16.0 14.0 19.0 18.0 17.0 16.0 22.0 18.0 16.0 16.0 15.0 17.0 16.0 15.0 14.0 15.0 11.0 11.0 11.0 9.0 6.0 10.0 12.0 9.0 10.0 11.0 13.0 6.0 7.0 6.0 8.0 10.0 8.0 11.0 9.0 12.0 15.0 17.0 16.0 17.0 19.0 21.0 24.0 23.0 25.0 25.0 29.0 26.0 26.0 26.0 25.0 24.0 22.0 23.0 20.0 23.0 20.0 16.0 16.0 20.0 16.0 17.0 18.0 17.0 21.0 17.0 16.0 23.0 18.0 18.0 16.0 14.0 20.0 15.0 16.0 17.0 15.0 13.0 17.0 16.0 19.0 19.0 21.0 24.0 18.0 24.0 23.0 25.0 26.0 25.0 27.0 23.0 25.0 25.0 25.0 23.0 21.0 24.0 21.0 26.0 23.0 18.0 25.0 15.0 19.0 15.0 11.0 14.0 11.0 14.0 16.0 15.0 13.0 14.0 12.0 14.0 7.0 11.0 10.0 9.0 14.0 12.0 9.0 8.0 14.0 9.0 7.0 9.0 10.0 5.0 6.0 4.0 4.0 5.0 0.0 2.0 0.0 2.0 -1.0 0.0 3.0 3.0 -1.0 -3.0 -3.0 -6.0 -8.0 -8.0 -7.0 -10.0 -11.0 -10.0 -12.0 -12.0 -11.0 -13.0 -15.0 -21.0 -24.0 -22.0 -25.0 -28.0 -26.0 -34.0 -37.0 -37.0 -40.0 -44.0 -45.0 -44.0 -45.0 -44.0 -47.0 -46.0 -46.0 -46.0 -47.0 -52.0 -48.0 -49.0 -54.0 -50.0 -49.0 -54.0 -56.0 -53.0 -51.0 -52.0 -51.0 -49.0 -47.0 -48.0 -46.0 -46.0 -45.0 -42.0 -39.0 -42.0 -44.0 -42.0 -41.0 -38.0 -39.0 -39.0 -39.0 -44.0 -43.0 -40.0 -40.0 -33.0 -33.0 -34.0 -34.0 -34.0 -31.0 -31.0 -32.0 -32.0 -35.0 -32.0 -33.0 -33.0 -30.0 -31.0 -31.0 -33.0 -31.0 -32.0 -35.0 -33.0 -27.0 -30.0 -34.0 -31.0 -29.0 -34.0 -36.0 -32.0 -33.0 -35.0 -35.0 -37.0 -37.0 -34.0 -34.0 -38.0 -37.0 -38.0 -40.0 -40.0 -37.0 -39.0 -42.0 -44.0 -46.0 -45.0 -47.0 -48.0 -46.0 -49.0 -48.0 -51.0 -51.0 -52.0 -53.0 -51.0 -53.0 -52.0 -56.0 -57.0 -56.0 -54.0 -56.0 -60.0 -59.0 -59.0 -61.0 -61.0 -62.0 -65.0 -65.0 -70.0 -68.0 -70.0 -74.0 -70.0 -75.0 -78.0 -77.0 -84.0 -84.0 -86.0 -85.0 -86.0 -89.0 -91.0 -97.0 -93.0 -96.0 -97.0 -94.0 -97.0 -99.0 -98.0 -101.0 -100.0 -94.0 -93.0 -93.0 -91.0 -94.0 -92.0 -88.0 -91.0 -90.0 -90.0 -89.0 -89.0 -89.0 -91.0 -87.0 -88.0 -86.0 -87.0 -87.0 -87.0 -93.0 -90.0 -91.0 -88.0 -88.0 -88.0 -86.0 -89.0 -88.0 -82.0 -85.0 -84.0 -85.0 -81.0 -81.0 -82.0 -79.0 -81.0 -80.0 -83.0 -82.0 -82.0 -81.0 -82.0 -83.0 -87.0 -85.0 -86.0 -87.0 -86.0 -89.0 -88.0 -90.0 -93.0 -92.0 -89.0 -86.0 -87.0 -87.0 -86.0 -86.0 -86.0 -85.0 -84.0 -82.0 -86.0 -84.0 -85.0 -83.0 -83.0 -85.0 -80.0 -83.0 -79.0 -78.0 -70.0 -69.0 -74.0 -70.0 -71.0 -69.0 -69.0 -68.0 -67.0 -62.0 -62.0 -64.0 -56.0 -59.0 -58.0 -56.0 -56.0 -49.0 -51.0 -46.0 -47.0 -46.0 -42.0 -42.0 -43.0 -46.0 -42.0 -41.0 -37.0 -39.0 -39.0 -35.0 -30.0 -28.0 -28.0 -29.0 -29.0 -23.0 -24.0 -25.0 -23.0 -21.0 -24.0 -23.0 -20.0 -19.0 -18.0 -22.0 -21.0 -24.0 -22.0 -19.0 -20.0 -20.0 -18.0 -19.0 -22.0 -17.0 -17.0 -15.0 -14.0 -14.0 -13.0 -18.0 -19.0 -15.0 -15.0 -14.0 -14.0 -11.0 -11.0 -12.0 -15.0 -14.0 -11.0 -11.0 -8.0 -6.0 -6.0 -14.0 -12.0 -11.0 -16.0 -19.0 -19.0 -23.0 -21.0 -23.0 -22.0 -21.0 -23.0 -22.0 -26.0 -23.0 -25.0 -26.0 -27.0 -25.0 -26.0 -32.0 -34.0 -32.0 -38.0 -38.0 -33.0 -35.0 -33.0 -35.0 -34.0 -37.0 -36.0 -32.0 -35.0 -33.0 -28.0 -28.0 -28.0 -28.0 -28.0 -25.0 -26.0 -24.0 -24.0 -28.0 -22.0 -23.0 -20.0 -20.0 -18.0 -18.0 -20.0 -20.0 -22.0 -23.0 -21.0 -22.0 -18.0 -20.0 -20.0 -18.0 -21.0 -21.0 -20.0 -17.0 -16.0 -21.0 -17.0 -16.0 -21.0 -20.0 -24.0 -24.0 -21.0 -19.0 -23.0 -26.0 -19.0 -25.0 -27.0 -22.0 -25.0 -24.0 -24.0 -24.0 -24.0 -27.0 -27.0 -28.0 -30.0 -30.0 -30.0 -28.0 -29.0 -31.0 -34.0 -33.0 -28.0 -32.0 -34.0 -32.0 -31.0 -33.0 -29.0 -32.0 -32.0 -29.0 -28.0 -26.0 -31.0 -29.0 -33.0 -32.0 -31.0 -35.0 -35.0 -33.0 -33.0 -35.0 -35.0 -38.0 -41.0 -40.0 -41.0 -37.0 -39.0 -39.0 -40.0 -34.0 -36.0 -43.0 -37.0 -38.0 -37.0 -36.0 -35.0 -39.0 -35.0 -38.0 -39.0 -39.0 -45.0 -44.0 -45.0 -46.0 -50.0 -43.0 -46.0 -49.0 -53.0 -52.0 -52.0 -54.0 -53.0 -57.0 -58.0 -60.0 -60.0 -63.0 -63.0 -64.0 -63.0 -64.0 -65.0 -64.0 -66.0 -59.0 -64.0 -65.0 -57.0 -64.0 -62.0 -63.0 -61.0 -63.0 -59.0 -56.0 -58.0 -62.0 -56.0 -50.0 -53.0 -47.0 -51.0 -44.0 -44.0 -46.0 -43.0 -45.0 -42.0 -42.0 -41.0 -42.0 -41.0 -41.0 -40.0 -40.0 -38.0 -36.0 -31.0 -28.0 -26.0 -23.0 -22.0 -21.0 -19.0 -17.0 -16.0 -17.0 -13.0 -14.0 -16.0 -19.0 -14.0 -13.0 -17.0 -19.0 -18.0 -17.0 -17.0 -18.0 -21.0 -21.0 -20.0 -21.0 -23.0 -24.0 -25.0 -29.0 -26.0 -23.0 -28.0 -26.0 -27.0 -26.0 -27.0 -29.0 -27.0 -32.0 -30.0 -30.0 -30.0 -36.0 -37.0 -35.0 -37.0 -35.0 -33.0 -32.0 -34.0 -31.0 -32.0 -31.0 -29.0 -31.0 -27.0 -25.0 -27.0 -25.0 -20.0 -20.0 -20.0 -17.0 -15.0 -12.0 -10.0 -13.0 -10.0 -8.0 -7.0 -8.0 -8.0 -4.0 -6.0 -2.0 -2.0 0.0 0.0 3.0 3.0 3.0 4.0 3.0 10.0 9.0 9.0 7.0 10.0 10.0 9.0 9.0 12.0 12.0 14.0 17.0 14.0 17.0 19.0 18.0 17.0 23.0 21.0 22.0 26.0 27.0 27.0 28.0 28.0 28.0 27.0 29.0 29.0 25.0 29.0 28.0 26.0 27.0 30.0 29.0 28.0 30.0 29.0 30.0 26.0 27.0 21.0 21.0 23.0 22.0 21.0 22.0 25.0 21.0 20.0 19.0 18.0 16.0 15.0 14.0 16.0 13.0 11.0 11.0 11.0 16.0 18.0 21.0 18.0 19.0 21.0 22.0 23.0 25.0 27.0 26.0 23.0 25.0 27.0 26.0 27.0 28.0 30.0 29.0 30.0 33.0 30.0 29.0 30.0 28.0 31.0 30.0 27.0 31.0 29.0 26.0 26.0 26.0 27.0 30.0 31.0 31.0 30.0 33.0 34.0 30.0 33.0 29.0 28.0 30.0 29.0 29.0 27.0 23.0 27.0 23.0 24.0 23.0 21.0 19.0 21.0 20.0 17.0 21.0 19.0 21.0 16.0 15.0 16.0 16.0 14.0 13.0 15.0 11.0 13.0 12.0 13.0 10.0 13.0 13.0 10.0 10.0 11.0 14.0 8.0 10.0 8.0 10.0 8.0 9.0 8.0 8.0 10.0 6.0 5.0 4.0 -1.0 4.0 1.0 -5.0 -5.0 -6.0 -6.0 -7.0 -8.0 -9.0 -7.0 -9.0 -10.0 -13.0 -14.0 -12.0 -10.0 -11.0 -15.0 -15.0 -13.0 -16.0 -17.0 -14.0 -13.0 -15.0 -16.0 -18.0 -16.0 -14.0 -15.0 -16.0 -17.0 -15.0 -18.0 -19.0 -13.0 -16.0 -19.0 -18.0 -18.0 -17.0 -17.0 -19.0 -20.0 -18.0 -18.0 -22.0 -21.0 -21.0 -21.0 -19.0 -16.0 -16.0 -21.0 -21.0 -19.0 -21.0 -23.0 -22.0 -21.0 -24.0 -23.0 -24.0 -25.0 -28.0 -26.0 -28.0 -29.0 -27.0 -23.0 -25.0 -22.0 -26.0 -26.0 -24.0 -24.0 -20.0 -22.0 -21.0 -21.0 -16.0 -17.0 -18.0 -19.0 -20.0 -21.0 -22.0 -21.0 -21.0 -20.0 -20.0 -22.0 -21.0 -19.0 -22.0 -18.0 -19.0 -18.0 -20.0 -22.0 -21.0 -21.0 -25.0 -25.0 -23.0 -25.0 -22.0 -24.0 -23.0 -25.0 -27.0 -26.0 -32.0 -31.0 -30.0 -32.0 -27.0 -28.0 -28.0 -30.0 -30.0 -30.0 -29.0 -31.0 -30.0 -32.0 -30.0 -28.0 -31.0 -32.0 -33.0 -34.0 -35.0 -34.0 -35.0 -39.0 -37.0 -34.0 -33.0 -33.0 -34.0 -36.0 -40.0 -36.0 -32.0 -31.0 -34.0 -36.0 -27.0 -27.0 -23.0 -26.0 -25.0 -23.0 -25.0 -23.0 -26.0 -27.0 -24.0 -22.0 -21.0 -23.0 -24.0 -24.0 -26.0 -23.0 -22.0 -23.0 -24.0 -21.0 -20.0 -21.0 -21.0 -25.0 -24.0 -26.0 -26.0 -28.0 -29.0 -30.0 -24.0 -25.0 -28.0 -25.0 -23.0 -22.0 -26.0 -25.0 -24.0 -19.0 -21.0 -18.0 -17.0 -20.0 -17.0 -18.0 -18.0 -16.0 -11.0 -16.0 -17.0 -20.0 -19.0 -15.0 -15.0 -13.0 -14.0 -12.0 -11.0 -9.0 -7.0 -8.0 -2.0 -6.0 -4.0 -5.0 -7.0 -9.0 -8.0 -6.0 -7.0 -3.0 -1.0 -3.0 -1.0 -1.0 -3.0 -2.0 4.0 5.0 3.0 6.0 5.0 5.0 8.0 10.0 7.0 7.0 10.0 12.0 12.0 15.0 15.0 16.0 19.0 18.0 19.0 23.0 24.0 24.0 25.0 24.0 25.0 28.0 24.0 25.0 26.0 28.0 27.0 27.0 29.0 28.0 29.0 28.0 30.0 27.0 25.0 27.0 27.0 27.0 32.0 30.0 30.0 36.0 36.0 36.0 39.0 38.0 36.0 33.0 33.0 39.0 40.0 37.0 37.0 38.0 34.0 36.0 39.0 41.0 40.0 38.0 37.0 38.0 40.0 38.0 37.0 35.0 33.0 35.0 35.0 37.0 36.0 36.0 36.0 34.0 36.0 33.0 34.0 34.0 31.0 34.0 32.0 38.0 37.0 34.0 36.0 38.0 39.0 38.0 37.0 39.0 40.0 38.0 40.0 37.0 35.0 39.0 43.0 44.0 43.0 38.0 41.0 41.0 40.0 44.0 44.0 46.0 42.0 46.0 42.0 44.0 44.0 42.0 43.0 42.0 42.0 42.0 42.0 44.0 46.0 46.0 46.0 45.0 48.0 45.0 49.0 51.0 53.0 51.0 53.0 56.0 53.0 54.0 54.0 57.0 56.0 56.0 57.0 61.0 59.0 63.0 62.0 61.0 64.0 67.0 68.0 67.0 65.0 66.0 66.0 65.0 66.0 62.0 68.0 65.0 63.0 66.0 67.0 68.0 70.0 71.0 70.0 73.0 77.0 78.0 79.0 84.0 85.0 88.0 84.0 86.0 86.0 89.0 88.0 86.0 87.0 86.0 89.0 86.0 88.0 87.0 88.0 87.0 91.0 91.0 87.0 92.0 92.0 93.0 93.0 92.0 95.0 93.0 92.0 96.0 96.0 98.0 97.0 96.0 93.0 94.0 94.0 97.0 98.0 94.0 95.0 95.0 100.0 98.0 100.0 98.0 100.0 99.0 101.0 102.0 102.0 106.0 104.0 105.0 107.0 105.0 102.0 107.0 104.0 104.0 102.0 106.0 103.0 102.0 104.0 105.0 104.0 103.0 105.0 104.0 108.0 108.0 104.0 102.0 102.0 101.0 100.0 98.0 101.0 98.0 102.0 102.0 101.0 100.0 99.0 99.0 98.0 98.0 92.0 91.0 94.0 94.0 95.0 95.0 93.0 91.0 87.0 86.0 83.0 81.0 83.0 78.0 81.0 77.0 77.0 76.0 74.0 76.0 74.0 76.0 76.0 80.0 76.0 76.0 76.0 76.0 78.0 77.0 76.0 74.0 78.0 79.0 80.0 76.0 82.0 80.0 81.0 84.0 81.0 82.0 80.0 80.0 75.0 75.0 71.0 73.0 72.0 75.0 72.0 74.0 70.0 72.0 73.0 72.0 75.0 75.0 77.0 74.0 72.0 69.0 71.0 64.0 61.0 62.0 60.0 62.0 63.0 61.0 59.0 62.0 62.0 63.0 63.0 61.0 61.0 62.0 63.0 62.0 63.0 64.0 63.0 62.0 61.0 64.0 68.0 66.0 69.0 71.0 67.0 70.0 66.0 67.0 68.0 70.0 69.0 71.0 69.0 70.0 70.0 65.0 74.0 70.0 68.0 74.0 74.0 71.0 73.0 71.0 68.0 70.0 68.0 70.0 67.0 66.0 65.0 65.0 63.0 63.0 60.0 59.0 62.0 63.0 59.0 61.0 61.0 64.0 65.0 64.0 65.0 64.0 66.0 61.0 64.0 64.0 62.0 64.0 63.0 59.0 61.0 59.0 56.0 56.0 52.0 55.0 53.0 52.0 56.0 55.0 51.0 54.0 52.0 50.0 46.0 48.0 49.0 46.0 47.0 40.0 44.0 40.0 36.0 40.0 37.0 37.0 39.0 25.0 25.0 30.0 29.0 33.0 29.0 24.0 24.0 30.0 23.0 24.0 13.0 0.0 15.0 18.0 21.0 19.0 8.0 4.0 0.0 4.0 5.0 9.0 2.0 -2.0 5.0 0.0 -3.0 -6.0 -6.0 -4.0 -7.0 -10.0 -11.0 -15.0 -12.0 -12.0 -13.0 -15.0 -16.0 -18.0 -18.0 -16.0 -15.0 -12.0 -16.0 -21.0 -22.0 -20.0 -19.0 -23.0 -27.0 -31.0 -26.0 -28.0 -30.0 -25.0 -31.0 -30.0 -30.0 -33.0 -33.0 -30.0 ]