diff --git a/.gitignore b/.gitignore index 07d5499b3552869b2bf1f028499fc882bfba3eaf..49efb1cadb6f5b4ae3869599d873ce3ef4aa553e 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 6c3e7d76f67eb3d65637476939783d6b33892b85..005fb6162b5e3243d73486fc76ad5d4c2500b0ec 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 0000000000000000000000000000000000000000..f98239e8f1fb61aa1e1dfadd8cf6c1505cc8f520 --- /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 0000000000000000000000000000000000000000..c6b43c780deb2af9d26f7c9344d43519c0db9619 --- /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 93937c3006c69b4ef484d0f7dff19c62ed537530..3388b81675e8c844395499eae45c88dbd2086d5c 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 0000000000000000000000000000000000000000..dfc875915505e395bfc72d94dcfbfac902b3d7db --- /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 76e6701d6a6f46fc44ad00e058804a290a66b168..b78e0821d4d9dc9c8fbf96ed2ccc94b5c5a0cf0c 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 c99d50462e355d4f1c199f74d737fc13c339d630..ebbbe46ccd80da3c96a541b7e87804730f77fdff 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 185a92b8d94d3426d616c0624f0f2ee04339349e..0000000000000000000000000000000000000000 --- 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 97043fd7ba6885aac81cad5a49924c23c67d4d47..f951e280a58b123965c46e6951e610740cd19bb4 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 0000000000000000000000000000000000000000..1a3010acd8f2fba03f83776a79eea6e416c10023 --- /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 97043fd7ba6885aac81cad5a49924c23c67d4d47..d78be0de184b70fc5765681349ae241c439a7c51 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 0000000000000000000000000000000000000000..4444b98e3e3d2985bdd217dec442f5236b46f0f9 --- /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 0000000000000000000000000000000000000000..4496b515399816fb879eb8609135a64dd1e47e7b --- /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 0000000000000000000000000000000000000000..0e259d42c996742e9e3cba14c677129b2c1b6311 --- /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 0000000000000000000000000000000000000000..bceb41135712a879bf2c205138d54bf06b4f1209 --- /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 0000000000000000000000000000000000000000..05522bb7e8a82f932a0004d7f985b88ec517f3db --- /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 0000000000000000000000000000000000000000..c894b97755845a46837e68a98cbaa54567a5a9dd --- /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 0000000000000000000000000000000000000000..40e3786e8117aba55ac7885dfa612d290db21003 --- /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 0000000000000000000000000000000000000000..e059c52c13ab002f9ba8f4cb7a78bb55fc28245c --- /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 0000000000000000000000000000000000000000..79558046bda888d68bc66ca9a45a2521825908b4 --- /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 0000000000000000000000000000000000000000..bee1eee0266a9d38275afe771a13278e33276f6c --- /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 0000000000000000000000000000000000000000..c4dfa8d519d80af4b3b2906c43d7f34a2e1f3dcf --- /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 0000000000000000000000000000000000000000..ea77527bbfeeff4976b5f56941a3f1699e16af66 --- /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 0000000000000000000000000000000000000000..5143db46582462a7e6ef36de2fc7f634a98c2544 --- /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 0000000000000000000000000000000000000000..0204fb3094c3ec233ae348a8572354d1d1d8630c --- /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 0000000000000000000000000000000000000000..d61de6585b7b2a895aac91f614a65ada0a3c9b3c --- /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 0000000000000000000000000000000000000000..e0c41d5f6639a4b69606adaef4c32e4662ab5565 --- /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 0000000000000000000000000000000000000000..24144c3873761d274c75dbd5b6013eb134e725a2 --- /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 0000000000000000000000000000000000000000..b42984e64f4916c79aed629f9b442a4480264e9a --- /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 0000000000000000000000000000000000000000..126e4faaa4bbb74df9ca1e5c5f61004ceb07a9e2 --- /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 0000000000000000000000000000000000000000..bc32b74079b4e18a141936b0704d85afc8715ce9 --- /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 0000000000000000000000000000000000000000..6fce667146bf6cb950d31f88e4854f1673f52e16 --- /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 0000000000000000000000000000000000000000..a1e718228a94275a935323a0cf360a59d356606f --- /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 0000000000000000000000000000000000000000..2d788f6b4b9d67cdde429f552d0514dbec8c9d87 --- /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 0000000000000000000000000000000000000000..43288f39b3517b3b4f8e1f60064720900c0123fa --- /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 0000000000000000000000000000000000000000..39865aac828bc3533e8afdc5d066728b82598580 --- /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 0000000000000000000000000000000000000000..7f76b6228f73d674f58cfcc3523f99e253ee5515 --- /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 0000000000000000000000000000000000000000..dba16e84c77c7d25871d80c24deff717faf4c094 --- /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 0000000000000000000000000000000000000000..a805787831f48ecde0eebc9468440ee179f55c75 --- /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 0000000000000000000000000000000000000000..fe8df945c078045f58dc661a5a02d8c5f38599ca --- /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 0000000000000000000000000000000000000000..8a5bc55c731f1cbcfa5304166645324b0700fed6 --- /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 0000000000000000000000000000000000000000..5a529f95fa0d6439be6e3b142890b927c30b960b --- /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 3f64b52f2b783910f73859e082756cd078046667..8b56b88239190a7469937201f4e2b6dea726a90e 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 97043fd7ba6885aac81cad5a49924c23c67d4d47..0000000000000000000000000000000000000000 --- 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 0000000000000000000000000000000000000000..a67191887ff2e4cbe5a722f8867e0bdf2eaf5490 --- /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 97043fd7ba6885aac81cad5a49924c23c67d4d47..0000000000000000000000000000000000000000 --- 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 1aaed913ef3c9b3332c39ea282bcfee291b30917..eecead97f4d392d1a368948c4fc6b1bc73e5ac18 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 0000000000000000000000000000000000000000..3ff3cef8ce8977be6790bb24150b9be4a4216310 --- /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 ffaccebb1731204a25673de6f43cdbf073dab940..661965d416e0dc220b634d2a00f25eaa4c87b27f 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 db2f2845876ceaa1352a1072f5e18f67c0a65190..c67e04f40dd140ad65f67d7c3ac3bef62df4681c 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 50c21a6737f9c6e8d69dad8486ff541f3bc1e0d9..78aca01ea6a7fdb5226af7e861bd2c76593034ac 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 0000000000000000000000000000000000000000..eecead97f4d392d1a368948c4fc6b1bc73e5ac18 --- /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 0000000000000000000000000000000000000000..3ff3cef8ce8977be6790bb24150b9be4a4216310 --- /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 0000000000000000000000000000000000000000..b016987a6e32f8235f11b24ebab5b04c43707b2e --- /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 0000000000000000000000000000000000000000..dc3d1efdd220ec4da3ed5982d319bb10f144ddc2 --- /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 0000000000000000000000000000000000000000..459ec783349614667ee7158979f4161e010f3ada --- /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 0000000000000000000000000000000000000000..3cc0f5493e2cbcd100b48cf2ea6b464ec81b08d1 --- /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 0000000000000000000000000000000000000000..f7a3ecbf68e0cb900dd5fd5a52b9dad00023e224 --- /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 0000000000000000000000000000000000000000..c1b5d19b5570ff8186bdfd60d2f81e0f6599e886 --- /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 efa206a89735f3155205c09939ddc7c637f09607..7bc718f388f80cef9114bd90f1c6008e290d56e6 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 0000000000000000000000000000000000000000..1ff9430cd2a0cfd57afcc5de1db1fd86681bd879 --- /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 0000000000000000000000000000000000000000..6ceae081e42cea699648bf314617f5aa422c3ca5 --- /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 0000000000000000000000000000000000000000..4bf17b15be4a16d5200f0bd1772e458be3295a00 --- /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 Binary files /dev/null and b/audio/tests/features/testdata/fbank_feat.ark differ 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 Binary files /dev/null and b/audio/tests/features/testdata/pitch_feat.ark differ 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 fd7d1ae6b7df0b5b0a928676b566d571c2a2f57c..b7f32198e211f4585d0141691ea78638f2841772 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 c9354970352dffa79e28cd4670cd8a924441a48b..0000000000000000000000000000000000000000 --- 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 143781c8e400358ed495353bba41558d7286c4b8..e8a703c08ff7491d815d63a1d55987165f66e4d1 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 d183b72ade749994ab4df5d8b0d421bd8d8ec733..0000000000000000000000000000000000000000 --- 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 5d68842126fc8424d52428cfad52493d870ec624..0000000000000000000000000000000000000000 --- 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 ]