diff --git a/examples/javawlp_edsl/src/nl/uu/javawlp_edsl/Main.java b/examples/javawlp_edsl/src/nl/uu/javawlp_edsl/Main.java index 2a4348160ce3fdcd2c20677cf7e998eba9c8ee77..c6843684305656440887df940c8ea0d97ed81b05 100644 --- a/examples/javawlp_edsl/src/nl/uu/javawlp_edsl/Main.java +++ b/examples/javawlp_edsl/src/nl/uu/javawlp_edsl/Main.java @@ -170,7 +170,7 @@ public class Main { } public static void test1_(int[] a) { - pre(exists(a, i -> a[i + 1] > a[i] && (a.length > i + 1))); + pre(exists(a, i -> a[i + 1] > a[i] && (a.length > (i + 1)))); post(true); } @@ -213,7 +213,7 @@ public class Main { public static void arr2(double[] a) { // pre(a.length == 2); // pre(forall(a, i -> forallr(a, i, a.length, j -> a[j] >= a[i]))); - pre(a.length == 2 && forall(a, i -> forallr(a, i+1, a.length, j -> a[i] < a[j] + 1))); + pre(a.length == 2 && forall(a, i -> forallr(a, i+1, a.length, j -> a[i] < (a[j] + 1)))); post(true); } } diff --git a/examples/test_equiv/Arrays.java b/examples/test_equiv/Arrays.java index cfa053bd90d5a1711fd5a3e3189e98d89faa3ea5..028cb5de793c6b431e72b1711d72bc62c28c1066 100644 --- a/examples/test_equiv/Arrays.java +++ b/examples/test_equiv/Arrays.java @@ -27,7 +27,7 @@ public class Arrays { public static void max2_2(int[] a) { pre(a != null && a.length >= 1); int retval = getMax(a); - post(exists(a, i -> retval * 2 == a[i] + a[i])); + post(exists(a, i -> (retval * 2) == (a[i] + a[i]))); post(!exists(a, i -> a[i] > retval)); } diff --git a/examples/test_equiv/Reals.java b/examples/test_equiv/Reals.java index 3530b1f4fea9c2e236f54e99efb72e941c541699..425b8826849761312dbdb2eb11c7ecfd62d763a7 100644 --- a/examples/test_equiv/Reals.java +++ b/examples/test_equiv/Reals.java @@ -32,21 +32,21 @@ public class Reals { } public static float real2_2(float a, double b) { pre(a % b == 0 || false); - pre(a == 3 * 10 - 23 && true); + pre(a == (3 * 10 - 23) && true); c = a / b; - post(c == 7/(1 + 5.1 - 5.1) || c == 1.0/(1.0 * 15 / 15)); + post(c == (7/(1 + 5.1 - 5.1)) || c == (1.0/(1.0 * 15 / 15))); } // 3) Mix ints public static float real1_3(float a, int b) { - pre(a > b && a < b + .3); + pre(a > b && a < (b + .3)); b += 1; - post(a < b - .7); + post(a < (b - .7)); } public static float real2_3(float a, int b) { pre(a > b); - pre(a - (10 * .3 / 10) < b); + pre((a - (10 * .3 / 10)) < b); b += 1; - post(a + (.7 * (10 - 9.0)) < b); + post((a + (.7 * (10 - 9.0))) < b); } } diff --git a/javawlp.cabal b/javawlp.cabal index 678d55f6c16dc65caa0990478c3ddccf578b22f2..e0f0efccb0840a8f982f15aa0d84b6a8424c7ed2 100644 --- a/javawlp.cabal +++ b/javawlp.cabal @@ -42,13 +42,6 @@ library , LogicIR.Backend.QuickCheck.API , LogicIR.Backend.QuickCheck.Test , LogicIR.Backend.QuickCheck.ModelGenerator - -- Java EDSL - , Language.Java.Lexer - , Language.Java.Parser - , Language.Java.Pretty - , Language.Java.Syntax - , Language.Java.Syntax.Exp - , Language.Java.Syntax.Types build-depends: base >= 4.7 && < 5 , random , parsec @@ -76,6 +69,7 @@ library , http-types , lens , deepseq + , language-java ==0.2.9 default-language: Haskell2010 ghc-options: -Wall diff --git a/src/Language/Java/Lexer.hs b/src/Language/Java/Lexer.hs deleted file mode 100644 index 6227b131fec6f1b6926afb30ab4c611b9b3a09f9..0000000000000000000000000000000000000000 --- a/src/Language/Java/Lexer.hs +++ /dev/null @@ -1,54049 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-missing-signatures #-} -{-# LANGUAGE CPP #-} -{-# LINE 1 "Lexer.x" #-} - -{-# LANGUAGE BangPatterns #-} -{-# OPTIONS_GHC -fno-warn-tabs -fno-warn-unused-binds #-} -module Language.Java.Lexer (L(..), Token(..), lexer) where - -import Numeric -import Data.Char - -#if __GLASGOW_HASKELL__ >= 603 -#include "ghcconfig.h" -#elif defined(__GLASGOW_HASKELL__) -#include "config.h" -#endif -#if __GLASGOW_HASKELL__ >= 503 -import Data.Array -import Data.Array.Base (unsafeAt) -#else -import Array -#endif -{-# LINE 1 "templates/wrappers.hs" #-} -{-# LINE 1 "templates/wrappers.hs" #-} -{-# LINE 1 "<built-in>" #-} -{-# LINE 16 "<built-in>" #-} -{-# LINE 1 "/usr/local/Cellar/ghc/8.2.1/lib/ghc-8.2.1/include/ghcversion.h" #-} - - - - - - - - - - - - - - - - -{-# LINE 17 "<built-in>" #-} -{-# LINE 1 "/var/folders/cb/97yq0wgj167gl60_pbxlyc540000gn/T/ghc10939_0/ghc_2.h" #-} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{-# LINE 18 "<built-in>" #-} -{-# LINE 1 "templates/wrappers.hs" #-} --- ----------------------------------------------------------------------------- --- Alex wrapper code. --- --- This code is in the PUBLIC DOMAIN; you may copy it freely and use --- it for any purpose whatsoever. - - - - - - -import Data.Word (Word8) - -{-# LINE 28 "templates/wrappers.hs" #-} - -import Data.Char (ord) -import qualified Data.Bits - --- | Encode a Haskell String to a list of Word8 values, in UTF8 format. -utf8Encode :: Char -> [Word8] -utf8Encode = map fromIntegral . go . ord - where - go oc - | oc <= 0x7f = [oc] - - | oc <= 0x7ff = [ 0xc0 + (oc `Data.Bits.shiftR` 6) - , 0x80 + oc Data.Bits..&. 0x3f - ] - - | oc <= 0xffff = [ 0xe0 + (oc `Data.Bits.shiftR` 12) - , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f) - , 0x80 + oc Data.Bits..&. 0x3f - ] - | otherwise = [ 0xf0 + (oc `Data.Bits.shiftR` 18) - , 0x80 + ((oc `Data.Bits.shiftR` 12) Data.Bits..&. 0x3f) - , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f) - , 0x80 + oc Data.Bits..&. 0x3f - ] - - - -type Byte = Word8 - --- ----------------------------------------------------------------------------- --- The input type - - -type AlexInput = (AlexPosn, -- current position, - Char, -- previous char - [Byte], -- pending bytes on current char - String) -- current input string - -ignorePendingBytes :: AlexInput -> AlexInput -ignorePendingBytes (p,c,_ps,s) = (p,c,[],s) - -alexInputPrevChar :: AlexInput -> Char -alexInputPrevChar (_p,c,_bs,_s) = c - -alexGetByte :: AlexInput -> Maybe (Byte,AlexInput) -alexGetByte (p,c,(b:bs),s) = Just (b,(p,c,bs,s)) -alexGetByte (_,_,[],[]) = Nothing -alexGetByte (p,_,[],(c:s)) = let p' = alexMove p c - (b:bs) = utf8Encode c - in p' `seq` Just (b, (p', c, bs, s)) - - - -{-# LINE 102 "templates/wrappers.hs" #-} - - -{-# LINE 120 "templates/wrappers.hs" #-} - - -{-# LINE 138 "templates/wrappers.hs" #-} - --- ----------------------------------------------------------------------------- --- Token positions - --- `Posn' records the location of a token in the input text. It has three --- fields: the address (number of chacaters preceding the token), line number --- and column of a token within the file. `start_pos' gives the position of the --- start of the file and `eof_pos' a standard encoding for the end of file. --- `move_pos' calculates the new position after traversing a given character, --- assuming the usual eight character tab stops. - - -data AlexPosn = AlexPn !Int !Int !Int - deriving (Eq,Show) - -alexStartPos :: AlexPosn -alexStartPos = AlexPn 0 1 1 - -alexMove :: AlexPosn -> Char -> AlexPosn -alexMove (AlexPn a l c) '\t' = AlexPn (a+1) l (((c+alex_tab_size-1) `div` alex_tab_size)*alex_tab_size+1) -alexMove (AlexPn a l _) '\n' = AlexPn (a+1) (l+1) 1 -alexMove (AlexPn a l c) _ = AlexPn (a+1) l (c+1) - - --- ----------------------------------------------------------------------------- --- Default monad - - -{-# LINE 272 "templates/wrappers.hs" #-} - - --- ----------------------------------------------------------------------------- --- Monad (with ByteString input) - - -{-# LINE 375 "templates/wrappers.hs" #-} - - --- ----------------------------------------------------------------------------- --- Basic wrapper - - -{-# LINE 402 "templates/wrappers.hs" #-} - - --- ----------------------------------------------------------------------------- --- Basic wrapper, ByteString version - - -{-# LINE 422 "templates/wrappers.hs" #-} - - -{-# LINE 438 "templates/wrappers.hs" #-} - - --- ----------------------------------------------------------------------------- --- Posn wrapper - --- Adds text positions to the basic model. - - ---alexScanTokens :: String -> [token] -alexScanTokens str = go (alexStartPos,'\n',[],str) - where go inp@(pos,_,_,str) = - case alexScan inp 0 of - AlexEOF -> [] - AlexError ((AlexPn _ line column),_,_,_) -> error $ "lexical error at line " ++ (show line) ++ ", column " ++ (show column) - AlexSkip inp' _ln -> go inp' - AlexToken inp' len act -> act pos (take len str) : go inp' - - - --- ----------------------------------------------------------------------------- --- Posn wrapper, ByteString version - - -{-# LINE 471 "templates/wrappers.hs" #-} - - --- ----------------------------------------------------------------------------- --- GScan wrapper - --- For compatibility with previous versions of Alex, and because we can. - - -alex_tab_size :: Int -alex_tab_size = 8 -alex_base :: Array Int Int -alex_base = listArray (0 :: Int, 392) - [ -8 - , 77 - , -95 - , -32 - , 81 - , 89 - , -53 - , -51 - , -88 - , 205 - , -85 - , 333 - , 461 - , 589 - , 717 - , 845 - , 973 - , 1101 - , -87 - , -97 - , -101 - , 97 - , 1309 - , -98 - , 0 - , 1269 - , 1477 - , 0 - , 1437 - , 1645 - , 0 - , 1605 - , -84 - , 0 - , 1670 - , 0 - , 1783 - , 1991 - , 0 - , 1903 - , 2111 - , 0 - , 2023 - , 2279 - , 2215 - , 0 - , 0 - , 2280 - , 2536 - , 2616 - , 2640 - , 2566 - , 0 - , 2822 - , 2902 - , 2926 - , 2952 - , 3016 - , 0 - , 3224 - , 3240 - , 3496 - , 3432 - , 0 - , 3678 - , 125 - , 135 - , 1337 - , 1347 - , 1505 - , 1515 - , 1673 - , 1683 - , 3648 - , 3924 - , 2040 - , 0 - , 4170 - , 0 - , 3899 - , 4145 - , 4390 - , 4477 - , 4564 - , 4651 - , 4738 - , 4825 - , 4912 - , 4999 - , 5086 - , 5173 - , 5260 - , 5347 - , 5434 - , 5521 - , 5608 - , 5695 - , 5782 - , 5869 - , 5956 - , 6043 - , 6130 - , 6217 - , 6304 - , 6391 - , 6478 - , 6565 - , 6652 - , 6739 - , 6826 - , 6913 - , 7000 - , 7087 - , 7174 - , 7261 - , 7348 - , 7435 - , 7522 - , 7609 - , 7696 - , 7783 - , 7870 - , 7957 - , 8044 - , 8131 - , 8218 - , 8305 - , 8392 - , 8479 - , 3683 - , 0 - , 3259 - , 0 - , 8556 - , 0 - , 8585 - , 0 - , 0 - , 2651 - , 2957 - , 0 - , 8620 - , 8655 - , 0 - , 0 - , 8678 - , 0 - , 0 - , 0 - , 8688 - , 0 - , 8743 - , 8830 - , 0 - , 0 - , 8917 - , 9004 - , 9091 - , 9178 - , 9265 - , 9352 - , 9439 - , 9526 - , 9613 - , 9700 - , 9787 - , 9874 - , 9961 - , 10048 - , 10135 - , 10222 - , 10309 - , 10396 - , 10483 - , 10570 - , 10657 - , 10744 - , 10831 - , 10918 - , 11005 - , 11092 - , 11179 - , 11266 - , 11353 - , 11440 - , 11527 - , 11614 - , 11701 - , 11788 - , 11875 - , 11962 - , 12049 - , 12136 - , 12223 - , 12310 - , 12397 - , 12484 - , 12571 - , 12658 - , 12745 - , 12832 - , 12919 - , 13006 - , 13093 - , 13180 - , 13267 - , 13354 - , 13441 - , 13528 - , 13615 - , 13702 - , 13789 - , 13876 - , 13963 - , 14050 - , 14137 - , 14224 - , 14311 - , 14398 - , 14485 - , 14572 - , 14659 - , 14746 - , 14833 - , 14920 - , 15007 - , 15094 - , 15181 - , 15268 - , 15355 - , 15442 - , 15529 - , 15616 - , 15703 - , 15790 - , 15877 - , 15964 - , 16051 - , 16138 - , 16225 - , 16312 - , 16399 - , 16486 - , 16573 - , 16660 - , 16747 - , 16834 - , 16921 - , 17008 - , 17095 - , 17182 - , 17269 - , 17356 - , 17443 - , 17530 - , 17617 - , 17704 - , 17791 - , 17878 - , 17965 - , 18052 - , 18139 - , 18226 - , 18313 - , 18400 - , 18487 - , 18574 - , 18661 - , 18748 - , 18835 - , 18922 - , 19009 - , 19096 - , 19183 - , 19270 - , 19357 - , 19444 - , 19531 - , 19618 - , 19705 - , 19792 - , 19879 - , 19966 - , 20053 - , 20140 - , 20227 - , 20314 - , 20401 - , 20488 - , 20575 - , 20662 - , 20749 - , 20836 - , 20923 - , 21010 - , 21097 - , 21184 - , 21271 - , 21358 - , 21445 - , 21532 - , 21619 - , 21706 - , 21793 - , 21880 - , 21967 - , 22054 - , 22141 - , 22228 - , 22315 - , 22402 - , 22489 - , 22576 - , 22663 - , 22750 - , 22837 - , 22924 - , 23011 - , 23098 - , 23185 - , 23272 - , 23359 - , 23446 - , 23533 - , 23620 - , 23707 - , 23794 - , 23881 - , 23968 - , 24055 - , 24142 - , 24229 - , 24316 - , 24403 - , 24490 - , 24577 - , 24664 - , 24751 - , 24838 - , 24925 - , 25012 - , 25099 - , 25186 - , 25273 - , 25360 - , 25447 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 2014 - , 0 - , 0 - , -44 - , -42 - , -39 - , -38 - , 0 - , 0 - , -31 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 2012 - , 110 - , 23 - , 2127 - , 2016 - , 2615 - , 27 - , 60 - , 61 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 18 - ] - -alex_table :: Array Int Int -alex_table = listArray (0 :: Int, 25702) - [ 0 - , 75 - , 75 - , 75 - , 75 - , 75 - , 78 - , 153 - , 390 - , 7 - , 391 - , 2 - , 8 - , 20 - , 23 - , 18 - , 32 - , 364 - , 10 - , 366 - , 6 - , 380 - , 365 - , 367 - , 75 - , 360 - , 64 - , 356 - , 264 - , 379 - , 376 - , 56 - , 346 - , 347 - , 374 - , 372 - , 353 - , 373 - , 354 - , 375 - , 129 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 363 - , 352 - , 359 - , 357 - , 358 - , 362 - , 392 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 348 - , 383 - , 349 - , 378 - , 264 - , 387 - , 248 - , 216 - , 217 - , 161 - , 299 - , 197 - , 221 - , 264 - , 335 - , 264 - , 264 - , 225 - , 264 - , 200 - , 264 - , 254 - , 264 - , 255 - , 279 - , 306 - , 264 - , 232 - , 277 - , 264 - , 264 - , 264 - , 350 - , 377 - , 351 - , 361 - , 1 - , 153 - , 388 - , 389 - , 19 - , 76 - , 0 - , 0 - , 0 - , 153 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 4 - , 4 - , 4 - , 4 - , 4 - , 4 - , 4 - , 4 - , 26 - , 26 - , 26 - , 26 - , 26 - , 26 - , 26 - , 26 - , 26 - , 26 - , 371 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 26 - , 26 - , 26 - , 26 - , 26 - , 26 - , 66 - , 0 - , 66 - , 382 - , 355 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 0 - , 26 - , 26 - , 26 - , 26 - , 26 - , 26 - , 0 - , 0 - , 0 - , 0 - , 0 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 43 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 44 - , 14 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 34 - , 17 - , 24 - , 24 - , 24 - , 25 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 61 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 53 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 48 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 9 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 43 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 11 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 12 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 14 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 29 - , 29 - , 29 - , 29 - , 29 - , 29 - , 29 - , 29 - , 29 - , 29 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 29 - , 29 - , 29 - , 29 - , 29 - , 29 - , 68 - , 0 - , 68 - , 0 - , 0 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 0 - , 29 - , 29 - , 29 - , 29 - , 29 - , 29 - , 34 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 37 - , 37 - , 37 - , 37 - , 37 - , 37 - , 37 - , 37 - , 37 - , 37 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 37 - , 37 - , 37 - , 37 - , 37 - , 37 - , 70 - , 0 - , 70 - , 0 - , 0 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 0 - , 37 - , 37 - , 37 - , 37 - , 37 - , 37 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 40 - , 40 - , 40 - , 40 - , 40 - , 40 - , 40 - , 40 - , 40 - , 40 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 40 - , 40 - , 40 - , 40 - , 40 - , 40 - , 72 - , 0 - , 72 - , 0 - , 0 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 0 - , 40 - , 40 - , 40 - , 40 - , 40 - , 40 - , 42 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 44 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 47 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 49 - , 49 - , 49 - , 49 - , 49 - , 49 - , 49 - , 49 - , 49 - , 49 - , 75 - , 75 - , 75 - , 75 - , 75 - , 368 - , 370 - , 49 - , 49 - , 49 - , 49 - , 49 - , 49 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 75 - , 381 - , 0 - , 0 - , 0 - , 385 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 49 - , 49 - , 49 - , 49 - , 49 - , 49 - , 51 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 54 - , 54 - , 54 - , 54 - , 54 - , 54 - , 54 - , 54 - , 54 - , 54 - , 60 - , 0 - , 0 - , 0 - , 0 - , 74 - , 0 - , 54 - , 54 - , 54 - , 54 - , 54 - , 54 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 384 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 54 - , 54 - , 54 - , 54 - , 54 - , 54 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 62 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 0 - , 386 - , 0 - , 0 - , 64 - , 0 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 0 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 0 - , 0 - , 0 - , 138 - , 138 - , 138 - , 138 - , 138 - , 138 - , 138 - , 138 - , 138 - , 138 - , 0 - , 0 - , 0 - , 0 - , 64 - , 64 - , 64 - , 64 - , 64 - , 64 - , 137 - , 71 - , 143 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 64 - , 0 - , 0 - , 0 - , 0 - , 0 - , 64 - , 369 - , 0 - , 0 - , 64 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 64 - , 137 - , 71 - , 143 - , 64 - , 0 - , 64 - , 21 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 0 - , -1 - , 0 - , 0 - , 3 - , 0 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 0 - , 5 - , 5 - , 5 - , 5 - , 4 - , 4 - , 4 - , 4 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , -1 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 3 - , 3 - , 3 - , 3 - , 3 - , 3 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 139 - , 0 - , 0 - , 0 - , 3 - , 0 - , 0 - , 0 - , 0 - , 0 - , 3 - , 137 - , 0 - , 143 - , 3 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 3 - , 0 - , 0 - , 0 - , 3 - , 0 - , 3 - , 22 - , 55 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 137 - , 0 - , 143 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 53 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 58 - , 57 - , 11 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 41 - , 42 - , 15 - , 30 - , 30 - , 30 - , 31 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 59 - , 59 - , 59 - , 59 - , 59 - , 59 - , 59 - , 59 - , 59 - , 59 - , 1 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 59 - , 59 - , 59 - , 59 - , 59 - , 59 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 65 - , 138 - , 0 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 0 - , 0 - , 0 - , 0 - , 59 - , 59 - , 59 - , 59 - , 59 - , 59 - , 146 - , 67 - , 147 - , 0 - , 0 - , 0 - , 0 - , 0 - , 132 - , 65 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 146 - , 67 - , 147 - , 0 - , 0 - , 0 - , 0 - , 0 - , 132 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 43 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 45 - , 44 - , 14 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 33 - , 34 - , 17 - , 24 - , 24 - , 24 - , 25 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 0 - , 0 - , 0 - , 0 - , 0 - , 59 - , 0 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 154 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 65 - , 138 - , 0 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 131 - , 0 - , 0 - , 0 - , 0 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 146 - , 67 - , 147 - , 0 - , 0 - , 0 - , 0 - , 0 - , 130 - , 65 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 50 - , 73 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 146 - , 67 - , 147 - , 0 - , 0 - , 0 - , 0 - , 0 - , 130 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 73 - , 0 - , 0 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 52 - , 51 - , 12 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 38 - , 39 - , 16 - , 27 - , 27 - , 27 - , 28 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 76 - , 264 - , 0 - , 77 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 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 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 61 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 62 - , 9 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 47 - , 13 - , 35 - , 35 - , 35 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 76 - , 264 - , 0 - , 77 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 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 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 61 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 63 - , 62 - , 9 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 46 - , 47 - , 13 - , 35 - , 35 - , 35 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 300 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 166 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 272 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 123 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 138 - , 0 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 133 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 146 - , 67 - , 147 - , 0 - , 0 - , 0 - , 0 - , 59 - , 134 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 146 - , 67 - , 147 - , 0 - , 0 - , 136 - , 0 - , 0 - , 134 - , 65 - , 0 - , 0 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 141 - , 0 - , 0 - , 0 - , 0 - , 135 - , 135 - , 135 - , 135 - , 135 - , 135 - , 140 - , 69 - , 144 - , 0 - , 0 - , 136 - , 0 - , 0 - , 0 - , 65 - , 0 - , 0 - , 0 - , 0 - , 0 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 142 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 140 - , 69 - , 144 - , 140 - , 0 - , 144 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 145 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 149 - , 146 - , 0 - , 147 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 140 - , 148 - , 144 - , 150 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 146 - , 264 - , 147 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 148 - , 0 - , 150 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 82 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 83 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 84 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 87 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 89 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 275 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 91 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 92 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 93 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 94 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 95 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 97 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 100 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 102 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 106 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 107 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 108 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 109 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 110 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 111 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 113 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 116 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 121 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 122 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 269 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 182 - , 264 - , 264 - , 264 - , 125 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 127 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 128 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 151 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 152 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 345 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 343 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 156 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 158 - , 188 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 342 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 341 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 159 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 340 - , 236 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 160 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 163 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 164 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 338 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 337 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 288 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 297 - , 264 - , 264 - , 220 - , 264 - , 264 - , 336 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 333 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 169 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 283 - , 264 - , 264 - , 264 - , 172 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 303 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 173 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 331 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 175 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 176 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 327 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 326 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 325 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 177 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 209 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 178 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 323 - , 264 - , 264 - , 258 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 183 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 184 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 321 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 185 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 186 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 249 - , 264 - , 264 - , 215 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 320 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 187 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 189 - , 264 - , 264 - , 264 - , 218 - , 264 - , 264 - , 302 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 190 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 319 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 196 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 316 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 260 - , 264 - , 264 - , 314 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 198 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 199 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 313 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 312 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 201 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 311 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 310 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 309 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 307 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 210 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 305 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 304 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 213 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 301 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 219 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 298 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 296 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 223 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 227 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 295 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 293 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 256 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 292 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 290 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 289 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 231 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 259 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 235 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 286 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 239 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 241 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 282 - , 264 - , 264 - , 264 - , 264 - , 264 - , 270 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 242 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 251 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 252 - , 264 - , 264 - , 281 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 280 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 244 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 247 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 278 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 276 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 250 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 273 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 271 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 266 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 263 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 267 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 262 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 261 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 257 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 253 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 246 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 284 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 240 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 238 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 237 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 287 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 234 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 233 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 230 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 243 - , 291 - , 264 - , 245 - , 264 - , 265 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 229 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 294 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 228 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 226 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 224 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 222 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 214 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 212 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 211 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 207 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 206 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 205 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 308 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 204 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 203 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 202 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 315 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 195 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 317 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 193 - , 264 - , 194 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 274 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 318 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 192 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 191 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 322 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 181 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 180 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 208 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 179 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 324 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 328 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 329 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 330 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 174 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 171 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 170 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 334 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 168 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 167 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 165 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 162 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 339 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 157 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 344 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 155 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 126 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 124 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 120 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 119 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 118 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 117 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 115 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 114 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 112 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 268 - , 105 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 104 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 103 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 101 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 285 - , 332 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 99 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 98 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 96 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 90 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 88 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 86 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 85 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 81 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 80 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 264 - , 0 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 79 - , 264 - , 264 - , 264 - , 264 - , 264 - , 264 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - , 0 - ] - -alex_check :: Array Int Int -alex_check = listArray (0 :: Int, 25702) - [ -1 - , 9 - , 10 - , 11 - , 12 - , 13 - , 101 - , 39 - , 61 - , 62 - , 61 - , 99 - , 97 - , 110 - , 101 - , 116 - , 114 - , 61 - , 102 - , 61 - , 62 - , 60 - , 61 - , 61 - , 32 - , 33 - , 34 - , 58 - , 36 - , 37 - , 38 - , 39 - , 40 - , 41 - , 42 - , 43 - , 44 - , 45 - , 46 - , 47 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 58 - , 59 - , 60 - , 61 - , 62 - , 63 - , 64 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , 91 - , 61 - , 93 - , 94 - , 95 - , 61 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 123 - , 124 - , 125 - , 126 - , 42 - , 39 - , 61 - , 61 - , 105 - , 47 - , -1 - , -1 - , -1 - , 39 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 45 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 43 - , -1 - , 45 - , 61 - , 62 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , -1 - , -1 - , -1 - , -1 - , -1 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 43 - , -1 - , 45 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 43 - , -1 - , 45 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 43 - , -1 - , 45 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 9 - , 10 - , 11 - , 12 - , 13 - , 38 - , 43 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 32 - , 61 - , -1 - , -1 - , -1 - , 61 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 42 - , -1 - , -1 - , -1 - , -1 - , 47 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 61 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 0 - , 1 - , 2 - , 3 - , 4 - , 5 - , 6 - , 7 - , 8 - , 9 - , 10 - , 11 - , 12 - , 13 - , 14 - , 15 - , 16 - , 17 - , 18 - , 19 - , 20 - , 21 - , 22 - , 23 - , 24 - , 25 - , 26 - , 27 - , 28 - , 29 - , 30 - , 31 - , 32 - , 33 - , 34 - , 35 - , 36 - , 37 - , 38 - , 39 - , 40 - , 41 - , 42 - , 43 - , 44 - , 45 - , 46 - , 47 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 58 - , 59 - , 60 - , 61 - , 62 - , 63 - , 64 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , 91 - , 92 - , 93 - , 94 - , 95 - , 96 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 123 - , 124 - , 125 - , 126 - , 127 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 0 - , 1 - , 2 - , 3 - , 4 - , 5 - , 6 - , 7 - , 8 - , 9 - , 10 - , 11 - , 12 - , 13 - , 14 - , 15 - , 16 - , 17 - , 18 - , 19 - , 20 - , 21 - , 22 - , 23 - , 24 - , 25 - , 26 - , 27 - , 28 - , 29 - , 30 - , 31 - , 32 - , 33 - , 34 - , 35 - , 36 - , 37 - , 38 - , 39 - , 40 - , 41 - , 42 - , 43 - , 44 - , 45 - , 46 - , 47 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 58 - , 59 - , 60 - , 61 - , 62 - , 63 - , 64 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , 91 - , 92 - , 93 - , 94 - , 95 - , 96 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 123 - , 124 - , 125 - , 126 - , 127 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 34 - , -1 - , 61 - , -1 - , -1 - , 39 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 68 - , 69 - , 70 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 92 - , -1 - , -1 - , -1 - , -1 - , -1 - , 98 - , 124 - , -1 - , -1 - , 102 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 110 - , 100 - , 101 - , 102 - , 114 - , -1 - , 116 - , 117 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 0 - , 1 - , 2 - , 3 - , 4 - , 5 - , 6 - , 7 - , 8 - , 9 - , 10 - , 11 - , 12 - , 13 - , 14 - , 15 - , 16 - , 17 - , 18 - , 19 - , 20 - , 21 - , 22 - , 23 - , 24 - , 25 - , 26 - , 27 - , 28 - , 29 - , 30 - , 31 - , 32 - , 33 - , 34 - , 35 - , 36 - , 37 - , 38 - , 39 - , 40 - , 41 - , 42 - , 43 - , 44 - , 45 - , 46 - , 47 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 58 - , 59 - , 60 - , 61 - , 62 - , 63 - , 64 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , 91 - , 92 - , 93 - , 94 - , 95 - , 96 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 123 - , 124 - , 125 - , 126 - , 127 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 34 - , -1 - , 10 - , -1 - , -1 - , 39 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 39 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , 92 - , -1 - , -1 - , -1 - , -1 - , -1 - , 98 - , 68 - , -1 - , 70 - , 102 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 110 - , -1 - , -1 - , -1 - , 114 - , -1 - , 116 - , 117 - , 92 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 100 - , -1 - , 102 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 42 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 80 - , 46 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 68 - , 69 - , 70 - , -1 - , -1 - , -1 - , -1 - , -1 - , 76 - , 112 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 100 - , 101 - , 102 - , -1 - , -1 - , -1 - , -1 - , -1 - , 108 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 0 - , 1 - , 2 - , 3 - , 4 - , 5 - , 6 - , 7 - , 8 - , 9 - , 10 - , 11 - , 12 - , 13 - , 14 - , 15 - , 16 - , 17 - , 18 - , 19 - , 20 - , 21 - , 22 - , 23 - , 24 - , 25 - , 26 - , 27 - , 28 - , 29 - , 30 - , 31 - , 32 - , 33 - , 34 - , 35 - , 36 - , 37 - , 38 - , 39 - , 40 - , 41 - , 42 - , 43 - , 44 - , 45 - , 46 - , 47 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 58 - , 59 - , 60 - , 61 - , 62 - , 63 - , 64 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , 91 - , 92 - , 93 - , 94 - , 95 - , 96 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 123 - , 124 - , 125 - , 126 - , 127 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 10 - , -1 - , -1 - , -1 - , -1 - , -1 - , 46 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 34 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 80 - , 46 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 68 - , 69 - , 70 - , -1 - , -1 - , -1 - , -1 - , -1 - , 76 - , 112 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 92 - , 88 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 100 - , 101 - , 102 - , -1 - , -1 - , -1 - , -1 - , -1 - , 108 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 120 - , -1 - , -1 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 10 - , 36 - , -1 - , 13 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 10 - , 36 - , -1 - , 13 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 128 - , 129 - , 130 - , 131 - , 132 - , 133 - , 134 - , 135 - , 136 - , 137 - , 138 - , 139 - , 140 - , 141 - , 142 - , 143 - , 144 - , 145 - , 146 - , 147 - , 148 - , 149 - , 150 - , 151 - , 152 - , 153 - , 154 - , 155 - , 156 - , 157 - , 158 - , 159 - , 160 - , 161 - , 162 - , 163 - , 164 - , 165 - , 166 - , 167 - , 168 - , 169 - , 170 - , 171 - , 172 - , 173 - , 174 - , 175 - , 176 - , 177 - , 178 - , 179 - , 180 - , 181 - , 182 - , 183 - , 184 - , 185 - , 186 - , 187 - , 188 - , 189 - , 190 - , 191 - , 192 - , 193 - , 194 - , 195 - , 196 - , 197 - , 198 - , 199 - , 200 - , 201 - , 202 - , 203 - , 204 - , 205 - , 206 - , 207 - , 208 - , 209 - , 210 - , 211 - , 212 - , 213 - , 214 - , 215 - , 216 - , 217 - , 218 - , 219 - , 220 - , 221 - , 222 - , 223 - , 224 - , 225 - , 226 - , 227 - , 228 - , 229 - , 230 - , 231 - , 232 - , 233 - , 234 - , 235 - , 236 - , 237 - , 238 - , 239 - , 240 - , 241 - , 242 - , 243 - , 244 - , 245 - , 246 - , 247 - , 248 - , 249 - , 250 - , 251 - , 252 - , 253 - , 254 - , 255 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 46 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 68 - , 69 - , 70 - , -1 - , -1 - , -1 - , -1 - , 46 - , 76 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 100 - , 101 - , 102 - , -1 - , -1 - , 76 - , -1 - , -1 - , 108 - , 80 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 68 - , 69 - , 70 - , -1 - , -1 - , 108 - , -1 - , -1 - , -1 - , 112 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 100 - , 101 - , 102 - , 68 - , -1 - , 70 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , 68 - , -1 - , 70 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 100 - , 68 - , 102 - , 70 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 100 - , 36 - , 102 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 100 - , -1 - , 102 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , 36 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 48 - , 49 - , 50 - , 51 - , 52 - , 53 - , 54 - , 55 - , 56 - , 57 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 65 - , 66 - , 67 - , 68 - , 69 - , 70 - , 71 - , 72 - , 73 - , 74 - , 75 - , 76 - , 77 - , 78 - , 79 - , 80 - , 81 - , 82 - , 83 - , 84 - , 85 - , 86 - , 87 - , 88 - , 89 - , 90 - , -1 - , -1 - , -1 - , -1 - , 95 - , -1 - , 97 - , 98 - , 99 - , 100 - , 101 - , 102 - , 103 - , 104 - , 105 - , 106 - , 107 - , 108 - , 109 - , 110 - , 111 - , 112 - , 113 - , 114 - , 115 - , 116 - , 117 - , 118 - , 119 - , 120 - , 121 - , 122 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - ] - -alex_deflt :: Array Int Int -alex_deflt = listArray (0 :: Int, 392) - [ -1 - , 60 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 33 - , 33 - , -1 - , 38 - , 38 - , -1 - , 41 - , 41 - , -1 - , 45 - , 45 - , 46 - , 46 - , -1 - , 52 - , 52 - , -1 - , 58 - , 58 - , 60 - , 60 - , 60 - , 63 - , 63 - , 64 - , -1 - , -1 - , 64 - , 64 - , 3 - , -1 - , -1 - , 3 - , 3 - , 3 - , -1 - , 60 - , 74 - , 74 - , 74 - , 64 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , 74 - , -1 - , -1 - , 74 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - , -1 - ] - -alex_accept = listArray (0 :: Int, 392) - [ AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccNone - , AlexAccSkip - , AlexAccSkip - , AlexAccSkip - , AlexAcc 314 - , AlexAcc 313 - , AlexAcc 312 - , AlexAcc 311 - , AlexAcc 310 - , AlexAcc 309 - , AlexAcc 308 - , AlexAcc 307 - , AlexAcc 306 - , AlexAcc 305 - , AlexAcc 304 - , AlexAcc 303 - , AlexAcc 302 - , AlexAcc 301 - , AlexAcc 300 - , AlexAcc 299 - , AlexAcc 298 - , AlexAcc 297 - , AlexAcc 296 - , AlexAcc 295 - , AlexAcc 294 - , AlexAcc 293 - , AlexAcc 292 - , AlexAcc 291 - , AlexAcc 290 - , AlexAcc 289 - , AlexAcc 288 - , AlexAcc 287 - , AlexAcc 286 - , AlexAcc 285 - , AlexAcc 284 - , AlexAcc 283 - , AlexAcc 282 - , AlexAcc 281 - , AlexAcc 280 - , AlexAcc 279 - , AlexAcc 278 - , AlexAcc 277 - , AlexAcc 276 - , AlexAcc 275 - , AlexAcc 274 - , AlexAcc 273 - , AlexAcc 272 - , AlexAcc 271 - , AlexAcc 270 - , AlexAcc 269 - , AlexAcc 268 - , AlexAcc 267 - , AlexAcc 266 - , AlexAcc 265 - , AlexAcc 264 - , AlexAcc 263 - , AlexAcc 262 - , AlexAcc 261 - , AlexAcc 260 - , AlexAcc 259 - , AlexAcc 258 - , AlexAcc 257 - , AlexAcc 256 - , AlexAcc 255 - , AlexAcc 254 - , AlexAcc 253 - , AlexAcc 252 - , AlexAcc 251 - , AlexAcc 250 - , AlexAcc 249 - , AlexAcc 248 - , AlexAcc 247 - , AlexAcc 246 - , AlexAcc 245 - , AlexAcc 244 - , AlexAcc 243 - , AlexAcc 242 - , AlexAcc 241 - , AlexAcc 240 - , AlexAcc 239 - , AlexAcc 238 - , AlexAcc 237 - , AlexAcc 236 - , AlexAcc 235 - , AlexAcc 234 - , AlexAcc 233 - , AlexAcc 232 - , AlexAcc 231 - , AlexAcc 230 - , AlexAcc 229 - , AlexAcc 228 - , AlexAcc 227 - , AlexAcc 226 - , AlexAcc 225 - , AlexAcc 224 - , AlexAcc 223 - , AlexAcc 222 - , AlexAcc 221 - , AlexAcc 220 - , AlexAcc 219 - , AlexAcc 218 - , AlexAcc 217 - , AlexAcc 216 - , AlexAcc 215 - , AlexAcc 214 - , AlexAcc 213 - , AlexAcc 212 - , AlexAcc 211 - , AlexAcc 210 - , AlexAcc 209 - , AlexAcc 208 - , AlexAcc 207 - , AlexAcc 206 - , AlexAcc 205 - , AlexAcc 204 - , AlexAcc 203 - , AlexAcc 202 - , AlexAcc 201 - , AlexAcc 200 - , AlexAcc 199 - , AlexAcc 198 - , AlexAcc 197 - , AlexAcc 196 - , AlexAcc 195 - , AlexAcc 194 - , AlexAcc 193 - , AlexAcc 192 - , AlexAcc 191 - , AlexAcc 190 - , AlexAcc 189 - , AlexAcc 188 - , AlexAcc 187 - , AlexAcc 186 - , AlexAcc 185 - , AlexAcc 184 - , AlexAcc 183 - , AlexAcc 182 - , AlexAcc 181 - , AlexAcc 180 - , AlexAcc 179 - , AlexAcc 178 - , AlexAcc 177 - , AlexAcc 176 - , AlexAcc 175 - , AlexAcc 174 - , AlexAcc 173 - , AlexAcc 172 - , AlexAcc 171 - , AlexAcc 170 - , AlexAcc 169 - , AlexAcc 168 - , AlexAcc 167 - , AlexAcc 166 - , AlexAcc 165 - , AlexAcc 164 - , AlexAcc 163 - , AlexAcc 162 - , AlexAcc 161 - , AlexAcc 160 - , AlexAcc 159 - , AlexAcc 158 - , AlexAcc 157 - , AlexAcc 156 - , AlexAcc 155 - , AlexAcc 154 - , AlexAcc 153 - , AlexAcc 152 - , AlexAcc 151 - , AlexAcc 150 - , AlexAcc 149 - , AlexAcc 148 - , AlexAcc 147 - , AlexAcc 146 - , AlexAcc 145 - , AlexAcc 144 - , AlexAcc 143 - , AlexAcc 142 - , AlexAcc 141 - , AlexAcc 140 - , AlexAcc 139 - , AlexAcc 138 - , AlexAcc 137 - , AlexAcc 136 - , AlexAcc 135 - , AlexAcc 134 - , AlexAcc 133 - , AlexAcc 132 - , AlexAcc 131 - , AlexAcc 130 - , AlexAcc 129 - , AlexAcc 128 - , AlexAcc 127 - , AlexAcc 126 - , AlexAcc 125 - , AlexAcc 124 - , AlexAcc 123 - , AlexAcc 122 - , AlexAcc 121 - , AlexAcc 120 - , AlexAcc 119 - , AlexAcc 118 - , AlexAcc 117 - , AlexAcc 116 - , AlexAcc 115 - , AlexAcc 114 - , AlexAcc 113 - , AlexAcc 112 - , AlexAcc 111 - , AlexAcc 110 - , AlexAcc 109 - , AlexAcc 108 - , AlexAcc 107 - , AlexAcc 106 - , AlexAcc 105 - , AlexAcc 104 - , AlexAcc 103 - , AlexAcc 102 - , AlexAcc 101 - , AlexAcc 100 - , AlexAcc 99 - , AlexAcc 98 - , AlexAcc 97 - , AlexAcc 96 - , AlexAcc 95 - , AlexAcc 94 - , AlexAcc 93 - , AlexAcc 92 - , AlexAcc 91 - , AlexAcc 90 - , AlexAcc 89 - , AlexAcc 88 - , AlexAcc 87 - , AlexAcc 86 - , AlexAcc 85 - , AlexAcc 84 - , AlexAcc 83 - , AlexAcc 82 - , AlexAcc 81 - , AlexAcc 80 - , AlexAcc 79 - , AlexAcc 78 - , AlexAcc 77 - , AlexAcc 76 - , AlexAcc 75 - , AlexAcc 74 - , AlexAcc 73 - , AlexAcc 72 - , AlexAcc 71 - , AlexAcc 70 - , AlexAcc 69 - , AlexAcc 68 - , AlexAcc 67 - , AlexAcc 66 - , AlexAcc 65 - , AlexAcc 64 - , AlexAcc 63 - , AlexAcc 62 - , AlexAcc 61 - , AlexAcc 60 - , AlexAcc 59 - , AlexAcc 58 - , AlexAcc 57 - , AlexAcc 56 - , AlexAcc 55 - , AlexAcc 54 - , AlexAcc 53 - , AlexAcc 52 - , AlexAcc 51 - , AlexAcc 50 - , AlexAcc 49 - , AlexAcc 48 - , AlexAcc 47 - , AlexAcc 46 - , AlexAcc 45 - , AlexAcc 44 - , AlexAcc 43 - , AlexAcc 42 - , AlexAcc 41 - , AlexAcc 40 - , AlexAcc 39 - , AlexAcc 38 - , AlexAcc 37 - , AlexAcc 36 - , AlexAcc 35 - , AlexAcc 34 - , AlexAcc 33 - , AlexAcc 32 - , AlexAcc 31 - , AlexAcc 30 - , AlexAcc 29 - , AlexAcc 28 - , AlexAcc 27 - , AlexAcc 26 - , AlexAcc 25 - , AlexAcc 24 - , AlexAcc 23 - , AlexAcc 22 - , AlexAcc 21 - , AlexAcc 20 - , AlexAcc 19 - , AlexAcc 18 - , AlexAcc 17 - , AlexAcc 16 - , AlexAcc 15 - , AlexAcc 14 - , AlexAcc 13 - , AlexAcc 12 - , AlexAcc 11 - , AlexAcc 10 - , AlexAcc 9 - , AlexAcc 8 - , AlexAcc 7 - , AlexAcc 6 - , AlexAcc 5 - , AlexAcc 4 - , AlexAcc 3 - , AlexAcc 2 - , AlexAcc 1 - , AlexAcc 0 - ] - -alex_actions = array (0 :: Int, 315) - [ (314,alex_action_2) - , (313,alex_action_3) - , (312,alex_action_4) - , (311,alex_action_5) - , (310,alex_action_6) - , (309,alex_action_7) - , (308,alex_action_8) - , (307,alex_action_9) - , (306,alex_action_10) - , (305,alex_action_11) - , (304,alex_action_12) - , (303,alex_action_13) - , (302,alex_action_14) - , (301,alex_action_15) - , (300,alex_action_16) - , (299,alex_action_17) - , (298,alex_action_18) - , (297,alex_action_19) - , (296,alex_action_20) - , (295,alex_action_21) - , (294,alex_action_22) - , (293,alex_action_23) - , (292,alex_action_24) - , (291,alex_action_25) - , (290,alex_action_26) - , (289,alex_action_27) - , (288,alex_action_28) - , (287,alex_action_29) - , (286,alex_action_30) - , (285,alex_action_31) - , (284,alex_action_32) - , (283,alex_action_33) - , (282,alex_action_34) - , (281,alex_action_35) - , (280,alex_action_36) - , (279,alex_action_37) - , (278,alex_action_38) - , (277,alex_action_39) - , (276,alex_action_40) - , (275,alex_action_41) - , (274,alex_action_42) - , (273,alex_action_43) - , (272,alex_action_44) - , (271,alex_action_45) - , (270,alex_action_46) - , (269,alex_action_47) - , (268,alex_action_48) - , (267,alex_action_49) - , (266,alex_action_50) - , (265,alex_action_51) - , (264,alex_action_52) - , (263,alex_action_53) - , (262,alex_action_54) - , (261,alex_action_55) - , (260,alex_action_56) - , (259,alex_action_57) - , (258,alex_action_58) - , (257,alex_action_59) - , (256,alex_action_60) - , (255,alex_action_61) - , (254,alex_action_61) - , (253,alex_action_61) - , (252,alex_action_62) - , (251,alex_action_62) - , (250,alex_action_62) - , (249,alex_action_63) - , (248,alex_action_64) - , (247,alex_action_65) - , (246,alex_action_66) - , (245,alex_action_67) - , (244,alex_action_68) - , (243,alex_action_68) - , (242,alex_action_69) - , (241,alex_action_70) - , (240,alex_action_71) - , (239,alex_action_72) - , (238,alex_action_73) - , (237,alex_action_74) - , (236,alex_action_75) - , (235,alex_action_75) - , (234,alex_action_75) - , (233,alex_action_75) - , (232,alex_action_75) - , (231,alex_action_75) - , (230,alex_action_75) - , (229,alex_action_75) - , (228,alex_action_75) - , (227,alex_action_75) - , (226,alex_action_75) - , (225,alex_action_75) - , (224,alex_action_75) - , (223,alex_action_75) - , (222,alex_action_75) - , (221,alex_action_75) - , (220,alex_action_75) - , (219,alex_action_75) - , (218,alex_action_75) - , (217,alex_action_75) - , (216,alex_action_75) - , (215,alex_action_75) - , (214,alex_action_75) - , (213,alex_action_75) - , (212,alex_action_75) - , (211,alex_action_75) - , (210,alex_action_75) - , (209,alex_action_75) - , (208,alex_action_75) - , (207,alex_action_75) - , (206,alex_action_75) - , (205,alex_action_75) - , (204,alex_action_75) - , (203,alex_action_75) - , (202,alex_action_75) - , (201,alex_action_75) - , (200,alex_action_75) - , (199,alex_action_75) - , (198,alex_action_75) - , (197,alex_action_75) - , (196,alex_action_75) - , (195,alex_action_75) - , (194,alex_action_75) - , (193,alex_action_75) - , (192,alex_action_75) - , (191,alex_action_75) - , (190,alex_action_75) - , (189,alex_action_75) - , (188,alex_action_75) - , (187,alex_action_75) - , (186,alex_action_75) - , (185,alex_action_75) - , (184,alex_action_75) - , (183,alex_action_75) - , (182,alex_action_75) - , (181,alex_action_75) - , (180,alex_action_75) - , (179,alex_action_75) - , (178,alex_action_75) - , (177,alex_action_75) - , (176,alex_action_75) - , (175,alex_action_75) - , (174,alex_action_75) - , (173,alex_action_75) - , (172,alex_action_75) - , (171,alex_action_75) - , (170,alex_action_75) - , (169,alex_action_75) - , (168,alex_action_75) - , (167,alex_action_75) - , (166,alex_action_75) - , (165,alex_action_75) - , (164,alex_action_75) - , (163,alex_action_75) - , (162,alex_action_75) - , (161,alex_action_75) - , (160,alex_action_75) - , (159,alex_action_75) - , (158,alex_action_75) - , (157,alex_action_75) - , (156,alex_action_75) - , (155,alex_action_75) - , (154,alex_action_75) - , (153,alex_action_75) - , (152,alex_action_75) - , (151,alex_action_75) - , (150,alex_action_75) - , (149,alex_action_75) - , (148,alex_action_75) - , (147,alex_action_75) - , (146,alex_action_75) - , (145,alex_action_75) - , (144,alex_action_75) - , (143,alex_action_75) - , (142,alex_action_75) - , (141,alex_action_75) - , (140,alex_action_75) - , (139,alex_action_75) - , (138,alex_action_75) - , (137,alex_action_75) - , (136,alex_action_75) - , (135,alex_action_75) - , (134,alex_action_75) - , (133,alex_action_75) - , (132,alex_action_75) - , (131,alex_action_75) - , (130,alex_action_75) - , (129,alex_action_75) - , (128,alex_action_75) - , (127,alex_action_75) - , (126,alex_action_75) - , (125,alex_action_75) - , (124,alex_action_75) - , (123,alex_action_75) - , (122,alex_action_75) - , (121,alex_action_75) - , (120,alex_action_75) - , (119,alex_action_75) - , (118,alex_action_75) - , (117,alex_action_75) - , (116,alex_action_75) - , (115,alex_action_75) - , (114,alex_action_75) - , (113,alex_action_75) - , (112,alex_action_75) - , (111,alex_action_75) - , (110,alex_action_75) - , (109,alex_action_75) - , (108,alex_action_75) - , (107,alex_action_75) - , (106,alex_action_75) - , (105,alex_action_75) - , (104,alex_action_75) - , (103,alex_action_75) - , (102,alex_action_75) - , (101,alex_action_75) - , (100,alex_action_75) - , (99,alex_action_75) - , (98,alex_action_75) - , (97,alex_action_75) - , (96,alex_action_75) - , (95,alex_action_75) - , (94,alex_action_75) - , (93,alex_action_75) - , (92,alex_action_75) - , (91,alex_action_75) - , (90,alex_action_75) - , (89,alex_action_75) - , (88,alex_action_75) - , (87,alex_action_75) - , (86,alex_action_75) - , (85,alex_action_75) - , (84,alex_action_75) - , (83,alex_action_75) - , (82,alex_action_75) - , (81,alex_action_75) - , (80,alex_action_75) - , (79,alex_action_75) - , (78,alex_action_75) - , (77,alex_action_75) - , (76,alex_action_75) - , (75,alex_action_75) - , (74,alex_action_75) - , (73,alex_action_75) - , (72,alex_action_75) - , (71,alex_action_75) - , (70,alex_action_75) - , (69,alex_action_75) - , (68,alex_action_75) - , (67,alex_action_75) - , (66,alex_action_75) - , (65,alex_action_75) - , (64,alex_action_75) - , (63,alex_action_75) - , (62,alex_action_75) - , (61,alex_action_75) - , (60,alex_action_75) - , (59,alex_action_75) - , (58,alex_action_75) - , (57,alex_action_75) - , (56,alex_action_75) - , (55,alex_action_75) - , (54,alex_action_75) - , (53,alex_action_75) - , (52,alex_action_75) - , (51,alex_action_75) - , (50,alex_action_75) - , (49,alex_action_75) - , (48,alex_action_75) - , (47,alex_action_75) - , (46,alex_action_76) - , (45,alex_action_77) - , (44,alex_action_78) - , (43,alex_action_79) - , (42,alex_action_80) - , (41,alex_action_81) - , (40,alex_action_82) - , (39,alex_action_83) - , (38,alex_action_84) - , (37,alex_action_85) - , (36,alex_action_86) - , (35,alex_action_87) - , (34,alex_action_88) - , (33,alex_action_89) - , (32,alex_action_90) - , (31,alex_action_91) - , (30,alex_action_92) - , (29,alex_action_93) - , (28,alex_action_94) - , (27,alex_action_95) - , (26,alex_action_96) - , (25,alex_action_97) - , (24,alex_action_98) - , (23,alex_action_99) - , (22,alex_action_100) - , (21,alex_action_101) - , (20,alex_action_102) - , (19,alex_action_103) - , (18,alex_action_104) - , (17,alex_action_105) - , (16,alex_action_106) - , (15,alex_action_107) - , (14,alex_action_108) - , (13,alex_action_109) - , (12,alex_action_110) - , (11,alex_action_111) - , (10,alex_action_112) - , (9,alex_action_113) - , (8,alex_action_114) - , (7,alex_action_115) - , (6,alex_action_116) - , (5,alex_action_117) - , (4,alex_action_118) - , (3,alex_action_119) - , (2,alex_action_120) - , (1,alex_action_121) - , (0,alex_action_122) - ] - -{-# LINE 173 "Lexer.x" #-} - - -pickyReadOct :: String -> Integer -pickyReadOct s = - if not $ null remStr - then lexicalError $ "Non-octal digit '" ++ take 1 remStr ++ "' in \"" ++ s ++ "\"." - else n - where (n,remStr) = head $ readOct s - -readHexExp :: (Floating a, Eq a) => String -> a -readHexExp initial = - let (m, suf) = head $ readHex initial - (e, _) = case suf of - p:s | toLower p == 'p' -> head $ readHex s - _ -> (0, "") - in m ** e - -readCharTok :: String -> Char -readCharTok s = head . convChar . dropQuotes $ s -readStringTok :: String -> String -readStringTok = convChar . dropQuotes - -dropQuotes :: String -> String -dropQuotes s = take (length s - 2) (tail s) - --- Converts a sequence of (unquoted) Java character literals, including --- escapes, into the sequence of corresponding Chars. The calls to --- 'lexicalError' double-check that this function is consistent with --- the lexer rules for character and string literals. This function --- could be expressed as another Alex lexer, but it's simple enough --- to implement by hand. -convChar :: String -> String -convChar ('\\':'u':s@(d1:d2:d3:d4:s')) = - -- TODO: this is the wrong place for handling unicode escapes - -- according to the Java Language Specification. Unicode escapes can - -- appear anywhere in the source text, and are best processed - -- before lexing. - if all isHexDigit [d1,d2,d3,d4] - then toEnum (read ['0','x',d1,d2,d3,d4]):convChar s' - else lexicalError $ "bad unicode escape \"\\u" ++ take 4 s ++ "\"" -convChar ('\\':'u':s) = - lexicalError $ "bad unicode escape \"\\u" ++ take 4 s ++ "\"" -convChar ('\\':c:s) = - if isOctDigit c - then convOctal maxRemainingOctals - else (case c of - 'b' -> '\b' - 'f' -> '\f' - 'n' -> '\n' - 'r' -> '\r' - 't' -> '\t' - '\'' -> '\'' - '\\' -> '\\' - '"' -> '"' - _ -> badEscape):convChar s - where maxRemainingOctals = - if c <= '3' then 2 else 1 - convOctal n = - let octals = takeWhile isOctDigit $ take n s - noctals = length octals - toChar = toEnum . fst . head . readOct - in toChar (c:octals):convChar (drop noctals s) - badEscape = lexicalError $ "bad escape \"\\" ++ c:"\"" -convChar ("\\") = - lexicalError "bad escape \"\\\"" -convChar (x:s) = x:convChar s -convChar "" = "" - -lexicalError :: String -> a -lexicalError = error . ("lexical error: " ++) - -data L a = L Pos a - deriving (Show, Eq) - --- (line, column) -type Pos = (Int, Int) - -pos :: AlexPosn -> Pos -pos (AlexPn _ l c) = (l,c) - -data Token - -- Keywords - = KW_Abstract - | KW_AnnInterface - | KW_Assert - | KW_Boolean - | KW_Break - | KW_Byte - | KW_Case - | KW_Catch - | KW_Char - | KW_Class - | KW_Const - | KW_Continue - | KW_Default - | KW_Do - | KW_Double - | KW_Else - | KW_Enum - | KW_Extends - | KW_Final - | KW_Finally - | KW_Float - | KW_For - | KW_Goto - | KW_If - | KW_Implements - | KW_Import - | KW_Instanceof - | KW_Int - | KW_Interface - | KW_Long - | KW_Native - | KW_New - | KW_Package - | KW_Private - | KW_Protected - | KW_Public - | KW_Return - | KW_Short - | KW_Static - | KW_Strictfp - | KW_Super - | KW_Switch - | KW_Synchronized - | KW_This - | KW_Throw - | KW_Throws - | KW_Transient - | KW_Try - | KW_Void - | KW_Volatile - | KW_While - - -- Separators - | OpenParen - | CloseParen - | OpenSquare - | CloseSquare - | OpenCurly - | CloseCurly - | SemiColon - | Comma - | Period - | LambdaArrow - | MethodRefSep - - -- Literals - | IntTok Integer - | LongTok Integer - | DoubleTok Double - | FloatTok Double - | CharTok Char - | StringTok String - | BoolTok Bool - | NullTok - - -- Identifiers - | IdentTok String - - -- Operators - | Op_Equal - | Op_GThan - | Op_LThan - | Op_Bang - | Op_Tilde - | Op_Query - | Op_Colon - | Op_Equals - | Op_LThanE - | Op_GThanE - | Op_BangE - | Op_AAnd - | Op_OOr - | Op_PPlus - | Op_MMinus - | Op_Plus - | Op_Minus - | Op_Star - | Op_Slash - | Op_And - | Op_Or - | Op_Caret - | Op_Percent - | Op_LShift - | Op_PlusE - | Op_MinusE - | Op_StarE - | Op_SlashE - | Op_AndE - | Op_OrE - | Op_CaretE - | Op_PercentE - | Op_LShiftE - | Op_RShiftE - | Op_RRShiftE - | Op_AtSign - deriving (Show, Eq) - -lexer :: String -> [L Token] -lexer = alexScanTokens - - -alex_action_2 = \p _ -> L (pos p) $ KW_AnnInterface -alex_action_3 = \p _ -> L (pos p) $ KW_Abstract -alex_action_4 = \p _ -> L (pos p) $ KW_Assert -alex_action_5 = \p _ -> L (pos p) $ KW_Boolean -alex_action_6 = \p _ -> L (pos p) $ KW_Break -alex_action_7 = \p _ -> L (pos p) $ KW_Byte -alex_action_8 = \p _ -> L (pos p) $ KW_Case -alex_action_9 = \p _ -> L (pos p) $ KW_Catch -alex_action_10 = \p _ -> L (pos p) $ KW_Char -alex_action_11 = \p _ -> L (pos p) $ KW_Class -alex_action_12 = \p _ -> L (pos p) $ KW_Const -alex_action_13 = \p _ -> L (pos p) $ KW_Continue -alex_action_14 = \p _ -> L (pos p) $ KW_Default -alex_action_15 = \p _ -> L (pos p) $ KW_Do -alex_action_16 = \p _ -> L (pos p) $ KW_Double -alex_action_17 = \p _ -> L (pos p) $ KW_Else -alex_action_18 = \p _ -> L (pos p) $ KW_Enum -alex_action_19 = \p _ -> L (pos p) $ KW_Extends -alex_action_20 = \p _ -> L (pos p) $ KW_Final -alex_action_21 = \p _ -> L (pos p) $ KW_Finally -alex_action_22 = \p _ -> L (pos p) $ KW_Float -alex_action_23 = \p _ -> L (pos p) $ KW_For -alex_action_24 = \p _ -> L (pos p) $ KW_Goto -alex_action_25 = \p _ -> L (pos p) $ KW_If -alex_action_26 = \p _ -> L (pos p) $ KW_Implements -alex_action_27 = \p _ -> L (pos p) $ KW_Import -alex_action_28 = \p _ -> L (pos p) $ KW_Instanceof -alex_action_29 = \p _ -> L (pos p) $ KW_Int -alex_action_30 = \p _ -> L (pos p) $ KW_Interface -alex_action_31 = \p _ -> L (pos p) $ KW_Long -alex_action_32 = \p _ -> L (pos p) $ KW_Native -alex_action_33 = \p _ -> L (pos p) $ KW_New -alex_action_34 = \p _ -> L (pos p) $ KW_Package -alex_action_35 = \p _ -> L (pos p) $ KW_Private -alex_action_36 = \p _ -> L (pos p) $ KW_Protected -alex_action_37 = \p _ -> L (pos p) $ KW_Public -alex_action_38 = \p _ -> L (pos p) $ KW_Return -alex_action_39 = \p _ -> L (pos p) $ KW_Short -alex_action_40 = \p _ -> L (pos p) $ KW_Static -alex_action_41 = \p _ -> L (pos p) $ KW_Strictfp -alex_action_42 = \p _ -> L (pos p) $ KW_Super -alex_action_43 = \p _ -> L (pos p) $ KW_Switch -alex_action_44 = \p _ -> L (pos p) $ KW_Synchronized -alex_action_45 = \p _ -> L (pos p) $ KW_This -alex_action_46 = \p _ -> L (pos p) $ KW_Throw -alex_action_47 = \p _ -> L (pos p) $ KW_Throws -alex_action_48 = \p _ -> L (pos p) $ KW_Transient -alex_action_49 = \p _ -> L (pos p) $ KW_Try -alex_action_50 = \p _ -> L (pos p) $ KW_Void -alex_action_51 = \p _ -> L (pos p) $ KW_Volatile -alex_action_52 = \p _ -> L (pos p) $ KW_While -alex_action_53 = \p _ -> L (pos p) $ IntTok 0 -alex_action_54 = \p _ -> L (pos p) $ LongTok 0 -alex_action_55 = \p s -> L (pos p) $ IntTok (pickyReadOct s) -alex_action_56 = \p s -> L (pos p) $ LongTok (pickyReadOct (init s)) -alex_action_57 = \p s -> L (pos p) $ IntTok (read s) -alex_action_58 = \p s -> L (pos p) $ LongTok (read (init s)) -alex_action_59 = \p s -> L (pos p) $ IntTok (fst . head $ readHex (drop 2 s)) -alex_action_60 = \p s -> L (pos p) $ LongTok (fst . head $ readHex (init (drop 2 s))) -alex_action_61 = \p s -> L (pos p) $ DoubleTok (fst . head $ readFloat $ '0':s) -alex_action_62 = \p s -> L (pos p) $ DoubleTok (fst . head $ readFloat $ '0':s) -alex_action_63 = \p s -> L (pos p) $ FloatTok (fst . head $ readFloat $ '0':s) -alex_action_64 = \p s -> L (pos p) $ FloatTok (fst . head $ readFloat $ '0':s) -alex_action_65 = \p s -> L (pos p) $ DoubleTok (fst . head $ readFloat s) -alex_action_66 = \p s -> L (pos p) $ DoubleTok (fst . head $ readFloat s) -alex_action_67 = \p s -> L (pos p) $ FloatTok (fst . head $ readFloat s) -alex_action_68 = \p s -> L (pos p) $ DoubleTok (readHexExp (drop 2 s)) -alex_action_69 = \p s -> L (pos p) $ FloatTok (readHexExp (drop 2 s)) -alex_action_70 = \p _ -> L (pos p) $ BoolTok True -alex_action_71 = \p _ -> L (pos p) $ BoolTok False -alex_action_72 = \p s -> L (pos p) $ CharTok (readCharTok s) -alex_action_73 = \p s -> L (pos p) $ StringTok (readStringTok s) -alex_action_74 = \p _ -> L (pos p) $ NullTok -alex_action_75 = \p s -> L (pos p) $ IdentTok s -alex_action_76 = \p _ -> L (pos p) $ OpenParen -alex_action_77 = \p _ -> L (pos p) $ CloseParen -alex_action_78 = \p _ -> L (pos p) $ OpenSquare -alex_action_79 = \p _ -> L (pos p) $ CloseSquare -alex_action_80 = \p _ -> L (pos p) $ OpenCurly -alex_action_81 = \p _ -> L (pos p) $ CloseCurly -alex_action_82 = \p _ -> L (pos p) $ SemiColon -alex_action_83 = \p _ -> L (pos p) $ Comma -alex_action_84 = \p _ -> L (pos p) $ Period -alex_action_85 = \p _ -> L (pos p) $ LambdaArrow -alex_action_86 = \p _ -> L (pos p) $ MethodRefSep -alex_action_87 = \p _ -> L (pos p) $ Op_Equal -alex_action_88 = \p _ -> L (pos p) $ Op_GThan -alex_action_89 = \p _ -> L (pos p) $ Op_LThan -alex_action_90 = \p _ -> L (pos p) $ Op_Bang -alex_action_91 = \p _ -> L (pos p) $ Op_Tilde -alex_action_92 = \p _ -> L (pos p) $ Op_Query -alex_action_93 = \p _ -> L (pos p) $ Op_Colon -alex_action_94 = \p _ -> L (pos p) $ Op_Equals -alex_action_95 = \p _ -> L (pos p) $ Op_LThanE -alex_action_96 = \p _ -> L (pos p) $ Op_GThanE -alex_action_97 = \p _ -> L (pos p) $ Op_BangE -alex_action_98 = \p _ -> L (pos p) $ Op_AAnd -alex_action_99 = \p _ -> L (pos p) $ Op_OOr -alex_action_100 = \p _ -> L (pos p) $ Op_PPlus -alex_action_101 = \p _ -> L (pos p) $ Op_MMinus -alex_action_102 = \p _ -> L (pos p) $ Op_Plus -alex_action_103 = \p _ -> L (pos p) $ Op_Minus -alex_action_104 = \p _ -> L (pos p) $ Op_Star -alex_action_105 = \p _ -> L (pos p) $ Op_Slash -alex_action_106 = \p _ -> L (pos p) $ Op_And -alex_action_107 = \p _ -> L (pos p) $ Op_Or -alex_action_108 = \p _ -> L (pos p) $ Op_Caret -alex_action_109 = \p _ -> L (pos p) $ Op_Percent -alex_action_110 = \p _ -> L (pos p) $ Op_LShift -alex_action_111 = \p _ -> L (pos p) $ Op_PlusE -alex_action_112 = \p _ -> L (pos p) $ Op_MinusE -alex_action_113 = \p _ -> L (pos p) $ Op_StarE -alex_action_114 = \p _ -> L (pos p) $ Op_SlashE -alex_action_115 = \p _ -> L (pos p) $ Op_AndE -alex_action_116 = \p _ -> L (pos p) $ Op_OrE -alex_action_117 = \p _ -> L (pos p) $ Op_CaretE -alex_action_118 = \p _ -> L (pos p) $ Op_PercentE -alex_action_119 = \p _ -> L (pos p) $ Op_LShiftE -alex_action_120 = \p _ -> L (pos p) $ Op_RShiftE -alex_action_121 = \p _ -> L (pos p) $ Op_RRShiftE -alex_action_122 = \p _ -> L (pos p) $ Op_AtSign -{-# LINE 1 "templates/GenericTemplate.hs" #-} -{-# LINE 1 "templates/GenericTemplate.hs" #-} -{-# LINE 1 "<built-in>" #-} -{-# LINE 15 "<built-in>" #-} -{-# LINE 1 "/usr/local/Cellar/ghc/8.2.1/lib/ghc-8.2.1/include/ghcversion.h" #-} - - - - - - - - - - - - - - - - -{-# LINE 16 "<built-in>" #-} -{-# LINE 1 "/var/folders/cb/97yq0wgj167gl60_pbxlyc540000gn/T/ghc10915_0/ghc_2.h" #-} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -{-# LINE 17 "<built-in>" #-} -{-# LINE 1 "templates/GenericTemplate.hs" #-} --- ----------------------------------------------------------------------------- --- ALEX TEMPLATE --- --- This code is in the PUBLIC DOMAIN; you may copy it freely and use --- it for any purpose whatsoever. - --- ----------------------------------------------------------------------------- --- INTERNALS and main scanner engine - - -{-# LINE 21 "templates/GenericTemplate.hs" #-} - - -{-# LINE 51 "templates/GenericTemplate.hs" #-} - - -{-# LINE 72 "templates/GenericTemplate.hs" #-} -alexIndexInt16OffAddr arr off = arr ! off - - - -{-# LINE 93 "templates/GenericTemplate.hs" #-} -alexIndexInt32OffAddr arr off = arr ! off - - - -{-# LINE 105 "templates/GenericTemplate.hs" #-} -quickIndex arr i = arr ! i - - --- ----------------------------------------------------------------------------- --- Main lexing routines - -data AlexReturn a - = AlexEOF - | AlexError !AlexInput - | AlexSkip !AlexInput !Int - | AlexToken !AlexInput !Int a - --- alexScan :: AlexInput -> StartCode -> AlexReturn a -alexScan input (sc) - = alexScanUser undefined input (sc) - -alexScanUser user input (sc) - = case alex_scan_tkn user input (0) input sc AlexNone of - (AlexNone, input') -> - case alexGetByte input of - Nothing -> - - - - AlexEOF - Just _ -> - - - - AlexError input' - - (AlexLastSkip input'' len, _) -> - - - - AlexSkip input'' len - - (AlexLastAcc k input''' len, _) -> - - - - AlexToken input''' len (alex_actions ! k) - - --- Push the input through the DFA, remembering the most recent accepting --- state it encountered. - -alex_scan_tkn user orig_input len input s last_acc = - input `seq` -- strict in the input - let - new_acc = (check_accs (alex_accept `quickIndex` (s))) - in - new_acc `seq` - case alexGetByte input of - Nothing -> (new_acc, input) - Just (c, new_input) -> - - - - case fromIntegral c of { (ord_c) -> - let - base = alexIndexInt32OffAddr alex_base s - offset = (base + ord_c) - check = alexIndexInt16OffAddr alex_check offset - - new_s = if (offset >= (0)) && (check == ord_c) - then alexIndexInt16OffAddr alex_table offset - else alexIndexInt16OffAddr alex_deflt s - in - case new_s of - (-1) -> (new_acc, input) - -- on an error, we want to keep the input *before* the - -- character that failed, not after. - _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len + (1)) else len) - -- note that the length is increased ONLY if this is the 1st byte in a char encoding) - new_input new_s new_acc - } - where - check_accs (AlexAccNone) = last_acc - check_accs (AlexAcc a ) = AlexLastAcc a input (len) - check_accs (AlexAccSkip) = AlexLastSkip input (len) - - check_accs (AlexAccPred a predx rest) - | predx user orig_input (len) input - = AlexLastAcc a input (len) - | otherwise - = check_accs rest - check_accs (AlexAccSkipPred predx rest) - | predx user orig_input (len) input - = AlexLastSkip input (len) - | otherwise - = check_accs rest - - -data AlexLastAcc - = AlexNone - | AlexLastAcc !Int !AlexInput !Int - | AlexLastSkip !AlexInput !Int - -data AlexAcc user - = AlexAccNone - | AlexAcc Int - | AlexAccSkip - - | AlexAccPred Int (AlexAccPred user) (AlexAcc user) - | AlexAccSkipPred (AlexAccPred user) (AlexAcc user) - -type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool - --- ----------------------------------------------------------------------------- --- Predicates on a rule - -alexAndPred p1 p2 user in1 len in2 - = p1 user in1 len in2 && p2 user in1 len in2 - ---alexPrevCharIsPred :: Char -> AlexAccPred _ -alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input - -alexPrevCharMatches f _ input _ _ = f (alexInputPrevChar input) - ---alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ -alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input - ---alexRightContext :: Int -> AlexAccPred _ -alexRightContext (sc) user _ _ input = - case alex_scan_tkn user input (0) input sc AlexNone of - (AlexNone, _) -> False - _ -> True - -- TODO: there's no need to find the longest - -- match when checking the right context, just - -- the first match will do. - diff --git a/src/Language/Java/Lexer.x b/src/Language/Java/Lexer.x deleted file mode 100644 index b48ecaf4867604bea6cc924277105b746f1df8d0..0000000000000000000000000000000000000000 --- a/src/Language/Java/Lexer.x +++ /dev/null @@ -1,375 +0,0 @@ -{ -{-# LANGUAGE BangPatterns #-} -{-# OPTIONS_GHC -fno-warn-tabs -fno-warn-unused-binds #-} -module Language.Java.Lexer (L(..), Token(..), lexer) where - -import Numeric -import Data.Char -} - -%wrapper "posn" - -$digit = [0-9] -$nonzero = [1-9] -$octdig = [0-7] -$hexdig = [0-9A-Fa-f] - -@lineterm = [\n\r] | \r\n - --- TODO: this doesn't notice a comment that ends "**/" -@tradcomm = "/*" ( ~[\*] | \*+ (~[\/\*] | \n) | \n )* \*+ "/" -@linecomm = "//" .* @lineterm -@comm = @tradcomm | @linecomm - -$javaLetter = [a-zA-Z\_\$] -$javaDigit = $digit -$javaLetterOrDigit = [a-zA-Z0-9\_\$] - -@octEscape = [0123]? $octdig{1,2} -@hexEscape = u $hexdig{4} -@charEscape = \\ (@octEscape | @hexEscape | [btnfr\"\'\\]) - -@expsuffix = [\+\-]? $digit+ -@exponent = [eE] @expsuffix -@pexponent = [pP] @expsuffix - -tokens :- - - $white+ ; - @comm ; - - "@interface" { \p _ -> L (pos p) $ KW_AnnInterface } - abstract { \p _ -> L (pos p) $ KW_Abstract } - assert { \p _ -> L (pos p) $ KW_Assert } - boolean { \p _ -> L (pos p) $ KW_Boolean } - break { \p _ -> L (pos p) $ KW_Break } - byte { \p _ -> L (pos p) $ KW_Byte } - case { \p _ -> L (pos p) $ KW_Case } - catch { \p _ -> L (pos p) $ KW_Catch } - char { \p _ -> L (pos p) $ KW_Char } - class { \p _ -> L (pos p) $ KW_Class } - const { \p _ -> L (pos p) $ KW_Const } - continue { \p _ -> L (pos p) $ KW_Continue } - default { \p _ -> L (pos p) $ KW_Default } - do { \p _ -> L (pos p) $ KW_Do } - double { \p _ -> L (pos p) $ KW_Double } - else { \p _ -> L (pos p) $ KW_Else } - enum { \p _ -> L (pos p) $ KW_Enum } - extends { \p _ -> L (pos p) $ KW_Extends } - final { \p _ -> L (pos p) $ KW_Final } - finally { \p _ -> L (pos p) $ KW_Finally } - float { \p _ -> L (pos p) $ KW_Float } - for { \p _ -> L (pos p) $ KW_For } - goto { \p _ -> L (pos p) $ KW_Goto } - if { \p _ -> L (pos p) $ KW_If } - implements { \p _ -> L (pos p) $ KW_Implements } - import { \p _ -> L (pos p) $ KW_Import } - instanceof { \p _ -> L (pos p) $ KW_Instanceof } - int { \p _ -> L (pos p) $ KW_Int } - interface { \p _ -> L (pos p) $ KW_Interface } - long { \p _ -> L (pos p) $ KW_Long } - native { \p _ -> L (pos p) $ KW_Native } - new { \p _ -> L (pos p) $ KW_New } - package { \p _ -> L (pos p) $ KW_Package } - private { \p _ -> L (pos p) $ KW_Private } - protected { \p _ -> L (pos p) $ KW_Protected } - public { \p _ -> L (pos p) $ KW_Public } - return { \p _ -> L (pos p) $ KW_Return } - short { \p _ -> L (pos p) $ KW_Short } - static { \p _ -> L (pos p) $ KW_Static } - strictfp { \p _ -> L (pos p) $ KW_Strictfp } - super { \p _ -> L (pos p) $ KW_Super } - switch { \p _ -> L (pos p) $ KW_Switch } - synchronized { \p _ -> L (pos p) $ KW_Synchronized } - this { \p _ -> L (pos p) $ KW_This } - throw { \p _ -> L (pos p) $ KW_Throw } - throws { \p _ -> L (pos p) $ KW_Throws } - transient { \p _ -> L (pos p) $ KW_Transient } - try { \p _ -> L (pos p) $ KW_Try } - void { \p _ -> L (pos p) $ KW_Void } - volatile { \p _ -> L (pos p) $ KW_Volatile } - while { \p _ -> L (pos p) $ KW_While } - - 0 { \p _ -> L (pos p) $ IntTok 0 } - 0 [lL] { \p _ -> L (pos p) $ LongTok 0 } - 0 $digit+ { \p s -> L (pos p) $ IntTok (pickyReadOct s) } - 0 $digit+ [lL] { \p s -> L (pos p) $ LongTok (pickyReadOct (init s)) } - $nonzero $digit* { \p s -> L (pos p) $ IntTok (read s) } - $nonzero $digit* [lL] { \p s -> L (pos p) $ LongTok (read (init s)) } - 0 [xX] $hexdig+ { \p s -> L (pos p) $ IntTok (fst . head $ readHex (drop 2 s)) } - 0 [xX] $hexdig+ [lL] { \p s -> L (pos p) $ LongTok (fst . head $ readHex (init (drop 2 s))) } - - $digit+ \. $digit* @exponent? [dD]? { \p s -> L (pos p) $ DoubleTok (fst . head $ readFloat $ '0':s) } - \. $digit+ @exponent? [dD]? { \p s -> L (pos p) $ DoubleTok (fst . head $ readFloat $ '0':s) } - $digit+ \. $digit* @exponent? [fF] { \p s -> L (pos p) $ FloatTok (fst . head $ readFloat $ '0':s) } - \. $digit+ @exponent? [fF] { \p s -> L (pos p) $ FloatTok (fst . head $ readFloat $ '0':s) } - $digit+ @exponent { \p s -> L (pos p) $ DoubleTok (fst . head $ readFloat s) } - $digit+ @exponent? [dD] { \p s -> L (pos p) $ DoubleTok (fst . head $ readFloat s) } - $digit+ @exponent? [fF] { \p s -> L (pos p) $ FloatTok (fst . head $ readFloat s) } - 0 [xX] $hexdig* \.? $hexdig* @pexponent [dD]? { \p s -> L (pos p) $ DoubleTok (readHexExp (drop 2 s)) } - 0 [xX] $hexdig* \.? $hexdig* @pexponent [fF] { \p s -> L (pos p) $ FloatTok (readHexExp (drop 2 s)) } - - true { \p _ -> L (pos p) $ BoolTok True } - false { \p _ -> L (pos p) $ BoolTok False } - - ' (@charEscape | ~[\\\']) ' { \p s -> L (pos p) $ CharTok (readCharTok s) } - - \" (@charEscape | ~[\\\"])* \" { \p s -> L (pos p) $ StringTok (readStringTok s) } - - null {\p _ -> L (pos p) $ NullTok } - - $javaLetter $javaLetterOrDigit* { \p s -> L (pos p) $ IdentTok s } - - \( { \p _ -> L (pos p) $ OpenParen } - \) { \p _ -> L (pos p) $ CloseParen } - \[ { \p _ -> L (pos p) $ OpenSquare } - \] { \p _ -> L (pos p) $ CloseSquare } - \{ { \p _ -> L (pos p) $ OpenCurly } - \} { \p _ -> L (pos p) $ CloseCurly } - \; { \p _ -> L (pos p) $ SemiColon } - \, { \p _ -> L (pos p) $ Comma } - \. { \p _ -> L (pos p) $ Period } - "->" { \p _ -> L (pos p) $ LambdaArrow } - "::" { \p _ -> L (pos p) $ MethodRefSep } - - "=" { \p _ -> L (pos p) $ Op_Equal } - ">" { \p _ -> L (pos p) $ Op_GThan } - "<" { \p _ -> L (pos p) $ Op_LThan } - "!" { \p _ -> L (pos p) $ Op_Bang } - "~" { \p _ -> L (pos p) $ Op_Tilde } - "?" { \p _ -> L (pos p) $ Op_Query } - ":" { \p _ -> L (pos p) $ Op_Colon } - "==" { \p _ -> L (pos p) $ Op_Equals } - "<=" { \p _ -> L (pos p) $ Op_LThanE } - ">=" { \p _ -> L (pos p) $ Op_GThanE } - "!=" { \p _ -> L (pos p) $ Op_BangE } - "&&" { \p _ -> L (pos p) $ Op_AAnd } - "||" { \p _ -> L (pos p) $ Op_OOr } - "++" { \p _ -> L (pos p) $ Op_PPlus } - "--" { \p _ -> L (pos p) $ Op_MMinus } - "+" { \p _ -> L (pos p) $ Op_Plus } - "-" { \p _ -> L (pos p) $ Op_Minus } - "*" { \p _ -> L (pos p) $ Op_Star } - "/" { \p _ -> L (pos p) $ Op_Slash } - "&" { \p _ -> L (pos p) $ Op_And } - "|" { \p _ -> L (pos p) $ Op_Or } - "^" { \p _ -> L (pos p) $ Op_Caret } - "%" { \p _ -> L (pos p) $ Op_Percent } - "<<" { \p _ -> L (pos p) $ Op_LShift } - "+=" { \p _ -> L (pos p) $ Op_PlusE } - "-=" { \p _ -> L (pos p) $ Op_MinusE } - "*=" { \p _ -> L (pos p) $ Op_StarE } - "/=" { \p _ -> L (pos p) $ Op_SlashE } - "&=" { \p _ -> L (pos p) $ Op_AndE } - "|=" { \p _ -> L (pos p) $ Op_OrE } - "^=" { \p _ -> L (pos p) $ Op_CaretE } - "%=" { \p _ -> L (pos p) $ Op_PercentE } - "<<=" { \p _ -> L (pos p) $ Op_LShiftE } - ">>=" { \p _ -> L (pos p) $ Op_RShiftE } - ">>>=" { \p _ -> L (pos p) $ Op_RRShiftE } - "@" { \p _ -> L (pos p) $ Op_AtSign } - - -{ - -pickyReadOct :: String -> Integer -pickyReadOct s = - if not $ null remStr - then lexicalError $ "Non-octal digit '" ++ take 1 remStr ++ "' in \"" ++ s ++ "\"." - else n - where (n,remStr) = head $ readOct s - -readHexExp :: (Floating a, Eq a) => String -> a -readHexExp initial = - let (m, suf) = head $ readHex initial - (e, _) = case suf of - p:s | toLower p == 'p' -> head $ readHex s - _ -> (0, "") - in m ** e - -readCharTok :: String -> Char -readCharTok s = head . convChar . dropQuotes $ s -readStringTok :: String -> String -readStringTok = convChar . dropQuotes - -dropQuotes :: String -> String -dropQuotes s = take (length s - 2) (tail s) - --- Converts a sequence of (unquoted) Java character literals, including --- escapes, into the sequence of corresponding Chars. The calls to --- 'lexicalError' double-check that this function is consistent with --- the lexer rules for character and string literals. This function --- could be expressed as another Alex lexer, but it's simple enough --- to implement by hand. -convChar :: String -> String -convChar ('\\':'u':s@(d1:d2:d3:d4:s')) = - -- TODO: this is the wrong place for handling unicode escapes - -- according to the Java Language Specification. Unicode escapes can - -- appear anywhere in the source text, and are best processed - -- before lexing. - if all isHexDigit [d1,d2,d3,d4] - then toEnum (read ['0','x',d1,d2,d3,d4]):convChar s' - else lexicalError $ "bad unicode escape \"\\u" ++ take 4 s ++ "\"" -convChar ('\\':'u':s) = - lexicalError $ "bad unicode escape \"\\u" ++ take 4 s ++ "\"" -convChar ('\\':c:s) = - if isOctDigit c - then convOctal maxRemainingOctals - else (case c of - 'b' -> '\b' - 'f' -> '\f' - 'n' -> '\n' - 'r' -> '\r' - 't' -> '\t' - '\'' -> '\'' - '\\' -> '\\' - '"' -> '"' - _ -> badEscape):convChar s - where maxRemainingOctals = - if c <= '3' then 2 else 1 - convOctal n = - let octals = takeWhile isOctDigit $ take n s - noctals = length octals - toChar = toEnum . fst . head . readOct - in toChar (c:octals):convChar (drop noctals s) - badEscape = lexicalError $ "bad escape \"\\" ++ c:"\"" -convChar ("\\") = - lexicalError "bad escape \"\\\"" -convChar (x:s) = x:convChar s -convChar "" = "" - -lexicalError :: String -> a -lexicalError = error . ("lexical error: " ++) - -data L a = L Pos a - deriving (Show, Eq) - --- (line, column) -type Pos = (Int, Int) - -pos :: AlexPosn -> Pos -pos (AlexPn _ l c) = (l,c) - -data Token - -- Keywords - = KW_Abstract - | KW_AnnInterface - | KW_Assert - | KW_Boolean - | KW_Break - | KW_Byte - | KW_Case - | KW_Catch - | KW_Char - | KW_Class - | KW_Const - | KW_Continue - | KW_Default - | KW_Do - | KW_Double - | KW_Else - | KW_Enum - | KW_Extends - | KW_Final - | KW_Finally - | KW_Float - | KW_For - | KW_Goto - | KW_If - | KW_Implements - | KW_Import - | KW_Instanceof - | KW_Int - | KW_Interface - | KW_Long - | KW_Native - | KW_New - | KW_Package - | KW_Private - | KW_Protected - | KW_Public - | KW_Return - | KW_Short - | KW_Static - | KW_Strictfp - | KW_Super - | KW_Switch - | KW_Synchronized - | KW_This - | KW_Throw - | KW_Throws - | KW_Transient - | KW_Try - | KW_Void - | KW_Volatile - | KW_While - - -- Separators - | OpenParen - | CloseParen - | OpenSquare - | CloseSquare - | OpenCurly - | CloseCurly - | SemiColon - | Comma - | Period - | LambdaArrow - | MethodRefSep - - -- Literals - | IntTok Integer - | LongTok Integer - | DoubleTok Double - | FloatTok Double - | CharTok Char - | StringTok String - | BoolTok Bool - | NullTok - - -- Identifiers - | IdentTok String - - -- Operators - | Op_Equal - | Op_GThan - | Op_LThan - | Op_Bang - | Op_Tilde - | Op_Query - | Op_Colon - | Op_Equals - | Op_LThanE - | Op_GThanE - | Op_BangE - | Op_AAnd - | Op_OOr - | Op_PPlus - | Op_MMinus - | Op_Plus - | Op_Minus - | Op_Star - | Op_Slash - | Op_And - | Op_Or - | Op_Caret - | Op_Percent - | Op_LShift - | Op_PlusE - | Op_MinusE - | Op_StarE - | Op_SlashE - | Op_AndE - | Op_OrE - | Op_CaretE - | Op_PercentE - | Op_LShiftE - | Op_RShiftE - | Op_RRShiftE - | Op_AtSign - deriving (Show, Eq) - -lexer :: String -> [L Token] -lexer = alexScanTokens - -} diff --git a/src/Language/Java/OldGLRParser.ly b/src/Language/Java/OldGLRParser.ly deleted file mode 100644 index d1b0ddb204f0e0e1041ed7b6530134437c0e8688..0000000000000000000000000000000000000000 --- a/src/Language/Java/OldGLRParser.ly +++ /dev/null @@ -1,898 +0,0 @@ -> { -> module Language.Java.Parser where -> -> import Language.Java.Lexer -> import Language.Java.Syntax - import Language.Java.ParseUtils -> -> import Data.Maybe (catMaybes) -> } - -> %tokentype { Token } -> %token -> 'abstract' { KW_Abstract } -> 'assert' { KW_Assert } -> 'boolean' { KW_Boolean } -> 'break' { KW_Break } -> 'byte' { KW_Byte } -> 'case' { KW_Case } -> 'catch' { KW_Catch } -> 'char' { KW_Char } -> 'class' { KW_Class } -> 'const' { KW_Const } -> 'continue' { KW_Continue } -> 'default' { KW_Default } -> 'do' { KW_Do } -> 'double' { KW_Double } -> 'else' { KW_Else } -> 'enum' { KW_Enum } -> 'extends' { KW_Extends } -> 'final' { KW_Final } -> 'finally' { KW_Finally } -> 'float' { KW_Float } -> 'for' { KW_For } -> 'goto' { KW_Goto } -> 'if' { KW_If } -> 'implements' { KW_Implements } -> 'import' { KW_Import } -> 'instanceof' { KW_Instanceof } -> 'int' { KW_Int } -> 'interface' { KW_Interface } -> 'long' { KW_Long } -> 'native' { KW_Native } -> 'new' { KW_New } -> 'package' { KW_Package } -> 'private' { KW_Private } -> 'protected' { KW_Protected } -> 'public' { KW_Public } -> 'return' { KW_Return } -> 'short' { KW_Short } -> 'static' { KW_Static } -> 'strictfp' { KW_Strictfp } -> 'super' { KW_Super } -> 'switch' { KW_Switch } -> 'synchronized' { KW_Synchronized } -> 'this' { KW_This } -> 'throw' { KW_Throw } -> 'throws' { KW_Throws } -> 'transient' { KW_Transient } -> 'try' { KW_Try } -> 'void' { KW_Void } -> 'volatile' { KW_Volatile } -> 'while' { KW_While } - -> '(' { OpenParen } -> ')' { CloseParen } -> '[' { OpenSquare } -> ']' { CloseSquare } -> '{' { OpenCurly } -> '}' { CloseCurly } -> ';' { SemiColon } -> ',' { Comma } -> '.' { Period } - -> INT { IntTok $$ } -> LONG { LongTok $$ } -> DOUBLE { DoubleTok $$ } -> FLOAT { FloatTok $$ } -> CHAR { CharTok $$ } -> STRING { StringTok $$ } -> BOOLEAN { BoolTok $$ } -> NULL { NullTok } - -> IDENT { IdentTok $$ } - -> '=' { Op_Equal } -> '>' { Op_GThan } -> '<' { Op_LThan } -> '!' { Op_Bang } -> '~' { Op_Tilde } -> '?' { Op_Query } -> ':' { Op_Colon } -> '==' { Op_Equals } -> '<=' { Op_LThanE } -> '>=' { Op_GThanE } -> '!=' { Op_BangE } -> '&&' { Op_AAnd } -> '||' { Op_OOr } -> '++' { Op_PPlus } -> '--' { Op_MMinus } -> '+' { Op_Plus } -> '-' { Op_Minus } -> '*' { Op_Star } -> '/' { Op_Slash } -> '&' { Op_And } -> '|' { Op_Or } -> '^' { Op_Caret } -> '%' { Op_Percent } -> '<<' { Op_LShift } -> '>>' { Op_RShift } -> '>>>' { Op_RRShift } -> '+=' { Op_PlusE } -> '-=' { Op_MinusE } -> '*=' { Op_StarE } -> '/=' { Op_SlashE } -> '&=' { Op_AndE } -> '|=' { Op_OrE } -> '^=' { Op_CaretE } -> '%=' { Op_PercentE } -> '<<=' { Op_LShiftE } -> '>>=' { Op_RShiftE } -> '>>>=' { Op_RRShiftE } - - -> %name mparse compilationUnit -> %% - ----------------------------------------------------------------------------- --- Packages and compilation units - -> compilationUnit :: { CompilationUnit } -> : optPackageDecl listImportDecl listTypeDecl -> { CompilationUnit $1 $2 (catMaybes $3) } - -> optPackageDecl :: { Maybe PackageDecl } -> : packageDecl { Just $1 } -> | { Nothing } - -> packageDecl :: { PackageDecl } -> : 'package' name ';' { PackageDecl $2 } - -> listImportDecl :: { [ImportDecl] } -> : importDecl listImportDecl { $1 : $2 } -> | { [] } - -> importDecl :: { ImportDecl } -> : 'import' boptStatic name boptDotStar ';' -> { ImportDecl $2 $3 $4 } - -> boptStatic :: { Bool } -> : 'static' { True } -> | { False } - -> boptDotStar :: { Bool } -> : dotStar { True } -> | { False } - -> dotStar :: { () } -> : '.' '*' { () } - -> listTypeDecl :: { [TypeDecl] } -> : typeDecl listTypeDecl { $1 : $2 } -> | { [] } - -> typeDecl :: { Maybe TypeDecl } -> : classOrInterfaceDecl { Just $1 } -> | ';' { Nothing } - ----------------------------------------------------------------------------- --- Declarations - --- Class declarations - -> classOrInterfaceDecl :: { TypeDecl } -> : listModifier classDecl { ClassTypeDecl ($2 $1) } --- TODO: modifier = public private protected abstract static strictfp final -> | listModifier interfaceDecl { InterfaceTypeDecl ($2 $1) } --- TODO: modifier = public private protected abstract static strictfp - -> classDecl :: { Mod ClassDecl } -> : normalClassDecl { $1 } -> | enumClassDecl { $1 } - -> normalClassDecl :: { Mod ClassDecl } -> : 'class' ident loptTypeParams optExtends loptImplements classBody -> { \ms -> ClassDecl ms $2 $3 ((fmap head) $4) $5 $6 } --- TODO: check that the extends clause only contains one type. - -> enumClassDecl :: { Mod ClassDecl } -> : 'enum' ident loptImplements enumBody -> { \ms -> EnumDecl ms $2 $3 $4 } - -> optExtends :: { Maybe [RefType] } -> : extends { Just $1 } -> | { Nothing } - -> loptExtends :: { [RefType] } -> : optExtends { maybe [] id $1 } - -> extends :: { [RefType] } -> : 'extends' refTypeList { $2 } - -> loptImplements :: { [RefType] } -> : implements { $1 } -> | { [] } - -> implements :: { [RefType] } -> : 'implements' refTypeList { $2 } - -> optClassBody :: { Maybe ClassBody } -> : classBody { Just $1 } -> | { Nothing } - -> classBody :: { ClassBody } -> : '{' classBodyDecls '}' { ClassBody $2 } - -> enumBody :: { EnumBody } -> : '{' seplistEnumConstComma optComma loptEnumBodyDecls '}' -> { EnumBody $2 $4 } - -> optComma :: { () } -> : ',' { () } -> | { () } - -> loptEnumBodyDecls :: { [Decl] } -> : enumBodyDecls { $1 } -> | { [] } - -> enumBodyDecls :: { [Decl] } -> : ';' classBodyDecls { $2 } - -> seplistEnumConstComma :: { [EnumConstant] } -> : seplist1EnumConstComma { $1 } -> | { [] } - -> seplist1EnumConstComma :: { [EnumConstant] } -> : enumConst ',' seplist1EnumConstComma { $1 : $3 } -> | enumConst { [$1] } - -> enumConst :: { EnumConstant } -> : ident loptArgs optClassBody -> { EnumConstant $1 $2 $3 } - -> classBodyDecls :: { [Decl] } -> : listClassBodyDecl { $1 } - --- Interface declarations - -> interfaceDecl :: { Mod InterfaceDecl } -> : 'interface' ident loptTypeParams loptExtends interfaceBody -> { \ms -> InterfaceDecl ms $2 $3 $4 $5 } - -> interfaceBody :: { InterfaceBody } -> : '{' listInterfaceBodyDecl '}' { InterfaceBody (catMaybes $2) } - --- Declarations - -> listClassBodyDecl :: { [Decl] } -> : classBodyDecl listClassBodyDecl { $1 : $2 } -> | { [] } - -> classBodyDecl :: { Decl } -> : listModifier memberDecl { MemberDecl ($2 $1) } --- TODO: Check that the modifiers on the memberDecl are valid -> | boptStatic block { InitDecl $1 $2 } - -> memberDecl :: { Mod MemberDecl } -> : fieldDecl { $1 } -> | methodDecl { $1 } -> | constrDecl { $1 } -> | classDecl { MemberClassDecl . $1 } -> | interfaceDecl { MemberInterfaceDecl . $1 } - -> fieldDecl :: { Mod MemberDecl } -> : type varDecls { \ms -> FieldDecl ms $1 $2 } - -> methodDecl :: { Mod MemberDecl } -> : loptTypeParams resultType ident formalParams loptThrows methodBody -> { \ms -> MethodDecl ms $1 $2 $3 $4 $5 $6 } - -> methodBody :: { MethodBody } -> : ';' { MethodBody Nothing } -> | block { MethodBody (Just $1) } - -> constrDecl :: { Mod MemberDecl } -> : loptTypeParams ident formalParams loptThrows constrBody -> { \ms -> ConstructorDecl ms $1 $2 $3 $4 $5 } - -> constrBody :: { ConstructorBody } -> : '{' optExplConstrInv listBlockStmt '}' -> { ConstructorBody $2 $3 } - -> optExplConstrInv :: { Maybe ExplConstrInv } -> : explConstrInv { Just $1 } -> | { Nothing } - -> explConstrInv :: { ExplConstrInv } -> : loptRefTypeArgs 'this' args ';' { ThisInvoke $1 $3 } -> | loptRefTypeArgs 'super' args ';' { SuperInvoke $1 $3 } -> | primary '.' loptRefTypeArgs 'super' args ';' { PrimarySuperInvoke $1 $3 $5 } - -> listInterfaceBodyDecl :: { [Maybe MemberDecl] } -> : interfaceBodyDecl listInterfaceBodyDecl { $1 : $2 } -> | { [] } - --- TODO: This should be parsed like class bodies, and post-checked. --- That would give far better error messages. -> interfaceBodyDecl :: { Maybe MemberDecl } -> : listModifier interfaceMemberDecl { Just ($2 $1) } -> | ';' { Nothing } - -> interfaceMemberDecl :: { Mod MemberDecl } -> : fieldDecl { $1 } -> | absMethodDecl { $1 } -> | classDecl { MemberClassDecl . $1 } -> | interfaceDecl { MemberInterfaceDecl . $1 } - -> absMethodDecl :: { Mod MemberDecl } -> : loptTypeParams resultType ident formalParams loptThrows ';' -> { \ms -> MethodDecl ms $1 $2 $3 $4 $5 (MethodBody Nothing) } - -> loptThrows :: { [RefType] } -> : throws { $1 } -> | { [] } - -> throws :: { [RefType] } -> : 'throws' seplist1RefTypeComma { $2 } - - --- Formal parameters - -> formalParams :: { [FormalParam] } -> : '(' formalParamsAux ')' { $2 } - -> formalParamsAux :: { [FormalParam] } -> : {- empty -} { [] } -> | lastFormalParam { [$1] } -> | seplist1FormalParamComma ',' lastFormalParam { $1 ++ [$3] } - -> lastFormalParam :: { FormalParam } -> : listModifier type optEllipsis varDeclId -> { FormalParam $1 $2 $3 $4 } -- TODO: modifier = final - -> seplist1FormalParamComma :: { [FormalParam] } -> : formalParam ',' seplist1FormalParamComma { $1 : $3 } -> | formalParam { [$1] } - -> formalParam :: { FormalParam } -> : listModifier type varDeclId -> { FormalParam $1 $2 False $3 } -- TODO: modifier = final - -> optEllipsis :: { Bool } -> : '.' '.' '.' { True } -> | {- empty -} { False } - - --- Modifiers - -> listModifier :: { [Modifier] } -> : modifier listModifier { $1 : $2 } -> | { [] } - -> modifier :: { Modifier } -> : 'public' { Public } -> | 'protected' { Protected } -> | 'private' { Private } -> | 'abstract' { Abstract } -> | 'static' { Static } -> | 'strictfp' { StrictFP } -> | 'final' { Final } -> | 'native' { Native } -> | 'transient' { Transient } -> | 'volatile' { Volatile } - ----------------------------------------------------------------------------- --- Variable declarations - -> varDecls :: { [VarDecl] } -> : seplist1VarDeclComma { $1 } - -> seplist1VarDeclComma :: { [VarDecl] } -> : varDecl ',' seplist1VarDeclComma { $1 : $3 } -> | varDecl { [$1] } - -> varDecl :: { VarDecl } -> : varDeclId optVarInit { VarDecl $1 $2 } - -> varDeclId :: { VarDeclId } -> : ident listArrBrackets -> { foldr (\_ f -> VarDeclArray . f) VarId $2 $1 } - -> listArrBrackets :: { [()] } -> : arrBrackets listArrBrackets { $1 : $2 } -> | { [] } - -> arrBrackets :: { () } -> : '[' ']' { () } - -> localVarDecl :: { ([Modifier], Type, [VarDecl]) } -> : listModifier type varDecls { ($1,$2,$3) } - -- TODO: modifier = public protected private static final transient volatile - -> optVarInit :: { Maybe VarInit } -> : varInit { Just $1 } -> | { Nothing } - -> seplistVarInitComma :: { [VarInit] } -> : seplist1VarInitComma { $1 } -> | { [] } - -> seplist1VarInitComma :: { [VarInit] } -> : varInit ',' seplist1VarInitComma { $1 : $3 } -> | varInit { [$1] } - -> varInit :: { VarInit } -> : '=' exp { InitExp $2 } -> | '=' arrayInit { InitArray $2 } - -> arrayInit :: { ArrayInit } -> : '{' seplistVarInitComma optComma '}' { ArrayInit $2 } - ----------------------------------------------------------------------------- --- Statements - -> block :: { Block } -> : '{' listBlockStmt '}' { Block $2 } - -> listBlockStmt :: { [BlockStmt] } -> : blockStmt listBlockStmt { $1 : $2 } -> | { [] } - -> blockStmt :: { BlockStmt } -> : listModifier classDecl { LocalClass ($2 $1) } -> | localVarDecl ';' { let (m,t,vds) = $1 in LocalVars m t vds } -> | stmt { BlockStmt $1 } - -> stmt :: { Stmt } -> : ident ':' stmt { Labeled $1 $3 } -> | 'if' '(' exp ')' stmt { IfThen $3 $5 } -> | 'if' '(' exp ')' stmtNSI 'else' stmt { IfThenElse $3 $5 $7 } -> | 'while' '(' exp ')' stmt { While $3 $5 } -> | 'for' '(' optForInit ';' optExp ';' optForUp ')' stmt -> { BasicFor $3 $5 $7 $9 } -> | 'for' '(' listModifier type ident ':' exp ')' stmt -> { EnhancedFor $3 $4 $5 $7 $9 } -> | stmtNoTrail { $1 } - -> stmtNoTrail :: { Stmt } -> : block { StmtBlock $1 } -> | ';' { Empty } -> | stmtExp ';' { ExpStmt $1 } -> | 'assert' exp optAssertExp2 ';' { Assert $2 $3 } -> | 'switch' '(' exp ')' switchBlock { Switch $3 $5 } -> | 'do' stmt 'while' '(' exp ')' ';' { Do $2 $5 } -> | 'break' optIdent ';' { Break $2 } -> | 'continue' optIdent ';' { Continue $2 } -> | 'return' optExp ';' { Return $2 } -> | 'synchronized' '(' exp ')' block { Synchronized $3 $5 } -> | 'throw' exp ';' { Throw $2 } -> | 'try' block catches { Try $2 $3 Nothing } -> | 'try' block loptCatches 'finally' block { Try $2 $3 (Just $5) } - -> stmtNSI :: { Stmt } -> : stmtNoTrail { $1 } -> | ident ':' stmtNSI { Labeled $1 $3 } -> | 'if' '(' exp ')' stmtNSI 'else' stmtNSI { IfThenElse $3 $5 $7 } -> | 'while' '(' exp ')' stmtNSI { While $3 $5 } -> | 'for' '(' optForInit ';' optExp ';' optForUp ')' stmtNSI -> { BasicFor $3 $5 $7 $9 } -> | 'for' '(' listModifier type ident ':' exp ')' stmtNSI -> { EnhancedFor $3 $4 $5 $7 $9 } - -> optAssertExp2 :: { Maybe Exp } -> : assertExp2 { Just $1 } -> | { Nothing } - -> assertExp2 :: { Exp } -> : ':' exp { $2 } - --- Switches - -> switchBlock :: { [SwitchBlock] } -> : '{' listSwitchStmt '}' { $2 } - -> listSwitchStmt :: { [SwitchBlock] } -> : switchStmt listSwitchStmt { $1 : $2 } -> | { [] } - -> switchStmt :: { SwitchBlock } -> : switchLabel listBlockStmt { SwitchBlock $1 $2 } - -> switchLabel :: { SwitchLabel } -> : 'case' exp ':' { SwitchCase $2 } -> | 'default' ':' { Default } - --- For loops - -> optForInit :: { Maybe ForInit } -> : forInit { Just $1 } -> | { Nothing } - -> forInit :: { ForInit } -> : localVarDecl { let (m,t,vds) = $1 in ForLocalVars m t vds } -> | seplist1StmtExpComma { ForInitExps $1 } - -> optForUp :: { Maybe [Exp] } -> : forUp { Just $1 } -> | { Nothing } - -> forUp :: { [Exp] } -> : seplist1StmtExpComma { $1 } - --- Try-catch clauses - -> loptCatches :: { [Catch] } -> : catches { $1 } -> | { [] } - -> catches :: { [Catch] } -> : list1Catch { $1 } - -> list1Catch :: { [Catch] } -> : catch listCatch { $1 : $2 } -> | catch { [$1] } - -> catch :: { Catch } -> : 'catch' '(' formalParam ')' block { Catch $3 $5 } - ----------------------------------------------------------------------------- --- Expressions - -> seplist1StmtExpComma :: { [Exp] } -> : stmtExp ',' seplist1StmtExpComma { $1 : $3 } -> | stmtExp { [$1] } - -> stmtExp :: { Exp } -> : postIncDec { $1 } -> | preIncDec { $1 } -> | assignment { $1 } -> | methodInvocation { MethodInv $1 } -> | instanceCreation { $1 } - -> postIncDec :: { Exp } -> : postfixExp postfixOp { $2 $1 } - -> preIncDec :: { Exp } -> : preIncDecOp unaryExp { $1 $2 } - -> assignment :: { Exp } -> : lhs assignOp assignExp { Assign $1 $2 $3 } - -> lhs :: { Lhs } -> : name { NameLhs $1 } -> | fieldAccess { FieldLhs $1 } -> | arrayAccess { ArrayLhs (fst $1) (snd $1) } - -> optExp :: { Maybe Exp } -> : exp { Just $1 } -> | { Nothing } - -> seplistExpComma :: { [Exp] } -> : seplist1ExpComma { $1 } -> | { [] } - -> seplist1ExpComma :: { [Exp] } -> : exp ',' seplist1ExpComma { $1 : $3 } -> | exp { [$1] } - -> exp :: { Exp } -> : assignExp { $1 } - -> assignExp :: { Exp } -> : assignment { $1 } -> | condExp { $1 } - -> condExp :: { Exp } -> : condExp '?' exp ':' condExp { Cond $1 $3 $5 } -> | infixExp { $1 } - --- TODO: Fix precedence -> infixExp :: { Exp } -> : infixExp infixOp unaryExp { BinOp $1 $2 $3 } -> | infixExp 'instanceof' refType { InstanceOf $1 $3 } -> | unaryExp { $1 } - -> unaryExp :: { Exp } -> : preIncDec { $1 } -> | prefixOp unaryExp { $1 $2 } -> | '(' type ')' unaryExp { Cast $2 $4 } -> | postfixExp { $1 } - - -> postfixExp :: { Exp } -> : primary { $1 } -> | name { ExpName $1 } -> | postIncDec { $1 } - - -> primary :: { Exp } -> : primaryNoNewArray { $1 } -> | arrayCreation { $1 } - -> primaryNoNewArray :: { Exp } -> : literal { Lit $1 } -> | resultType '.' 'class' { ClassLit $1 } -> | 'this' { This } -> | name '.' 'this' { ThisClass $1 } -> | '(' exp ')' { Paren $2 } -> | instanceCreation { $1 } -> | fieldAccess { FieldAccess $1 } -> | methodInvocation { MethodInv $1 } -> | arrayAccess { ArrayAccess (fst $1) (snd $1) } - -> instanceCreation :: { Exp } -> : 'new' loptTypeArgs classType args optClassBody -> { InstanceCreation $2 $3 $4 $5 } -> | primary '.' 'new' loptTypeArgs ident args optClassBody -> { QualInstanceCreation $1 $4 $5 $6 $7 } - -> fieldAccess :: { FieldAccess } -> : primary '.' ident { PrimaryFieldAccess $1 $3 } -> | 'super' '.' ident { SuperFieldAccess $3 } -> | name '.' 'super' '.' ident { ClassFieldAccess $1 $5 } - -> methodInvocation :: { MethodInvocation } -> : name args { MethodCall $1 $2 } -> | primary '.' loptRefTypeArgs ident args -> { PrimaryMethodCall $1 $3 $4 $5 } -> | 'super' '.' loptRefTypeArgs ident args -> { SuperMethodCall $3 $4 $5 } -> | name '.' 'super' '.' loptRefTypeArgs ident args -> { ClassMethodCall $1 $5 $6 $7 } -> | name '.' loptRefTypeArgs ident args -> { TypeMethodCall $1 $3 $4 $5 } - -> loptArgs :: { [Exp] } -> : args { $1 } -> | { [] } - -> args :: { [Exp] } -> : '(' seplistExpComma ')' { $2 } - --- Arrays - -> arrayAccess :: { (Exp, Exp) } -> : arrayRef '[' exp ']' { ($1, $3) } - -> arrayRef :: { Exp } -> : name { ExpName $1 } -> | primaryNoNewArray { $1 } - -> arrayCreation :: { Exp } -> : 'new' type list1DimExpr dims { ArrayCreate $2 $3 $4 } -> | 'new' type dims1 arrayInit { ArrayCreateInit $2 $3 $4 } - -> list1DimExpr :: { [Exp] } -> : dimExpr list1DimExpr { $1 : $2 } -> | dimExpr { [$1] } - -> dimExpr :: { Exp } -> : '[' exp ']' { $2 } - -> dims :: { Int } -> : optDims1 { maybe 0 id $1 } - -> optDims1 :: { Maybe Int } -> : dims1 { Just $1 } -> | { Nothing } - -> dims1 :: { Int } -> : list1Dim { length $1 } - -> list1Dim :: { [()] } -> : dim list1Dim { $1 : $2 } -> | dim { [$1] } - -> dim :: { () } -> : '[' ']' { () } - --- Literals - -> literal :: { Literal } -> : INT { Int $1 } -> | LONG { Word $1 } -> | FLOAT { Float $1 } -> | DOUBLE { Double $1 } -> | BOOLEAN { Boolean $1 } -> | CHAR { Char $1 } -> | STRING { String $1 } -> | NULL { Null } - - --- Operators - -> infixOp :: { Op } -> : '*' { Mult } -> | '/' { Div } -> | '%' { Rem } -> | '+' { Add } -> | '-' { Sub } -> | '<<' { LShift } -> | '>>' { RShift } -> | '>>>' { RRShift } -> | '<' { LThan } -> | '>' { GThan } -> | '<=' { LThanE } -> | '>=' { GThanE } -> | '==' { Equal } -> | '!=' { NotEq } -> | '&' { And } -> | '^' { Xor } -> | '|' { Or } -> | '&&' { CAnd } -> | '||' { COr } - -> assignOp :: { AssignOp } -> : '=' { EqualA } -> | '*=' { MultA } -> | '/=' { DivA } -> | '%=' { RemA } -> | '+=' { AddA } -> | '-=' { SubA } -> | '<<=' { LShiftA } -> | '>>=' { RShiftA } -> | '>>>=' { RRShiftA } -> | '&=' { AndA } -> | '^=' { XorA } -> | '|=' { OrA } - -> preIncDecOp :: { Exp -> Exp } -> : '++' { PreIncrement } -> | '--' { PreDecrement } - -> prefixOp :: { Exp -> Exp } -> : '!' { PreNot } -> | '~' { PreBitCompl } -> | '+' { PrePlus } -> | '-' { PreMinus } - -> postfixOp :: { Exp -> Exp } -> : '++' { PostIncrement } -> | '--' { PostDecrement } - ----------------------------------------------------------------------------- --- Types - -> type :: { Type } -> : refType { RefType $1 } -> | primType { PrimType $1 } - -> primType :: { PrimType } -> : 'boolean' { BooleanT } -> | 'byte' { ByteT } -> | 'short' { ShortT } -> | 'int' { IntT } -> | 'long' { LongT } -> | 'char' { CharT } -> | 'float' { FloatT } -> | 'double' { DoubleT } - -> seplist1RefTypeAnd :: { [RefType] } -> : refType '&' seplist1RefTypeAnd { $1 : $3 } -> | refType { [$1] } - -> refType :: { RefType } -> : type '[' ']' { ArrayType $1 } -> | classType { ClassRefType $1 } --- No longer relevant: - | ident { TypeVariable $1 } - -> classType :: { ClassType } -> : seplist1ClassTypeSpecPeriod { ClassType $1 } - -> seplist1ClassTypeSpecPeriod :: { [(Ident, [TypeArgument])] } -> : classTypeSpec '.' seplist1ClassTypeSpecPeriod { $1 : $3 } -> | classTypeSpec { [$1] } - -> classTypeSpec :: { (Ident, [TypeArgument]) } -> : ident loptTypeArgs { ($1, $2) } - -> resultType :: { Maybe Type } -> : 'void' { Nothing } -> | type { Just $1 } - -> refTypeList :: { [RefType] } -> : seplist1RefTypeComma { $1 } - -> seplist1RefTypeComma :: { [RefType] } -> : refType ',' seplist1RefTypeComma { $1 : $3 } -> | refType { [1] } - ----------------------------------------------------------------------------- --- Type parameters and arguments - -> loptTypeParams :: { [TypeParam] } -> : typeParams { $1 } -> | { [] } - -> typeParams :: { [TypeParam] } -> : '<' seplist1TypeParamComma '>' { $2 } - -> seplist1TypeParamComma :: { [TypeParam] } -> : typeParam ',' seplist1TypeParamComma { $1 : $3 } -> | typeParam { [$1] } - -> typeParam :: { TypeParam } -> : ident loptBounds { TypeParam $1 $2 } - -> loptBounds :: { [RefType] } -> : bounds { $1 } -> | { [] } - -> bounds :: { [RefType] } -> : 'extends' seplist1RefTypeAnd { $2 } - -> loptTypeArgs :: { [TypeArgument] } -> : typeArgs { $1 } -> | { [] } - -> typeArgs :: { [TypeArgument] } -> : '<' seplist1TypeArgComma '>' { $2 } - -> seplist1TypeArgComma :: { [TypeArgument] } -> : typeArg ',' seplist1TypeArgComma { $1 : $3 } -> | typeArg { [$1] } - -> typeArg :: { TypeArgument } -> : refType { ActualType $1 } -> | '?' optWildcardBound { Wildcard $2 } - -> optWildcardBound :: { Maybe WildcardBound } -> : wildcardBound { Just $1 } -> | { Nothing } - -> wildcardBound :: { WildcardBound } -> : 'extends' refType { ExtendsBound $2 } -> | 'super' refType { SuperBound $2 } - -> loptRefTypeArgs :: { [RefType] } -> : refTypeArgs { $1 } -> | { [] } - -> refTypeArgs :: { [RefType] } -> : '<' refTypeList '>' { $2 } - ----------------------------------------------------------------------------- --- Names - -> name :: { Name } -> : seplist1IdentComma { Name $1 } - -> optIdent :: { Maybe Ident } -> : ident { Just $1 } -> | { Nothing } - -> seplist1IdentComma :: { [Ident] } -> : ident ',' seplist1IdentComma { $1 : $3 } -> | ident { [$1] } - -> ident :: { Ident } -> : IDENT { Ident $1 } - ----------------------------------------------------------------------------- --- Higher-order productions - - opt(p) : p { Just $1 } - | { Nothing } - - lopt(p) : opt(p) { maybe [] id $1 } - - bopt(p) : opt(p) { maybe False (const True) $1 } - - fopt(p) : opt(p) { maybe id id $1 } - - list(p) : list1(p) { $1 } - | { [] } - - list1(p) : p { [$1] } - | p list1(p) { $1 : $2 } - - seplist(p,s) : seplist1(p,s) { $1 } - | { [] } - - seplist1(p,s) : p { [$1] } - | p s seplist1(p,s) { $1 : $3 } - - flist(p) : list(p) { foldr (.) id $1 } - - ----------------------------------------------------------------------------- --- Helper functions - -> { - -> happyError = undefined - -> type Mod a = [Modifier] -> a - -> } diff --git a/src/Language/Java/Parser.hs b/src/Language/Java/Parser.hs deleted file mode 100644 index 06926558f494f27a39739dbc741db812c7a3b7e6..0000000000000000000000000000000000000000 --- a/src/Language/Java/Parser.hs +++ /dev/null @@ -1,1273 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-missing-signatures #-} -{-# OPTIONS_GHC -fno-warn-name-shadowing #-} -{-# OPTIONS_GHC -fno-warn-unused-binds #-} -{-# OPTIONS_GHC -fno-warn-unused-matches #-} -{-# OPTIONS_GHC -fno-warn-unused-imports #-} -{-# LANGUAGE CPP #-} -module Language.Java.Parser ( - parser, - - compilationUnit, packageDecl, importDecl, typeDecl, - - classDecl, interfaceDecl, - - memberDecl, fieldDecl, methodDecl, constrDecl, - interfaceMemberDecl, absMethodDecl, - - formalParams, formalParam, - - modifier, - - varDecls, varDecl, - - block, blockStmt, stmt, - - stmtExp, exp, primary, literal, - - ttype, primType, refType, classType, resultType, - - lambdaExp, methodRef, - - typeParams, typeParam, - - name, ident, - - - empty, list, list1, seplist, seplist1, opt, bopt, lopt, - - comma, semiColon, period, colon - - ) where - -import Language.Java.Lexer ( L(..), Token(..), lexer) -import Language.Java.Syntax -import Language.Java.Pretty (pretty) - -import Text.Parsec hiding ( Empty ) -import Text.Parsec.Pos - -import Prelude hiding ( exp, (>>), (>>=) ) -import qualified Prelude as P ( (>>), (>>=) ) -import Data.Maybe ( isJust, catMaybes ) -import Control.Monad ( ap ) - -#if __GLASGOW_HASKELL__ < 707 -import Control.Applicative ( (<$>), (<$), (<*) ) --- Since I cba to find the instance Monad m => Applicative m declaration. -(<*>) :: Monad m => m (a -> b) -> m a -> m b -(<*>) = ap -infixl 4 <*> -#else -import Control.Applicative ( (<$>), (<$), (<*), (<*>) ) -#endif - -type P = Parsec [L Token] () - --- A trick to allow >> and >>=, normally infixr 1, to be --- used inside branches of <|>, which is declared as infixl 1. --- There are no clashes with other operators of precedence 2. -(>>) = (P.>>) -(>>=) = (P.>>=) -infixr 2 >>, >>= --- Note also when reading that <$> is infixl 4 and thus has --- lower precedence than all the others (>>, >>=, and <|>). - ----------------------------------------------------------------------------- --- Top-level parsing - -parseCompilationUnit :: String -> Either ParseError CompilationUnit -parseCompilationUnit inp = - runParser compilationUnit () "" (lexer inp) - -parser p = runParser p () "" . lexer - ---class Parse a where --- parse :: String -> a - ----------------------------------------------------------------------------- --- Packages and compilation units - -compilationUnit :: P CompilationUnit -compilationUnit = do - mpd <- opt packageDecl - ids <- list importDecl - tds <- list typeDecl - eof - return $ CompilationUnit mpd ids (catMaybes tds) - -packageDecl :: P PackageDecl -packageDecl = do - tok KW_Package - n <- name - semiColon - return $ PackageDecl n - -importDecl :: P ImportDecl -importDecl = do - tok KW_Import - st <- bopt $ tok KW_Static - n <- name - ds <- bopt $ period >> tok Op_Star - semiColon - return $ ImportDecl st n ds - -typeDecl :: P (Maybe TypeDecl) -typeDecl = Just <$> classOrInterfaceDecl <|> - const Nothing <$> semiColon - ----------------------------------------------------------------------------- --- Declarations - --- Class declarations - -classOrInterfaceDecl :: P TypeDecl -classOrInterfaceDecl = do - ms <- list modifier - de <- (do cd <- classDecl - return $ \ms -> ClassTypeDecl (cd ms)) <|> - (do id <- annInterfaceDecl <|> interfaceDecl - return $ \ms -> InterfaceTypeDecl (id ms)) - return $ de ms - -classDecl :: P (Mod ClassDecl) -classDecl = normalClassDecl <|> enumClassDecl - -normalClassDecl :: P (Mod ClassDecl) -normalClassDecl = do - tok KW_Class - i <- ident - tps <- lopt typeParams - mex <- opt extends - imp <- lopt implements - bod <- classBody - return $ \ms -> ClassDecl ms i tps ((fmap head) mex) imp bod - -extends :: P [RefType] -extends = tok KW_Extends >> refTypeList - -implements :: P [RefType] -implements = tok KW_Implements >> refTypeList - -enumClassDecl :: P (Mod ClassDecl) -enumClassDecl = do - tok KW_Enum - i <- ident - imp <- lopt implements - bod <- enumBody - return $ \ms -> EnumDecl ms i imp bod - -classBody :: P ClassBody -classBody = ClassBody <$> braces classBodyStatements - -enumBody :: P EnumBody -enumBody = braces $ do - ecs <- seplist enumConst comma - optional comma - eds <- lopt enumBodyDecls - return $ EnumBody ecs eds - -enumConst :: P EnumConstant -enumConst = do - id <- ident - as <- lopt args - mcb <- opt classBody - return $ EnumConstant id as mcb - -enumBodyDecls :: P [Decl] -enumBodyDecls = semiColon >> classBodyStatements - -classBodyStatements :: P [Decl] -classBodyStatements = catMaybes <$> list classBodyStatement - --- Interface declarations - -annInterfaceDecl :: P (Mod InterfaceDecl) -annInterfaceDecl = do - tok KW_AnnInterface - id <- ident - tps <- lopt typeParams - exs <- lopt extends - bod <- interfaceBody - return $ \ms -> InterfaceDecl InterfaceAnnotation ms id tps exs bod - -interfaceDecl :: P (Mod InterfaceDecl) -interfaceDecl = do - tok KW_Interface - id <- ident - tps <- lopt typeParams - exs <- lopt extends - bod <- interfaceBody - return $ \ms -> InterfaceDecl InterfaceNormal ms id tps exs bod - -interfaceBody :: P InterfaceBody -interfaceBody = InterfaceBody . catMaybes <$> - braces (list interfaceBodyDecl) - --- Declarations - -classBodyStatement :: P (Maybe Decl) -classBodyStatement = - (try $ do - _ <- list1 semiColon - return Nothing) <|> - (try $ do - mst <- bopt (tok KW_Static) - blk <- block - return $ Just $ InitDecl mst blk) <|> - (do ms <- list modifier - dec <- memberDecl - return $ Just $ MemberDecl (dec ms)) - -memberDecl :: P (Mod MemberDecl) -memberDecl = - (try $ do - cd <- classDecl - return $ \ms -> MemberClassDecl (cd ms)) <|> - (try $ do - id <- try annInterfaceDecl <|> try interfaceDecl - return $ \ms -> MemberInterfaceDecl (id ms)) <|> - - try fieldDecl <|> - try methodDecl <|> - constrDecl - -fieldDecl :: P (Mod MemberDecl) -fieldDecl = endSemi $ do - typ <- ttype - vds <- varDecls - return $ \ms -> FieldDecl ms typ vds - -methodDecl :: P (Mod MemberDecl) -methodDecl = do - tps <- lopt typeParams - rt <- resultType - id <- ident - fps <- formalParams - thr <- lopt throws - bod <- methodBody - return $ \ms -> MethodDecl ms tps rt id fps thr Nothing bod - -methodBody :: P MethodBody -methodBody = MethodBody <$> - (const Nothing <$> semiColon <|> Just <$> block) - - -constrDecl :: P (Mod MemberDecl) -constrDecl = do - tps <- lopt typeParams - id <- ident - fps <- formalParams - thr <- lopt throws - bod <- constrBody - return $ \ms -> ConstructorDecl ms tps id fps thr bod - -constrBody :: P ConstructorBody -constrBody = braces $ do - mec <- opt (try explConstrInv) - bss <- list blockStmt - return $ ConstructorBody mec bss - -explConstrInv :: P ExplConstrInv -explConstrInv = endSemi $ - (try $ do - tas <- lopt refTypeArgs - tok KW_This - as <- args - return $ ThisInvoke tas as) <|> - (try $ do - tas <- lopt refTypeArgs - tok KW_Super - as <- args - return $ SuperInvoke tas as) <|> - (do pri <- primary - period - tas <- lopt refTypeArgs - tok KW_Super - as <- args - return $ PrimarySuperInvoke pri tas as) - --- TODO: This should be parsed like class bodies, and post-checked. --- That would give far better error messages. -interfaceBodyDecl :: P (Maybe MemberDecl) -interfaceBodyDecl = semiColon >> return Nothing <|> - do ms <- list modifier - imd <- interfaceMemberDecl - return $ Just (imd ms) - -interfaceMemberDecl :: P (Mod MemberDecl) -interfaceMemberDecl = - (do cd <- classDecl - return $ \ms -> MemberClassDecl (cd ms)) <|> - (do id <- try annInterfaceDecl <|> try interfaceDecl - return $ \ms -> MemberInterfaceDecl (id ms)) <|> - try fieldDecl <|> - absMethodDecl - -absMethodDecl :: P (Mod MemberDecl) -absMethodDecl = do - tps <- lopt typeParams - rt <- resultType - id <- ident - fps <- formalParams - thr <- lopt throws - def <- opt defaultValue - semiColon - return $ \ms -> MethodDecl ms tps rt id fps thr def (MethodBody Nothing) - -defaultValue :: P Exp -defaultValue = tok KW_Default >> exp - -throws :: P [RefType] -throws = tok KW_Throws >> refTypeList - --- Formal parameters - -formalParams :: P [FormalParam] -formalParams = parens $ do - fps <- seplist formalParam comma - if validateFPs fps - then return fps - else fail "Only the last formal parameter may be of variable arity" - where validateFPs :: [FormalParam] -> Bool - validateFPs [] = True - validateFPs [_] = True - validateFPs (FormalParam _ _ b _ :xs) = not b - -formalParam :: P FormalParam -formalParam = do - ms <- list modifier - typ <- ttype - var <- bopt ellipsis - vid <- varDeclId - return $ FormalParam ms typ var vid - -ellipsis :: P () -ellipsis = period >> period >> period - --- Modifiers - -modifier :: P Modifier -modifier = - tok KW_Public >> return Public - <|> tok KW_Protected >> return Protected - <|> tok KW_Private >> return Private - <|> tok KW_Abstract >> return Abstract - <|> tok KW_Static >> return Static - <|> tok KW_Strictfp >> return StrictFP - <|> tok KW_Final >> return Final - <|> tok KW_Native >> return Native - <|> tok KW_Transient >> return Transient - <|> tok KW_Volatile >> return Volatile - <|> tok KW_Synchronized >> return Synchronized_ - <|> Annotation <$> annotation - -annotation :: P Annotation -annotation = flip ($) <$ tok Op_AtSign <*> name <*> ( - try (flip NormalAnnotation <$> parens evlist) - <|> try (flip SingleElementAnnotation <$> parens elementValue) - <|> try (MarkerAnnotation <$ return ()) - ) - -evlist :: P [(Ident, ElementValue)] -evlist = seplist1 elementValuePair comma - -elementValuePair :: P (Ident, ElementValue) -elementValuePair = (,) <$> ident <* tok Op_Equal <*> elementValue - -elementValue :: P ElementValue -elementValue = - EVVal <$> ( InitArray <$> arrayInit - <|> InitExp <$> condExp ) - <|> EVAnn <$> annotation - - ----------------------------------------------------------------------------- --- Variable declarations - -varDecls :: P [VarDecl] -varDecls = seplist1 varDecl comma - -varDecl :: P VarDecl -varDecl = do - vid <- varDeclId - mvi <- opt $ tok Op_Equal >> varInit - return $ VarDecl vid mvi - -varDeclId :: P VarDeclId -varDeclId = do - id <- ident - abs <- list arrBrackets - return $ foldl (\f _ -> VarDeclArray . f) VarId abs id - -arrBrackets :: P () -arrBrackets = brackets $ return () - -localVarDecl :: P ([Modifier], Type, [VarDecl]) -localVarDecl = do - ms <- list modifier - typ <- ttype - vds <- varDecls - return (ms, typ, vds) - -varInit :: P VarInit -varInit = - InitArray <$> arrayInit <|> - InitExp <$> exp - -arrayInit :: P ArrayInit -arrayInit = braces $ do - vis <- seplist varInit comma - _ <- opt comma - return $ ArrayInit vis - ----------------------------------------------------------------------------- --- Statements - -block :: P Block -block = braces $ Block <$> list blockStmt - -blockStmt :: P BlockStmt -blockStmt = - (try $ do - ms <- list modifier - cd <- classDecl - return $ LocalClass (cd ms)) <|> - (try $ do - (m,t,vds) <- endSemi $ localVarDecl - return $ LocalVars m t vds) <|> - BlockStmt <$> stmt - -stmt :: P Stmt -stmt = ifStmt <|> whileStmt <|> forStmt <|> labeledStmt <|> stmtNoTrail - where - ifStmt = do - tok KW_If - e <- parens exp - (try $ - do th <- stmtNSI - tok KW_Else - el <- stmt - return $ IfThenElse e th el) <|> - (do th <- stmt - return $ IfThen e th) - whileStmt = do - tok KW_While - e <- parens exp - s <- stmt - return $ While e s - forStmt = do - tok KW_For - f <- parens $ - (try $ do - fi <- opt forInit - semiColon - e <- opt exp - semiColon - fu <- opt forUp - return $ BasicFor fi e fu) <|> - (do ms <- list modifier - t <- ttype - i <- ident - colon - e <- exp - return $ EnhancedFor ms t i e) - s <- stmt - return $ f s - labeledStmt = try $ do - lbl <- ident - colon - s <- stmt - return $ Labeled lbl s - -stmtNSI :: P Stmt -stmtNSI = ifStmt <|> whileStmt <|> forStmt <|> labeledStmt <|> stmtNoTrail - where - ifStmt = do - tok KW_If - e <- parens exp - th <- stmtNSI - tok KW_Else - el <- stmtNSI - return $ IfThenElse e th el - whileStmt = do - tok KW_While - e <- parens exp - s <- stmtNSI - return $ While e s - forStmt = do - tok KW_For - f <- parens $ (try $ do - fi <- opt forInit - semiColon - e <- opt exp - semiColon - fu <- opt forUp - return $ BasicFor fi e fu) - <|> (do - ms <- list modifier - t <- ttype - i <- ident - colon - e <- exp - return $ EnhancedFor ms t i e) - s <- stmtNSI - return $ f s - labeledStmt = try $ do - i <- ident - colon - s <- stmtNSI - return $ Labeled i s - -stmtNoTrail :: P Stmt -stmtNoTrail = - -- empty statement - const Empty <$> semiColon <|> - -- inner block - StmtBlock <$> block <|> - -- assertions - (endSemi $ do - tok KW_Assert - e <- exp - me2 <- opt $ colon >> exp - return $ Assert e me2) <|> - -- switch stmts - (do tok KW_Switch - e <- parens exp - sb <- switchBlock - return $ Switch e sb) <|> - -- do-while loops - (endSemi $ do - tok KW_Do - s <- stmt - tok KW_While - e <- parens exp - return $ Do s e) <|> - -- break - (endSemi $ do - tok KW_Break - mi <- opt ident - return $ Break mi) <|> - -- continue - (endSemi $ do - tok KW_Continue - mi <- opt ident - return $ Continue mi) <|> - -- return - (endSemi $ do - tok KW_Return - me <- opt exp - return $ Return me) <|> - -- synchronized - (do tok KW_Synchronized - e <- parens exp - b <- block - return $ Synchronized e b) <|> - -- throw - (endSemi $ do - tok KW_Throw - e <- exp - return $ Throw e) <|> - -- try-catch, both with and without a finally clause - (do tok KW_Try - b <- block - c <- list catch - mf <- opt $ tok KW_Finally >> block - -- TODO: here we should check that there exists at - -- least one catch or finally clause - return $ Try b c mf) <|> - -- expressions as stmts - ExpStmt <$> endSemi stmtExp - --- For loops - -forInit :: P ForInit -forInit = (do - try (do (m,t,vds) <- localVarDecl - return $ ForLocalVars m t vds)) <|> - (seplist1 stmtExp comma >>= return . ForInitExps) - -forUp :: P [Exp] -forUp = seplist1 stmtExp comma - --- Switches - -switchBlock :: P [SwitchBlock] -switchBlock = braces $ list switchStmt - -switchStmt :: P SwitchBlock -switchStmt = do - lbl <- switchLabel - bss <- list blockStmt - return $ SwitchBlock lbl bss - -switchLabel :: P SwitchLabel -switchLabel = (tok KW_Default >> colon >> return Default) <|> - (do tok KW_Case - e <- exp - colon - return $ SwitchCase e) - --- Try-catch clauses - -catch :: P Catch -catch = do - tok KW_Catch - fp <- parens formalParam - b <- block - return $ Catch fp b - ----------------------------------------------------------------------------- --- Expressions - -stmtExp :: P Exp -stmtExp = try preIncDec - <|> try postIncDec - <|> try assignment - -- There are sharing gains to be made by unifying these two - <|> try methodInvocationExp - <|> try lambdaExp - <|> try methodRef - <|> instanceCreation - -preIncDec :: P Exp -preIncDec = do - op <- preIncDecOp - e <- unaryExp - return $ op e - -postIncDec :: P Exp -postIncDec = do - e <- postfixExpNES - ops <- list1 postfixOp - return $ foldl (\a s -> s a) e ops - -assignment :: P Exp -assignment = do - lh <- lhs - op <- assignOp - e <- assignExp - return $ Assign lh op e - -lhs :: P Lhs -lhs = try (FieldLhs <$> fieldAccess) - <|> try (ArrayLhs <$> arrayAccess) - <|> NameLhs <$> name - - - -exp :: P Exp -exp = assignExp - -assignExp :: P Exp -assignExp = try methodRef <|> try lambdaExp <|> try assignment <|> condExp - -condExp :: P Exp -condExp = do - ie <- infixExp - ces <- list condExpSuffix - return $ foldl (\a s -> s a) ie ces - -condExpSuffix :: P (Exp -> Exp) -condExpSuffix = do - tok Op_Query - th <- exp - colon - el <- condExp - return $ \ce -> Cond ce th el - -infixExp :: P Exp -infixExp = infixExpWithOperators infixOperators - --- See Note [Parsing operators] -infixExpWithOperators :: [P Op] -> P Exp -infixExpWithOperators [] = unaryExp -infixExpWithOperators (op : ops) = do - ue <- infixExpWithOperators ops - ies <- list (infixExpSuffix op ops) - return $ foldl (\a s -> s a) ue ies - -infixExpSuffix :: P Op -> [P Op] -> P (Exp -> Exp) -infixExpSuffix infixOp ops = - (do op <- infixOp - e2 <- infixExpWithOperators ops - return $ \e1 -> BinOp e1 op e2) <|> - - -- FIXME 'instanceof' should have the same precedence as relational operators - (do tok KW_Instanceof - t <- refType - return $ \e1 -> InstanceOf e1 t) - -unaryExp :: P Exp -unaryExp = try preIncDec <|> - try (do - op <- prefixOp - ue <- unaryExp - return $ op ue) <|> - try (do - t <- parens ttype - e <- unaryExp - return $ Cast t e) <|> - postfixExp - -postfixExpNES :: P Exp -postfixExpNES = primary - -postfixExp :: P Exp -postfixExp = do - pe <- postfixExpNES - ops <- list postfixOp - return $ foldl (\a s -> s a) pe ops - - -primary :: P Exp -primary = primaryNPS |>> primarySuffix - -primaryNPS :: P Exp -primaryNPS = try arrayCreation <|> primaryNoNewArrayNPS - -primaryNoNewArray = startSuff primaryNoNewArrayNPS primarySuffix - -primaryNoNewArrayNPS :: P Exp -primaryNoNewArrayNPS = - Lit <$> literal <|> - const This <$> tok KW_This <|> - parens exp <|> - -- TODO: These two following should probably be merged more - (try $ do - rt <- resultType - period >> tok KW_Class - return $ ClassLit rt) <|> - (try $ do - n <- name - period >> tok KW_This - return $ ThisClass n) <|> - try instanceCreationNPS <|> - try (MethodInv <$> methodInvocationNPS) <|> - try (FieldAccess <$> fieldAccessNPS) <|> - try (ExpName <$> name) <|> - ArrayAccess <$> arrayAccessNPS - -primarySuffix :: P (Exp -> Exp) -primarySuffix = try instanceCreationSuffix <|> - try ((ArrayAccess .) <$> arrayAccessSuffix) <|> - try ((MethodInv .) <$> methodInvocationSuffix) <|> - (FieldAccess .) <$> fieldAccessSuffix - - -instanceCreationNPS :: P Exp -instanceCreationNPS = - do tok KW_New - tas <- lopt typeArgs - tds <- typeDeclSpecifier - as <- args - mcb <- opt classBody - return $ InstanceCreation tas tds as mcb - -typeDeclSpecifier :: P TypeDeclSpecifier -typeDeclSpecifier = - (try $ do ct <- classType - period - i <- ident - tok Op_LThan - tok Op_GThan - return $ TypeDeclSpecifierWithDiamond ct i Diamond - ) <|> - (try $ do i <- ident - tok Op_LThan - tok Op_GThan - return $ TypeDeclSpecifierUnqualifiedWithDiamond i Diamond - ) <|> - (do ct <- classType - return $ TypeDeclSpecifier ct - ) - -instanceCreationSuffix :: P (Exp -> Exp) -instanceCreationSuffix = - do period >> tok KW_New - tas <- lopt typeArgs - i <- ident - as <- args - mcb <- opt classBody - return $ \p -> QualInstanceCreation p tas i as mcb - -instanceCreation :: P Exp -instanceCreation = try instanceCreationNPS <|> do - p <- primaryNPS - ss <- list primarySuffix - let icp = foldl (\a s -> s a) p ss - case icp of - QualInstanceCreation {} -> return icp - _ -> fail "" - - -lambdaParams :: P LambdaParams -lambdaParams = try (LambdaSingleParam <$> ident) - <|> try (parens $ LambdaFormalParams <$> (seplist formalParam comma)) - <|> (parens $ LambdaInferredParams <$> (seplist ident comma)) - -lambdaExp :: P Exp -lambdaExp = Lambda - <$> (lambdaParams <* (tok LambdaArrow)) - <*> ((LambdaBlock <$> (try block)) - <|> (LambdaExpression <$> exp)) - -methodRef :: P Exp -methodRef = MethodRef - <$> (name <* (tok MethodRefSep)) - <*> ident - -{- -instanceCreation = - (do tok KW_New - tas <- lopt typeArgs - ct <- classType - as <- args - mcb <- opt classBody - return $ InstanceCreation tas ct as mcb) <|> - (do p <- primary - period >> tok KW_New - tas <- lopt typeArgs - i <- ident - as <- args - mcb <- opt classBody - return $ QualInstanceCreation p tas i as mcb) --} - -fieldAccessNPS :: P FieldAccess -fieldAccessNPS = - (do tok KW_Super >> period - i <- ident - return $ SuperFieldAccess i) <|> - (do n <- name - period >> tok KW_Super >> period - i <- ident - return $ ClassFieldAccess n i) - -fieldAccessSuffix :: P (Exp -> FieldAccess) -fieldAccessSuffix = do - period - i <- ident - return $ \p -> PrimaryFieldAccess p i - -fieldAccess :: P FieldAccess -fieldAccess = try fieldAccessNPS <|> do - p <- primaryNPS - ss <- list primarySuffix - let fap = foldl (\a s -> s a) p ss - case fap of - FieldAccess fa -> return fa - _ -> fail "" - -{- -fieldAccess :: P FieldAccess -fieldAccess = try fieldAccessNPS <|> do - p <- primary - fs <- fieldAccessSuffix - return (fs p) --} - -{- -fieldAccess :: P FieldAccess -fieldAccess = - (do tok KW_Super >> period - i <- ident - return $ SuperFieldAccess i) <|> - (try $ do - n <- name - period >> tok KW_Super >> period - i <- ident - return $ ClassFieldAccess n i) <|> - (do p <- primary - period - i <- ident - return $ PrimaryFieldAccess p i) --} - -methodInvocationNPS :: P MethodInvocation -methodInvocationNPS = - (do tok KW_Super >> period - rts <- lopt refTypeArgs - i <- ident - as <- args - return $ SuperMethodCall rts i as) <|> - (do n <- name - f <- (do as <- args - return $ \n -> MethodCall n as) <|> - (period >> do - msp <- opt (tok KW_Super >> period) - rts <- lopt refTypeArgs - i <- ident - as <- args - let mc = maybe TypeMethodCall (const ClassMethodCall) msp - return $ \n -> mc n rts i as) - return $ f n) - -methodInvocationSuffix :: P (Exp -> MethodInvocation) -methodInvocationSuffix = do - period - rts <- lopt refTypeArgs - i <- ident - as <- args - return $ \p -> PrimaryMethodCall p [] i as - -methodInvocationExp :: P Exp -methodInvocationExp = try (do - p <- primaryNPS - ss <- list primarySuffix - let mip = foldl (\a s -> s a) p ss - case mip of - MethodInv _ -> return mip - _ -> fail "") <|> - (MethodInv <$> methodInvocationNPS) - -{- -methodInvocation :: P MethodInvocation -methodInvocation = - (do tok KW_Super >> period - rts <- lopt refTypeArgs - i <- ident - as <- args - return $ SuperMethodCall rts i as) <|> - (do p <- primary - period - rts <- lopt refTypeArgs - i <- ident - as <- args - return $ PrimaryMethodCall p rts i as) <|> - (do n <- name - f <- (do as <- args - return $ \n -> MethodCall n as) <|> - (period >> do - msp <- opt (tok KW_Super >> period) - rts <- lopt refTypeArgs - i <- ident - as <- args - let mc = maybe TypeMethodCall (const ClassMethodCall) msp - return $ \n -> mc n rts i as) - return $ f n) --} - -args :: P [Argument] -args = parens $ seplist exp comma - --- Arrays - -arrayAccessNPS :: P ArrayIndex -arrayAccessNPS = do - n <- name - e <- list1 $ brackets exp - return $ ArrayIndex (ExpName n) e - -arrayAccessSuffix :: P (Exp -> ArrayIndex) -arrayAccessSuffix = do - e <- list1 $ brackets exp - return $ \ref -> ArrayIndex ref e - -arrayAccess = try arrayAccessNPS <|> do - p <- primaryNoNewArrayNPS - ss <- list primarySuffix - let aap = foldl (\a s -> s a) p ss - case aap of - ArrayAccess ain -> return ain - _ -> fail "" - -{- -arrayAccess :: P (Exp, Exp) -arrayAccess = do - ref <- arrayRef - e <- brackets exp - return (ref, e) - -arrayRef :: P Exp -arrayRef = ExpName <$> name <|> primaryNoNewArray --} - -arrayCreation :: P Exp -arrayCreation = do - tok KW_New - t <- nonArrayType - f <- (try $ do - ds <- list1 $ brackets empty - ai <- arrayInit - return $ \t -> ArrayCreateInit t (length ds) ai) <|> - (do des <- list1 $ try $ brackets exp - ds <- list $ brackets empty - return $ \t -> ArrayCreate t des (length ds)) - return $ f t - -literal :: P Literal -literal = - javaToken $ \t -> case t of - IntTok i -> Just (Int i) - LongTok l -> Just (Word l) - DoubleTok d -> Just (Double d) - FloatTok f -> Just (Float f) - CharTok c -> Just (Char c) - StringTok s -> Just (String s) - BoolTok b -> Just (Boolean b) - NullTok -> Just Null - _ -> Nothing - --- Operators - -preIncDecOp, prefixOp, postfixOp :: P (Exp -> Exp) -preIncDecOp = - (tok Op_PPlus >> return PreIncrement) <|> - (tok Op_MMinus >> return PreDecrement) -prefixOp = - (tok Op_Bang >> return PreNot ) <|> - (tok Op_Tilde >> return PreBitCompl ) <|> - (tok Op_Plus >> return PrePlus ) <|> - (tok Op_Minus >> return PreMinus ) -postfixOp = - (tok Op_PPlus >> return PostIncrement) <|> - (tok Op_MMinus >> return PostDecrement) - -assignOp :: P AssignOp -assignOp = - (tok Op_Equal >> return EqualA ) <|> - (tok Op_StarE >> return MultA ) <|> - (tok Op_SlashE >> return DivA ) <|> - (tok Op_PercentE >> return RemA ) <|> - (tok Op_PlusE >> return AddA ) <|> - (tok Op_MinusE >> return SubA ) <|> - (tok Op_LShiftE >> return LShiftA ) <|> - (tok Op_RShiftE >> return RShiftA ) <|> - (tok Op_RRShiftE >> return RRShiftA ) <|> - (tok Op_AndE >> return AndA ) <|> - (tok Op_CaretE >> return XorA ) <|> - (tok Op_OrE >> return OrA ) - --- The infix operators, grouped by precedence. --- See Note [Parsing operators] -infixOperators :: [P Op] -infixOperators = - [ (tok Op_OOr >> return COr ) - - , (tok Op_AAnd >> return CAnd ) - - , (tok Op_Or >> return Or ) - - , (tok Op_Caret >> return Xor ) - - , (tok Op_And >> return And ) - - , (tok Op_Equals >> return Equal ) <|> - (tok Op_BangE >> return NotEq ) - - , (tok Op_LThan >> return LThan ) <|> - (tok Op_GThan >> return GThan ) <|> - (tok Op_LThanE >> return LThanE ) <|> - (tok Op_GThanE >> return GThanE ) - - , (tok Op_LShift >> return LShift ) <|> - (try $ do - tok Op_GThan - tok Op_GThan - tok Op_GThan - return RRShift ) <|> - - (try $ do - tok Op_GThan - tok Op_GThan - return RShift ) - - , (tok Op_Plus >> return Add ) <|> - (tok Op_Minus >> return Sub ) - - , (tok Op_Star >> return Mult ) <|> - (tok Op_Slash >> return Div ) <|> - (tok Op_Percent >> return Rem ) - ] - -{- -Note [Parsing operators] -~~~~~~~~~~~~~~~~~~~~~~~~ -Each entry in 'infixOperators' generates one level of recursion in -'infixExpWithOperators'. This generates a grammar similar to: - -@ - ConditionalOrExpression ::= - ConditionalAndExpression [ "||" ConditionalOrExpression ] - - ConditionalAndExpression ::= - InclusiveOrExpression [ "&&" ConditionalAndExpression ] - - // and so on... -@ - -but the operators associate to the left. - -A similar (but more general) pattern can be found in 'Text.Parsec.Expr'. --} - ----------------------------------------------------------------------------- --- Types - -ttype :: P Type -ttype = try (RefType <$> refType) <|> PrimType <$> primType - -primType :: P PrimType -primType = - tok KW_Boolean >> return BooleanT <|> - tok KW_Byte >> return ByteT <|> - tok KW_Short >> return ShortT <|> - tok KW_Int >> return IntT <|> - tok KW_Long >> return LongT <|> - tok KW_Char >> return CharT <|> - tok KW_Float >> return FloatT <|> - tok KW_Double >> return DoubleT - -refType :: P RefType -refType = - (do pt <- primType - (_:bs) <- list1 arrBrackets - return $ foldl (\f _ -> ArrayType . RefType . f) - (ArrayType . PrimType) bs pt) <|> - (do ct <- classType - bs <- list arrBrackets - return $ foldl (\f _ -> ArrayType . RefType . f) - ClassRefType bs ct) <?> "refType" - -nonArrayType :: P Type -nonArrayType = PrimType <$> primType <|> - RefType <$> ClassRefType <$> classType - -classType :: P ClassType -classType = ClassType <$> seplist1 classTypeSpec period - -classTypeSpec :: P (Ident, [TypeArgument]) -classTypeSpec = do - i <- ident - tas <- lopt typeArgs - return (i, tas) - -resultType :: P (Maybe Type) -resultType = tok KW_Void >> return Nothing <|> Just <$> ttype <?> "resultType" - -refTypeList :: P [RefType] -refTypeList = seplist1 refType comma - ----------------------------------------------------------------------------- --- Type parameters and arguments - -typeParams :: P [TypeParam] -typeParams = angles $ seplist1 typeParam comma - -typeParam :: P TypeParam -typeParam = do - i <- ident - bs <- lopt bounds - return $ TypeParam i bs - -bounds :: P [RefType] -bounds = tok KW_Extends >> seplist1 refType (tok Op_And) - -typeArgs :: P [TypeArgument] -typeArgs = angles $ seplist1 typeArg comma - -typeArg :: P TypeArgument -typeArg = tok Op_Query >> Wildcard <$> opt wildcardBound - <|> ActualType <$> refType - -wildcardBound :: P WildcardBound -wildcardBound = tok KW_Extends >> ExtendsBound <$> refType - <|> tok KW_Super >> SuperBound <$> refType - -refTypeArgs :: P [RefType] -refTypeArgs = angles refTypeList - ----------------------------------------------------------------------------- --- Names - -name :: P Name -name = Name <$> seplist1 ident period - -ident :: P Ident -ident = javaToken $ \t -> case t of - IdentTok s -> Just $ Ident s - _ -> Nothing - ------------------------------------------------------------- - -empty :: P () -empty = return () - -opt :: P a -> P (Maybe a) -opt = optionMaybe - -bopt :: P a -> P Bool -bopt p = opt p >>= \ma -> return $ isJust ma - -lopt :: P [a] -> P [a] -lopt p = do mas <- opt p - case mas of - Nothing -> return [] - Just as -> return as - -list :: P a -> P [a] -list = option [] . list1 - -list1 :: P a -> P [a] -list1 = many1 - -seplist :: P a -> P sep -> P [a] ---seplist = sepBy -seplist p sep = option [] $ seplist1 p sep - -seplist1 :: P a -> P sep -> P [a] ---seplist1 = sepBy1 -seplist1 p sep = - p >>= \a -> - try (do _ <- sep - as <- seplist1 p sep - return (a:as)) - <|> return [a] - -startSuff, (|>>) :: P a -> P (a -> a) -> P a -startSuff start suffix = do - x <- start - ss <- list suffix - return $ foldl (\a s -> s a) x ss - -(|>>) = startSuff - ------------------------------------------------------------- - -javaToken :: (Token -> Maybe a) -> P a -javaToken test = token showT posT testT - where showT (L _ t) = show t - posT (L p _) = pos2sourcePos p - testT (L _ t) = test t - -tok, matchToken :: Token -> P () -tok = matchToken -matchToken t = javaToken (\r -> if r == t then Just () else Nothing) - -pos2sourcePos :: (Int, Int) -> SourcePos -pos2sourcePos (l,c) = newPos "" l c - -type Mod a = [Modifier] -> a - -parens, braces, brackets, angles :: P a -> P a -parens = between (tok OpenParen) (tok CloseParen) -braces = between (tok OpenCurly) (tok CloseCurly) -brackets = between (tok OpenSquare) (tok CloseSquare) -angles = between (tok Op_LThan) (tok Op_GThan) - -endSemi :: P a -> P a -endSemi p = p >>= \a -> semiColon >> return a - -comma, colon, semiColon, period :: P () -comma = tok Comma -colon = tok Op_Colon -semiColon = tok SemiColon -period = tok Period - ------------------------------------------------------------- - -test = "public class Foo { }" -testFile file = do - i <- readFile file - let r = parseCompilationUnit i - putStrLn$ either (("Parsing error:\n"++) . show) (show . pretty) r diff --git a/src/Language/Java/Pretty.hs b/src/Language/Java/Pretty.hs deleted file mode 100644 index 09fa9401dea3bace6c82e76abbd30bf44059026b..0000000000000000000000000000000000000000 --- a/src/Language/Java/Pretty.hs +++ /dev/null @@ -1,620 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-missing-signatures #-} -{-# OPTIONS_GHC -fno-warn-name-shadowing #-} -{-# OPTIONS_GHC -fno-warn-unused-binds #-} -{-# OPTIONS_GHC -fno-warn-unused-matches #-} -{-# OPTIONS_GHC -fno-warn-unused-imports #-} -module Language.Java.Pretty where - -import Text.PrettyPrint -import Text.Printf (printf) -import Data.Char (toLower) -import Data.List (intersperse) - -import Language.Java.Syntax - - -prettyPrint :: Pretty a => a -> String -prettyPrint = show . pretty - -parenPrec :: Int -> Int -> Doc -> Doc -parenPrec inheritedPrec currentPrec t - | inheritedPrec <= 0 = t - | inheritedPrec < currentPrec = parens t - | otherwise = t - -class Pretty a where - pretty :: a -> Doc - pretty = prettyPrec 0 - - prettyPrec :: Int -> a -> Doc - prettyPrec _ = pretty - ------------------------------------------------------------------------ --- Packages - -instance Pretty CompilationUnit where - prettyPrec p (CompilationUnit mpd ids tds) = - vcat $ ((maybePP p mpd): map (prettyPrec p) ids) ++ map (prettyPrec p) tds - -instance Pretty PackageDecl where - prettyPrec p (PackageDecl name) = text "package" <+> prettyPrec p name <> semi - -instance Pretty ImportDecl where - prettyPrec p (ImportDecl st name wc) = - text "import" <+> opt st (text "static") - <+> prettyPrec p name <> opt wc (text ".*") - <> semi - ------------------------------------------------------------------------ --- Declarations - -instance Pretty TypeDecl where - prettyPrec p (ClassTypeDecl cd) = prettyPrec p cd - prettyPrec p (InterfaceTypeDecl id) = prettyPrec p id - -instance Pretty ClassDecl where - prettyPrec p (EnumDecl mods ident impls body) = - hsep [hsep (map (prettyPrec p) mods) - , text "enum" - , prettyPrec p ident - , ppImplements p impls - ] $$ prettyPrec p body - - prettyPrec p (ClassDecl mods ident tParams mSuper impls body) = - hsep [hsep (map (prettyPrec p) mods) - , text "class" - , prettyPrec p ident - , ppTypeParams p tParams - , ppExtends p (maybe [] return mSuper) - , ppImplements p impls - ] $$ prettyPrec p body - -instance Pretty ClassBody where - prettyPrec p (ClassBody ds) = - braceBlock (map (prettyPrec p) ds) - -instance Pretty EnumBody where - prettyPrec p (EnumBody cs ds) = - braceBlock $ - punctuate comma (map (prettyPrec p) cs) ++ - opt (not $ null ds) semi : map (prettyPrec p) ds - -instance Pretty EnumConstant where - prettyPrec p (EnumConstant ident args mBody) = - prettyPrec p ident - -- needs special treatment since even the parens are optional - <> opt (not $ null args) (ppArgs args) - $$ maybePP p mBody - -instance Pretty InterfaceDecl where - prettyPrec p (InterfaceDecl kind mods ident tParams impls body) = - hsep [hsep (map (prettyPrec p) mods) - , text (if kind == InterfaceNormal then "interface" else "@interface") - , prettyPrec p ident - , ppTypeParams p tParams - , ppExtends p impls - ] $$ prettyPrec p body - -instance Pretty InterfaceBody where - prettyPrec p (InterfaceBody mds) = - braceBlock (map (prettyPrec p) mds) - -instance Pretty Decl where - prettyPrec p (MemberDecl md) = prettyPrec p md - prettyPrec p (InitDecl b bl) = - opt b (text "static") <+> prettyPrec p bl - -instance Pretty MemberDecl where - prettyPrec p (FieldDecl mods t vds) = - hsep (map (prettyPrec p) mods ++ prettyPrec p t:punctuate (text ",") (map (prettyPrec p) vds)) <> semi - - prettyPrec p (MethodDecl mods tParams mt ident fParams throws def body) = - hsep [hsep (map (prettyPrec p) mods) - , ppTypeParams p tParams - , ppResultType p mt - , prettyPrec p ident - , ppArgs fParams - , ppThrows p throws - , ppDefault p def - ] $$ prettyPrec p body - - prettyPrec p (ConstructorDecl mods tParams ident fParams throws body) = - hsep [hsep (map (prettyPrec p) mods) - , ppTypeParams p tParams - , prettyPrec p ident - , ppArgs fParams - , ppThrows p throws - ] $$ prettyPrec p body - - prettyPrec p (MemberClassDecl cd) = prettyPrec p cd - prettyPrec p (MemberInterfaceDecl id) = prettyPrec p id - -instance Pretty VarDecl where - prettyPrec p (VarDecl vdId Nothing) = prettyPrec p vdId - prettyPrec p (VarDecl vdId (Just ie)) = - (prettyPrec p vdId <+> char '=') <+> prettyPrec p ie - -instance Pretty VarDeclId where - prettyPrec p (VarId ident) = prettyPrec p ident - prettyPrec p (VarDeclArray vId) = prettyPrec p vId <> text "[]" - -instance Pretty VarInit where - prettyPrec p (InitExp e) = prettyPrec p e - prettyPrec p (InitArray (ArrayInit ai)) = - text "{" <+> hsep (punctuate comma (map (prettyPrec p) ai)) <+> text "}" - -instance Pretty FormalParam where - prettyPrec p (FormalParam mods t b vId) = - hsep [hsep (map (prettyPrec p) mods) - , prettyPrec p t <> opt b (text "...") - , prettyPrec p vId - ] - -instance Pretty MethodBody where - prettyPrec p (MethodBody mBlock) = maybe semi (prettyPrec p) mBlock - -instance Pretty ConstructorBody where - prettyPrec p (ConstructorBody mECI stmts) = - braceBlock $ maybePP p mECI : map (prettyPrec p) stmts - -instance Pretty ExplConstrInv where - prettyPrec p (ThisInvoke rts args) = - ppTypeParams p rts <+> text "this" <> ppArgs args <> semi - prettyPrec p (SuperInvoke rts args) = - ppTypeParams p rts <+> text "super" <> ppArgs args <> semi - prettyPrec p (PrimarySuperInvoke e rts args) = - prettyPrec p e <> char '.' <> - ppTypeParams p rts <+> text "super" <> ppArgs args <> semi - -instance Pretty Modifier where - prettyPrec p (Annotation ann) = prettyPrec p ann $+$ nest (-1) ( text "") - prettyPrec p mod = text . map toLower $ show mod - -instance Pretty Annotation where - prettyPrec p x = text "@" <> prettyPrec p (annName x) <> case x of - MarkerAnnotation {} -> text "" - SingleElementAnnotation {} -> text "(" <> prettyPrec p (annValue x) <> text ")" - NormalAnnotation {} -> text "(" <> ppEVList p (annKV x) <> text ")" - -ppEVList p = hsep . punctuate comma . map (\(k,v) -> prettyPrec p k <+> text "=" <+> prettyPrec p v) - -instance Pretty ElementValue where - prettyPrec p (EVVal vi) = prettyPrec p vi - prettyPrec p (EVAnn ann) = prettyPrec p ann - ------------------------------------------------------------------------ --- Statements - - -instance Pretty Block where - prettyPrec p (Block stmts) = braceBlock $ map (prettyPrec p) stmts - -instance Pretty BlockStmt where - prettyPrec p (BlockStmt stmt) = prettyPrec p stmt - prettyPrec p (LocalClass cd) = prettyPrec p cd - prettyPrec p (LocalVars mods t vds) = - hsep (map (prettyPrec p) mods) <+> prettyPrec p t <+> - hsep (punctuate comma $ map (prettyPrec p) vds) <> semi - -instance Pretty Stmt where - prettyPrec p (StmtBlock block) = prettyPrec p block - prettyPrec p (IfThen c th) = - text "if" <+> parens (prettyPrec 0 c) $+$ prettyNestedStmt 0 th - - prettyPrec p (IfThenElse c th el) = - text "if" <+> parens (prettyPrec p c) $+$ prettyNestedStmt 0 th $+$ text "else" $+$ prettyNestedStmt 0 el - - prettyPrec p (While c stmt) = - text "while" <+> parens (prettyPrec p c) $+$ prettyNestedStmt 0 stmt - - prettyPrec p (BasicFor mInit mE mUp stmt) = - text "for" <+> (parens $ hsep [maybePP p mInit, semi - , maybePP p mE, semi - , maybe empty (hsep . punctuate comma . map (prettyPrec p)) mUp - ]) $+$ prettyNestedStmt p stmt - - prettyPrec p (EnhancedFor mods t ident e stmt) = - hsep [text "for" - , parens $ hsep [ - hsep (map (prettyPrec p) mods) - , prettyPrec p t - , prettyPrec p ident - , colon - , prettyPrec p e - ] - , prettyPrec p stmt - ] - - prettyPrec p Empty = semi - - prettyPrec p (ExpStmt e) = prettyPrec p e <> semi - - prettyPrec p (Assert ass mE) = - text "assert" <+> prettyPrec p ass - <+> maybe empty ((colon <>) . prettyPrec p) mE <> semi - - prettyPrec p (Switch e sBlocks) = - text "switch" <+> parens (prettyPrec p e) - $$ braceBlock (map (prettyPrec p) sBlocks) - - prettyPrec p (Do stmt e) = - text "do" $+$ prettyPrec p stmt <+> text "while" <+> parens (prettyPrec p e) <> semi - - prettyPrec p (Break mIdent) = - text "break" <+> maybePP p mIdent <> semi - - prettyPrec p (Continue mIdent) = - text "continue" <+> maybePP p mIdent <> semi - - prettyPrec p (Return mE) = - text "return" <+> maybePP p mE <> semi - - prettyPrec p (Synchronized e block) = - text "synchronized" <+> parens (prettyPrec p e) $$ prettyPrec p block - - prettyPrec p (Throw e) = - text "throw" <+> prettyPrec p e <> semi - - prettyPrec p (Try block catches mFinally) = - text "try" $$ prettyPrec p block $$ - vcat (map (prettyPrec p) catches ++ [ppFinally mFinally]) - where ppFinally Nothing = empty - ppFinally (Just bl) = text "finally" <+> prettyPrec p bl - - prettyPrec p (Labeled ident stmt) = - prettyPrec p ident <> colon <+> prettyPrec p stmt - -instance Pretty Catch where - prettyPrec p (Catch fParam block) = - hsep [text "catch", parens (prettyPrec p fParam)] $$ prettyPrec p block - -instance Pretty SwitchBlock where - prettyPrec p (SwitchBlock lbl stmts) = - vcat (prettyPrec p lbl : map (nest 2 . prettyPrec p) stmts) - -instance Pretty SwitchLabel where - prettyPrec p (SwitchCase e) = - text "case" <+> prettyPrec p e <> colon - prettyPrec p Default = text "default:" - -instance Pretty ForInit where - prettyPrec p (ForLocalVars mods t vds) = - hsep $ map (prettyPrec p) mods ++ - prettyPrec p t: punctuate comma (map (prettyPrec p) vds) - prettyPrec p (ForInitExps es) = - hsep $ punctuate comma (map (prettyPrec p) es) - - ------------------------------------------------------------------------ --- Expressions - -instance Pretty Exp where - prettyPrec p (Lit l) = prettyPrec p l - - prettyPrec p (ClassLit mT) = - ppResultType p mT <> text ".class" - - prettyPrec _ This = text "this" - - prettyPrec p (ThisClass name) = - prettyPrec p name <> text ".this" - - prettyPrec p (InstanceCreation tArgs tds args mBody) = - hsep [text "new" - , ppTypeParams p tArgs - , prettyPrec p tds <> ppArgs args - ] $$ maybePP p mBody - - prettyPrec p (QualInstanceCreation e tArgs ident args mBody) = - hsep [prettyPrec p e <> char '.' <> text "new" - , ppTypeParams p tArgs - , prettyPrec p ident <> ppArgs args - ] $$ maybePP p mBody - - prettyPrec p (ArrayCreate t es k) = - text "new" <+> - hcat (prettyPrec p t : map (brackets . prettyPrec p) es - ++ replicate k (text "[]")) - - prettyPrec p (ArrayCreateInit t k init) = - text "new" - <+> hcat (prettyPrec p t : replicate k (text "[]")) - <+> prettyPrec p init - - prettyPrec p (FieldAccess fa) = parenPrec p 1 $ prettyPrec 1 fa - - prettyPrec p (MethodInv mi) = parenPrec p 1 $ prettyPrec 1 mi - - prettyPrec p (ArrayAccess ain) = parenPrec p 1 $ prettyPrec 1 ain - - prettyPrec p (ExpName name) = prettyPrec p name - - prettyPrec p (PostIncrement e) = parenPrec p 1 $ prettyPrec 2 e <> text "++" - - prettyPrec p (PostDecrement e) = parenPrec p 1 $ prettyPrec 2 e <> text "--" - - prettyPrec p (PreIncrement e) = parenPrec p 1 $ text "++" <> prettyPrec 2 e - - prettyPrec p (PreDecrement e) = parenPrec p 1 $ text "--" <> prettyPrec 2 e - - prettyPrec p (PrePlus e) = parenPrec p 2 $ char '+' <> prettyPrec 2 e - - prettyPrec p (PreMinus e) = parenPrec p 2 $ char '-' <> prettyPrec 2 e - - prettyPrec p (PreBitCompl e) = parenPrec p 2 $ char '~' <> prettyPrec 2 e - - prettyPrec p (PreNot e) = parenPrec p 2 $ char '!' <> prettyPrec 2 e - - prettyPrec p (Cast t e) = parenPrec p 2 $ parens (prettyPrec p t) <+> prettyPrec 2 e - - prettyPrec p (BinOp e1 op e2) = - let prec = opPrec op in - parenPrec p prec (prettyPrec prec e1 <+> prettyPrec p op <+> prettyPrec prec e2) - - prettyPrec p (InstanceOf e rt) = - let cp = opPrec LThan in - parenPrec p cp $ prettyPrec cp e - <+> text "instanceof" <+> prettyPrec cp rt - - prettyPrec p (Cond c th el) = - parenPrec p 13 $ prettyPrec 13 c <+> char '?' - <+> prettyPrec p th <+> colon <+> prettyPrec 13 el - - prettyPrec p (Assign lhs aop e) = - hsep [prettyPrec p lhs, prettyPrec p aop, prettyPrec p e] - - prettyPrec p (Lambda params body) = - prettyPrec p params <+> text "->" <+> prettyPrec p body - - prettyPrec p (MethodRef i1 i2) = - prettyPrec p i1 <+> text "::" <+> prettyPrec p i2 - -instance Pretty LambdaParams where - prettyPrec p (LambdaSingleParam ident) = prettyPrec p ident - prettyPrec p (LambdaFormalParams params) = ppArgs params - prettyPrec p (LambdaInferredParams idents) = ppArgs idents - -instance Pretty LambdaExpression where - prettyPrec p (LambdaExpression exp) = prettyPrec p exp - prettyPrec p (LambdaBlock block) = prettyPrec p block - -instance Pretty Literal where - prettyPrec p (Int i) = text (show i) - prettyPrec p (Word i) = text (show i) <> char 'L' - prettyPrec p (Float f) = text (show f) <> char 'F' - prettyPrec p (Double d) = text (show d) - prettyPrec p (Boolean b) = text . map toLower $ show b - prettyPrec p (Char c) = quotes $ text (escapeChar c) - prettyPrec p (String s) = doubleQuotes $ text (concatMap escapeString s) - prettyPrec p (Null) = text "null" - -instance Pretty Op where - prettyPrec p op = text $ case op of - Mult -> "*" - Div -> "/" - Rem -> "%" - Add -> "+" - Sub -> "-" - LShift -> "<<" - RShift -> ">>" - RRShift -> ">>>" - LThan -> "<" - GThan -> ">" - LThanE -> "<=" - GThanE -> ">=" - Equal -> "==" - NotEq -> "!=" - And -> "&" - Xor -> "^" - Or -> "|" - CAnd -> "&&" - COr -> "||" - -instance Pretty AssignOp where - prettyPrec p aop = text $ case aop of - EqualA -> "=" - MultA -> "*=" - DivA -> "/=" - RemA -> "%=" - AddA -> "+=" - SubA -> "-=" - LShiftA -> "<<=" - RShiftA -> ">>=" - RRShiftA -> ">>>=" - AndA -> "&=" - XorA -> "^=" - OrA -> "|=" - -instance Pretty Lhs where - prettyPrec p (NameLhs name) = prettyPrec p name - prettyPrec p (FieldLhs fa) = prettyPrec p fa - prettyPrec p (ArrayLhs ain) = prettyPrec p ain - -instance Pretty ArrayIndex where - prettyPrec p (ArrayIndex ref e) = prettyPrec p ref <> (hcat $ map (brackets . (prettyPrec p)) e) - -instance Pretty FieldAccess where - prettyPrec p (PrimaryFieldAccess e ident) = - prettyPrec p e <> char '.' <> prettyPrec p ident - prettyPrec p (SuperFieldAccess ident) = - text "super." <> prettyPrec p ident - prettyPrec p (ClassFieldAccess name ident) = - prettyPrec p name <> text ".super." <> prettyPrec p ident - -instance Pretty MethodInvocation where - prettyPrec p (MethodCall name args) = - prettyPrec p name <> ppArgs args - - prettyPrec p (PrimaryMethodCall e tArgs ident args) = - hcat [prettyPrec p e, char '.', ppTypeParams p tArgs, - prettyPrec p ident, ppArgs args] - - prettyPrec p (SuperMethodCall tArgs ident args) = - hcat [text "super.", ppTypeParams p tArgs, - prettyPrec p ident, ppArgs args] - - prettyPrec p (ClassMethodCall name tArgs ident args) = - hcat [prettyPrec p name, text ".super.", ppTypeParams p tArgs, - prettyPrec p ident, ppArgs args] - - prettyPrec p (TypeMethodCall name tArgs ident args) = - hcat [prettyPrec p name, char '.', ppTypeParams p tArgs, - prettyPrec p ident, ppArgs args] - -instance Pretty ArrayInit where - prettyPrec p (ArrayInit vInits) = - braceBlock $ map (\v -> prettyPrec p v <> comma) vInits - --braces $ hsep (punctuate comma (map (prettyPrec p) vInits)) - - -ppArgs :: Pretty a => [a] -> Doc -ppArgs = parens . hsep . punctuate comma . map pretty - ------------------------------------------------------------------------ --- Types - -instance Pretty Type where - prettyPrec p (PrimType pt) = prettyPrec p pt - prettyPrec p (RefType rt) = prettyPrec p rt - -instance Pretty RefType where - prettyPrec p (ClassRefType ct) = prettyPrec p ct - prettyPrec p (ArrayType t) = prettyPrec p t <> text "[]" - -instance Pretty ClassType where - prettyPrec p (ClassType itas) = - hcat . punctuate (char '.') $ - map (\(i,tas) -> prettyPrec p i <> ppTypeParams p tas) itas - -instance Pretty TypeArgument where - prettyPrec p (ActualType rt) = prettyPrec p rt - prettyPrec p (Wildcard mBound) = char '?' <+> maybePP p mBound - -instance Pretty TypeDeclSpecifier where - prettyPrec p (TypeDeclSpecifier ct) = prettyPrec p ct - prettyPrec p (TypeDeclSpecifierWithDiamond ct i d) = prettyPrec p ct <> char '.' <> prettyPrec p i <> prettyPrec p d - prettyPrec p (TypeDeclSpecifierUnqualifiedWithDiamond i d) = prettyPrec p i <> prettyPrec p d - -instance Pretty Diamond where - prettyPrec p Diamond = text "<>" - -instance Pretty WildcardBound where - prettyPrec p (ExtendsBound rt) = text "extends" <+> prettyPrec p rt - prettyPrec p (SuperBound rt) = text "super" <+> prettyPrec p rt - -instance Pretty PrimType where - prettyPrec p BooleanT = text "boolean" - prettyPrec p ByteT = text "byte" - prettyPrec p ShortT = text "short" - prettyPrec p IntT = text "int" - prettyPrec p LongT = text "long" - prettyPrec p CharT = text "char" - prettyPrec p FloatT = text "float" - prettyPrec p DoubleT = text "double" - -instance Pretty TypeParam where - prettyPrec p (TypeParam ident rts) = - prettyPrec p ident - <+> opt (not $ null rts) - (hsep $ text "extends": - punctuate (text " &") (map (prettyPrec p) rts)) - -ppTypeParams :: Pretty a => Int -> [a] -> Doc -ppTypeParams _ [] = empty -ppTypeParams p tps = char '<' - <> hsep (punctuate comma (map (prettyPrec p) tps)) - <> char '>' - -ppImplements :: Int -> [RefType] -> Doc -ppImplements _ [] = empty -ppImplements p rts = text "implements" - <+> hsep (punctuate comma (map (prettyPrec p) rts)) - -ppExtends :: Int -> [RefType] -> Doc -ppExtends _ [] = empty -ppExtends p rts = text "extends" - <+> hsep (punctuate comma (map (prettyPrec p) rts)) - -ppThrows :: Int -> [ExceptionType] -> Doc -ppThrows _ [] = empty -ppThrows p ets = text "throws" - <+> hsep (punctuate comma (map (prettyPrec p) ets)) - -ppDefault :: Int -> Maybe Exp -> Doc -ppDefault _ Nothing = empty -ppDefault p (Just exp) = text "default" <+> prettyPrec p exp - -ppResultType :: Int -> Maybe Type -> Doc -ppResultType _ Nothing = text "void" -ppResultType p (Just a) = prettyPrec p a - ------------------------------------------------------------------------ --- Names and identifiers - -instance Pretty Name where - prettyPrec p (Name is) = - hcat (punctuate (char '.') $ map (prettyPrec p) is) - -instance Pretty Ident where - prettyPrec p (Ident s) = text s - - ------------------------------------------------------------------------ --- Help functionality -prettyNestedStmt :: Int -> Stmt -> Doc -prettyNestedStmt prio p@(StmtBlock b) = prettyPrec prio p -prettyNestedStmt prio p = nest 2 (prettyPrec prio p) - -maybePP :: Pretty a => Int -> Maybe a -> Doc -maybePP p = maybe empty (prettyPrec p) - -opt :: Bool -> Doc -> Doc -opt x a = if x then a else empty - -braceBlock :: [Doc] -> Doc -braceBlock xs = char '{' - $+$ nest 2 (vcat xs) - $+$ char '}' - -opPrec Mult = 3 -opPrec Div = 3 -opPrec Rem = 3 -opPrec Add = 4 -opPrec Sub = 4 -opPrec LShift = 5 -opPrec RShift = 5 -opPrec RRShift = 5 -opPrec LThan = 6 -opPrec GThan = 6 -opPrec LThanE = 6 -opPrec GThanE = 6 -opPrec Equal = 7 -opPrec NotEq = 7 -opPrec And = 8 -opPrec Xor = 9 -opPrec Or = 10 -opPrec CAnd = 11 -opPrec COr = 12 - -escapeGeneral :: Char -> String -escapeGeneral '\b' = "\\b" -escapeGeneral '\t' = "\\t" -escapeGeneral '\n' = "\\n" -escapeGeneral '\f' = "\\f" -escapeGeneral '\r' = "\\r" -escapeGeneral '\\' = "\\\\" -escapeGeneral c | c >= ' ' && c < '\DEL' = [c] - | c <= '\xFFFF' = printf "\\u%04x" (fromEnum c) - | otherwise = error $ "Language.Java.Pretty.escapeGeneral: Char " ++ show c ++ " too large for Java char" - -escapeChar :: Char -> String -escapeChar '\'' = "\\'" -escapeChar c = escapeGeneral c - -escapeString :: Char -> String -escapeString '"' = "\\\"" -escapeString c | c <= '\xFFFF' = escapeGeneral c - | otherwise = escapeGeneral lead ++ escapeGeneral trail - where c' = fromEnum c - 0x010000 - lead = toEnum $ 0xD800 + c' `div` 0x0400 - trail = toEnum $ 0xDC00 + c' `mod` 0x0400 diff --git a/src/Language/Java/Syntax.hs b/src/Language/Java/Syntax.hs deleted file mode 100644 index d64b8aa2539dc87112c8b353e1def96deace6fda..0000000000000000000000000000000000000000 --- a/src/Language/Java/Syntax.hs +++ /dev/null @@ -1,471 +0,0 @@ -{-# OPTIONS_GHC -fno-warn-missing-signatures #-} -{-# OPTIONS_GHC -fno-warn-name-shadowing #-} -{-# OPTIONS_GHC -fno-warn-unused-binds #-} -{-# OPTIONS_GHC -fno-warn-unused-matches #-} -{-# OPTIONS_GHC -fno-warn-unused-imports #-} -{-# LANGUAGE DeriveDataTypeable, DeriveGeneric #-} -module Language.Java.Syntax - ( CompilationUnit(..) - , PackageDecl(..) - , ImportDecl(..) - , TypeDecl(..) - , ClassDecl(..) - , ClassBody(..) - , EnumBody(..) - , EnumConstant(..) - , InterfaceDecl(..) - , InterfaceBody(..) - , InterfaceKind(..) - , Decl(..) - , MemberDecl(..) - , VarDecl(..) - , VarDeclId(..) - , VarInit(..) - , FormalParam(..) - , MethodBody(..) - , ConstructorBody(..) - , ExplConstrInv(..) - , Modifier(..) - , Annotation(..) - , desugarAnnotation - , desugarAnnotation' - , ElementValue(..) - , Block(..) - , BlockStmt(..) - , Stmt(..) - , Catch(..) - , SwitchBlock(..) - , SwitchLabel(..) - , ForInit(..) - , ExceptionType - , Argument - , Exp(..) - , Lhs(..) - , ArrayIndex(..) - , FieldAccess(..) - , LambdaParams(..) - , LambdaExpression(..) - , ArrayInit(..) - , MethodInvocation(..) - , module Language.Java.Syntax.Exp - , module Language.Java.Syntax.Types - ) where - -import Data.Data -import GHC.Generics (Generic) - -import Language.Java.Syntax.Types -import Language.Java.Syntax.Exp - ------------------------------------------------------------------------ --- Packages - - --- | A compilation unit is the top level syntactic goal symbol of a Java program. -data CompilationUnit = CompilationUnit (Maybe PackageDecl) [ImportDecl] [TypeDecl] - deriving (Eq,Show,Read,Typeable,Generic,Data) - - --- | A package declaration appears within a compilation unit to indicate the package to which the compilation unit belongs. -newtype PackageDecl = PackageDecl Name - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | An import declaration allows a static member or a named type to be referred to by a single unqualified identifier. --- The first argument signals whether the declaration only imports static members. --- The last argument signals whether the declaration brings all names in the named type or package, or only brings --- a single name into scope. -data ImportDecl - = ImportDecl Bool {- static? -} Name Bool {- .*? -} - deriving (Eq,Show,Read,Typeable,Generic,Data) - - ------------------------------------------------------------------------ --- Declarations - --- | A type declaration declares a class type or an interface type. -data TypeDecl - = ClassTypeDecl ClassDecl - | InterfaceTypeDecl InterfaceDecl - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A class declaration specifies a new named reference type. -data ClassDecl - = ClassDecl [Modifier] Ident [TypeParam] (Maybe RefType) [RefType] ClassBody - | EnumDecl [Modifier] Ident [RefType] EnumBody - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A class body may contain declarations of members of the class, that is, --- fields, classes, interfaces and methods. --- A class body may also contain instance initializers, static --- initializers, and declarations of constructors for the class. -newtype ClassBody = ClassBody [Decl] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | The body of an enum type may contain enum constants. -data EnumBody = EnumBody [EnumConstant] [Decl] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | An enum constant defines an instance of the enum type. -data EnumConstant = EnumConstant Ident [Argument] (Maybe ClassBody) - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | An interface declaration introduces a new reference type whose members --- are classes, interfaces, constants and abstract methods. This type has --- no implementation, but otherwise unrelated classes can implement it by --- providing implementations for its abstract methods. -data InterfaceDecl - = InterfaceDecl InterfaceKind [Modifier] Ident [TypeParam] [RefType] InterfaceBody - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | Interface can declare either a normal interface or an annotation -data InterfaceKind = InterfaceNormal | InterfaceAnnotation - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | The body of an interface may declare members of the interface. -newtype InterfaceBody - = InterfaceBody [MemberDecl] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A declaration is either a member declaration, or a declaration of an --- initializer, which may be static. -data Decl - = MemberDecl MemberDecl - | InitDecl Bool Block - deriving (Eq,Show,Read,Typeable,Generic,Data) - - --- | A class or interface member can be an inner class or interface, a field or --- constant, or a method or constructor. An interface may only have as members --- constants (not fields), abstract methods, and no constructors. -data MemberDecl - -- | The variables of a class type are introduced by field declarations. - = FieldDecl [Modifier] Type [VarDecl] - -- | A method declares executable code that can be invoked, passing a fixed number of values as arguments. - | MethodDecl [Modifier] [TypeParam] (Maybe Type) Ident [FormalParam] [ExceptionType] (Maybe Exp) MethodBody - -- | A constructor is used in the creation of an object that is an instance of a class. - | ConstructorDecl [Modifier] [TypeParam] Ident [FormalParam] [ExceptionType] ConstructorBody - -- | A member class is a class whose declaration is directly enclosed in another class or interface declaration. - | MemberClassDecl ClassDecl - -- | A member interface is an interface whose declaration is directly enclosed in another class or interface declaration. - | MemberInterfaceDecl InterfaceDecl - deriving (Eq,Show,Read,Typeable,Generic,Data) - - --- | A declaration of a variable, which may be explicitly initialized. -data VarDecl - = VarDecl VarDeclId (Maybe VarInit) - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | The name of a variable in a declaration, which may be an array. -data VarDeclId - = VarId Ident - | VarDeclArray VarDeclId - -- ^ Multi-dimensional arrays are represented by nested applications of 'VarDeclArray'. - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | Explicit initializer for a variable declaration. -data VarInit - = InitExp Exp - | InitArray ArrayInit - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A formal parameter in method declaration. The last parameter --- for a given declaration may be marked as variable arity, --- indicated by the boolean argument. -data FormalParam = FormalParam [Modifier] Type Bool VarDeclId - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A method body is either a block of code that implements the method or simply a --- semicolon, indicating the lack of an implementation (modelled by 'Nothing'). -newtype MethodBody = MethodBody (Maybe Block) - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | The first statement of a constructor body may be an explicit invocation of --- another constructor of the same class or of the direct superclass. -data ConstructorBody = ConstructorBody (Maybe ExplConstrInv) [BlockStmt] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | An explicit constructor invocation invokes another constructor of the --- same class, or a constructor of the direct superclass, which may --- be qualified to explicitly specify the newly created object's immediately --- enclosing instance. -data ExplConstrInv - = ThisInvoke [RefType] [Argument] - | SuperInvoke [RefType] [Argument] - | PrimarySuperInvoke Exp [RefType] [Argument] - deriving (Eq,Show,Read,Typeable,Generic,Data) - - --- | A modifier specifying properties of a given declaration. In general only --- a few of these modifiers are allowed for each declaration type, for instance --- a member type declaration may only specify one of public, private or protected. -data Modifier - = Public - | Private - | Protected - | Abstract - | Final - | Static - | StrictFP - | Transient - | Volatile - | Native - | Annotation Annotation - | Synchronized_ - deriving (Eq,Read,Typeable,Generic,Data) - -instance Show Modifier where - show Public = "public" - show Private = "private" - show Protected = "protected" - show Abstract = "abstract" - show Final = "final" - show Static = "static" - show StrictFP = "strictfp" - show Transient = "transient" - show Volatile = "volatile" - show Native = "native" - show (Annotation a) = show a - show Synchronized_ = "synchronized" - --- | Annotations have three different forms: no-parameter, single-parameter or key-value pairs -data Annotation = NormalAnnotation { annName :: Name -- Not type because not type generics not allowed - , annKV :: [(Ident, ElementValue)] } - | SingleElementAnnotation { annName :: Name - , annValue:: ElementValue } - | MarkerAnnotation { annName :: Name } - deriving (Eq,Show,Read,Typeable,Generic,Data) - -desugarAnnotation (MarkerAnnotation n) = (n, []) -desugarAnnotation (SingleElementAnnotation n e) = (n, [(Ident "value", e)]) -desugarAnnotation (NormalAnnotation n kv) = (n, kv) -desugarAnnotation' = uncurry NormalAnnotation . desugarAnnotation - --- | Annotations may contain annotations or (loosely) expressions -data ElementValue = EVVal VarInit - | EVAnn Annotation - deriving (Eq,Show,Read,Typeable,Generic,Data) - ------------------------------------------------------------------------ --- Statements - --- | A block is a sequence of statements, local class declarations --- and local variable declaration statements within braces. -data Block = Block [BlockStmt] - deriving (Eq,Show,Read,Typeable,Generic,Data) - - - --- | A block statement is either a normal statement, a local --- class declaration or a local variable declaration. -data BlockStmt - = BlockStmt Stmt - | LocalClass ClassDecl - | LocalVars [Modifier] Type [VarDecl] - deriving (Eq,Show,Read,Typeable,Generic,Data) - - --- | A Java statement. -data Stmt - -- | A statement can be a nested block. - = StmtBlock Block - -- | The @if-then@ statement allows conditional execution of a statement. - | IfThen Exp Stmt - -- | The @if-then-else@ statement allows conditional choice of two statements, executing one or the other but not both. - | IfThenElse Exp Stmt Stmt - -- | The @while@ statement executes an expression and a statement repeatedly until the value of the expression is false. - | While Exp Stmt - -- | The basic @for@ statement executes some initialization code, then executes an expression, a statement, and some - -- update code repeatedly until the value of the expression is false. - | BasicFor (Maybe ForInit) (Maybe Exp) (Maybe [Exp]) Stmt - -- | The enhanced @for@ statement iterates over an array or a value of a class that implements the @iterator@ interface. - | EnhancedFor [Modifier] Type Ident Exp Stmt - -- | An empty statement does nothing. - | Empty - -- | Certain kinds of expressions may be used as statements by following them with semicolons: - -- assignments, pre- or post-inc- or decrementation, method invocation or class instance - -- creation expressions. - | ExpStmt Exp - -- | An assertion is a statement containing a boolean expression, where an error is reported if the expression - -- evaluates to false. - | Assert Exp (Maybe Exp) - -- | The switch statement transfers control to one of several statements depending on the value of an expression. - | Switch Exp [SwitchBlock] - -- | The @do@ statement executes a statement and an expression repeatedly until the value of the expression is false. - | Do Stmt Exp - -- | A @break@ statement transfers control out of an enclosing statement. - | Break (Maybe Ident) - -- | A @continue@ statement may occur only in a while, do, or for statement. Control passes to the loop-continuation - -- point of that statement. - | Continue (Maybe Ident) - -- A @return@ statement returns control to the invoker of a method or constructor. - | Return (Maybe Exp) - -- | A @synchronized@ statement acquires a mutual-exclusion lock on behalf of the executing thread, executes a block, - -- then releases the lock. While the executing thread owns the lock, no other thread may acquire the lock. - | Synchronized Exp Block - -- | A @throw@ statement causes an exception to be thrown. - | Throw Exp - -- | A try statement executes a block. If a value is thrown and the try statement has one or more catch clauses that - -- can catch it, then control will be transferred to the first such catch clause. If the try statement has a finally - -- clause, then another block of code is executed, no matter whether the try block completes normally or abruptly, - -- and no matter whether a catch clause is first given control. - | Try Block [Catch] (Maybe {- finally -} Block) - -- | Statements may have label prefixes. - | Labeled Ident Stmt - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | If a value is thrown and the try statement has one or more catch clauses that can catch it, then control will be --- transferred to the first such catch clause. -data Catch = Catch FormalParam Block - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A block of code labelled with a @case@ or @default@ within a @switch@ statement. -data SwitchBlock - = SwitchBlock SwitchLabel [BlockStmt] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A label within a @switch@ statement. -data SwitchLabel - -- | The expression contained in the @case@ must be a 'Lit' or an @enum@ constant. - = SwitchCase Exp - | Default - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | Initialization code for a basic @for@ statement. -data ForInit - = ForLocalVars [Modifier] Type [VarDecl] - | ForInitExps [Exp] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | An exception type has to be a class type or a type variable. -type ExceptionType = RefType -- restricted to ClassType or TypeVariable - --- | Arguments to methods and constructors are expressions. -type Argument = Exp - --- | A Java expression. -data Exp - -- | A literal denotes a fixed, unchanging value. - = Lit Literal - -- | A class literal, which is an expression consisting of the name of a class, interface, array, - -- or primitive type, or the pseudo-type void (modelled by 'Nothing'), followed by a `.' and the token class. - | ClassLit (Maybe Type) - -- | The keyword @this@ denotes a value that is a reference to the object for which the instance method - -- was invoked, or to the object being constructed. - | This - -- | Any lexically enclosing instance can be referred to by explicitly qualifying the keyword this. - | ThisClass Name - -- | A class instance creation expression is used to create new objects that are instances of classes. - -- | The first argument is a list of non-wildcard type arguments to a generic constructor. - -- What follows is the type to be instantiated, the list of arguments passed to the constructor, and - -- optionally a class body that makes the constructor result in an object of an /anonymous/ class. - | InstanceCreation [TypeArgument] TypeDeclSpecifier [Argument] (Maybe ClassBody) - -- | A qualified class instance creation expression enables the creation of instances of inner member classes - -- and their anonymous subclasses. - | QualInstanceCreation Exp [TypeArgument] Ident [Argument] (Maybe ClassBody) - -- | An array instance creation expression is used to create new arrays. The last argument denotes the number - -- of dimensions that have no explicit length given. These dimensions must be given last. - | ArrayCreate Type [Exp] Int - -- | An array instance creation expression may come with an explicit initializer. Such expressions may not - -- be given explicit lengths for any of its dimensions. - | ArrayCreateInit Type Int ArrayInit - -- | A field access expression. - | FieldAccess FieldAccess - -- | A method invocation expression. - | MethodInv MethodInvocation - -- | An array access expression refers to a variable that is a component of an array. - | ArrayAccess ArrayIndex -{- | ArrayAccess Exp Exp -- Should this be made into a datatype, for consistency and use with Lhs? -} - -- | An expression name, e.g. a variable. - | ExpName Name - -- | Post-incrementation expression, i.e. an expression followed by @++@. - | PostIncrement Exp - -- | Post-decrementation expression, i.e. an expression followed by @--@. - | PostDecrement Exp - -- | Pre-incrementation expression, i.e. an expression preceded by @++@. - | PreIncrement Exp - -- | Pre-decrementation expression, i.e. an expression preceded by @--@. - | PreDecrement Exp - -- | Unary plus, the promotion of the value of the expression to a primitive numeric type. - | PrePlus Exp - -- | Unary minus, the promotion of the negation of the value of the expression to a primitive numeric type. - | PreMinus Exp - -- | Unary bitwise complementation: note that, in all cases, @~x@ equals @(-x)-1@. - | PreBitCompl Exp - -- | Logical complementation of boolean values. - | PreNot Exp - -- | A cast expression converts, at run time, a value of one numeric type to a similar value of another - -- numeric type; or confirms, at compile time, that the type of an expression is boolean; or checks, - -- at run time, that a reference value refers to an object whose class is compatible with a specified - -- reference type. - | Cast Type Exp - -- | The application of a binary operator to two operand expressions. - | BinOp Exp Op Exp - -- | Testing whether the result of an expression is an instance of some reference type. - | InstanceOf Exp RefType - -- | The conditional operator @? :@ uses the boolean value of one expression to decide which of two other - -- expressions should be evaluated. - | Cond Exp Exp Exp - -- | Assignment of the result of an expression to a variable. - | Assign Lhs AssignOp Exp - -- | Lambda expression - | Lambda LambdaParams LambdaExpression - -- | Method reference - | MethodRef Name Ident - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | The left-hand side of an assignment expression. This operand may be a named variable, such as a local --- variable or a field of the current object or class, or it may be a computed variable, as can result from --- a field access or an array access. -data Lhs - = NameLhs Name -- ^ Assign to a variable - | FieldLhs FieldAccess -- ^ Assign through a field access - | ArrayLhs ArrayIndex -- ^ Assign to an array - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | Array access -data ArrayIndex = ArrayIndex Exp [Exp] -- ^ Index into an array - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A field access expression may access a field of an object or array, a reference to which is the value --- of either an expression or the special keyword super. -data FieldAccess - = PrimaryFieldAccess Exp Ident -- ^ Accessing a field of an object or array computed from an expression. - | SuperFieldAccess Ident -- ^ Accessing a field of the superclass. - | ClassFieldAccess Name Ident -- ^ Accessing a (static) field of a named class. - deriving (Eq,Show,Read,Typeable,Generic,Data) - - --- ¦ A lambda parameter can be a single parameter, or mulitple formal or mulitple inferred parameters -data LambdaParams - = LambdaSingleParam Ident - | LambdaFormalParams [FormalParam] - | LambdaInferredParams [Ident] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | Lambda expression, starting from java 8 -data LambdaExpression - = LambdaExpression Exp - | LambdaBlock Block - deriving (Eq,Show,Read,Typeable,Generic,Data) - - --- | A method invocation expression is used to invoke a class or instance method. -data MethodInvocation - -- | Invoking a specific named method. - = MethodCall Name [Argument] - -- | Invoking a method of a class computed from a primary expression, giving arguments for any generic type parameters. - | PrimaryMethodCall Exp [RefType] Ident [Argument] - -- | Invoking a method of the super class, giving arguments for any generic type parameters. - | SuperMethodCall [RefType] Ident [Argument] - -- | Invoking a method of the superclass of a named class, giving arguments for any generic type parameters. - | ClassMethodCall Name [RefType] Ident [Argument] - -- | Invoking a method of a named type, giving arguments for any generic type parameters. - | TypeMethodCall Name [RefType] Ident [Argument] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | An array initializer may be specified in a declaration, or as part of an array creation expression, creating an --- array and providing some initial values -data ArrayInit - = ArrayInit [VarInit] - deriving (Eq,Show,Read,Typeable,Generic,Data) diff --git a/src/Language/Java/Syntax/Exp.hs b/src/Language/Java/Syntax/Exp.hs deleted file mode 100644 index 80e4613b4a1d26890cd1901bc3bd85c6ddfe597e..0000000000000000000000000000000000000000 --- a/src/Language/Java/Syntax/Exp.hs +++ /dev/null @@ -1,28 +0,0 @@ -{-# LANGUAGE DeriveDataTypeable, DeriveGeneric #-} -module Language.Java.Syntax.Exp where - -import Data.Data -import GHC.Generics (Generic) - --- | A literal denotes a fixed, unchanging value. -data Literal - = Int Integer - | Word Integer - | Float Double - | Double Double - | Boolean Bool - | Char Char - | String String - | Null - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A binary infix operator. -data Op = Mult | Div | Rem | Add | Sub | LShift | RShift | RRShift - | LThan | GThan | LThanE | GThanE | Equal | NotEq - | And | Or | Xor | CAnd | COr - deriving (Eq,Show,Read,Typeable,Generic,Data,Enum,Bounded) - --- | An assignment operator. -data AssignOp = EqualA | MultA | DivA | RemA | AddA | SubA - | LShiftA | RShiftA | RRShiftA | AndA | XorA | OrA - deriving (Eq,Show,Read,Typeable,Generic,Data,Enum,Bounded) diff --git a/src/Language/Java/Syntax/Types.hs b/src/Language/Java/Syntax/Types.hs deleted file mode 100644 index ae8adbee9f029c35e7c1b33558fcd580eeb167f2..0000000000000000000000000000000000000000 --- a/src/Language/Java/Syntax/Types.hs +++ /dev/null @@ -1,77 +0,0 @@ -{-# LANGUAGE DeriveDataTypeable, DeriveGeneric #-} -module Language.Java.Syntax.Types where - -import Data.Data -import GHC.Generics (Generic) - --- | There are two kinds of types in the Java programming language: primitive types and reference types. -data Type - = PrimType PrimType - | RefType RefType - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | There are three kinds of reference types: class types, interface types, and array types. --- Reference types may be parameterized with type arguments. --- Type variables cannot be syntactically distinguished from class type identifiers, --- and are thus represented uniformly as single ident class types. -data RefType - = ClassRefType ClassType - {- | TypeVariable Ident -} - | ArrayType Type - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A class or interface type consists of a type declaration specifier, --- optionally followed by type arguments (in which case it is a parameterized type). -data ClassType - = ClassType [(Ident, [TypeArgument])] - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | Type arguments may be either reference types or wildcards. -data TypeArgument - = Wildcard (Maybe WildcardBound) - | ActualType RefType - deriving (Eq,Show,Read,Typeable,Generic,Data) - -data TypeDeclSpecifier - = TypeDeclSpecifier ClassType - | TypeDeclSpecifierWithDiamond ClassType Ident Diamond - | TypeDeclSpecifierUnqualifiedWithDiamond Ident Diamond - deriving (Eq,Show,Read,Typeable,Generic,Data) - -data Diamond = Diamond - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | Wildcards may be given explicit bounds, either upper (@extends@) or lower (@super@) bounds. -data WildcardBound - = ExtendsBound RefType - | SuperBound RefType - deriving (Eq,Show,Read,Typeable,Generic,Data) - --- | A primitive type is predefined by the Java programming language and named by its reserved keyword. -data PrimType - = BooleanT - | ByteT - | ShortT - | IntT - | LongT - | CharT - | FloatT - | DoubleT - deriving (Eq,Show,Read,Typeable,Generic,Data,Enum,Bounded) - - --- | A class is generic if it declares one or more type variables. These type variables are known --- as the type parameters of the class. -data TypeParam = TypeParam Ident [RefType] - deriving (Eq,Show,Read,Typeable,Generic,Data) - ------------------------------------------------------------------------ --- Names and identifiers - --- | A single identifier. -data Ident = Ident String - deriving (Eq,Ord,Show,Read,Typeable,Generic,Data) - --- | A name, i.e. a period-separated list of identifiers. -data Name = Name [Ident] - deriving (Eq,Ord,Show,Read,Typeable,Generic,Data) diff --git a/src/Language/README.md b/src/Language/README.md deleted file mode 100644 index f782e1c36ecdca900ad4167bbb64f1c999e8d347..0000000000000000000000000000000000000000 --- a/src/Language/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# language-java - -This is an updated copy of the [language-java](https://github.com/mrexodia/language-java) package. diff --git a/stack.yaml b/stack.yaml index 9a83bebe9d525aa0a08a98668a185105fcf16720..7ff9b58b42d478677aa863ac140bd2e40846c07e 100644 --- a/stack.yaml +++ b/stack.yaml @@ -7,3 +7,4 @@ packages: extra-deps: - z3-4.1.2 +- language-java-0.2.9 diff --git a/test/Spec.hs b/test/Spec.hs index 73a031d86b078d1def6cb3304a9ba9650b40bb4c..d590fbe662ee1b9d3471df7e65dcbf6371f7f5a6 100644 --- a/test/Spec.hs +++ b/test/Spec.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE ScopedTypeVariables #-} import Test.Framework (defaultMain, testGroup) import Test.Framework.Providers.HUnit @@ -8,6 +9,7 @@ import TModelParser import TFeedback import TNormalizer +main :: IO () main = defaultMain [ constructTestSuite testName testSuite | (testName, testSuite) <- [ @@ -22,4 +24,4 @@ main = defaultMain ] where constructTestSuite s suite = - testGroup s [testCase (s ++ "_" ++ show i) t | (i, t) <- zip [1..] suite] + testGroup s [testCase (s ++ "_" ++ show i) t | (i :: Int, t) <- zip [1..] suite]