diff --git a/README.md b/README.md index 25e6008786f7ed95be7921573cbb613f2d306e01..f8088eee1f48c9e644cc9aa09f270f9c2cbb6d7c 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ v2.1 or higher, which is typically avaible in all major GNU/Linux distributions. To install CAISAR via [opam](https://opam.ocaml.org/), do the following: ``` -$ opam install caisar +opam install caisar ``` ### Docker image @@ -28,20 +28,20 @@ A ready-to-use [Docker](https://www.docker.com/) image of CAISAR is available on [Docker Hub](https://hub.docker.com). To retrieve such an image, do the following: ``` -$ docker pull laiser/caisar:pub +docker pull laiser/caisar:pub ``` Alternatively, a [Docker](https://www.docker.com/) image for CAISAR can be created locally by proceeding as follows: ``` -$ git clone https://git.frama-c.com/pub/caisar -$ cd caisar -$ make docker +git clone https://git.frama-c.com/pub/caisar +cd caisar +make docker ``` To run the CAISAR [Docker](https://www.docker.com/) image, do the following: ``` -$ docker run -it laiser/caisar:pub sh +docker run -it laiser/caisar:pub sh ``` ### From source code @@ -52,24 +52,24 @@ v2.1 or higher, which is typically avaible in all major GNU/Linux distributions. To build and install CAISAR, do the following: ``` -$ git clone https://git.frama-c.com/pub/caisar -$ cd caisar -$ opam switch create --yes --no-install . 4.13.1 -$ opam install . --deps-only --with-test --yes -$ make -$ make install +git clone https://git.frama-c.com/pub/caisar +cd caisar +opam switch create --yes --no-install . 4.13.1 +opam install . --deps-only --with-test --yes +make +make install ``` To run the tests: ``` -$ make test +make test ``` ## Usage To start using CAISAR, please run the command: ``` -$ caisar --help +caisar --help ``` ### Property verification @@ -79,7 +79,7 @@ machines (SVM). The prototype command is: ``` -$ caisar verify --prover=PROVER FILE +caisar verify --prover=PROVER FILE ``` `FILE` defines the property to verify, and it must be @@ -97,7 +97,7 @@ path to the prover executables should appear in the environment variable Run the following command to confirm that CAISAR detects the installed provers: ``` -$ caisar config --detect +caisar config --detect ``` The following are the provers for which a support is provided in CAISAR: diff --git a/config/caisar-detection-data.conf b/config/caisar-detection-data.conf index 054b3d8ac73ff597af4afb95a406b080b65fb986..78e3f18272d8aedfe7910c5998b4d110d6bfece7 100644 --- a/config/caisar-detection-data.conf +++ b/config/caisar-detection-data.conf @@ -74,6 +74,17 @@ command = "%e -mp %{nnet-onnx} -pp %f --timeout %t --domain zono poly --split" driver = "caisar_drivers/pyrat_vnnlib.drv" use_at_auto_level = 1 +[ATP pyrat-acas] +name = "PyRAT" +alternative = "ACAS" +exec = "pyrat.py" +version_switch = "--version" +version_regexp = "PyRAT \\([0-9.]+\\)" +version_ok = "1.1" +command = "%e -mp %{nnet-onnx} -pp %f --timeout %t --domain zono --split --scorer coef" +driver = "caisar_drivers/pyrat.drv" +use_at_auto_level = 1 + [ATP nnenum] name = "nnenum" exec = "nnenum.sh" diff --git a/doc/_static/media/acas_xu.png b/doc/_static/media/acas_xu.png new file mode 100644 index 0000000000000000000000000000000000000000..d6de240a4a6fc470fc6a321de10ecc4a2a25ba17 Binary files /dev/null and b/doc/_static/media/acas_xu.png differ diff --git a/doc/acas_xu.rst b/doc/acas_xu.rst new file mode 100644 index 0000000000000000000000000000000000000000..1176bc4936c0ecbe50b80afc77a53f428a07a0c2 --- /dev/null +++ b/doc/acas_xu.rst @@ -0,0 +1,352 @@ +.. _acas_xu: + +Functional properties of ACAS-Xu +******************************** + +ACAS-Xu stands for Aircraft Collision Avoidance System. Introduced for instance +in [Manfredi2016]_, it is a specification of a program which aim to output +signals for an aircraft in a situation where there is a potential for collision. +In the rest of this tutorial, we will use the flavour ACAS-Xu defined in +[Katz2017]_, where the authors aim to verify a neural network implementing part +of the ACAS-Xu specification. Its low dimensionality and well defined semantics +make it a *de facto* benchmark for machine learning verification. + +Use case presentation +===================== + +The system considers a 2D plane with two entities: the monitored airplane (the +"ownship") and an incoming airplane (the "intruder"). + +.. image:: _static/media/acas_xu.png + :alt: A picture with two aircrafts seen from above + +In the original implementation, the system state has seven inputs: + +* :math:`v_{own}`: speed of ownship +* :math:`v_{int}`: speed of intruder +* :math:`\rho`: distance from ownship to intruder +* :math:`\theta`: angle to intruder relative to ownship heading direction +* :math:`\psi`: heading angle of intruder relative to ownship heading direction +* :math:`\tau`: time until vertical separation +* :math:`a_{prev}`: previous advisory + +It has five outputs, that correspond to the different direction advisories the +system can give: + +* :math:`COC`: Clear Of Conflict +* :math:`WL`: Weak Left +* :math:`SL`: Strong Left +* :math:`WR`: Weak Right +* :math:`SR`: Strong Right + +In the paper, the authors consider :math:`45` neural networks, for several +values of :math:`\tau` and :math:`a_{prev}`, that operate on five inputs only +while maintaining the same number of outputs. We will consider five-inputs +networks in the future. + +Properties +---------- + +There are several functional properties one may want to verify on this system, +for instance: + +* Guarantee that the system will never output COC advisory when the intruder is + nearby, +* Guarantee that the system will never output an advisory that may result in a + collision, +* Guarantee that the system will not output a strong advisory where a weak + variant would be enough. + +Authors of [Katz2017]_ propose ten properties to verify. We will reproduce the +first and third properties here, and then show how to use CAISAR for verifying +whether a given neural network respects them. + +**Property** :math:`\phi_1` + +* **Definition.** + If the intruder is distant and is significantly slower than + the ownship, the score of a COC advisory will always be below a certain fixed + threshold. + +* **Input constraints:** + + * :math:`\rho \geq 55947.691`, + * :math:`v_{own} \geq 1145`, + * :math:`v_{int} \leq 60`. + +* **Desired output property:** + + * :math:`COC \leq 1500`. + +**Property** :math:`\phi_3` + +* **Definition.** + If the intruder is directly ahead and is moving towards the + ownship, the score for COC will not be minimal. + +* **Input constraints:** + + * :math:`1500 \leq \rho \leq 1800`, + * :math:`-0.06 \leq \theta \leq 0.06`, + * :math:`\psi \geq 3.10`, + * :math:`v_{own} \geq 980`, + * :math:`v_{int} \geq 960`. + +* **Desired output property:** + + * :math:`COC` is not the minimal score. + +Modelling the problem using WhyML +--------------------------------- + +The first step for verifying anything with CAISAR is to write a specification +file that describe the problem to verify as a so-called *theory*. A theory can +be seen as a namespace inside which are defined logical terms, formulas and +verification goals. In particular, being based on the `Why3 +<https://why3.lri.fr>`_ platform for deductive program verification, CAISAR +supports the Why3 specification language +`WhyML <https://why3.lri.fr/doc/syntaxref.html>`_, and inherits the Why3 standard +library of logical theories (integer, float and real arithmetic, *etc.*) and +basic programming data structures (arrays, queues, hash tables, *etc.*). + +Let us try to model the property :math:`\phi_1` defined earlier. We will call +our theory ``ACASXU_P1``. + +.. code-block:: whyml + + theory ACASXU_P1 + end + +We will need to write down some numerical values. As of now, CAISAR allows +writing values using floating-point arithmetic only. Why3 defines a float type +and the relevant arithmetic operations according to the IEEE floating-point +standard in a theory, astutely called ``ieee_float``. Specifically, we will +import the ``Float64`` subtheory, that defines everything we need for 64-bit +precision floating-point numbers. We thus import it in our theory using the +``use`` keyword. + +Our file looks like this so far: + +.. code-block:: whyml + + theory ACASXU_P1 + use ieee_float.Float64 + end + +We would like to verify our propety given a certain neural network. To do this, +CAISAR extends the Why3 standard library for recognizing neural networks in ONNX +and NNet formats. Given a file of such formats, CAISAR internally builds a +theory named as the original neural network file, that contains the subtheories +``AsTuple`` and ``AsArray`` that provide logical symbols for describing the +input-output interface of a neural network as tuples and array, respectively. We +will only consider the ``AsTuple`` subtheory for this tutorial. + +In particular, the theory built by CAISAR is equivalent to the following WhyML +file: + +.. code-block:: whyml + + theory NeuralNetworkFilename + theory AsTuple + type t + (* Tuple with as many elements as there are input *) + function nn_apply (t,_,...) + (* Tuple with as many elements as there are outputs *) + : (t,_,...) + end + (* Other stuff *) + end + +Note how the ``AsTuple`` theory defines the ``nn_apply`` function symbol that +logically describes the input-output interface of a neural network using tuples. +More importantly, CAISAR defines this function to take in input a tuple with as +many elements as the inputs expected by the original neural network, and return +a tuple with as many elements as the outputs provided by the original neural +network. + +As our neural network takes five inputs and provides five outputs, adding ``use +filename.AsTuple`` to our theory will provide a ``nn_apply`` function symbol +that takes a 5-elements tuple as input, and provides a 5-elements tuple as +output. Assuming we have a neural network named ``ACASXU_1_1.onnx``, the WhyML +file looks like this: + +.. code-block:: whyml + + theory ACASXU_P1 + use ACASXU_1_1.AsTuple + use ieee_float.Float64 + end + +Now is the time to define our verification goal, that will call ``P1_1_1`` for +property :math:`\phi_1` on neural network :math:`N_{1,1}`. + +We first model the inputs of the neural network :math:`\rho, \theta, \psi, +v_{own}, v_{int}` respectively as the floating-points constants :math:`x_i` for +:math:`i \in [0..4]`. Moreover, we constraint these to the range of +floating-point values each may take. According to the original authors, values +were normalized during the training of the network, and so we adapt the values +they provide in their `repository +<https://github.com/NeuralNetworkVerification/Marabou/tree/master/resources/properties>`_. +Then, we define the result of the application of ``net_apply`` on the inputs by +taking advantage of the WhyML pattern-matching, and define the output constraint +we want to enforce on the floating-point constant :math:`y_0` that we use to +model the advisory *COC*. + +The final WhyML file looks like this: + +.. code-block:: whyml + + theory ACASXU_P1 + use ACASXU_1_1.AsTuple + use ieee_float.Float64 + + goal P1_1_1: forall x0 x1 x2 x3 x4. + (0.5999999999999999777955395074968691915273666381835937500000000000:t) .<= x0 .<= (0.6798577687000000313588543576770462095737457275390625000000000000:t) -> + (-0.5:t) .<= x1 .<= (0.5:t) -> + (-0.5:t) .<= x2 .<= (0.5:t) -> + (0.4500000000000000111022302462515654042363166809082031250000000000:t) .<= x3 .<= (0.5:t) -> + (-0.5:t) .<= x4 .<= (-0.4500000000000000111022302462515654042363166809082031250000000000:t) -> + let (y0, _, _, _, _) = nn_apply x0 x1 x2 x3 x4 in + y0 .<= (3.9911256458999999630066213285317644476890563964843750000000000000:t) + end + +This file is available, as is, under the ``/examples/acasxu/`` folder as +`property_1.why +<https://git.frama-c.com/pub/caisar/-/blob/master/examples/acasxu/property_1.why>`_. +The corresponding neural network in ONNX format is available under the +``/examples/acasxu/nets/onnx/`` folder as `ACASXU_1_1.onnx +<https://git.frama-c.com/pub/caisar/-/blob/master/examples/acasxu/nets/onnx/ACASXU_1_1.onnx>`_. + + +Verifying the property with CAISAR +---------------------------------- + +Once formalized, the specified property can be assessed by using CAISAR. We will +use the *open-source* provers CAISAR supports for verifying properties of neural +networks so to take advantage of the federating approach: whenever one prover +cannot provide an answer, another may instead. In particular, we will use +`Marabou <https://github.com/NeuralNetworkVerification/Marabou>`_ and `nnenum +<https://github.com/stanleybak/nnenum>`_. + +Assuming the prover locations are available in ``PATH``, the following are the +CAISAR verification invocations using Marabou first and nnenum afterwords, for +verifying the ACAS-Xu property :math:`\phi_1`: + +.. code-block:: console + + $ caisar verify --prover Marabou -L examples/acasxu/nets/onnx --format whyml examples/acasxu/property_1.why -t 10m + [caisar] Goal P1_1_1: Timeout + +.. code-block:: console + + $ caisar verify --prover nnenum -L examples/acasxu/nets/onnx --format whyml examples/acasxu/property_1.why -t 10m + [caisar] Goal P1_1_1: Valid + +Note that the previous commands set the verification time limit to 10 minutes +(*cf.* ``-t`` option), and the additional location ``examples/acasxu/nets/onnx`` +(*cf.* ``-L`` option) for letting CAISAR correctly locate the neural network +file ``ACASXU_1_1.onnx`` that is used by the ``ACASXU_P1`` theory in +``property_1.why``. + +Marabou is not able to prove the property valid in the specified time limit, +while nnenum does. In general, the result of a CAISAR verification is typically +either ``Valid``, ``Invalid``, ``Unknown`` or ``Timeout``. CAISAR may output +``Failure`` whenever the verification process fails for whatever reason +(typically, a prover internal failure). + +Using more advanced WhyML constructs +------------------------------------ + +Let us model the ACAS-Xu property :math:`\phi_3`, and verify it for the neural +networks :math:`N_{1,1}` and :math:`N_{2,7}` [Katz2017]_. + +From the modelling standpoint, the main evident difference concerns the desired +output property, meaining that *COC* should not be the minimal value. A +straightforward way to express this property is that the corresponding +floating-point constant :math:`y_0` is greater than or equal to at least one of +the other five outputs. This can be formalized in first-order logic as a +disjunction of clauses, that can be directly encoded into WhyML as follows: + +.. code-block:: whyml + + y0 .>= y1 \/ y0 .>= y2 \/ y0 .>= y3 \/ y0 .>= y4 + +The delicate point is how to model the same property for two different neural +networks. Of course, we could define a theory with two identical but distinct +verification goals or two entirely distinct theories in a same WhyML file. +However, these two solutions are not advisable in terms of clarity and +maintainability. + +Reassuringly enough, WhyML provides all necessary features to come up with a +better solution. First, WhyML allows for naming used (sub)theories in order to +distinguish identical logic symbols coming from different theories. This is +critical for identifying the correct ``nn_apply`` symbols in the two +verification goals we will define. Second, WhyML allows for the hypotheses on +the floating-point constants modelling the neural network inputs to be exported +from the verification goal into the theory general context as axioms. + +In the end, the WhyML file looks like this: + +.. code-block:: whyml + + theory ACASXU_P3 + use ACASXU_1_1.AsTuple as N11 + use ACASXU_2_7.AsTuple as N27 + use ieee_float.Float64 + + constant x0:t + constant x1:t + constant x2:t + constant x3:t + constant x4:t + + axiom H0: + (-0.3035311560999999769272506000561406835913658142089843750000000000:t) .<= x0 .<= (-0.2985528118999999924731980627257144078612327575683593750000000000:t) + + axiom H1: + (-0.0095492965999999998572000947660853853449225425720214843750000000:t) .<= x1 .<= (0.0095492965999999998572000947660853853449225425720214843750000000:t) + + axiom H2: + (0.4933803236000000036476365039561642333865165710449218750000000000:t) .<= x2 .<= (0.5:t) + + axiom H3: + (0.2999999999999999888977697537484345957636833190917968750000000000:t) .<= x3 .<= (0.5:t) + + axiom H4: + (0.2999999999999999888977697537484345957636833190917968750000000000:t) .<= x4 .<= (0.5:t) + + goal P3_1_1: + let (y0, y1, y2, y3, y4) = N11.nn_apply x0 x1 x2 x3 x4 in + y0 .>= y1 \/ y0 .>= y2 \/ y0 .>= y3 \/ y0 .>= y4 + + goal P3_2_7: + let (y0, y1, y2, y3, y4) = N27.nn_apply x0 x1 x2 x3 x4 in + y0 .>= y1 \/ y0 .>= y2 \/ y0 .>= y3 \/ y0 .>= y4 + end + +Note how the two verification goals ``P3_1_1`` and ``P3_2_7`` are clearly almost +identical, but for the ``nn_apply`` logic symbol used, identifying respectively +the ``ACASXU_1_1.onnx`` and ``ACASXU_2_7.onnx`` neural networks. + +We can then verify the resulting verification problem as before: + +.. code-block:: console + + $ caisar verify --prover Marabou -L examples/acasxu/nets/onnx --format whyml examples/acasxu/property_3.why -t 10m + [caisar] Goal P3_1_1: Timeout + [caisar] Goal P3_2_7: Valid + +.. code-block:: console + + $ caisar verify --prover nnenum -L examples/acasxu/nets/onnx --format whyml examples/acasxu/property_3.why -t 10m + [caisar] Goal P3_1_1: Valid + [caisar] Goal P3_2_7: Valid + + +.. [Manfredi2016] G. Manfredi and Y. Jestin, *An introduction to ACAS Xu and the + challenges ahead*, 2016 IEEE/AIAA 35th Digital Avionics Systems Conference + (DASC), 2016, pp. 1-9, doi: 10.1109/DASC.2016.7778055 + +.. [Katz2017] Katz, G., Barrett, C., Dill, D.L., Julian, K., Kochenderfer, M.J. + (2017). *Reluplex: An Efficient SMT Solver for Verifying Deep Neural Networks.* + CAV 2017, doi: 10.1007/978-3-319-63387-9_5 diff --git a/doc/conf.py b/doc/conf.py index 1eff397760cee828038f42fcb8bb3c778f106bac..42a6c97be5114c72b61c4f133852410c8dfac530 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -14,10 +14,13 @@ # import sys # sys.path.insert(0, os.path.abspath('.')) +import os +import sys +sys.path.append(os.path.abspath('./ext')) # -- Project information ----------------------------------------------------- -project = 'Caisar' +project = 'CAISAR' copyright = '2022, Michele Alberti, Julien Girard, François Bobot' author = 'Michele Alberti, Julien Girard, François Bobot' @@ -28,6 +31,10 @@ author = 'Michele Alberti, Julien Girard, François Bobot' # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + 'sphinx.ext.mathjax', + 'sphinx.ext.graphviz', + # 'sphinxcontrib.bibtex', + 'why3' ] # Add any paths that contain templates here, relative to this directory. @@ -49,4 +56,4 @@ html_theme = 'alabaster' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] \ No newline at end of file +html_static_path = ['_static'] diff --git a/doc/contents.rst b/doc/contents.rst deleted file mode 100644 index daa46db69729e3f5b7d11b30c01926ca8b00c326..0000000000000000000000000000000000000000 --- a/doc/contents.rst +++ /dev/null @@ -1,10 +0,0 @@ -Table of content -================ - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - installation - usage - modules diff --git a/doc/examples.rst b/doc/examples.rst new file mode 100644 index 0000000000000000000000000000000000000000..62eb15e90e224d26c656510cdae85c4d234bb4e6 --- /dev/null +++ b/doc/examples.rst @@ -0,0 +1,15 @@ +.. _examples: + +CAISAR by Examples +================== + +This page regroups some example use cases for CAISAR. All examples will describe +the use case, the formalization using the WhyML specification language, and the +CAISAR execution. + +.. toctree:: + :maxdepth: 2 + :caption: CAISAR by Examples: + + acas_xu + mnist diff --git a/doc/ext/why3.py b/doc/ext/why3.py new file mode 100644 index 0000000000000000000000000000000000000000..29a8fd889715a39a543d0e40d454616247e870c0 --- /dev/null +++ b/doc/ext/why3.py @@ -0,0 +1,199 @@ +from pygments.lexer import RegexLexer, words +from pygments.token import Text, Comment, Operator, Keyword, Name, String, Number, Punctuation, Error + +class WhyMLLexer(RegexLexer): + name = 'WhyML' + aliases = 'whyml' + + keywords = ( + 'abstract', 'absurd', 'alias', 'any', 'as', 'assert', 'assume', 'at', 'axiom', + 'begin', 'break', 'by', 'check', 'clone', 'coinductive', 'constant', 'continue', + 'diverges', 'do', 'done', 'downto', + 'else', 'end', 'ensures', 'epsilon', 'exception', 'exists', 'export', + 'false', 'float', 'for', 'forall', 'fun', 'function', 'ghost', 'goal', + 'if', 'import', 'in', 'inductive', 'invariant', 'label', 'lemma', 'let', + 'match', 'meta', 'module', 'mutable', 'not', 'old', + 'partial', 'predicate', 'private', 'pure', + 'raise', 'raises', 'range', 'reads', 'rec', 'ref', 'requires', 'return', 'returns', + 'scope', 'so', 'then', 'theory', 'to', 'true', 'try', 'type', 'use', 'val', 'variant', + 'while', 'with', 'writes', + ) + + tokens = { + 'root': [ + (r'\s+', Text), + (r'\(\*\)', Operator), + (r'\(\*', Comment, 'comment'), + (r'\[@[^]]*\]', Comment), + (words(keywords, suffix=r'\b'), Keyword), + (r'[-~!%^&*+=|?<>/\\]', Operator), + (r'[][{};:.,()]', Punctuation), + (r"[^\W\d][\w']*", Name), + (r'\bresult\b', Name.Builtin.Pseudo), + + (r'-?\d\d*([.]\d*)?([eE][+-]?\d\d*)', Number.Float), + (r'-?0[xX][\da-fA-F][\da-fA-F]*([.][\da-fA-F]*)?([pP][+-]?\d\d*)', Number.Float), + (r'0[xX][\da-fA-F][\da-fA-F_]*', Number.Hex), + (r'0[oO][0-7][0-7_]*', Number.Oct), + (r'0[bB][01][01_]*', Number.Bin), + (r'\d[\d_]*', Number.Integer), + + (r"'", Keyword), + (r'"', String.Double, 'string'), + ], + 'comment': [ + (r'[^(*)]+', Comment), + (r'\(\*', Comment, '#push'), + (r'\*\)', Comment, '#pop'), + (r'[(*)]', Comment), + ], + 'string': [ + (r'[^\\"]+', String.Double), + (r'\\[\\"\'ntbr]', String.Escape), + (r'\\[0-9]{3}', String.Escape), + (r'\\x[0-9a-fA-F]{2}', String.Escape), + (r'\\\n', String.Double), + (r'"', String.Double, '#pop'), + ], + } + +from sphinx.highlighting import lexers + +lexers['whyml'] = WhyMLLexer(startinline=True) + +import re +from docutils import nodes +from sphinx import addnodes +from sphinx.directives import ObjectDescription +from sphinx.domains import Domain +from sphinx.roles import XRefRole +from sphinx.util.docutils import SphinxDirective +from sphinx.util.nodes import make_refnode + +ws_re = re.compile(r'\s+') + +class Why3ToolRole(XRefRole): + def process_link(self, env, refnode, has_explicit_title, title, target): + target = ws_re.sub(' ', target) + if target.startswith('why3 '): + target = target[5:] + return title, target + +attr_re = re.compile(r'\[@(.*)\]') + +class Why3AttributeRole(XRefRole): + def process_link(self, env, refnode, has_explicit_title, title, target): + target = ws_re.sub(' ', target) + m = attr_re.match(target) + if m: + target = m.group(1) + return title, target + +class Why3ToolDirective(SphinxDirective): + has_content = False + required_arguments = 1 + optional_arguments = 0 + final_argument_whitespace = True + option_spec = {} + + def run(self): + fullname = ws_re.sub(' ', self.arguments[0].strip()) + targetname = '%s-%s' % (self.name, fullname) + node = nodes.target('', '', ids = [targetname]) + self.state.document.note_explicit_target(node) + indexentry = '%s; command' % (fullname,) + inode = addnodes.index(entries = [('pair', indexentry, targetname, '', None)]) + domain = self.env.get_domain('why3') + domain.add_object('tool', fullname, targetname) + return [inode, node] + +class Why3Thing(ObjectDescription): + has_content = True + required_arguments = 1 + optional_arguments = 0 + final_argument_whitespace = True + option_spec = {} + thing_index = '' + thing_kind = '' + + def handle_signature(self, sig, signode): + signode += addnodes.desc_name(text = sig) + return sig + + def add_target_and_index(self, name, sig, signode): + targetname = '%s-%s' % (self.name, name) + signode['ids'].append(targetname) + indexentry = '%s; %s' % (name, self.thing_index) + self.indexnode['entries'].append(('pair', indexentry, targetname, '', None)) + domain = self.env.get_domain('why3') + domain.add_object(self.thing_kind, name, targetname) + +class Why3Attribute(Why3Thing): + thing_index = 'attribute' + thing_kind = 'attribute' + +class Why3Debug(Why3Thing): + thing_index = 'debug flag' + thing_kind = 'debug' + +class Why3Meta(Why3Thing): + thing_index = 'meta' + thing_kind = 'meta' + +class Why3Transform(Why3Thing): + thing_index = 'transformation' + thing_kind = 'transform' + +class Why3Domain(Domain): + name = 'why3' + label = 'Why3' + roles = { + 'attribute': Why3AttributeRole(), + 'debug': XRefRole(), + 'meta': XRefRole(), + 'tool': Why3ToolRole(), + 'transform': XRefRole(), + } + directives = { + 'attribute': Why3Attribute, + 'debug': Why3Debug, + 'meta': Why3Meta, + 'tool': Why3ToolDirective, + 'transform': Why3Transform, + } + indices = { + } + initial_data = {} + initial_data['objects'] = { + 'attribute': {}, + 'debug': {}, + 'meta': {}, + 'tool': {}, + 'transform': {}, + } + + def get_objects(self): + for role, objects in self.data['objects'].items(): + prio = 0 # self.object_types[role].attrs['searchprio'] + for name, (docname, targetname) in objects.items(): + yield (name, name, role, docname, targetname, prio) + + def resolve_xref(self, env, fromdocname, builder, role, targetname, node, contnode): + resolved = self.data['objects'][role].get(targetname) + if resolved: + (todocname, targetname) = resolved + return make_refnode(builder, fromdocname, todocname, targetname, contnode, targetname) + return None + + def add_object(self, role, name, targetname): + self.data['objects'][role][name] = (self.env.docname, targetname) + + +def setup(app): + app.add_domain(Why3Domain) + + return { + 'version': '0.1', + 'parallel_read_safe': True, + 'parallel_write_safe': True, + } diff --git a/doc/index.rst b/doc/index.rst index 7a26e02ada6f54db0dce86889e8a1ab5b1a7fa87..f042f054973abf8bb06115866019e767ecaefccd 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -21,16 +21,15 @@ Content ======= .. toctree:: - :maxdepth: 2 - :caption: Contents: + :maxdepth: 3 + :caption: Contents installation usage - modules + examples - -Indices and tables -================== - -* :ref:`search` +.. + Indices and tables + ================== + * :ref:`search` diff --git a/doc/installation.rst b/doc/installation.rst index be23b34be19e86657fca6d1fa7516221d758ffd1..ca8c5117a6a9a0d7d125a1fdb33e5450cb1c8269 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -18,7 +18,9 @@ GNU/Linux distributions. To install CAISAR via opam, do the following: -``$ opam install caisar`` +.. code-block:: console + + $ opam install caisar Install through Docker ---------------------- @@ -28,33 +30,41 @@ A ready-to-use Docker image of CAISAR is available on `Docker Hub <https://hub.docker.com>`_. To retrieve it, do the following: -``$ docker pull laiser/caisar:pub`` +.. code-block:: console + + $ docker pull laiser/caisar:pub Alternatively, a Docker image for CAISAR can be created locally by proceeding as follows: -:: +.. code-block:: console -$ git clone https://git.frama-c.com/pub/caisar -$ cd caisar -$ make docker + $ git clone https://git.frama-c.com/pub/caisar + $ cd caisar + $ make docker To run the CAISAR Docker image, do the following: -``$ docker run -it laiser/caisar:pub sh`` + +.. code-block:: console + + $ docker run -it laiser/caisar:pub sh Compile from source ------------------- To build and install CAISAR, do the following: -:: +.. code-block:: console -$ git clone https://git.frama-c.com/pub/caisar -$ cd caisar -$ opam switch create --yes --no-install . 4.13.1 -$ opam install . --deps-only --with-test --yes -$ make -$ make install + $ git clone https://git.frama-c.com/pub/caisar + $ cd caisar + $ opam switch create --yes --no-install . 4.13.1 + $ opam install . --deps-only --with-test --yes + $ make + $ make install To run the tests: -``$ make test`` + +.. code-block:: console + + $ make test diff --git a/doc/mnist.rst b/doc/mnist.rst new file mode 100644 index 0000000000000000000000000000000000000000..00d62cfb410c77725c22739c3dec54ad84b056c6 --- /dev/null +++ b/doc/mnist.rst @@ -0,0 +1,159 @@ +.. _mnist: + +(Local) Robustness of MNIST dataset +*********************************** + +CAISAR provides a convenient way for verifying (local) robustness properties of +neural networks on datasets, for classification problems only, in a specific +``CSV`` format. In particular, each of the ``CSV`` lines is interpreted as +providing the classification label in the first column, and the dataset element +features in the other columns. + +We recall that a neural network is deemed robust on a dataset element whenever +it classify with a same label all other elements being at an +:math:`l_\infty`-distance of at most :math:`\epsilon \geq 0` from it. More in +general, a neural network is deemed (locally) robust on a dataset whenever the +former property is valid on all the dataset elements. The CAISAR standard +library specifies such a property in terms of the predicate ``robust``, which +CAISAR implements as a builtin. + +In the following, we will describe how to use CAISAR for verifying a neural +network robust on (a fragment of) the MNIST dataset. + +Use case presentation +===================== + +MNIST is a dataset of handwritten digits normalized and centered to fit into +grayscale images of :math:`28 \times 28` pixels, along with the classification +labels [LiDeng2012]_. Although it is mostly irrelevant as dataset for +benchmarking machine learning models for computer vision tasks, MNIST is still +valuable for assessing robustness properties by means of formal method tools. + +CAISAR provides in `mnist_test.csv +<https://git.frama-c.com/pub/caisar/-/blob/master/examples/mnist/csv/mnist_test.csv>`_ +a fragment (:math:`100` images) of the MNIST dataset under the +``examples/mnist/csv`` folder. Each line in this file represents an MNIST image: +in particular, the first column represents the classification label, and the +remaining :math:`784` columns represent the greyscale value of the respective +pixels. + +Properties +---------- + +Generally speaking, the property we are interested in verifying is the local +robustness of a machine learning model on the elements of a set. That is, the +model classifies all elements of a set being at an :math:`l_\infty`-distance of +at most :math:`\epsilon \geq 0` with a same label. A general formulation of this +latter states that, given a classifier :math:`C`, a set :math:`X`, and some +perturbation :math:`\epsilon \geq 0`, it must hold that :math:`\forall x,x' +\in X. \ \lVert x - x' \rVert_\infty \leq \epsilon \Rightarrow C(x) = C(x')`. + +Since we actually deal with a *dataset* of finite elements for which we also +know the expected labels, we will instead verify a slightly different property: +given a classifier :math:`C`, an element :math:`x \in X` such that :math:`C(x) = +y`, and some perturbation :math:`\epsilon \geq 0`, it must hold that +:math:`\forall x'. \ \lVert x - x' \rVert_\infty \leq \epsilon \Rightarrow C(x) += y = C(x')`. Obviously, such a property must be verified for all elements of a +dataset. + +Modelling the problem using WhyML +--------------------------------- + +As described for the example on :ref:`acas_xu`, we first need to write a +specification file containing a WhyML theory to describe the verification +problem. In principle, we need to formalize the local robustness property as +well as the notions of classifier and dataset. + +The CAISAR standard library `caisar.mlw +<https://git.frama-c.com/pub/caisar/-/blob/master/stdlib/caisar.mlw>`_ provides +some utilities for dealing with verification problems about classification +datasets. Of particular interest for us is the ``robust`` predicate, defined in +the theory ``DataSetProps`` as follows: + +.. code-block:: whyml + + predicate robust (m: model) (d: dataset) (eps: t) = + forall i: int. 0 <= i < d.data.length -> robust_at m d.data[i] eps + +Note that the predicate is defined over a ``model``, a ``dataset`` and a +floating-point value ``eps``. The latter determines the perturbation +:math:`\epsilon`. The other two are custom WhyML types that respectively +formalize the notions of classifier and dataset in CAISAR. These types are +respectively defined in the ``Model`` and ``DataSetClassification`` theories. + +Moreover, it is defined in terms of the predicate ``robust_at`` that formalizes +the local robustness property: + +.. code-block:: whyml + + predicate robust_at (m: model) (d: datum) (eps: t) = + forall x': features. + let (x, _) = d in + linfty_distance x x' eps -> + predict m x = predict m x' + +Note that a ``datum`` is a dataset element given as a pair of *features* and +(classification) *label*. Morever, ``linfty_distance`` is a predicate that +describes how two arrays of floating-point values (*i.e.* ``features``) are +considered close up-to a pertubation ``eps``, while ``predict`` is a function +that formalizes the execution of a model on some features to obtain the +corresponding classification label. + +In order to use the ``robust`` predicate in our WhyML specification, we need +values of types ``model`` and ``dataset``. For the former, CAISAR makes +available the constant ``model`` upon interpreting the ``AsArray`` subtheory +that is built by the extension of the Why3 standard library for recognizing +neural network ONNX and NNet formats. For the latter, the CAISAR standard +library provides the constant ``dataset`` in ``DataSetClassification`` that will +be interpreted as the actual dataset the user needs to provide via the +command-line interface when launching a CAISAR verification. + +Assuming we have a neural network named ``MNIST_256_2.onnx`` for MNIST +classification, the final WhyML file for specifying its local robustness on a +dataset, with each element's feature pertubed by :math:`1 \%`, looks like this: + +.. code-block:: whyml + + theory MNIST + use MNIST_256_2.AsArray + use ieee_float.Float64 + use caisar.DataSetClassification + use caisar.DataSetProps + + goal robustness: + let normalized_dataset = min_max_scale true (0.0:t) (1.0:t) dataset in + robust model normalized_dataset (0.0100000000000000002081668171172168513294309377670288085937500000:t) + end + +Note the presence of the ``min_max_scale`` function defined in +``DataSetClassification`` for normalizing all feature values in :math:`[0,1]`. +Besides classic *Min-Max scaling*, CAISAR also provides ``z_norm`` function for +*Z-normalization*. + +This file is available, as is, under the ``/examples/mnist/`` folder as +`property.why +<https://git.frama-c.com/pub/caisar/-/blob/master/examples/mnist/property.why>`_. +The corresponding neural network in ONNX format is available under the +``/examples/mnist/nets/`` folder as `MNIST_256_2.onnx +<https://git.frama-c.com/pub/caisar/-/blob/master/examples/mnist/nets/MNIST_256_2.onnx>`_. + +Verifying the property with CAISAR +---------------------------------- + +Now we may verify whether the previous robustness specification holds on the +MNIST fragment ``mnist_test.csv`` by means of the nnenum prover. This can be +done via CAISAR as follows: + +.. code-block:: console + + $ caisar verify --prover nnenum -L examples/mnist/nets --format whyml --dataset=examples/mnist/csv/mnist_test.csv examples/mnist/property.why + [caisar] Goal robustness: Invalid + +The result tells us that there exists at least one image in ``mnist_test.csv`` +for which nnenum is sure that the model ``MNIST_256_2.onnx`` is not robust with +respect to :math:`1 \%` perturbation. At the moment, CAISAR is not able to tell +which are the images in the dataset that cause such result. + +.. [LiDeng2012] Li Deng, *The MNIST Database of Handwritten Digit Images for + Machine Learning Research*, IEEE Signal Process. Mag., 2012, pp. + 141-142, doi: 10.1109/MSP.2012.2211477 diff --git a/doc/usage.rst b/doc/usage.rst index 07606ae4920c770072607e49a5038451dd342845..70cd0bbd3cbdde766435344e9e4343596a2bb551 100644 --- a/doc/usage.rst +++ b/doc/usage.rst @@ -7,10 +7,10 @@ Property verification --------------------- CAISAR can be used to verify properties on neural networks. -The prototype command is ``caisar verify --solver=SOLVER property.mlw`` -File property.mlw defines the goal you want to verify, +The prototype command is ``caisar verify --prover=PROVER property.mlw``. +File ``property.mlw`` defines the goal you want to verify, written in the Whyml language. -Example of .mlw files can be seen in tests folder. +Example of ``.mlw`` files can be seen in tests folder. External verifiers detection ---------------------------- diff --git a/examples/acasxu/nets/ACASXU_1_1.nnet b/examples/acasxu/nets/nnet/ACASXU_1_1.nnet similarity index 100% rename from examples/acasxu/nets/ACASXU_1_1.nnet rename to examples/acasxu/nets/nnet/ACASXU_1_1.nnet diff --git a/examples/acasxu/nets/onnx/ACASXU_1_1.onnx b/examples/acasxu/nets/onnx/ACASXU_1_1.onnx new file mode 100644 index 0000000000000000000000000000000000000000..107622f165db728e6cc2984afb42ee2964f5ebf1 Binary files /dev/null and b/examples/acasxu/nets/onnx/ACASXU_1_1.onnx differ diff --git a/examples/acasxu/nets/onnx/ACASXU_1_9.onnx b/examples/acasxu/nets/onnx/ACASXU_1_9.onnx new file mode 100644 index 0000000000000000000000000000000000000000..5b5dfa714321acd013216d4157e9f325b4970361 Binary files /dev/null and b/examples/acasxu/nets/onnx/ACASXU_1_9.onnx differ diff --git a/examples/acasxu/nets/onnx/ACASXU_2_2.onnx b/examples/acasxu/nets/onnx/ACASXU_2_2.onnx new file mode 100644 index 0000000000000000000000000000000000000000..8d62b272de75115e883af912db3473cf7c10cb42 Binary files /dev/null and b/examples/acasxu/nets/onnx/ACASXU_2_2.onnx differ diff --git a/examples/acasxu/nets/onnx/ACASXU_2_7.onnx b/examples/acasxu/nets/onnx/ACASXU_2_7.onnx new file mode 100644 index 0000000000000000000000000000000000000000..eb98b1523490f617c75349ce3c956ccf38b732a6 Binary files /dev/null and b/examples/acasxu/nets/onnx/ACASXU_2_7.onnx differ diff --git a/examples/acasxu/nets/onnx/ACASXU_2_9.onnx b/examples/acasxu/nets/onnx/ACASXU_2_9.onnx new file mode 100644 index 0000000000000000000000000000000000000000..99bb5fd878cb1761afeb5d40b34b7c260074819a Binary files /dev/null and b/examples/acasxu/nets/onnx/ACASXU_2_9.onnx differ diff --git a/examples/acasxu/nets/onnx/ACASXU_3_3.onnx b/examples/acasxu/nets/onnx/ACASXU_3_3.onnx new file mode 100644 index 0000000000000000000000000000000000000000..9da9dd7ec66e489539748094e152166d3f287833 Binary files /dev/null and b/examples/acasxu/nets/onnx/ACASXU_3_3.onnx differ diff --git a/examples/acasxu/nets/onnx/ACASXU_4_5.onnx b/examples/acasxu/nets/onnx/ACASXU_4_5.onnx new file mode 100644 index 0000000000000000000000000000000000000000..73e71fc91eb788ef13f953057ffcb50cf5973ed8 Binary files /dev/null and b/examples/acasxu/nets/onnx/ACASXU_4_5.onnx differ diff --git a/examples/acasxu/property_1.why b/examples/acasxu/property_1.why index 360958cfe896e2c9386a1c7e588b75ee66850de4..6e51d7b8cb79d41f4bda8a80f8fb5456225cabb0 100644 --- a/examples/acasxu/property_1.why +++ b/examples/acasxu/property_1.why @@ -1,13 +1,13 @@ -theory ACAS_XU_P1 +theory ACASXU_P1 use ACASXU_1_1.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P1_1_1: forall x0 x1 x2 x3 x4. (0.5999999999999999777955395074968691915273666381835937500000000000:t) .<= x0 .<= (0.6798577687000000313588543576770462095737457275390625000000000000:t) -> (-0.5:t) .<= x1 .<= (0.5:t) -> (-0.5:t) .<= x2 .<= (0.5:t) -> (0.4500000000000000111022302462515654042363166809082031250000000000:t) .<= x3 .<= (0.5:t) -> (-0.5:t) .<= x4 .<= (-0.4500000000000000111022302462515654042363166809082031250000000000:t) -> let (y0, _, _, _, _) = nn_apply x0 x1 x2 x3 x4 in - y0 .< (3.9911256458999999630066213285317644476890563964843750000000000000:t) + y0 .<= (3.9911256458999999630066213285317644476890563964843750000000000000:t) end diff --git a/examples/acasxu/property_10.why b/examples/acasxu/property_10.why index 79149ea499e8ca0b8df5b6eea24ce97b1e03d100..6e260fabebd5e52a51fa5640be659b426eccdec2 100644 --- a/examples/acasxu/property_10.why +++ b/examples/acasxu/property_10.why @@ -1,13 +1,13 @@ -theory ACAS_XU_P10 +theory ACASXU_P10 use ACASXU_4_5.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P10_4_5: forall x0 x1 x2 x3 x4. (0.2689779999999999948734341614908771589398384094238281250000000000:t) .<= x0 .<= (0.6798579999999999623483404320722911506891250610351562500000000000:t) -> (0.1114079999999999931459271351741335820406675338745117187500000000:t) .<= x1 .<= (0.5:t) -> (-0.5:t) .<= x2 .<= (-0.4933803236000000036476365039561642333865165710449218750000000000:t) -> (0.2272730000000000027959856652159942314028739929199218750000000000:t) .<= x3 .<= (0.5:t) -> (0.0:t) .<= x4 .<= (0.5:t) -> let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - y0 .< y1 /\ y0 .< y2 /\ y0 .< y3 /\ y0 .< y4 + y0 .<= y1 /\ y0 .<= y2 /\ y0 .<= y3 /\ y0 .<= y4 end diff --git a/examples/acasxu/property_2.why b/examples/acasxu/property_2.why index fd8fe0a498e5d670d5a0b7b8fb6089c6138ef626..bac22019613a4915f4e30d1cfd2a89992c6eed5a 100644 --- a/examples/acasxu/property_2.why +++ b/examples/acasxu/property_2.why @@ -1,13 +1,13 @@ -theory ACAS_XU_P2 +theory ACASXU_P2 use ACASXU_2_2.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P2_2_2: forall x0 x1 x2 x3 x4. (0.5999999999999999777955395074968691915273666381835937500000000000:t) .<= x0 .<= (0.6798577687000000313588543576770462095737457275390625000000000000:t) -> (-0.5:t) .<= x1 .<= (0.5:t) -> (-0.5:t) .<= x2 .<= (0.5:t) -> (0.4500000000000000111022302462515654042363166809082031250000000000:t) .<= x3 .<= (0.5:t) -> (-0.5:t) .<= x4 .<= (-0.4500000000000000111022302462515654042363166809082031250000000000:t) -> let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - y0 .< y1 \/ y0 .< y2 \/ y0 .< y3 \/ y0 .< y4 + y0 .<= y1 \/ y0 .<= y2 \/ y0 .<= y3 \/ y0 .<= y4 end diff --git a/examples/acasxu/property_3.why b/examples/acasxu/property_3.why index 6cbbd4f575599a714ed8266fb3a4a270188118a2..84f816bf108f543074a6b27cf065b04d6e0c6cdc 100644 --- a/examples/acasxu/property_3.why +++ b/examples/acasxu/property_3.why @@ -1,13 +1,34 @@ -theory ACAS_XU_P3 - use ACASXU_1_1.AsTuple +theory ACASXU_P3 + use ACASXU_1_1.AsTuple as N11 + use ACASXU_2_7.AsTuple as N27 use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. - (-0.3035311560999999769272506000561406835913658142089843750000000000:t) .<= x0 .<= (-0.2985528118999999924731980627257144078612327575683593750000000000:t) -> - (-0.0095492965999999998572000947660853853449225425720214843750000000:t) .<= x1 .<= (0.0095492965999999998572000947660853853449225425720214843750000000:t) -> - (0.4933803236000000036476365039561642333865165710449218750000000000:t) .<= x2 .<= (0.5:t) -> - (0.2999999999999999888977697537484345957636833190917968750000000000:t) .<= x3 .<= (0.5:t) -> - (0.2999999999999999888977697537484345957636833190917968750000000000:t) .<= x4 .<= (0.5:t) -> - let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - y0 .> y1 \/ y0 .> y2 \/ y0 .> y3 \/ y0 .> y4 + constant x0:t + constant x1:t + constant x2:t + constant x3:t + constant x4:t + + axiom H0: + (-0.3035311560999999769272506000561406835913658142089843750000000000:t) .<= x0 .<= (-0.2985528118999999924731980627257144078612327575683593750000000000:t) + + axiom H1: + (-0.0095492965999999998572000947660853853449225425720214843750000000:t) .<= x1 .<= (0.0095492965999999998572000947660853853449225425720214843750000000:t) + + axiom H2: + (0.4933803236000000036476365039561642333865165710449218750000000000:t) .<= x2 .<= (0.5:t) + + axiom H3: + (0.2999999999999999888977697537484345957636833190917968750000000000:t) .<= x3 .<= (0.5:t) + + axiom H4: + (0.2999999999999999888977697537484345957636833190917968750000000000:t) .<= x4 .<= (0.5:t) + + goal P3_1_1: + let (y0, y1, y2, y3, y4) = N11.nn_apply x0 x1 x2 x3 x4 in + y0 .>= y1 \/ y0 .>= y2 \/ y0 .>= y3 \/ y0 .>= y4 + + goal P3_2_7: + let (y0, y1, y2, y3, y4) = N27.nn_apply x0 x1 x2 x3 x4 in + y0 .>= y1 \/ y0 .>= y2 \/ y0 .>= y3 \/ y0 .>= y4 end diff --git a/examples/acasxu/property_4.why b/examples/acasxu/property_4.why index 40551f23c8fa06ce7a2a4b85961e0bbe58d5b504..cfc7df2af37117109cfb4c544497dfe297188be1 100644 --- a/examples/acasxu/property_4.why +++ b/examples/acasxu/property_4.why @@ -1,13 +1,13 @@ -theory ACAS_XU_P4 +theory ACASXU_P4 use ACASXU_1_1.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P4_1_1: forall x0 x1 x2 x3 x4. (-0.3035311560999999769272506000561406835913658142089843750000000000:t) .<= x0 .<= (-0.2985528118999999924731980627257144078612327575683593750000000000:t) -> (-0.0095492965999999998572000947660853853449225425720214843750000000:t) .<= x1 .<= (0.0095492965999999998572000947660853853449225425720214843750000000:t) -> (0.0:t) .<= x2 .<= (0.0:t) -> (0.3181818182000000216902435568044893443584442138671875000000000000:t) .<= x3 .<= (0.5:t) -> (0.0833333333000000064938461719066253863275051116943359375000000000:t) .<= x4 .<= (0.1666666666999999935061538280933746136724948883056640625000000000:t) -> let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - y0 .> y1 \/ y0 .> y2 \/ y0 .> y3 \/ y0 .> y4 + y0 .>= y1 \/ y0 .>= y2 \/ y0 .>= y3 \/ y0 .>= y4 end diff --git a/examples/acasxu/property_5.why b/examples/acasxu/property_5.why index 02f97b01878ce3e79619d52577618bbe60408a18..df38218dfffe142a11f8bb46828124817e6bdefc 100644 --- a/examples/acasxu/property_5.why +++ b/examples/acasxu/property_5.why @@ -1,13 +1,13 @@ -theory ACAS_XU_P5 +theory ACASXU_P5 use ACASXU_1_1.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P5_1_1: forall x0 x1 x2 x3 x4. (-0.3242740000000000066826544298237422481179237365722656250000000000:t) .<= x0 .<= (-0.3217849999999999877076106713502667844295501708984375000000000000:t) -> (0.0318309999999999981845633101329440250992774963378906250000000000:t) .<= x1 .<= (0.0636619999999999963691266202658880501985549926757812500000000000:t) -> (-0.5:t) .<= x2 .<= (-0.4992039999999999810853523740661330521106719970703125000000000000:t) -> (-0.5:t) .<= x3 .<= (-0.2272730000000000027959856652159942314028739929199218750000000000:t) -> (-0.5:t) .<= x4 .<= (-0.1666670000000000095852215054037515074014663696289062500000000000:t) -> let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - y4 .< y1 \/ y4 .< y2 \/ y4 .< y3 \/ y4 .< y0 + y4 .<= y1 \/ y4 .<= y2 \/ y4 .<= y3 \/ y4 .<= y0 end diff --git a/examples/acasxu/property_6.why b/examples/acasxu/property_6.why index 34b30b3d120d5f4c272f20af9b6534391331b425..aea0e63aba341e4fb66a1b34dce7bfdf0595501f 100644 --- a/examples/acasxu/property_6.why +++ b/examples/acasxu/property_6.why @@ -1,8 +1,8 @@ -theory ACAS_XU_P6 +theory ACASXU_P6 use ACASXU_1_1.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P6_1_1: forall x0 x1 x2 x3 x4. (-0.1292889999999999872670741751790046691894531250000000000000000000:t) .<= x0 .<= (0.7004349250000000415283807342348154634237289428710937500000000000:t) -> (-0.5:t) .<= x1 .<= (-0.1114079999999999931459271351741335820406675338745117187500000000:t) \/ @@ -11,5 +11,5 @@ theory ACAS_XU_P6 (-0.5:t) .<= x3 .<= (0.5:t) -> (-0.5:t) .<= x4 .<= (0.5:t) -> let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - y0 .< y1 /\ y0 .< y2 /\ y0 .< y3 /\ y0 .< y4 + y0 .<= y1 /\ y0 .<= y2 /\ y0 .<= y3 /\ y0 .<= y4 end diff --git a/examples/acasxu/property_7.why b/examples/acasxu/property_7.why index 96fa7c3868e095e256a4f21f5b55ff4cd9925f26..f33ea31617d538d777347d2436945ce2d07645b6 100644 --- a/examples/acasxu/property_7.why +++ b/examples/acasxu/property_7.why @@ -1,13 +1,13 @@ -theory ACAS_XU_P7 +theory ACASXU_P7 use ACASXU_1_9.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P7_1_9: forall x0 x1 x2 x3 x4. (-0.3284230000000000204707362172484863549470901489257812500000000000:t) .<= x0 .<= (0.6798579999999999623483404320722911506891250610351562500000000000:t) -> (-0.5:t) .<= x1 .<= (0.5:t) -> (-0.5:t) .<= x2 .<= (0.5:t) -> (-0.5:t) .<= x3 .<= (0.5:t) -> (-0.5:t) .<= x4 .<= (0.5:t) -> let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - (y4 .> y1 \/ y4 .> y2 \/ y4 .> y3 \/ y4 .> y0) /\ (y3 .> y1 \/ y3 .> y2 \/ y3 .> y0 \/ y3 .> y4) + (y4 .>= y1 \/ y4 .>= y2 \/ y4 .>= y3 \/ y4 .>= y0) /\ (y3 .>= y1 \/ y3 .>= y2 \/ y3 .>= y0 \/ y3 .>= y4) end diff --git a/examples/acasxu/property_8.why b/examples/acasxu/property_8.why index c30de4c19538bda2b8c2325f6095cefbb25cdf82..1e4703d2c08908ca1dc765486b1826135e55fdec 100644 --- a/examples/acasxu/property_8.why +++ b/examples/acasxu/property_8.why @@ -1,13 +1,13 @@ -theory ACAS_XU_P8 +theory ACASXU_P8 use ACASXU_2_9.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P8_2_9: forall x0 x1 x2 x3 x4. (-0.3284230000000000204707362172484863549470901489257812500000000000:t) .<= x0 .<= (0.6798579999999999623483404320722911506891250610351562500000000000:t) -> (-0.5:t) .<= x1 .<= (0.375:t) -> (-0.0159149999999999985922372047753015067428350448608398437500000000:t) .<= x2 .<= (0.0159149999999999985922372047753015067428350448608398437500000000:t) -> (-0.0454550000000000023470114740575809264555573463439941406250000000:t) .<= x3 .<= (0.5:t) -> (0.0:t) .<= x4 .<= (0.5:t) -> let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - (y1 .< y0 /\ y1 .< y2 /\ y1 .< y3 /\ y1 .< y4) \/ (y0 .< y1 /\ y0 .< y2 /\ y0 .< y3 /\ y0 .< y4) + (y1 .<= y0 /\ y1 .<= y2 /\ y1 .<= y3 /\ y1 .<= y4) \/ (y0 .<= y1 /\ y0 .<= y2 /\ y0 .<= y3 /\ y0 .<= y4) end diff --git a/examples/acasxu/property_9.why b/examples/acasxu/property_9.why index 7e67075f6c4207271f5d949f4d2771374333e9d0..34d9b007c38c845df84cea528e9150f12b01d99a 100644 --- a/examples/acasxu/property_9.why +++ b/examples/acasxu/property_9.why @@ -1,13 +1,13 @@ -theory ACAS_XU_P9 +theory ACASXU_P9 use ACASXU_3_3.AsTuple use ieee_float.Float64 - goal G: forall x0 x1 x2 x3 x4. + goal P9_3_3: forall x0 x1 x2 x3 x4. (-0.2952339158000000240988924815610516816377639770507812500000000000:t) .<= x0 .<= (-0.2122615123999999908743774312824825756251811981201171875000000000:t) -> (-0.0636619771999999972678097037714906036853790283203125000000000000:t) .<= x1 .<= (-0.0222816919999999987767047571196599164977669715881347656250000000:t) -> (-0.4999998959999999992298569395643426105380058288574218750000000000:t) .<= x2 .<= (-0.4984083464999999879552206039079464972019195556640625000000000000:t) -> (-0.5:t) .<= x3 .<= (-0.4545454545000000012855423392466036602854728698730468750000000000:t) -> (-0.5:t) .<= x4 .<= (-0.375:t) -> let (y0, y1, y2, y3, y4) = nn_apply x0 x1 x2 x3 x4 in - y3 .< y1 /\ y3 .< y2 /\ y3 .< y0 /\ y3 .< y4 + y3 .<= y1 /\ y3 .<= y2 /\ y3 .<= y0 /\ y3 .<= y4 end diff --git a/examples/mnist/csv/mnist_test.csv b/examples/mnist/csv/mnist_test.csv new file mode 100644 index 0000000000000000000000000000000000000000..3ea4d6f03d8dcbc7f83e4270e116ad83a43bd1f3 --- /dev/null +++ b/examples/mnist/csv/mnist_test.csv @@ -0,0 +1,100 @@ +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,185,159,151,60,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222,254,254,254,254,241,198,198,198,198,198,198,198,198,170,52,0,0,0,0,0,0,0,0,0,0,0,0,67,114,72,114,163,227,254,225,254,254,254,250,229,254,254,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,66,14,67,67,67,59,21,236,254,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,253,209,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,233,255,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,254,238,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,249,254,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,254,187,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,205,248,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,254,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,251,240,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,221,254,166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,203,254,219,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,254,254,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,224,254,115,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,254,254,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,242,254,254,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,254,254,219,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,254,207,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,125,171,255,255,150,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,253,253,253,253,253,253,218,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,253,253,253,213,142,176,253,253,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,250,253,210,32,12,0,6,206,253,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,251,210,25,0,0,0,122,248,253,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,18,0,0,0,0,209,253,253,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,247,253,198,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,247,253,231,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,253,253,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,246,253,159,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,234,253,233,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,253,253,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,248,253,189,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,200,253,253,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,253,253,173,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,253,253,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,253,253,43,20,20,20,20,5,0,5,20,20,37,150,150,150,147,10,0,0,0,0,0,0,0,0,0,248,253,253,253,253,253,253,253,168,143,166,253,253,253,253,253,253,253,123,0,0,0,0,0,0,0,0,0,174,253,253,253,253,253,253,253,253,253,253,253,249,247,247,169,117,117,57,0,0,0,0,0,0,0,0,0,0,118,123,123,123,166,253,253,253,155,123,123,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,254,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,252,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,244,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,254,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,223,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,254,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,254,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,254,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,237,205,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,255,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,254,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,232,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,254,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,254,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,254,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,251,254,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,254,205,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,215,254,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,198,176,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,150,253,202,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,251,251,253,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,197,251,251,253,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,190,251,251,251,253,169,109,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,251,251,251,251,253,251,251,220,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,182,255,253,253,253,253,234,222,253,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,221,253,251,251,251,147,77,62,128,251,251,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,231,251,253,251,220,137,10,0,0,31,230,251,243,113,5,0,0,0,0,0,0,0,0,0,0,0,0,37,251,251,253,188,20,0,0,0,0,0,109,251,253,251,35,0,0,0,0,0,0,0,0,0,0,0,0,37,251,251,201,30,0,0,0,0,0,0,31,200,253,251,35,0,0,0,0,0,0,0,0,0,0,0,0,37,253,253,0,0,0,0,0,0,0,0,32,202,255,253,164,0,0,0,0,0,0,0,0,0,0,0,0,140,251,251,0,0,0,0,0,0,0,0,109,251,253,251,35,0,0,0,0,0,0,0,0,0,0,0,0,217,251,251,0,0,0,0,0,0,21,63,231,251,253,230,30,0,0,0,0,0,0,0,0,0,0,0,0,217,251,251,0,0,0,0,0,0,144,251,251,251,221,61,0,0,0,0,0,0,0,0,0,0,0,0,0,217,251,251,0,0,0,0,0,182,221,251,251,251,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,253,253,73,73,228,253,253,255,253,253,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,251,251,253,251,251,251,251,253,251,251,251,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,230,251,253,251,251,251,251,253,230,189,35,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,142,253,251,251,251,251,253,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,174,251,173,71,72,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,224,0,0,0,0,0,0,0,70,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,231,0,0,0,0,0,0,0,148,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,195,231,0,0,0,0,0,0,0,96,210,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,252,134,0,0,0,0,0,0,0,114,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,236,217,12,0,0,0,0,0,0,0,192,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,247,53,0,0,0,0,0,0,0,18,255,253,21,0,0,0,0,0,0,0,0,0,0,0,0,0,84,242,211,0,0,0,0,0,0,0,0,141,253,189,5,0,0,0,0,0,0,0,0,0,0,0,0,0,169,252,106,0,0,0,0,0,0,0,32,232,250,66,0,0,0,0,0,0,0,0,0,0,0,0,0,15,225,252,0,0,0,0,0,0,0,0,134,252,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,252,164,0,0,0,0,0,0,0,0,169,252,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,204,209,18,0,0,0,0,0,0,22,253,253,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,252,199,85,85,85,85,129,164,195,252,252,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,170,245,252,252,252,252,232,231,251,252,252,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,84,84,84,84,0,0,161,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,252,252,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,252,244,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,236,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,254,107,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,227,254,254,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,254,254,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,203,254,254,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,254,254,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,254,254,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,254,248,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,254,254,237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,254,254,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,254,238,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,252,254,223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,254,254,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,254,238,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,252,254,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,254,254,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,254,234,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,254,204,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,211,254,196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,158,254,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,157,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,192,134,32,0,0,0,0,0,0,0,0,15,77,5,0,0,0,0,0,0,0,0,0,0,0,0,17,235,250,169,0,0,0,0,0,0,0,0,15,220,241,37,0,0,0,0,0,0,0,0,0,0,0,20,189,253,147,0,0,0,0,0,0,0,0,0,139,253,100,0,0,0,0,0,0,0,0,0,0,0,0,70,253,253,21,0,0,0,0,0,0,0,0,43,254,173,13,0,0,0,0,0,0,0,0,0,0,0,22,153,253,96,0,0,0,0,0,0,0,0,43,231,254,92,0,0,0,0,0,0,0,0,0,0,0,0,163,255,204,11,0,0,0,0,0,0,0,0,104,254,158,0,0,0,0,0,0,0,0,0,0,0,0,0,162,253,178,5,0,0,0,0,0,0,9,131,237,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,253,253,191,175,70,70,70,70,133,197,253,253,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,228,253,253,254,253,253,253,253,254,253,253,219,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,65,137,254,232,137,137,137,44,253,253,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,254,206,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,253,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,254,241,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,254,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,244,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,254,232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,253,157,0,13,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,253,154,91,204,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,253,254,253,154,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,190,128,23,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,149,193,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,224,253,253,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,235,254,253,253,166,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,253,254,253,253,253,238,115,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,241,253,208,185,253,253,253,231,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,254,193,0,8,98,219,254,255,201,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,253,80,0,0,0,182,253,254,191,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,253,155,0,0,0,234,253,254,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,253,208,40,85,166,251,237,254,236,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,238,253,254,253,253,185,36,216,253,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,240,255,254,145,8,0,134,254,223,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,158,142,12,0,0,9,175,253,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,253,226,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,166,253,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,245,253,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,254,172,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,218,254,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,254,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,244,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,223,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,47,47,47,16,129,85,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,153,217,253,253,253,215,246,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,142,244,252,253,253,253,253,253,253,253,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,253,253,253,253,253,253,253,213,170,170,170,170,0,0,0,0,0,0,0,0,0,0,0,20,132,72,0,57,238,227,238,168,124,69,20,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,206,253,78,0,0,32,0,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,177,253,132,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,133,253,233,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,253,223,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,253,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,246,127,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,253,253,251,147,91,121,85,42,42,85,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,253,253,253,253,253,253,253,253,253,253,253,232,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,53,218,222,251,253,253,253,253,253,253,253,253,252,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,72,200,253,253,253,253,253,253,253,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,253,249,152,51,164,253,253,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,253,253,253,188,252,253,253,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,167,253,253,253,253,250,175,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,180,231,253,221,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,149,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,56,137,201,199,95,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,152,234,254,254,254,254,254,250,211,151,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,153,240,254,254,227,166,133,251,200,254,229,225,104,0,0,0,0,0,0,0,0,0,0,0,0,0,153,234,254,254,187,142,8,0,0,191,40,198,246,223,253,21,0,0,0,0,0,0,0,0,0,0,8,126,253,254,233,128,11,0,0,0,0,210,43,70,254,254,254,21,0,0,0,0,0,0,0,0,0,0,72,243,254,228,54,0,0,0,0,3,32,116,225,242,254,255,162,5,0,0,0,0,0,0,0,0,0,0,75,240,254,223,109,138,178,178,169,210,251,231,254,254,254,232,38,0,0,0,0,0,0,0,0,0,0,0,9,175,244,253,255,254,254,251,254,254,254,254,254,252,171,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,136,195,176,146,153,200,254,254,254,254,150,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,254,254,241,99,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,250,254,254,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,242,254,254,211,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,241,254,254,242,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,254,254,244,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,249,254,254,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,228,254,254,208,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,255,254,254,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,209,254,254,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,255,233,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,255,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,3,42,118,193,118,118,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,179,245,236,242,254,254,254,254,245,235,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,254,254,254,213,192,178,178,180,254,254,241,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,235,254,226,64,28,12,0,0,2,128,252,255,173,17,0,0,0,0,0,0,0,0,0,0,0,0,0,56,254,253,107,0,0,0,0,0,0,0,134,250,254,75,0,0,0,0,0,0,0,0,0,0,0,0,0,63,254,158,0,0,0,0,0,0,0,0,0,221,254,157,0,0,0,0,0,0,0,0,0,0,0,0,0,194,254,103,0,0,0,0,0,0,0,0,0,150,254,213,0,0,0,0,0,0,0,0,0,0,0,0,34,220,239,58,0,0,0,0,0,0,0,0,0,84,254,213,0,0,0,0,0,0,0,0,0,0,0,0,126,254,171,0,0,0,0,0,0,0,0,0,0,84,254,213,0,0,0,0,0,0,0,0,0,0,0,0,214,239,60,0,0,0,0,0,0,0,0,0,0,84,254,213,0,0,0,0,0,0,0,0,0,0,0,0,214,199,0,0,0,0,0,0,0,0,0,0,0,84,254,213,0,0,0,0,0,0,0,0,0,0,0,11,219,199,0,0,0,0,0,0,0,0,0,0,0,84,254,213,0,0,0,0,0,0,0,0,0,0,0,98,254,199,0,0,0,0,0,0,0,0,0,0,0,162,254,209,0,0,0,0,0,0,0,0,0,0,0,98,254,199,0,0,0,0,0,0,0,0,0,0,51,238,254,75,0,0,0,0,0,0,0,0,0,0,0,98,254,199,0,0,0,0,0,0,0,0,0,51,165,254,195,4,0,0,0,0,0,0,0,0,0,0,0,66,241,199,0,0,0,0,0,0,0,0,3,167,254,227,55,0,0,0,0,0,0,0,0,0,0,0,0,0,214,213,20,0,0,0,0,0,46,152,202,254,254,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,254,204,180,180,180,180,180,235,254,254,234,156,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,205,254,254,254,254,254,254,254,252,234,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,210,254,254,254,254,254,153,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,204,253,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,150,252,252,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,252,186,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,252,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,247,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,253,196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,253,196,0,0,0,0,0,0,0,57,85,85,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,253,96,0,0,0,0,0,151,226,243,252,252,238,125,0,0,0,0,0,0,0,0,0,0,0,0,10,229,226,0,0,0,4,54,229,253,255,234,175,225,255,228,31,0,0,0,0,0,0,0,0,0,0,0,110,252,150,0,0,26,128,252,252,227,134,28,0,0,178,252,56,0,0,0,0,0,0,0,0,0,0,0,159,252,113,0,0,150,253,252,186,43,0,0,0,0,141,252,56,0,0,0,0,0,0,0,0,0,0,0,185,252,113,0,38,237,253,151,6,0,0,0,0,0,141,202,6,0,0,0,0,0,0,0,0,0,0,0,198,253,114,0,147,253,163,0,0,0,0,0,0,0,154,197,0,0,0,0,0,0,0,0,0,0,0,0,197,252,113,0,172,252,188,0,0,0,0,0,0,26,253,171,0,0,0,0,0,0,0,0,0,0,0,0,197,252,113,0,19,231,247,122,19,0,0,0,0,200,244,56,0,0,0,0,0,0,0,0,0,0,0,26,222,252,113,0,0,25,203,252,193,13,0,76,200,249,125,0,0,0,0,0,0,0,0,0,0,0,0,0,185,253,179,10,0,0,0,76,35,29,154,253,244,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,209,253,196,82,57,57,131,197,252,253,214,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,216,252,252,252,253,252,252,252,156,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,103,139,240,140,139,139,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,180,253,255,253,169,36,11,76,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,68,228,252,252,253,252,252,160,189,253,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,252,252,227,79,69,69,100,90,236,247,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,233,252,185,50,0,0,0,26,203,252,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,253,178,37,0,0,0,0,70,252,252,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,253,242,42,0,0,0,0,5,191,253,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,252,230,0,0,0,0,5,136,252,252,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,252,230,0,0,0,32,138,252,252,227,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,252,249,207,207,207,228,253,252,252,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,179,253,252,252,252,252,75,169,252,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,116,116,74,0,149,253,215,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,253,240,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,253,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,240,253,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,253,252,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,252,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,252,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,252,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,200,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,66,138,255,253,169,138,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,120,228,252,252,253,252,252,252,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,252,252,252,252,190,252,252,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,233,252,252,252,116,5,135,252,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,178,253,252,221,43,2,0,5,54,232,252,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,253,255,249,115,0,0,0,0,0,136,251,255,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,252,253,185,0,0,0,0,0,0,0,209,253,206,0,0,0,0,0,0,0,0,0,0,0,0,0,19,220,252,253,92,0,0,0,0,0,0,0,116,253,206,0,0,0,0,0,0,0,0,0,0,0,0,0,70,252,252,192,17,0,0,0,0,0,0,0,116,253,223,25,0,0,0,0,0,0,0,0,0,0,0,0,122,252,252,63,0,0,0,0,0,0,0,0,116,253,252,69,0,0,0,0,0,0,0,0,0,0,0,0,132,253,253,0,0,0,0,0,0,0,0,0,116,255,253,69,0,0,0,0,0,0,0,0,0,0,0,0,184,252,252,0,0,0,0,0,0,0,0,0,116,253,252,69,0,0,0,0,0,0,0,0,0,0,0,0,184,252,252,0,0,0,0,0,0,0,0,0,116,253,240,50,0,0,0,0,0,0,0,0,0,0,0,0,184,252,252,0,0,0,0,0,0,0,0,0,210,253,112,0,0,0,0,0,0,0,0,0,0,0,0,0,48,232,252,158,0,0,0,0,0,0,0,0,230,232,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,253,244,50,0,0,0,0,0,0,155,253,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,164,253,113,0,0,0,0,0,66,236,231,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,222,240,134,0,0,38,91,234,252,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,177,240,207,103,233,252,252,176,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,54,179,252,137,137,54,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,132,214,253,254,253,203,162,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,142,203,203,253,252,253,252,151,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,244,203,142,102,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,252,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,223,234,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,253,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,254,91,51,51,51,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,223,253,252,253,252,253,172,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,214,253,203,162,102,102,203,223,254,253,51,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,253,171,0,0,0,0,0,20,112,192,253,212,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,203,234,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,213,232,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,203,234,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,213,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,233,212,0,0,0,0,0,0,0,0,0,0,0,0,113,92,0,0,0,0,0,0,0,0,0,0,31,173,244,40,0,0,0,0,0,0,0,0,0,0,0,82,253,151,0,0,0,0,0,0,21,102,102,183,233,212,81,0,0,0,0,0,0,0,0,0,0,0,0,82,255,253,234,152,153,193,173,253,254,253,254,213,142,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,151,151,232,253,212,192,151,131,50,50,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,146,229,255,205,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,198,252,253,225,216,235,252,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,205,253,223,70,15,0,29,206,174,2,87,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,253,227,6,0,0,0,0,35,28,76,253,253,9,0,0,0,0,0,0,0,0,0,0,0,0,0,88,251,235,12,0,0,0,0,0,0,42,238,253,174,1,0,0,0,0,0,0,0,0,0,0,0,0,0,134,253,192,0,0,0,0,0,0,0,14,238,253,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,253,74,0,0,0,0,0,0,0,85,247,253,75,0,0,0,0,0,0,0,0,0,0,0,0,0,10,250,253,47,0,0,0,0,0,0,6,219,253,241,31,0,0,0,0,0,0,0,0,0,0,0,0,0,10,253,253,47,0,0,0,0,0,5,72,253,253,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,221,253,117,0,0,0,0,25,118,253,253,253,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,242,254,187,104,146,159,220,244,239,254,224,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,201,253,253,248,215,156,67,247,253,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,56,56,50,0,0,38,253,253,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,253,253,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,253,253,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,238,253,191,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,253,253,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,253,244,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,253,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,249,254,254,254,245,167,167,136,25,80,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,254,254,254,254,254,254,254,254,249,254,252,197,113,71,39,0,0,0,0,0,0,0,0,0,0,0,0,5,99,135,105,105,114,192,192,192,233,254,254,254,254,254,246,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,114,114,203,254,254,254,240,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,35,155,254,254,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,254,241,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,254,254,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,243,254,240,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,254,254,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,243,254,244,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,176,254,254,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,254,254,220,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,253,254,243,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,241,254,254,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,243,254,254,147,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,111,254,254,203,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,254,254,254,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,237,254,255,194,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,254,254,194,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,230,193,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,41,146,146,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,129,253,253,253,250,163,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,253,253,253,253,253,253,229,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,253,252,145,102,107,237,253,247,128,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,253,167,0,0,0,61,235,253,253,163,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,43,0,0,0,0,58,193,253,253,164,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,253,32,0,0,0,0,0,55,236,253,253,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,253,32,0,100,190,87,87,87,147,253,253,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,253,78,40,248,253,253,253,253,253,253,253,223,84,15,0,0,0,0,0,0,0,0,0,0,0,0,0,14,92,12,35,240,253,253,253,253,253,253,253,253,253,244,89,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,161,179,253,253,253,253,253,253,253,253,253,209,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,16,16,39,38,16,16,145,243,253,253,185,48,0,0,0,0,0,0,0,0,0,0,0,0,0,20,58,0,0,0,0,0,0,0,0,58,209,253,253,183,0,0,0,0,0,0,0,0,0,0,0,0,77,221,247,79,0,0,0,0,0,0,0,0,13,219,253,240,72,0,0,0,0,0,0,0,0,0,0,0,90,247,253,252,57,0,0,0,0,0,0,0,0,53,251,253,191,0,0,0,0,0,0,0,0,0,0,0,0,116,253,253,59,0,0,0,0,0,0,0,0,99,252,253,145,0,0,0,0,0,0,0,0,0,0,0,0,14,188,253,221,158,38,0,0,0,0,111,211,246,253,253,145,0,0,0,0,0,0,0,0,0,0,0,0,0,12,221,246,253,251,249,249,249,249,253,253,253,253,200,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,183,228,253,253,253,253,253,253,195,124,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,37,138,74,126,88,37,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,234,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,254,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,178,31,0,0,0,0,0,51,254,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,254,83,0,0,0,0,0,87,254,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,254,56,0,0,0,0,0,189,238,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,227,168,2,0,0,0,0,0,194,236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,254,114,0,0,0,0,0,16,235,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,254,50,0,0,0,0,0,103,254,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,221,236,75,156,180,190,252,252,253,254,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,254,254,254,252,211,179,179,179,246,254,247,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,217,239,117,22,0,0,0,0,226,254,242,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,18,0,0,0,0,0,27,243,207,46,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,254,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,254,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,254,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,254,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,255,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,254,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,176,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,140,193,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,146,240,254,254,228,48,77,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,43,230,254,254,254,254,254,241,254,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,130,254,254,254,239,252,254,254,254,254,237,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,254,254,249,104,71,198,254,254,254,234,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,173,252,252,206,51,120,215,254,254,254,254,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,254,254,215,87,247,254,254,254,254,254,217,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,231,254,254,254,254,254,236,128,196,254,254,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,197,254,254,245,238,131,17,46,247,254,199,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,92,88,40,0,0,12,173,254,242,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,254,254,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,210,254,225,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,254,254,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,242,254,179,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,223,254,225,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,254,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,238,254,248,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,183,254,254,231,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,254,254,230,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,239,126,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,180,253,244,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,252,252,232,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,234,252,136,38,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,236,252,176,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,252,252,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,253,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,212,252,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,253,240,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,253,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,253,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,255,180,138,180,253,255,253,222,97,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,253,252,252,252,252,211,252,252,252,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,253,240,183,89,69,7,69,171,252,252,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,253,153,0,0,0,0,0,13,215,252,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,253,206,0,0,0,0,0,0,155,252,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,255,211,7,0,0,0,0,49,233,253,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,252,154,9,0,0,30,197,252,252,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,227,252,154,70,81,228,252,227,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,227,252,252,253,252,185,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,179,252,190,117,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,255,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,255,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,255,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,255,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,255,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,255,141,0,0,0,0,0,0,57,86,86,141,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,255,86,0,0,0,0,0,57,226,255,255,255,255,57,0,0,0,0,0,0,0,0,0,0,0,0,0,170,255,86,0,0,0,0,0,170,255,255,114,57,226,198,0,0,0,0,0,0,0,0,0,0,0,0,0,170,255,86,0,0,0,0,57,255,255,86,0,0,170,255,0,0,0,0,0,0,0,0,0,0,0,0,0,170,255,86,0,0,0,0,170,255,86,0,0,0,170,255,86,0,0,0,0,0,0,0,0,0,0,0,0,141,255,114,0,0,0,29,255,198,0,0,0,0,170,255,86,0,0,0,0,0,0,0,0,0,0,0,0,29,255,255,0,0,0,170,255,114,0,0,0,0,198,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,255,114,0,0,170,255,86,0,0,0,86,255,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,255,255,170,57,255,255,29,0,0,86,226,226,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,226,255,255,255,255,86,86,170,255,255,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,141,255,255,255,255,255,255,198,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,141,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,255,255,170,170,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,226,170,114,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,152,237,254,254,255,254,252,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,164,237,253,254,218,138,83,39,154,254,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,246,253,254,216,167,54,5,0,0,0,100,191,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,254,169,53,6,0,0,0,0,0,0,35,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,254,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,245,221,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,254,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,254,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,242,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,240,203,44,44,44,44,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,254,254,254,254,254,254,205,85,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,184,169,133,133,162,212,254,254,166,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,51,177,254,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,209,254,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,209,254,194,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,10,137,244,254,198,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,87,122,147,223,254,247,127,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,118,250,210,248,254,252,199,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,254,254,254,250,201,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,167,197,87,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,243,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,186,236,21,0,0,0,134,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,213,26,0,0,0,0,129,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,120,0,0,0,0,0,91,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,234,112,0,0,0,0,0,91,242,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,222,21,0,0,0,0,0,170,244,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,240,124,0,0,0,0,0,40,249,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,127,241,18,0,0,0,0,0,15,230,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,254,179,0,0,0,0,0,0,0,165,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,191,233,136,101,20,0,0,0,0,113,215,31,31,31,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,89,128,194,218,210,210,211,210,226,254,254,204,120,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,15,37,90,90,196,241,34,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,233,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,233,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,254,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,209,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,80,195,85,80,80,80,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,253,253,253,253,253,253,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,62,56,0,9,253,253,253,253,253,253,251,237,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,253,241,83,4,161,253,253,253,253,253,253,253,60,0,0,0,0,0,0,0,0,0,0,0,0,11,141,248,253,253,147,0,73,209,252,253,253,253,253,253,212,0,0,0,0,0,0,0,0,0,0,0,0,147,253,253,253,253,199,34,0,0,160,253,142,194,253,253,244,77,0,0,0,0,0,0,0,0,0,9,136,250,253,253,253,253,253,69,0,0,15,52,5,27,201,253,253,156,0,0,0,0,0,0,0,0,0,80,253,253,253,253,253,253,209,41,0,0,0,0,0,0,36,253,253,196,33,0,0,0,0,0,0,0,0,86,253,253,253,253,253,234,41,0,0,0,0,0,0,0,42,253,253,253,78,0,0,0,0,0,0,0,0,254,253,253,253,253,253,165,0,0,0,0,0,0,0,0,211,253,253,253,78,0,0,0,0,0,0,0,0,254,253,253,253,253,172,18,0,0,0,0,0,0,0,0,211,253,253,253,78,0,0,0,0,0,0,0,0,254,253,253,253,210,4,0,0,0,0,0,0,42,229,246,252,253,253,159,3,0,0,0,0,0,0,0,0,254,253,253,253,209,0,0,0,0,0,99,149,210,253,253,253,253,242,65,0,0,0,0,0,0,0,0,0,255,253,253,253,218,53,53,53,180,228,244,253,253,253,253,253,253,77,0,0,0,0,0,0,0,0,0,0,163,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,193,29,0,0,0,0,0,0,0,0,0,0,80,253,253,253,253,253,253,253,253,253,253,253,253,253,234,193,24,0,0,0,0,0,0,0,0,0,0,0,44,210,253,253,253,253,253,253,253,253,253,253,253,229,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,228,253,253,253,253,253,253,253,253,248,235,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,210,253,253,253,253,253,253,189,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,108,253,253,179,78,78,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,11,92,173,253,254,253,254,253,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,0,21,102,213,252,233,151,131,131,253,252,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,152,152,214,233,183,102,0,0,0,0,132,253,255,50,0,0,0,0,0,0,0,0,0,0,0,0,82,243,253,252,131,30,0,0,0,0,0,0,10,212,253,131,0,0,0,0,0,0,0,0,0,0,0,0,123,203,102,20,0,0,0,0,0,0,0,0,0,203,255,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,253,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,254,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,253,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,254,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,253,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,223,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,252,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,253,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,254,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,223,233,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,253,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,252,20,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,254,148,0,0,0,0,22,230,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,254,115,0,0,0,0,24,253,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,234,254,81,0,0,0,0,91,253,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,221,254,160,0,0,0,0,0,141,254,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,253,253,76,0,0,0,0,0,207,253,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,232,253,102,0,0,0,0,0,0,207,253,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,253,202,19,0,0,0,0,0,34,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,170,254,254,46,0,0,0,0,0,0,47,254,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,253,254,253,234,163,47,47,26,0,0,130,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,246,254,253,253,253,254,253,232,174,208,232,253,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,161,211,219,219,254,253,253,253,254,253,244,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,142,142,93,170,254,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,253,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,253,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,253,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,255,254,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,254,253,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,254,215,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,255,254,255,254,254,254,157,130,88,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,253,253,253,253,253,253,253,253,253,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,129,238,253,253,253,253,253,253,253,253,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,253,248,167,235,253,253,253,253,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,178,253,182,0,27,134,247,253,253,215,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,130,253,222,27,0,0,0,186,253,253,253,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,253,253,122,0,0,0,0,67,246,253,253,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,253,199,25,0,0,0,0,0,187,253,253,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,225,245,67,0,0,0,0,0,0,88,253,253,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,253,185,0,0,0,0,0,0,0,88,253,253,148,0,0,0,0,0,0,0,0,0,0,0,0,0,15,228,253,93,0,0,0,0,0,0,0,88,253,253,148,0,0,0,0,0,0,0,0,0,0,0,0,0,19,253,253,93,0,0,0,0,0,0,0,88,253,253,148,0,0,0,0,0,0,0,0,0,0,0,0,0,19,253,253,93,0,0,0,0,0,0,0,88,253,253,109,0,0,0,0,0,0,0,0,0,0,0,0,0,19,253,253,134,0,0,0,0,0,0,0,88,253,219,16,0,0,0,0,0,0,0,0,0,0,0,0,0,19,253,253,230,32,0,0,0,0,0,0,132,253,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,253,253,253,233,120,0,74,100,100,200,248,217,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,159,253,253,253,249,230,247,253,253,253,253,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,253,253,253,253,253,253,253,253,253,118,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,41,253,253,253,253,253,253,253,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,51,88,214,165,99,5,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,253,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,252,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,204,250,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,249,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,252,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,252,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,252,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,252,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,252,253,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,184,255,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,253,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,253,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,253,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,253,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,235,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,253,252,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,253,252,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,253,252,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,195,241,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,113,193,254,253,254,253,254,172,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,253,252,253,252,253,252,253,252,243,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,255,233,183,102,203,203,234,253,254,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,151,50,0,0,0,41,193,252,253,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,213,254,253,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,213,252,253,252,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,253,254,253,254,151,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,212,253,252,253,232,223,122,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,223,254,253,254,253,254,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,50,131,213,252,253,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,162,254,253,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,203,253,252,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,253,254,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,142,253,252,233,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,214,253,254,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,243,253,252,172,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,173,173,253,255,253,224,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,252,253,252,253,171,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,253,244,203,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,192,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,193,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,253,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,254,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,253,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,254,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,252,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,253,214,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,212,253,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,254,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,253,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,254,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,253,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,254,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,253,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,255,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,253,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,252,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,254,254,254,254,217,118,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,247,253,253,253,253,253,253,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,244,253,208,177,177,55,99,253,249,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,165,179,25,0,0,0,69,253,253,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,253,249,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,153,253,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,240,253,253,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,111,247,253,253,227,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,228,253,253,253,253,253,221,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,253,253,253,253,253,253,253,252,206,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,205,205,205,82,68,68,188,253,253,226,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,167,253,253,224,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,176,253,253,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,253,221,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,253,253,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,227,253,253,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,63,140,226,253,253,238,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,42,153,193,253,253,253,253,217,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,29,158,251,253,253,253,253,253,232,102,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,116,186,253,253,253,227,116,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,176,76,0,0,0,0,0,0,0,0,0,0,22,4,0,0,0,0,0,0,0,0,0,0,0,0,0,137,254,113,0,0,0,0,0,0,0,0,0,0,134,139,0,0,0,0,0,0,0,0,0,0,0,0,0,108,254,113,0,0,0,0,0,0,0,0,0,69,248,254,0,0,0,0,0,0,0,0,0,0,0,0,0,213,254,113,0,0,0,0,0,0,0,0,0,133,254,204,0,0,0,0,0,0,0,0,0,0,0,0,44,240,254,113,0,0,0,0,0,0,0,0,0,202,254,78,0,0,0,0,0,0,0,0,0,0,0,0,101,254,254,102,0,0,0,0,0,0,0,0,7,207,245,16,0,0,0,0,0,0,0,0,0,0,0,12,216,254,173,0,0,0,0,0,0,0,0,0,86,254,153,0,0,0,0,0,0,0,0,0,0,0,0,155,254,254,47,0,0,0,0,0,0,0,0,0,184,254,153,0,0,0,0,0,0,0,0,0,0,0,78,240,254,222,8,0,0,0,0,0,0,0,0,15,206,254,153,0,0,0,0,0,0,0,0,0,0,14,203,254,254,48,0,0,0,0,0,0,0,0,0,48,254,254,54,0,0,0,0,0,0,0,0,0,0,36,254,254,173,3,0,0,0,0,0,0,0,0,0,48,254,254,35,0,0,0,0,0,0,0,0,0,71,204,254,218,25,0,1,12,12,12,7,12,12,1,0,48,254,173,1,0,0,0,0,0,0,0,0,0,150,254,254,225,148,148,151,254,254,255,205,254,254,90,13,118,254,157,0,0,0,0,0,0,0,0,0,0,233,254,254,254,254,254,254,254,254,254,218,225,211,254,203,224,254,53,0,0,0,0,0,0,0,0,0,0,107,254,254,224,201,189,189,123,71,71,17,27,7,69,178,254,207,15,0,0,0,0,0,0,0,0,0,0,4,53,53,28,10,0,0,0,0,0,0,0,0,0,148,254,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,35,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,211,89,0,0,0,0,0,0,51,121,121,226,253,232,44,0,0,0,0,0,0,0,0,0,0,0,0,61,235,249,240,240,240,240,240,241,245,252,252,252,252,252,93,0,0,0,0,0,0,0,0,0,0,0,0,0,64,183,252,252,252,252,252,253,252,252,252,252,252,252,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,39,39,53,95,39,39,39,39,219,252,252,197,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,244,252,209,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,252,252,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,244,252,252,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,241,252,252,126,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,197,252,252,248,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,196,253,252,252,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,197,253,255,253,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,123,252,252,253,252,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,252,252,252,253,37,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,198,252,252,209,110,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,176,252,252,248,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,107,252,252,252,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,252,252,252,233,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,217,252,252,252,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,250,252,252,221,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,217,217,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,125,191,218,255,254,254,241,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,249,253,253,253,253,253,253,253,250,235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,241,251,253,225,142,49,12,12,12,105,253,253,111,0,0,0,0,0,0,0,0,0,0,0,0,0,95,225,253,167,113,14,0,0,0,0,0,16,211,253,117,0,0,0,0,0,0,0,0,0,0,0,0,91,238,253,170,28,0,0,0,0,0,0,0,0,150,253,117,0,0,0,0,0,0,0,0,0,0,0,98,251,218,48,5,0,0,0,0,0,0,0,0,0,150,253,117,0,0,0,0,0,0,0,0,0,0,0,112,253,112,0,0,0,0,0,0,0,0,0,0,9,184,242,18,0,0,0,0,0,0,0,0,0,0,0,20,45,5,0,0,0,0,0,0,0,0,0,0,67,253,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,234,248,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,157,253,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,189,253,203,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,156,253,246,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,156,253,202,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,156,253,226,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,33,33,140,163,186,253,226,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,81,244,253,253,253,253,253,253,253,186,70,23,0,0,22,156,77,0,0,0,0,0,0,0,0,0,80,195,253,253,253,253,253,248,234,166,248,253,253,240,150,73,144,104,51,0,0,0,0,0,0,0,0,7,248,253,253,253,253,253,242,105,0,0,107,242,253,253,253,245,160,0,0,0,0,0,0,0,0,0,0,57,250,253,253,253,247,135,21,0,0,0,0,21,117,183,183,48,0,0,0,0,0,0,0,0,0,0,0,0,121,123,176,135,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,156,148,89,81,156,255,254,254,254,216,156,148,41,0,0,0,0,0,0,0,0,0,0,0,0,0,26,207,254,253,253,253,245,234,195,233,233,233,246,253,241,24,0,0,0,0,0,0,0,0,0,0,0,0,166,253,254,253,253,128,48,0,0,0,0,0,48,226,253,87,0,0,0,0,0,0,0,0,0,0,4,174,251,253,244,124,19,2,0,0,0,0,0,0,0,214,253,19,0,0,0,0,0,0,0,0,0,0,132,253,253,177,45,0,0,0,0,0,0,0,0,0,46,244,253,19,0,0,0,0,0,0,0,0,0,0,128,195,90,0,0,0,0,0,0,0,0,0,0,0,179,254,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,254,251,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,254,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,248,254,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,253,171,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,239,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,92,253,253,215,214,214,181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,167,253,253,253,254,253,253,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,253,253,253,185,117,34,19,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,73,193,237,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,254,214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,253,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,253,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,253,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,193,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,218,209,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,189,252,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,252,215,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,252,253,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,252,253,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,253,254,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,252,253,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,249,253,210,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,255,253,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,255,253,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,209,182,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,170,254,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,191,245,254,254,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,70,242,254,235,233,254,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,184,254,243,99,27,110,254,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,205,247,98,26,0,0,110,254,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,104,20,0,0,0,0,110,254,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,214,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,200,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,231,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,244,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,201,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,226,31,0,0,0,0,0,0,0,11,122,205,47,0,0,0,0,0,0,0,0,0,0,0,0,0,79,255,128,0,0,0,0,0,0,15,84,216,250,144,12,0,0,0,0,0,0,0,0,0,0,0,0,7,207,228,37,0,0,0,0,20,136,238,254,228,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,254,66,0,0,0,53,190,254,254,197,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,231,182,0,32,101,184,249,239,179,96,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,99,128,232,254,251,185,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,221,254,254,254,254,192,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,254,254,188,105,72,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,222,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,223,254,127,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,254,254,254,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,254,254,254,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,254,254,254,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,254,254,243,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,230,254,254,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,254,254,254,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,192,254,254,254,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,254,254,254,254,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,254,254,254,236,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,254,254,254,186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,254,254,254,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,254,254,202,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,215,254,246,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,223,254,254,186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,208,254,254,186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,215,254,254,186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,217,254,254,186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,255,255,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,234,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,255,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,254,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,233,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,233,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,253,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,97,181,254,255,221,106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,128,213,245,254,254,246,239,254,254,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,151,239,254,254,222,204,189,70,27,215,254,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,248,254,233,40,15,0,0,0,0,96,254,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,72,33,0,0,0,0,0,0,76,254,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,254,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,254,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,203,174,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,254,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,223,205,254,115,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,248,254,254,254,242,191,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,254,254,248,209,254,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,186,208,71,49,74,191,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,254,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,197,168,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,225,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,233,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,227,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,255,165,0,0,0,0,0,0,70,254,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,254,153,0,0,0,0,0,0,106,254,249,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,254,105,0,0,0,0,0,0,140,254,240,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,225,254,84,0,0,0,0,0,85,233,254,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,254,254,46,0,0,0,0,8,186,254,254,206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,254,254,9,0,0,0,0,146,254,254,254,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,254,254,9,0,0,0,127,251,254,254,239,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,254,254,9,0,0,92,246,254,254,254,181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,241,254,40,0,27,244,254,254,254,254,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,254,169,100,244,254,254,254,254,252,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,176,253,254,254,245,167,254,254,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,177,146,35,110,254,254,148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,254,254,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,254,219,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,174,254,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,254,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,254,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,206,254,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,254,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,192,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,102,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,214,253,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,232,223,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,244,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,243,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,233,212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,173,224,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,252,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,254,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,203,233,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,253,102,0,31,51,51,51,113,112,113,152,132,10,0,0,0,0,0,0,0,0,0,0,0,0,0,82,253,252,223,203,233,252,253,252,253,252,253,252,253,91,0,0,0,0,0,0,0,0,0,0,11,51,173,253,254,253,254,213,102,102,0,0,0,0,0,0,163,203,0,0,0,0,0,0,0,0,0,123,213,252,253,252,192,111,50,10,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,173,253,255,253,224,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,253,130,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,102,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,151,255,254,163,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,211,253,253,253,253,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,241,152,135,248,253,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,84,0,0,162,247,192,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,194,253,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,253,253,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,253,208,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,253,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,232,253,200,56,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,253,253,253,253,159,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,185,235,253,253,253,190,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,89,201,253,253,206,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,214,253,253,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,253,253,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,129,246,253,219,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,202,253,253,219,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,230,247,253,253,168,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,248,253,253,253,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,253,253,253,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,253,226,38,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,163,193,152,92,51,51,51,51,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,223,253,252,253,252,253,252,253,192,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,253,102,0,21,102,62,102,102,61,183,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,252,102,0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,253,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,252,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,253,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,223,203,203,203,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,254,253,224,203,203,223,254,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,243,253,130,20,0,0,20,253,232,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,183,0,0,0,0,0,132,253,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,151,20,0,0,0,0,0,51,252,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,113,253,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,183,0,0,0,0,0,0,0,193,252,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,183,0,0,0,0,0,0,21,254,253,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,223,102,0,0,0,0,0,21,203,253,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,204,123,0,0,0,0,41,173,253,203,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,223,102,21,102,163,243,253,171,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,234,253,255,253,255,172,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,131,192,111,50,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,253,167,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,222,252,252,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,252,252,187,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,252,252,252,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,248,252,252,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,252,252,229,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,252,252,252,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,235,252,252,226,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,252,252,253,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,195,252,253,201,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,253,255,253,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,252,253,252,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,252,253,252,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,212,253,252,252,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,253,252,252,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,252,252,238,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,252,252,252,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,252,252,252,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,252,252,252,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,110,233,243,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,174,226,255,185,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222,83,68,74,186,243,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,11,0,0,7,114,242,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,114,222,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,219,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,223,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,249,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,182,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,241,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,254,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,254,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,79,102,20,0,0,165,181,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,159,242,246,246,242,119,59,253,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,223,35,0,5,116,243,254,207,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,243,103,0,0,0,0,81,254,218,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,254,32,0,0,0,78,244,214,226,200,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,254,50,0,56,93,245,214,30,42,227,202,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,192,241,230,253,254,167,29,0,0,40,134,244,184,69,32,0,0,0,0,0,0,0,0,0,0,0,0,0,22,137,173,94,12,3,0,0,0,0,1,102,209,240,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,111,133,82,1,0,0,0,3,100,168,214,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,253,253,253,11,0,0,4,127,253,253,253,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,231,253,253,238,10,0,0,37,253,253,253,253,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,182,253,253,253,144,0,0,0,37,253,253,253,253,133,0,0,0,0,0,0,0,0,0,0,0,0,0,64,233,253,253,253,58,0,0,0,37,253,253,253,253,36,0,0,0,0,0,0,0,0,0,0,0,0,11,194,253,253,253,253,24,0,4,85,202,253,253,253,253,36,0,0,0,0,0,0,0,0,0,0,0,0,37,253,253,253,253,253,101,85,209,253,253,253,253,253,184,7,0,0,0,0,0,0,0,0,0,0,0,0,141,253,253,253,253,253,253,253,254,253,253,253,253,253,65,0,0,0,0,0,0,0,0,0,0,0,0,0,106,253,253,253,253,253,253,253,254,253,253,253,253,187,5,0,0,0,0,0,0,0,0,0,0,0,0,0,37,253,253,253,253,253,253,253,254,253,253,253,253,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,248,242,149,220,242,242,242,244,254,254,255,254,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,6,191,253,253,253,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,253,253,253,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,218,253,253,253,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,253,253,253,253,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,253,253,253,253,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,254,253,253,253,253,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,254,253,253,253,230,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,254,253,253,253,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,160,11,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,213,0,0,0,0,0,0,0,0,11,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,252,0,0,0,0,0,0,0,0,51,252,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,0,0,0,0,0,0,0,0,51,253,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,41,0,0,0,0,0,0,0,51,252,223,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,102,0,0,0,0,0,0,0,51,253,254,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,102,0,0,0,0,0,0,0,51,252,253,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,102,0,0,0,0,0,0,0,51,253,254,50,52,131,0,0,0,0,0,0,0,0,0,0,0,0,253,252,61,0,0,0,0,0,0,0,92,252,213,51,193,151,0,0,0,0,0,0,0,0,0,0,0,0,254,253,102,0,0,0,0,0,0,0,152,253,254,253,203,20,0,0,0,0,0,0,0,0,0,0,0,0,253,252,102,0,0,0,0,0,0,41,193,252,253,212,20,0,0,0,0,0,0,0,0,0,0,0,0,0,193,253,254,131,51,51,51,132,214,253,254,253,254,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,232,253,252,253,252,253,252,253,252,253,252,213,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,234,253,254,253,244,203,142,102,254,253,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,50,50,50,40,0,0,0,253,252,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,252,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,253,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,172,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,156,246,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,217,253,250,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,253,253,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,246,253,195,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,254,200,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,254,241,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,183,253,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,253,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,134,216,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,244,253,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,254,183,8,0,0,0,41,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,78,0,16,140,214,241,217,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,254,247,54,0,135,152,166,253,253,223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,254,180,0,0,0,0,12,223,253,253,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,254,99,0,0,0,0,20,253,253,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,136,0,0,0,0,20,254,254,133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,254,190,88,2,0,5,76,253,250,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,223,253,253,166,79,156,253,253,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,72,202,253,253,253,254,253,225,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,58,200,215,193,73,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,60,60,131,209,209,209,209,209,209,211,174,60,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,253,253,253,253,253,253,253,253,253,254,253,253,211,28,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,253,253,253,253,253,253,253,253,254,253,253,253,178,0,0,0,0,0,0,0,0,0,0,0,0,0,91,178,178,178,178,178,99,29,29,29,91,240,253,253,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,240,253,253,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,134,254,253,253,253,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,90,90,232,242,253,254,253,253,253,109,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,212,253,253,253,253,253,254,253,253,253,253,246,116,46,11,0,0,0,0,0,0,0,0,0,0,0,0,120,253,253,253,253,253,253,254,253,253,253,253,253,253,253,147,0,0,0,0,0,0,0,0,0,0,0,0,121,254,254,254,155,124,0,0,0,0,72,149,224,254,255,254,105,0,0,0,0,0,0,0,0,0,0,0,21,44,44,44,3,0,0,0,0,0,0,0,49,225,253,253,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,244,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0,0,0,64,246,253,182,0,0,0,0,0,0,0,0,0,0,0,0,67,241,145,4,0,0,0,0,0,0,0,72,240,253,253,104,0,0,0,0,0,0,0,0,0,0,0,0,75,253,253,183,179,179,119,66,179,179,179,232,253,242,196,31,0,0,0,0,0,0,0,0,0,0,0,0,36,214,253,253,253,253,254,253,253,253,253,253,253,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,94,163,179,200,255,253,253,253,226,163,163,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,24,59,95,111,59,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,77,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,63,119,171,242,243,202,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,21,0,24,119,204,254,255,227,128,107,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,187,254,232,215,234,254,241,159,74,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,217,254,254,254,251,221,105,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,199,254,254,249,162,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,254,254,196,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,240,254,163,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222,254,161,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,242,248,76,34,107,134,218,177,93,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,254,248,241,243,254,235,223,240,254,236,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,254,254,201,144,58,22,0,31,142,250,233,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,151,85,15,0,0,0,0,0,0,132,254,175,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,254,254,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,209,254,176,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,228,254,233,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,98,182,250,254,231,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,27,27,103,117,151,222,254,254,240,142,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,249,250,253,247,245,241,184,100,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,49,65,34,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,154,215,241,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,233,177,70,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,146,146,149,177,224,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,207,161,184,106,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,248,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,252,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,253,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,254,62,0,0,4,31,13,32,55,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,254,62,14,83,214,254,226,254,254,254,181,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,254,154,225,251,167,84,70,23,23,91,179,250,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,204,220,154,33,0,0,0,0,0,0,0,110,255,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,210,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,250,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,254,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,248,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,31,0,0,0,0,0,0,0,0,1,18,229,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,236,78,2,0,0,0,0,0,18,161,233,185,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,254,90,32,12,55,85,168,234,234,129,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,130,226,244,236,254,247,176,109,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,206,217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,205,253,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,205,253,251,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,253,253,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,208,253,238,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,209,253,253,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,241,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,235,0,0,0,0,0,0,0,38,50,50,50,50,50,5,0,0,0,0,0,0,0,0,0,0,0,254,253,235,0,0,0,0,0,68,180,236,253,253,253,253,253,187,126,30,0,0,0,0,0,0,0,0,0,254,253,235,0,0,0,0,13,198,253,253,204,191,148,128,176,247,253,222,126,0,0,0,0,0,0,0,0,254,253,140,0,0,0,0,144,253,253,168,14,0,0,0,0,108,215,253,253,0,0,0,0,0,0,0,0,254,253,208,0,0,0,0,174,253,253,61,0,0,0,0,0,0,112,253,253,0,0,0,0,0,0,0,0,254,253,235,0,0,0,0,174,253,253,61,0,0,0,0,0,0,112,253,214,0,0,0,0,0,0,0,0,254,253,241,36,0,0,0,174,253,253,164,0,0,0,0,0,0,112,253,87,0,0,0,0,0,0,0,0,103,253,253,232,85,0,0,25,125,229,244,181,64,0,0,0,0,157,253,112,0,0,0,0,0,0,0,0,4,207,253,253,208,0,0,0,0,114,229,253,244,87,0,0,42,243,253,81,0,0,0,0,0,0,0,0,0,25,253,253,250,150,36,0,0,0,52,148,181,245,184,106,228,253,95,1,0,0,0,0,0,0,0,0,0,1,88,207,253,253,242,211,112,112,112,112,118,172,253,253,207,26,1,0,0,0,0,0,0,0,0,0,0,0,0,80,135,210,253,253,253,253,253,253,253,213,135,87,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,27,129,129,129,129,129,129,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,29,4,104,229,253,129,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,252,179,252,252,252,253,122,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,252,253,252,148,56,253,252,143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,246,252,253,102,6,0,153,252,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,253,253,255,84,0,0,13,207,253,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,252,252,247,65,0,0,0,169,252,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,252,252,100,0,0,0,0,82,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,243,252,252,0,0,0,0,0,57,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,253,253,253,0,0,0,0,0,57,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,252,252,252,0,0,0,0,0,57,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,252,224,168,0,0,0,0,0,57,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,168,0,0,0,0,0,0,57,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,168,0,0,0,0,0,0,120,253,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,93,0,0,0,0,0,0,169,252,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,56,0,0,0,0,0,10,197,252,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,156,0,0,0,0,0,179,252,177,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,253,178,16,0,19,66,191,254,209,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,234,252,215,169,225,252,252,209,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,252,252,253,252,252,214,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,65,240,253,177,103,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,253,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,196,252,241,24,0,0,0,0,0,0,0,0,147,225,97,0,0,0,0,0,0,0,0,0,0,0,0,57,252,252,253,27,0,0,0,0,0,0,0,32,253,252,195,0,0,0,0,0,0,0,0,0,0,0,0,57,252,252,178,9,0,0,0,0,0,0,0,140,253,252,102,0,0,0,0,0,0,0,0,0,0,0,0,57,252,252,140,0,0,0,0,0,0,0,16,203,253,252,55,0,0,0,0,0,0,0,0,0,0,0,0,120,253,253,141,0,0,0,0,0,0,0,29,253,255,215,31,0,0,0,0,0,0,0,0,0,0,0,0,197,252,252,140,0,0,0,0,0,0,0,29,252,253,42,0,0,0,0,0,0,0,0,0,0,0,0,0,197,252,252,31,0,0,0,0,0,0,13,79,252,253,27,0,0,0,0,0,0,0,0,0,0,0,0,57,234,252,236,0,0,0,0,0,0,0,57,252,252,178,9,0,0,0,0,0,0,0,0,0,0,0,0,85,252,252,189,141,140,140,140,140,79,48,165,252,252,140,0,0,0,0,0,0,0,0,0,0,0,0,0,86,253,253,253,255,253,253,253,253,255,253,253,253,253,141,0,0,0,0,0,0,0,0,0,0,0,0,0,57,233,252,252,253,252,252,242,214,215,243,252,252,252,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,195,195,56,55,55,49,31,31,50,209,252,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,234,252,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,252,252,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,253,253,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,249,252,242,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,252,252,246,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,234,252,154,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,252,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,254,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,253,217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,247,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,254,229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,254,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,254,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,252,243,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,253,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,232,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,253,236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,253,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,253,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,230,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,253,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,221,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,196,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,73,157,163,195,163,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,184,242,254,253,253,253,253,158,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,179,248,253,253,217,197,127,165,242,254,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,116,234,253,250,163,80,0,0,0,0,181,254,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,253,254,214,62,0,0,0,0,0,0,181,254,160,13,0,0,0,0,0,0,0,0,0,0,0,0,95,254,254,182,7,0,0,0,0,0,0,38,228,255,254,127,0,0,0,0,0,0,0,0,0,0,0,0,128,253,201,7,0,0,0,0,0,32,55,172,253,254,253,42,0,0,0,0,0,0,0,0,0,0,0,0,128,253,207,69,37,32,16,102,186,238,253,253,253,254,160,5,0,0,0,0,0,0,0,0,0,0,0,0,86,249,253,254,253,245,222,253,254,253,253,253,253,254,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,254,253,253,253,220,136,72,105,214,253,228,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,91,46,0,0,0,0,63,254,254,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,253,201,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,235,253,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,253,238,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,253,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,241,254,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,182,253,245,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,254,253,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,254,223,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,195,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,123,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,103,202,225,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,40,171,223,240,236,74,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,64,134,240,255,253,161,57,14,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,212,213,243,253,253,253,192,68,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,230,231,230,159,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,84,121,27,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,126,94,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,202,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,237,243,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,180,255,210,193,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,63,63,183,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,204,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,225,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,94,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,173,254,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,125,253,224,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,253,200,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,130,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,191,255,128,128,128,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,255,255,255,255,255,255,255,128,128,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,255,255,255,255,255,255,255,255,255,255,255,255,191,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,64,128,128,128,128,255,255,255,255,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,191,255,255,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,47,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,108,249,253,253,208,207,207,207,149,65,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,184,254,253,253,253,254,253,253,253,254,253,213,25,0,0,0,0,0,0,0,0,0,0,0,0,0,55,203,254,254,199,127,127,60,93,84,68,151,222,254,161,0,0,0,0,0,0,0,0,0,0,0,0,0,138,253,253,199,19,0,0,0,0,0,0,0,155,253,211,0,0,0,0,0,0,0,0,0,0,0,0,0,138,253,253,17,0,0,0,0,0,0,0,74,241,253,211,0,0,0,0,0,0,0,0,0,0,0,0,0,105,253,253,102,0,0,0,0,0,0,34,229,253,253,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,254,229,40,0,0,0,38,153,254,254,254,180,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,198,254,207,9,34,72,235,253,253,224,139,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,211,253,215,240,254,253,234,128,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,229,253,253,253,228,77,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,170,254,254,254,254,254,254,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,130,230,254,253,253,185,115,64,211,253,248,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,232,253,253,247,162,46,13,7,91,245,253,254,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,253,253,253,210,93,127,159,204,253,253,253,228,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,241,254,255,254,254,254,254,254,254,228,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,115,140,206,206,206,207,206,123,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,254,204,172,199,140,91,27,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,222,81,74,153,185,237,237,250,194,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,196,0,0,0,0,0,0,115,81,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,220,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,246,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,246,21,0,0,0,0,138,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,254,99,0,0,0,0,189,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,254,107,0,0,0,85,229,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,196,228,11,0,0,154,254,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,254,129,1,9,207,255,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,254,183,188,175,254,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,116,147,22,146,254,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,254,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,254,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,254,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,232,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,251,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,246,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,192,87,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,252,253,170,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,249,253,252,233,101,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,227,252,252,252,138,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,112,147,252,252,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,132,247,255,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,253,196,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,253,252,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,132,246,253,182,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,253,227,148,131,123,201,253,253,212,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,252,252,252,253,252,252,231,124,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,74,126,214,236,252,252,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,140,252,231,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,244,252,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,62,0,0,0,0,0,50,245,253,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,242,27,0,0,0,36,146,211,252,252,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,176,252,22,22,31,127,223,253,252,242,134,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,252,252,253,252,252,252,252,190,110,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,182,252,253,252,155,147,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,197,255,242,145,236,212,169,130,130,130,95,107,130,85,116,70,76,7,1,0,0,0,0,0,0,0,0,125,248,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,12,0,0,0,0,0,0,0,0,0,60,111,111,111,111,111,111,138,235,235,235,241,238,241,253,253,253,253,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,18,48,239,253,242,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,253,253,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,240,253,219,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,86,44,44,44,11,0,75,239,253,236,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,224,253,253,253,253,193,174,238,253,253,173,50,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,206,253,253,253,253,253,253,253,253,253,253,253,221,180,31,0,0,0,0,0,0,0,0,0,0,0,0,0,10,68,128,155,237,253,253,253,253,253,253,253,253,253,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,237,253,253,198,142,61,61,61,61,61,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,175,253,253,158,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,253,253,98,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,240,253,159,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,241,253,205,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,253,234,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,245,253,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,247,253,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,249,253,236,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,253,253,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,121,11,0,0,218,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,254,72,0,0,218,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,254,72,0,0,218,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,254,99,0,0,193,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,254,79,0,0,128,235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,223,251,62,0,0,128,235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,254,250,135,110,110,214,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,254,254,254,255,254,254,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,254,197,85,59,59,232,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,76,4,0,0,32,238,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,241,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,254,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,254,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,254,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,254,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,254,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,225,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,101,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,252,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,252,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,147,250,143,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,252,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,221,14,0,0,0,0,0,0,0,20,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,243,110,0,0,0,0,0,0,10,127,236,236,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,197,0,0,0,0,0,0,60,236,252,252,252,248,61,0,0,0,0,0,0,0,0,0,0,0,0,0,242,163,0,0,0,0,0,11,199,252,168,66,212,249,69,0,0,0,0,0,0,0,0,0,0,0,0,44,227,12,0,0,0,0,0,177,252,166,2,0,198,241,0,0,0,0,0,0,0,0,0,0,0,0,0,162,217,0,0,0,0,0,63,255,201,19,0,0,151,242,0,0,0,0,0,0,0,0,0,0,0,0,0,209,149,0,0,0,0,0,187,253,77,0,0,0,198,164,0,0,0,0,0,0,0,0,0,0,0,0,0,209,187,0,0,0,0,0,220,226,13,0,0,46,243,131,0,0,0,0,0,0,0,0,0,0,0,0,0,209,121,0,0,0,0,41,237,211,0,0,12,206,252,26,0,0,0,0,0,0,0,0,0,0,0,0,0,209,192,0,0,0,0,78,252,111,0,0,119,252,170,8,0,0,0,0,0,0,0,0,0,0,0,0,0,209,230,0,0,0,0,78,252,111,0,79,250,252,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,250,132,0,0,0,78,252,164,40,221,237,60,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,175,231,154,13,0,97,252,253,252,252,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,226,252,193,187,236,252,253,252,252,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,142,243,252,219,142,157,223,100,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,183,255,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,136,253,232,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,238,253,248,46,0,0,0,0,0,0,0,0,0,0,0,0,0,9,84,45,0,0,0,0,0,0,11,205,253,231,79,0,0,0,0,0,0,0,0,0,0,0,0,0,54,185,246,78,0,0,0,0,0,0,85,86,230,186,0,0,0,0,0,0,0,0,0,0,0,0,0,26,233,163,55,0,0,0,0,0,0,0,63,156,231,57,0,0,0,0,0,0,0,0,0,0,0,3,135,142,208,23,0,0,0,0,0,0,0,0,214,253,141,0,0,0,0,0,0,0,0,0,0,0,0,47,253,253,67,0,0,0,0,0,0,0,0,59,223,253,129,0,0,0,0,0,0,0,0,0,0,0,0,47,253,253,67,0,0,0,0,0,0,0,0,51,188,253,85,0,0,0,0,0,0,0,0,0,0,0,0,69,253,253,147,5,0,0,0,0,0,0,47,38,239,205,10,0,0,0,0,0,0,0,0,0,0,0,0,68,253,253,253,196,99,12,0,0,61,59,187,215,251,175,0,0,0,0,0,0,0,0,0,0,0,0,0,1,124,252,253,253,253,250,249,249,252,252,253,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,194,253,253,253,253,253,235,199,253,253,170,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,26,148,125,15,15,12,6,54,253,184,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,177,253,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,237,253,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,253,232,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,186,133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,167,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,128,128,128,255,128,255,191,128,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,255,191,255,255,255,255,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,255,255,255,255,255,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,128,128,128,128,64,0,128,191,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,128,128,191,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,255,255,255,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,255,255,255,255,255,191,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,191,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,255,255,255,255,255,255,255,255,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,128,128,128,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,255,255,255,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,191,0,64,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,255,255,191,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,255,255,255,128,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,217,232,132,57,92,92,92,92,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,159,252,254,254,254,252,254,254,254,254,251,137,21,0,0,0,0,0,0,0,0,0,0,0,0,0,37,205,254,254,254,254,254,234,200,133,133,197,242,254,178,3,0,0,0,0,0,0,0,0,0,0,0,32,224,254,224,200,124,138,200,32,0,0,0,0,38,180,254,129,0,0,0,0,0,0,0,0,0,0,17,223,254,239,33,4,0,0,4,0,0,0,0,0,0,8,235,240,113,0,0,0,0,0,0,0,0,5,119,254,249,67,0,0,0,0,0,0,0,0,0,0,0,0,84,254,254,0,0,0,0,0,0,0,0,63,254,254,98,0,0,0,0,0,0,0,0,0,0,0,0,0,68,254,254,0,0,0,0,0,0,0,0,208,254,236,4,0,0,0,0,0,0,0,0,0,0,0,0,0,68,254,254,0,0,0,0,0,0,0,0,254,252,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,254,248,0,0,0,0,0,0,0,0,254,244,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,194,0,0,0,0,0,0,0,0,255,254,67,0,0,0,0,0,0,0,0,0,0,0,0,0,21,247,254,141,0,0,0,0,0,0,0,0,255,254,74,1,0,0,0,0,0,0,0,0,0,0,3,76,222,254,232,36,0,0,0,0,0,0,0,0,163,254,254,95,0,0,0,0,0,0,0,0,40,113,192,254,254,207,20,0,0,0,0,0,0,0,0,0,30,222,254,248,185,134,99,62,134,134,134,200,243,254,254,233,139,9,0,0,0,0,0,0,0,0,0,0,0,28,162,252,254,254,254,254,254,254,254,254,254,248,126,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,172,186,186,212,186,186,186,122,91,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,13,13,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222,251,251,251,229,244,251,251,252,207,208,241,234,183,128,20,0,0,0,0,0,0,0,0,0,0,0,0,181,253,254,254,254,254,254,254,254,254,254,254,254,254,254,249,183,160,100,24,0,0,0,0,0,0,0,0,0,12,13,13,13,13,13,13,88,99,141,115,138,239,254,254,254,254,255,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,54,168,237,254,254,249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,237,254,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,223,254,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,255,254,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,222,254,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,223,254,238,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,210,254,253,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,191,254,252,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,254,254,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,243,254,190,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,228,254,229,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,208,254,254,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,195,254,254,135,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,254,254,165,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,254,178,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,254,254,254,254,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,250,253,253,253,253,252,248,160,118,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,253,253,253,253,253,253,253,253,253,232,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,251,253,253,224,48,49,170,253,253,253,253,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,251,253,253,182,18,0,0,6,49,170,253,253,251,149,0,0,0,0,0,0,0,0,0,0,0,0,88,225,253,253,253,61,0,0,0,0,0,26,221,253,253,245,42,0,0,0,0,0,0,0,0,0,0,40,245,253,253,253,137,7,0,0,0,0,0,0,42,221,253,253,117,0,0,0,0,0,0,0,0,0,0,118,253,253,253,225,27,0,0,0,0,0,0,0,0,156,253,253,117,0,0,0,0,0,0,0,0,0,0,118,253,253,253,58,0,0,0,0,0,0,0,0,0,156,253,253,117,0,0,0,0,0,0,0,0,0,0,151,253,253,177,8,0,0,0,0,0,0,0,0,0,156,253,253,217,0,0,0,0,0,0,0,0,0,0,248,253,253,58,0,0,0,0,0,0,0,0,0,0,156,253,253,247,0,0,0,0,0,0,0,0,0,0,154,253,253,120,0,0,0,0,0,0,0,0,0,0,156,253,253,220,0,0,0,0,0,0,0,0,0,0,208,253,253,155,0,0,0,0,0,0,0,0,0,6,174,253,253,117,0,0,0,0,0,0,0,0,0,0,160,253,253,155,0,0,0,0,0,0,0,0,7,134,253,253,253,117,0,0,0,0,0,0,0,0,0,0,118,253,253,155,0,0,0,0,0,0,0,6,67,253,253,253,252,102,0,0,0,0,0,0,0,0,0,0,45,246,253,216,33,0,0,0,0,7,27,134,253,253,253,251,148,0,0,0,0,0,0,0,0,0,0,0,0,241,253,253,216,40,128,150,150,174,253,253,253,253,251,215,0,0,0,0,0,0,0,0,0,0,0,0,0,105,243,253,253,253,253,253,253,253,253,253,253,253,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,253,253,253,250,253,253,221,210,156,183,117,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,139,234,83,123,123,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,136,241,254,254,254,254,254,255,202,130,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,228,253,253,253,253,231,135,191,218,234,253,195,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,240,253,253,252,189,31,0,0,0,37,145,253,178,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,182,182,68,0,0,0,0,0,0,3,141,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,182,241,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,253,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,253,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,253,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,253,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,253,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,192,203,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,114,253,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,253,253,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,54,130,17,6,0,0,0,0,6,189,253,146,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,177,253,253,253,194,148,121,7,0,127,253,236,37,0,0,0,0,0,0,0,0,0,0,0,0,0,24,184,253,215,102,201,210,253,253,186,166,246,251,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,253,202,13,0,0,7,90,234,253,253,253,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,253,239,105,10,0,47,157,238,253,253,253,251,132,29,0,0,0,0,0,0,0,0,0,0,0,0,0,22,174,253,253,223,219,238,253,253,223,54,88,251,253,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,50,232,253,253,253,234,108,12,0,0,83,253,250,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,154,208,248,230,254,255,138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,205,254,254,254,254,254,254,213,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,210,254,254,254,254,236,254,254,254,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,254,254,254,152,40,26,151,254,254,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,254,254,202,44,0,10,207,254,254,205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,252,254,242,83,136,180,254,254,254,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,254,254,254,254,254,254,254,254,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,56,209,254,254,254,254,254,201,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,228,254,254,254,238,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,248,254,254,254,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,248,254,254,253,166,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,230,254,254,170,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,253,254,254,229,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,227,254,254,254,133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,228,254,254,254,202,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,254,254,254,202,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,246,254,254,242,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,242,254,254,254,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,254,254,185,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,183,254,247,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,219,255,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,253,253,218,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,253,253,253,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,253,253,253,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,253,253,253,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,253,253,253,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,253,253,205,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,253,253,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,203,253,253,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,253,192,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,241,253,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,111,170,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,226,214,19,0,0,0,0,0,0,0,0,0,0,0,14,25,25,19,0,0,0,11,25,13,25,25,48,223,253,245,32,0,0,0,0,0,0,0,0,0,0,0,145,253,253,230,65,135,157,199,253,209,253,253,253,253,253,151,0,0,0,0,0,0,0,0,0,0,0,0,118,212,221,205,219,230,253,253,253,254,253,253,253,253,181,16,0,0,0,0,0,0,0,0,0,0,0,0,0,11,24,0,21,38,72,72,72,72,72,184,253,239,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,185,253,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,253,253,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,253,235,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,110,110,110,192,253,249,143,110,110,167,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,252,253,253,254,253,253,253,253,253,253,253,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,231,242,244,254,254,246,184,149,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,253,250,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,253,217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,253,217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,253,217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,253,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,242,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,175,230,254,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,236,209,245,254,242,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,236,206,53,33,147,254,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,218,8,0,0,32,242,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,105,2,0,0,32,236,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,160,222,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,215,254,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,217,254,173,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,143,250,254,245,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,254,254,254,254,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,224,239,164,229,151,175,126,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,228,254,170,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,148,254,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,220,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,254,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,10,0,0,0,0,0,4,87,207,254,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,162,120,0,0,0,0,3,148,254,254,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,245,208,36,12,24,89,225,254,254,198,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,255,247,241,244,254,255,234,80,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,37,128,140,140,140,58,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,118,194,253,253,253,253,253,253,215,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,198,253,229,155,33,20,20,42,124,251,247,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,236,243,105,6,0,0,0,0,0,0,105,253,244,51,0,0,0,0,0,0,0,0,0,0,0,0,0,242,253,126,0,0,0,0,0,0,0,0,5,199,253,72,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,114,0,0,0,0,0,0,0,0,0,192,253,72,0,0,0,0,0,0,0,0,0,0,0,0,0,103,64,19,0,0,0,0,0,0,0,0,35,244,227,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,253,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,253,142,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,253,213,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,230,183,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,160,250,180,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,253,207,79,16,32,0,0,0,0,0,0,18,47,0,0,0,0,0,0,0,0,0,0,0,0,13,154,250,253,253,253,233,235,223,228,228,228,201,129,234,243,0,0,0,0,0,0,0,0,0,0,0,0,69,253,130,83,83,83,83,69,141,143,154,91,214,143,229,253,0,0,0,0,0,0,0,0,0,0,0,0,4,36,19,0,0,0,0,0,0,0,0,0,15,0,23,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,202,255,126,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,239,253,253,253,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,242,253,193,166,253,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,202,253,180,7,60,253,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,211,248,103,14,0,60,253,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,244,250,134,0,9,123,233,253,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,232,253,146,52,157,233,253,253,253,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,245,253,208,249,253,253,253,253,220,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,253,253,240,253,253,252,186,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,92,92,47,253,253,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,253,141,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,252,253,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,253,217,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,242,247,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,253,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,223,253,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,253,253,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,253,253,58,118,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,253,253,253,238,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,171,253,200,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,118,207,254,254,254,255,254,138,0,0,0,0,0,0,0,0,0,0,0,0,0,74,116,234,234,234,234,239,253,253,253,253,253,253,253,228,37,0,0,0,0,0,0,0,0,0,0,29,191,244,253,253,253,253,253,253,253,253,253,253,253,253,253,253,96,0,0,0,0,0,0,0,0,0,0,97,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,222,23,0,0,0,0,0,0,0,0,0,0,84,248,253,253,253,253,253,253,244,219,219,145,253,253,253,253,212,0,0,0,0,0,0,0,0,0,0,0,0,86,131,221,103,103,103,103,75,0,0,15,253,253,253,253,212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,200,253,253,253,253,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,203,253,253,253,253,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,195,253,253,253,253,253,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,194,253,253,253,253,225,139,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,253,253,253,253,230,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,244,253,253,253,249,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,144,251,253,253,253,249,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,253,253,253,253,253,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,248,253,253,253,253,151,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,243,253,253,253,253,193,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,253,253,253,231,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,240,253,253,253,212,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,253,253,253,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,124,253,119,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,174,51,14,0,8,78,236,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,252,211,190,201,252,252,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,252,252,252,253,252,252,247,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,253,252,98,154,215,253,252,252,252,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,253,252,21,0,18,42,42,236,252,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,255,253,21,0,0,0,0,233,253,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,253,252,21,0,0,0,0,232,252,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,253,252,21,0,0,0,0,232,252,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,227,252,21,0,0,0,0,232,252,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,147,12,0,0,0,0,232,252,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,253,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,252,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,252,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,252,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,252,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,253,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,217,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,168,140,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,198,243,254,254,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,88,253,254,254,254,254,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,254,254,254,254,207,134,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,176,254,254,238,105,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,255,254,251,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,214,254,225,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,254,251,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,255,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,254,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,251,226,40,0,0,0,0,17,100,197,171,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,251,181,0,0,0,0,75,249,254,254,254,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,181,0,0,0,19,221,254,254,254,254,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,181,0,0,0,108,254,254,244,167,216,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,204,10,0,2,186,254,242,73,10,205,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,134,8,6,254,254,119,0,92,254,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,254,254,175,72,254,254,147,105,250,254,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,181,253,254,254,254,254,254,254,254,183,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,254,254,254,254,254,234,184,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,72,238,233,150,133,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,18,18,55,137,192,131,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,95,164,254,254,254,254,254,254,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,151,207,254,254,254,254,254,254,254,254,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,254,254,254,254,209,155,65,65,148,254,247,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,238,254,166,47,18,0,0,0,114,254,254,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,29,2,0,0,0,0,0,114,254,254,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,250,254,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,254,254,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,254,250,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,248,254,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,254,251,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,229,254,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,211,254,254,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,46,228,250,250,250,250,251,254,254,254,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,254,254,254,254,254,254,255,254,254,254,145,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,226,254,254,254,254,254,254,254,254,254,254,254,244,80,0,0,0,0,0,0,0,0,0,0,0,0,0,154,254,254,254,254,254,254,254,239,98,170,218,254,254,241,154,14,0,0,0,0,0,0,0,0,0,0,0,154,254,254,254,254,254,254,182,41,0,0,24,114,220,254,254,174,12,0,0,0,0,0,0,0,0,0,0,154,254,254,254,254,252,87,13,0,0,0,0,0,21,57,179,254,82,0,0,0,0,0,0,0,0,0,0,27,216,254,254,149,22,0,0,0,0,0,0,0,0,0,35,135,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,188,64,39,30,0,17,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,254,254,254,240,185,215,185,215,185,185,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,254,213,240,226,180,249,249,249,254,254,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,254,59,0,0,0,0,0,0,245,254,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,248,183,15,0,0,0,0,0,74,252,254,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,209,249,52,0,0,0,0,0,0,99,254,254,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,254,176,0,0,0,0,0,0,0,120,254,242,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,94,43,0,0,0,0,0,0,0,207,254,189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,254,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,254,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,254,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,207,254,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,218,248,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,254,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,254,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,254,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,254,227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,216,254,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,254,254,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,181,213,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,75,0,98,185,178,94,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,111,195,238,94,0,208,249,254,254,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,50,107,197,246,183,25,0,0,81,245,254,249,91,0,0,0,0,0,0,0,0,0,0,0,0,18,84,230,254,254,221,86,0,0,1,125,253,254,178,53,0,0,0,0,0,0,0,0,0,0,0,0,0,133,254,254,217,118,4,0,0,62,202,254,241,131,8,0,0,0,0,0,0,0,0,0,0,0,0,0,107,244,254,213,45,0,0,0,62,240,254,220,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,246,254,209,49,0,0,0,31,241,254,221,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,254,254,55,0,0,0,17,198,254,218,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,219,254,233,144,39,42,204,254,205,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,248,254,254,244,233,254,223,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,84,168,245,254,254,254,207,115,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,236,254,230,163,237,244,211,80,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,254,254,99,0,0,37,225,254,130,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,254,229,12,0,0,0,2,170,254,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,254,254,18,0,0,0,0,81,254,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,254,254,18,0,0,0,0,131,254,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,214,254,78,0,0,0,1,183,244,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,253,223,24,0,2,126,254,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,238,222,119,177,254,217,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,154,196,196,101,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,10,0,0,0,0,0,0,0,0,0,67,254,214,25,0,0,0,0,0,0,0,0,0,0,0,0,0,61,227,35,0,0,0,0,0,0,0,5,188,253,253,165,3,0,0,0,0,0,0,0,0,0,0,0,6,182,253,180,30,0,0,0,0,0,0,49,253,253,253,253,24,0,0,0,0,0,0,0,0,0,0,0,37,253,253,253,128,0,0,0,0,0,0,72,253,253,253,188,8,0,0,0,0,0,0,0,0,0,0,0,37,253,253,253,168,0,0,0,0,0,0,169,253,253,233,62,0,0,0,0,0,0,0,0,0,0,0,0,72,253,253,253,168,0,0,0,0,0,11,194,253,253,168,0,0,0,0,0,0,0,0,0,0,0,0,0,157,253,253,253,168,0,0,41,51,136,167,253,253,253,168,0,0,0,0,0,0,0,0,0,0,0,0,0,157,253,253,253,201,143,160,235,238,253,253,253,253,253,123,0,0,0,0,0,0,0,0,0,0,0,0,0,157,253,253,253,253,253,253,253,254,253,253,253,253,187,5,0,0,0,0,0,0,0,0,0,0,0,0,0,157,253,253,253,253,253,253,253,254,253,253,253,253,180,0,0,0,0,0,0,0,0,0,0,0,0,0,24,250,254,254,254,254,254,254,254,249,249,254,255,254,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,234,253,253,253,253,231,171,52,145,253,253,253,72,20,4,0,0,0,0,0,0,0,0,0,0,0,0,0,19,183,217,176,96,9,0,0,71,253,253,253,226,223,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,253,253,253,253,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,253,253,172,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,228,253,253,236,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,253,253,253,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,253,253,211,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,253,253,205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,202,253,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,125,170,152,255,174,194,101,101,12,68,101,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,253,253,253,253,253,253,253,253,206,236,253,170,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,253,253,253,253,253,253,253,253,253,253,253,253,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,30,211,165,172,253,196,253,253,253,253,253,253,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,4,8,61,24,61,154,253,253,253,206,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,253,253,253,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,246,253,253,214,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,253,253,253,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,216,253,253,245,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,218,253,253,253,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,104,246,253,253,204,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,253,253,253,253,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,253,253,247,109,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,253,253,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,253,253,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,243,253,253,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,253,253,251,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,253,253,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,238,253,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,253,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,156,253,253,255,253,253,253,165,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,237,252,252,252,253,252,252,252,252,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,231,231,160,38,21,21,40,252,252,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,252,252,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,223,252,208,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,157,253,243,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,183,252,252,237,102,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,127,223,253,252,252,252,252,242,153,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,252,252,216,153,84,154,215,253,252,202,21,0,0,0,0,43,11,0,0,0,0,0,0,0,0,0,0,100,252,164,18,0,0,0,18,122,252,252,225,35,0,0,107,141,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,224,253,122,105,227,223,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,252,252,253,189,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,85,252,252,161,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,197,252,252,252,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,236,252,252,252,252,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,69,236,212,76,245,253,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,252,217,41,185,252,252,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,234,252,112,192,252,251,134,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,252,252,252,253,252,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,252,252,252,191,112,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,174,254,93,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,199,253,253,253,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,253,200,96,206,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,230,253,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,253,236,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,253,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,238,253,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,253,253,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,253,253,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,253,253,60,0,0,0,0,0,0,76,202,155,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,254,254,60,0,0,0,0,1,82,209,254,254,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,157,253,253,60,0,0,0,0,82,253,253,253,253,253,217,21,0,0,0,0,0,0,0,0,0,0,0,0,140,253,253,60,0,0,0,18,209,253,231,136,96,216,253,111,0,0,0,0,0,0,0,0,0,0,0,0,37,253,253,60,0,0,0,144,254,214,32,0,0,194,253,156,0,0,0,0,0,0,0,0,0,0,0,0,28,233,253,89,0,0,165,250,246,31,0,0,0,194,253,128,0,0,0,0,0,0,0,0,0,0,0,0,0,135,253,236,72,28,237,253,116,0,0,14,102,239,188,9,0,0,0,0,0,0,0,0,0,0,0,0,0,33,229,253,237,224,253,253,0,0,53,175,253,253,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,231,253,253,253,253,213,166,240,253,253,144,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,233,253,253,253,254,253,253,232,116,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,116,132,248,254,242,132,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,254,215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,253,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,253,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,138,253,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,253,253,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,253,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,255,253,103,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,213,254,216,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,200,253,254,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,253,253,254,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,254,254,254,243,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,171,253,253,223,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,253,253,254,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,240,253,253,200,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,253,253,253,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,253,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,247,253,253,237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,253,253,253,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,253,253,253,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,73,192,57,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,115,196,254,254,254,156,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,203,253,253,251,248,253,253,159,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,137,249,253,241,147,68,41,117,246,253,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,253,242,157,29,0,0,2,115,250,247,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,145,36,0,0,0,0,45,253,253,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,111,153,240,253,219,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,253,253,253,230,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,239,248,253,253,253,250,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,253,253,252,181,253,253,248,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,44,4,4,1,50,184,253,252,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,228,253,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,253,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,253,213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,93,0,0,0,0,0,0,0,0,0,224,253,120,0,0,0,0,0,0,0,0,0,0,0,0,0,32,236,167,0,0,0,0,0,0,0,2,120,250,253,70,0,0,0,0,0,0,0,0,0,0,0,0,0,65,253,178,0,0,0,0,0,0,0,47,253,253,165,6,0,0,0,0,0,0,0,0,0,0,0,0,0,31,235,178,0,0,0,0,0,17,158,243,253,203,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,235,138,90,90,91,149,216,253,248,163,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,253,253,253,253,254,253,235,146,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,123,165,253,198,153,134,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,141,224,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,186,253,253,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,254,171,115,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,248,244,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,219,253,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,119,254,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,253,212,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,196,228,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,253,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194,253,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,255,174,0,0,0,0,50,97,59,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,254,135,0,0,53,215,247,253,253,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,254,135,0,88,235,254,216,107,172,253,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,254,135,88,251,253,154,25,0,136,253,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,254,150,235,237,118,0,0,0,136,253,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,255,254,254,154,0,0,0,0,137,254,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,208,253,253,124,0,13,20,20,183,245,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,253,253,241,175,224,253,253,253,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,110,241,253,253,254,253,253,216,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,163,253,254,253,222,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,116,243,224,246,59,0,31,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,149,191,95,8,158,25,17,219,228,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,173,149,56,0,0,61,5,198,228,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,200,25,0,0,0,0,66,203,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,138,0,0,0,0,43,243,230,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,201,6,0,0,0,0,149,252,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,228,10,0,0,0,18,152,253,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,225,96,0,0,2,68,194,224,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,229,20,28,60,151,255,249,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,249,206,253,221,206,246,202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,196,123,16,135,246,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,254,198,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,250,237,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,219,210,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,244,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,244,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,233,164,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,222,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,90,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,125,125,125,158,158,125,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,254,254,254,254,255,254,254,251,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,254,254,254,254,254,254,254,254,247,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,104,254,254,254,254,254,254,254,254,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,25,133,184,254,254,254,254,254,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,232,254,254,254,254,254,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,248,254,254,254,254,254,254,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,254,254,254,254,254,254,254,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,242,254,254,254,254,254,254,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,241,254,205,236,254,254,230,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,65,17,153,254,254,254,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,254,254,254,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,254,254,254,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,231,254,254,254,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,9,152,254,254,254,233,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,207,157,50,131,182,254,254,254,254,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,244,254,254,254,254,254,254,254,254,251,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,254,254,254,254,254,254,254,254,245,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,235,254,254,254,254,254,250,221,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,235,254,254,221,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,253,253,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,251,251,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,251,251,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,251,251,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,251,251,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,253,253,253,195,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,251,251,251,253,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,251,251,251,253,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,251,251,251,253,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,251,251,251,253,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,174,253,253,255,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,251,251,251,253,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,251,251,251,253,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,251,251,251,253,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,251,251,251,253,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,206,253,253,255,253,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,229,251,253,251,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,251,253,251,188,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,211,253,251,251,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,35,153,251,251,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,253,255,253,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,63,0,0,63,181,252,253,252,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,182,242,215,0,16,222,252,252,237,174,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,144,253,210,92,1,191,252,252,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,211,252,206,20,0,144,253,252,252,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,227,252,252,20,0,32,237,253,252,220,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,37,211,252,246,132,0,11,150,252,253,252,195,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,37,252,252,252,132,0,0,73,252,252,253,252,71,0,145,206,41,0,0,0,0,0,0,0,0,0,0,0,182,253,253,253,72,0,0,73,253,253,255,211,109,191,255,253,72,0,0,0,0,0,0,0,0,0,0,63,242,252,252,252,124,73,42,115,252,252,253,252,252,252,253,231,51,0,0,0,0,0,0,0,0,0,0,73,252,252,252,252,252,252,222,242,252,252,253,252,252,252,237,153,0,0,0,0,0,0,0,0,0,0,0,73,252,252,252,252,252,252,253,252,252,252,253,252,252,252,144,0,0,0,0,0,0,0,0,0,0,0,0,42,160,253,253,253,253,253,255,253,253,253,255,253,237,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,119,210,189,231,252,253,252,252,252,222,138,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,10,51,154,253,252,252,252,160,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,252,252,253,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,253,253,255,253,133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,242,252,252,253,252,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,221,252,253,220,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,190,108,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,245,86,5,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,240,177,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,252,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,252,252,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,229,253,244,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,252,253,113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,215,253,219,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,253,252,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,252,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,252,196,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,227,252,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,161,252,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,252,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,253,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,252,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,252,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,252,236,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,137,116,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,136,57,18,18,18,18,18,38,136,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,253,253,253,253,253,253,253,253,253,253,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,253,253,253,253,253,253,253,253,253,253,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,182,157,65,161,212,253,253,253,253,232,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,248,253,253,233,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,244,253,253,247,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,187,253,253,194,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,24,113,142,142,249,253,253,93,24,24,24,24,24,24,24,24,24,13,0,0,0,0,0,0,0,0,0,30,240,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,237,168,0,0,0,0,0,0,0,0,0,0,52,110,215,253,253,253,253,253,253,253,253,253,253,215,194,155,46,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,253,241,230,194,176,69,59,59,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,253,167,29,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,253,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,230,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,243,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,253,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,253,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,234,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,253,253,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,122,135,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,157,241,247,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,87,241,241,198,222,253,152,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,168,253,243,41,0,16,178,254,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,253,207,39,0,0,0,52,235,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,243,240,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,209,243,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,209,253,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,254,225,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,238,254,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,253,202,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,254,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,253,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,253,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,238,253,129,0,0,0,0,12,19,19,19,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,238,253,181,0,0,40,124,228,253,253,253,227,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,254,202,5,153,254,254,255,186,191,254,254,202,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,253,254,237,250,223,108,18,2,3,203,253,254,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,145,254,253,253,125,0,0,8,50,226,253,146,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,208,253,253,249,199,200,211,253,251,169,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,124,175,253,253,254,253,207,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,38,122,246,255,255,245,121,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,176,253,253,253,253,253,253,253,155,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,191,253,253,253,253,250,248,253,253,253,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,126,253,253,245,210,111,37,0,155,253,253,187,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,253,253,250,139,0,0,0,0,15,226,253,253,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,253,253,141,0,0,0,0,0,0,76,253,253,219,25,0,0,0,0,0,0,0,0,0,0,0,0,0,73,253,238,22,0,0,0,0,0,14,221,253,253,253,150,0,0,0,0,0,0,0,0,0,0,0,0,0,114,253,235,21,0,0,0,0,32,193,253,253,253,253,230,4,0,0,0,0,0,0,0,0,0,0,0,0,61,253,253,126,0,0,2,40,171,253,253,253,253,253,159,1,0,0,0,0,0,0,0,0,0,0,0,0,6,253,253,211,96,55,159,253,253,253,253,253,253,240,73,0,0,0,0,0,0,0,0,0,0,0,0,0,2,133,253,253,253,253,253,253,253,253,214,253,253,188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,97,174,245,253,252,232,192,22,65,253,253,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,86,81,0,0,0,21,222,235,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,224,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,253,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,253,237,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,253,253,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,253,253,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,233,242,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/examples/mnist/csv/single_image.csv b/examples/mnist/csv/single_image.csv new file mode 100644 index 0000000000000000000000000000000000000000..879a80118068720293b896c49ce4c8f6149f80d0 --- /dev/null +++ b/examples/mnist/csv/single_image.csv @@ -0,0 +1 @@ +5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,18,18,18,126,136,175,26,166,255,247,127,0,0,0,0,0,0,0,0,0,0,0,0,30,36,94,154,170,253,253,253,253,253,225,172,253,242,195,64,0,0,0,0,0,0,0,0,0,0,0,49,238,253,253,253,253,253,253,253,253,251,93,82,82,56,39,0,0,0,0,0,0,0,0,0,0,0,0,18,219,253,253,253,253,253,198,182,247,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,156,107,253,253,205,11,0,43,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,1,154,253,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,253,190,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,190,253,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,241,225,160,108,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,240,253,253,119,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,186,253,253,150,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,93,252,253,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,253,249,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,130,183,253,253,207,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,148,229,253,253,253,250,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,114,221,253,253,253,253,201,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,66,213,253,253,253,253,198,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,171,219,253,253,253,253,195,80,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,172,226,253,253,253,253,244,133,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,253,253,253,212,135,132,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/examples/mnist/nets/MNIST_256_2.onnx b/examples/mnist/nets/MNIST_256_2.onnx new file mode 100644 index 0000000000000000000000000000000000000000..462b098c3a37faa518a9a3bcfaad8403ba60ccad Binary files /dev/null and b/examples/mnist/nets/MNIST_256_2.onnx differ diff --git a/examples/mnist/property.why b/examples/mnist/property.why new file mode 100644 index 0000000000000000000000000000000000000000..9f47a84b1a8f52b0c694a3e33f800eac10fc3a28 --- /dev/null +++ b/examples/mnist/property.why @@ -0,0 +1,10 @@ +theory MNIST + use MNIST_256_2.AsArray + use ieee_float.Float64 + use caisar.DataSetClassification + use caisar.DataSetProps + + goal robustness: + let normalized_dataset = min_max_scale true (0.0:t) (1.0:t) dataset in + robust model normalized_dataset (0.0100000000000000002081668171172168513294309377670288085937500000:t) +end diff --git a/stdlib/caisar.mlw b/stdlib/caisar.mlw index 1a2a793c390aa8d4a9a23cf8663e68fbb82a8144..889f92be052088c797fe12645f1582341b6ed76e 100644 --- a/stdlib/caisar.mlw +++ b/stdlib/caisar.mlw @@ -26,13 +26,13 @@ theory DataSetClassification use array.Array type features = array t - type class = int + type label_ = int - type datum = (features, class) + type datum = (features, label_) type dataset = { nb_features: int; - nb_classes: int; + nb_label_s: int; data: array datum } @@ -51,7 +51,7 @@ theory Model nb_outputs: int; } - function predict_class: model -> features -> class + function predict: model -> features -> label_ end theory DataSetProps @@ -67,13 +67,13 @@ theory DataSetProps predicate correct_at (m: model) (d: datum) = let (x, y) = d in - y = predict_class m x + y = predict m x predicate robust_at (m: model) (d: datum) (eps: t) = forall x': features. let (x, _) = d in linfty_distance x x' eps -> - predict_class m x = predict_class m x' + predict m x = predict m x' predicate cond_robust_at (m: model) (d: datum) (eps: t) = correct_at m d /\ robust_at m d eps diff --git a/tests/autodetect.t b/tests/autodetect.t index dc9de889d81ac056b9673c29290a6a351f7dfdcc..36d66f12046ac5df419dc6a0e4444422522eeb9c 100644 --- a/tests/autodetect.t +++ b/tests/autodetect.t @@ -42,13 +42,15 @@ Test autodetect <autodetect>Found prover Marabou version 1.0.+, OK. <autodetect>Found prover PyRAT version 1.1, OK. <autodetect>Found prover PyRAT version 1.1 (alternative: VNNLIB) + <autodetect>Found prover PyRAT version 1.1 (alternative: ACAS) <autodetect>Found prover nnenum version dummy, OK. <autodetect>Found prover SAVer version v1.0, OK. - <autodetect>7 prover(s) added + <autodetect>8 prover(s) added [caisar] Alt-Ergo 2.4.0 CVC5 1.0.2 Marabou 1.0.+ PyRAT 1.1 + PyRAT 1.1 (ACAS) PyRAT 1.1 (VNNLIB) SAVer v1.0 nnenum dummy