# OPTIONS_GHC -fno - warn - unused - binds -fno - warn - missing - signatures #
# LANGUAGE CPP #
{-# LINE 1 "res/Lexer.x" #-}

module Lexer (lexermain, scanTokens, Token (..)) where

#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" #-}
-- -----------------------------------------------------------------------------
   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)
















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
















































































-- -----------------------------------------------------------------------------
-- 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 .














-- -----------------------------------------------------------------------------
-- Default monad
















































































































-- -----------------------------------------------------------------------------
  Monad ( with ByteString input )







































































































-- -----------------------------------------------------------------------------
-- Basic wrapper


type AlexInput = (Char,[Byte],String)

alexInputPrevChar :: AlexInput -> Char
alexInputPrevChar (c,_,_) = c

-- alexScanTokens :: String -> [token]
alexScanTokens str = go ('\n',[],str)
  where go inp__@(_,_bs,s) =
          case alexScan inp__ 0 of
                AlexEOF -> []
                AlexError _ -> error "lexical error"
                AlexSkip  inp__' _ln     -> go inp__'
                AlexToken inp__' len act -> act (take len s) : go inp__'

alexGetByte :: AlexInput -> Maybe (Byte,AlexInput)
alexGetByte (c,(b:bs),s) = Just (b,(c,bs,s))
alexGetByte (_,[],[])    = Nothing
alexGetByte (_,[],(c:s)) = case utf8Encode c of
                             (b:bs) -> Just (b, (c, bs, s))
                             [] -> Nothing



-- -----------------------------------------------------------------------------
  Basic wrapper , ByteString version
































-- -----------------------------------------------------------------------------
-- Posn wrapper

-- Adds text positions to the basic model.













-- -----------------------------------------------------------------------------
  Posn wrapper , ByteString version














-- -----------------------------------------------------------------------------
-- GScan wrapper

  For compatibility with previous versions of  , and because we can .














alex_tab_size :: Int
alex_tab_size = 8
alex_base :: Array Int Int
alex_base = listArray (0 :: Int, 160)
  [ -8
  , -105
  , -104
  , -13
  , -89
  , -102
  , -91
  , -90
  , -88
  , -85
  , 115
  , -92
  , -87
  , 243
  , -83
  , -97
  , 371
  , -80
  , -96
  , -101
  , -94
  , -95
  , -78
  , -74
  , -77
  , -84
  , -82
  , -75
  , -79
  , -86
  , -63
  , -61
  , -70
  , -46
  , -45
  , -53
  , -25
  , -26
  , 53
  , -22
  , 55
  , 56
  , 525
  , 520
  , 513
  , 518
  , 521
  , 522
  , 526
  , 519
  , 527
  , 603
  , 532
  , 606
  , 607
  , 534
  , 608
  , 611
  , 0
  , 501
  , 649
  , 650
  , 655
  , 0
  , 569
  , 715
  , 726
  , 728
  , 725
  , 784
  , 0
  , 703
  , 959
  , 895
  , 0
  , 785
  , 0
  , 960
  , 1206
  , 788
  , 723
  , 724
  , 727
  , 789
  , 1462
  , 1049
  , 0
  , 1296
  , 1580
  , 0
  , 0
  , 1552
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 1797
  , 1881
  , 1965
  , 1169
  , 1995
  , 2212
  , 2296
  , 0
  , 791
  , 2380
  , 0
  , 0
  , 0
  , 0
  , 776
  , 777
  , 0
  , 0
  , 2464
  , 2548
  , 2632
  , 2716
  , 2800
  , 2884
  , 2968
  , 3052
  , 3136
  , 3220
  , 3304
  , 3388
  , 3472
  , 3556
  , 3640
  , 3724
  , 3808
  , 3892
  , 3976
  , 4060
  , 4144
  , 4228
  , 4312
  , 4396
  , 4480
  , 4564
  , 4648
  , 4732
  , 4816
  , 4900
  , 4984
  , 5068
  , 5152
  , 5236
  , 5327
  , 5418
  , 5509
  , 5600
  , 5684
  , 5768
  , 5852
  , 5936
  , 6020
  , 6104
  , 6188
  ]

alex_table :: Array Int Int
alex_table = listArray (0 :: Int, 6443)
  [ 0
  , 87
  , 87
  , 87
  , 87
  , 87
  , 90
  , 97
  , 1
  , 82
  , 81
  , 80
  , 2
  , 4
  , 65
  , 79
  , 68
  , 62
  , 9
  , 56
  , 53
  , 52
  , 18
  , 50
  , 87
  , 51
  , 78
  , 49
  , 20
  , 47
  , 46
  , 41
  , 110
  , 111
  , 108
  , 105
  , 44
  , 106
  , 40
  , 109
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 29
  , 31
  , 112
  , 39
  , 113
  , 36
  , 35
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 134
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 38
  , 33
  , 32
  , 30
  , 42
  , 28
  , 121
  , 145
  , 154
  , 145
  , 145
  , 145
  , 145
  , 145
  , 120
  , 145
  , 145
  , 145
  , 129
  , 127
  , 136
  , 135
  , 145
  , 145
  , 131
  , 145
  , 145
  , 145
  , 144
  , 145
  , 145
  , 145
  , 84
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 3
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 72
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 13
  , 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
  , 27
  , 26
  , 25
  , 48
  , 24
  , 22
  , 19
  , 21
  , 55
  , 57
  , 54
  , 17
  , 60
  , 14
  , 34
  , 15
  , 61
  , 64
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 12
  , 11
  , 69
  , 73
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 8
  , 7
  , 23
  , 6
  , 5
  , 75
  , 83
  , 96
  , 95
  , 94
  , 89
  , 88
  , 114
  , 115
  , 92
  , 0
  , 0
  , 0
  , 0
  , 0
  , 37
  , 77
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 85
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 102
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 87
  , 87
  , 87
  , 87
  , 87
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 87
  , 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
  , 72
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 73
  , 13
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 64
  , 16
  , 58
  , 58
  , 58
  , 59
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 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
  , 84
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 85
  , 3
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 77
  , 10
  , 70
  , 70
  , 70
  , 71
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , -1
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 102
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 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
  , 72
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 73
  , 13
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 64
  , 16
  , 58
  , 58
  , 58
  , 59
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 91
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 93
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 99
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 103
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 140
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 104
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 107
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 160
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 119
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 159
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 122
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 158
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 157
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 132
  , 145
  , 145
  , 145
  , 156
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 123
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 124
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 125
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 130
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 155
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 133
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 153
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 152
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 137
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 138
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 139
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 151
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 149
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 148
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 143
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 147
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 142
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 150
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 141
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 43
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 45
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 66
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 67
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 128
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 146
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 126
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 118
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 117
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 116
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 100
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 98
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 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, 6443)
  [ -1
  , 9
  , 10
  , 11
  , 12
  , 13
  , 111
  , 111
  , 97
  , 111
  , 101
  , 101
  , 97
  , 105
  , 111
  , 103
  , 99
  , 97
  , 105
  , 115
  , 121
  , 115
  , 117
  , 97
  , 32
  , 103
  , 34
  , 111
  , 105
  , 111
  , 105
  , 117
  , 40
  , 41
  , 42
  , 43
  , 115
  , 45
  , 101
  , 47
  , 48
  , 49
  , 50
  , 51
  , 52
  , 53
  , 54
  , 55
  , 56
  , 57
  , 111
  , 121
  , 60
  , 99
  , 62
  , 108
  , 101
  , 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
  , 108
  , 110
  , 32
  , 108
  , 32
  , 32
  , 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
  , 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
  , 102
  , 108
  , 116
  , 112
  , 110
  , 110
  , 114
  , 108
  , 32
  , 104
  , 110
  , 32
  , 32
  , 32
  , 116
  , 108
  , 32
  , 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
  , 108
  , 108
  , 104
  , 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
  , 110
  , 100
  , 99
  , 100
  , 104
  , 46
  , 46
  , 44
  , 110
  , 110
  , 46
  , 45
  , 61
  , 61
  , 112
  , -1
  , -1
  , -1
  , -1
  , -1
  , 117
  , 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
  , 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
  , 48
  , 49
  , 50
  , 51
  , 52
  , 53
  , 54
  , 55
  , 56
  , 57
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 34
  , 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
  , 9
  , 10
  , 11
  , 12
  , 13
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 32
  , -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
  , 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
  , 10
  , 39
  , -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
  , 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
  , 39
  , -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
  , 39
  , -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
  , 39
  , 10
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 48
  , 49
  , 50
  , 51
  , 52
  , 53
  , 54
  , 55
  , 56
  , 57
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 34
  , 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
  , 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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 48
  , 49
  , 50
  , 51
  , 52
  , 53
  , 54
  , 55
  , 56
  , 57
  , -1
  , -1
  , -1
  , -1
  , -1
  , 63
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 32
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 39
  , -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
  , 32
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 39
  , -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
  , 32
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 39
  , -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
  , 32
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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, 160)
  [ -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 63
  , 63
  , -1
  , -1
  , -1
  , 74
  , 74
  , -1
  , -1
  , -1
  , -1
  , -1
  , 76
  , 76
  , 78
  , 78
  , 78
  , -1
  , 86
  , 86
  , 78
  , -1
  , -1
  , -1
  , -1
  , -1
  , 88
  , 88
  , 88
  , -1
  , 88
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 78
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -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, 160)
  [ 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
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccSkip
  , AlexAccSkip
  , 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, 72)
  [ (71,alex_action_2)
  , (70,alex_action_3)
  , (69,alex_action_4)
  , (68,alex_action_5)
  , (67,alex_action_6)
  , (66,alex_action_7)
  , (65,alex_action_8)
  , (64,alex_action_9)
  , (63,alex_action_10)
  , (62,alex_action_11)
  , (61,alex_action_12)
  , (60,alex_action_13)
  , (59,alex_action_14)
  , (58,alex_action_15)
  , (57,alex_action_16)
  , (56,alex_action_17)
  , (55,alex_action_18)
  , (54,alex_action_19)
  , (53,alex_action_20)
  , (52,alex_action_21)
  , (51,alex_action_22)
  , (50,alex_action_23)
  , (49,alex_action_24)
  , (48,alex_action_25)
  , (47,alex_action_26)
  , (46,alex_action_27)
  , (45,alex_action_28)
  , (44,alex_action_29)
  , (43,alex_action_30)
  , (42,alex_action_30)
  , (41,alex_action_30)
  , (40,alex_action_30)
  , (39,alex_action_30)
  , (38,alex_action_30)
  , (37,alex_action_30)
  , (36,alex_action_30)
  , (35,alex_action_30)
  , (34,alex_action_30)
  , (33,alex_action_30)
  , (32,alex_action_30)
  , (31,alex_action_30)
  , (30,alex_action_30)
  , (29,alex_action_30)
  , (28,alex_action_30)
  , (27,alex_action_30)
  , (26,alex_action_30)
  , (25,alex_action_30)
  , (24,alex_action_30)
  , (23,alex_action_30)
  , (22,alex_action_30)
  , (21,alex_action_30)
  , (20,alex_action_30)
  , (19,alex_action_30)
  , (18,alex_action_30)
  , (17,alex_action_30)
  , (16,alex_action_30)
  , (15,alex_action_30)
  , (14,alex_action_30)
  , (13,alex_action_30)
  , (12,alex_action_30)
  , (11,alex_action_30)
  , (10,alex_action_30)
  , (9,alex_action_30)
  , (8,alex_action_30)
  , (7,alex_action_30)
  , (6,alex_action_30)
  , (5,alex_action_30)
  , (4,alex_action_30)
  , (3,alex_action_30)
  , (2,alex_action_30)
  , (1,alex_action_30)
  , (0,alex_action_30)
  ]

# LINE 43 " res / Lexer.x " #

-- Each action has type :: String -> Token

-- The token type:
data Token =
  TProgStart |
  TProgEnd   |
  TLet     |
  TConst     |
  TIf        |
  TThen      |
  TElse      |
  TWhile     |
  TEndBlock     |
  TThrow     |
  TPrint     |
  TRead     |
  TLit String |
  TEq |
  TEqCmp |
  TPlus |
  TMinus |
  TTimes |
  TDiv |
  TLParen |
  TRParen |
  TLArrow |
  TRArrow |
  TLEArrow |
  TREArrow |
  TNeq |
  TVar String  |
  TInt Int
  deriving (Eq, Show)

scanTokens = alexScanTokens

lexermain = do
  s <- getContents
  print (alexScanTokens s)

alex_action_2 = \s -> TProgStart
alex_action_3 = \s -> TProgEnd
alex_action_4 =  \s -> TLet 
alex_action_5 =  \s -> TConst 
alex_action_6 =  \s -> TIf 
alex_action_7 =  \s -> TThen 
alex_action_8 =  \s -> TElse 
alex_action_9 =  \s -> TWhile 
alex_action_10 =  \s -> TEndBlock 
alex_action_11 =  \s -> TThrow 
alex_action_12 =  \s -> TPrint 
alex_action_13 =  \s -> TRead 
alex_action_14 =  \s -> TInt (read s) 
alex_action_15 =  \s -> TLit s 
alex_action_16 =  \s -> TEqCmp 
alex_action_17 =  \s -> TEq 
alex_action_18 =  \s -> TPlus 
alex_action_19 =  \s -> TMinus 
alex_action_20 =  \s -> TMinus 
alex_action_21 =  \s -> TTimes 
alex_action_22 =  \s -> TDiv 
alex_action_23 =  \s -> TLParen 
alex_action_24 =  \s -> TRParen 
alex_action_25 =  \s -> TLArrow 
alex_action_26 =  \s -> TRArrow 
alex_action_27 =  \s -> TLEArrow 
alex_action_28 =  \s -> TREArrow 
alex_action_29 =  \s -> TNeq 
alex_action_30 =  \s -> TVar s 
{-# 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































































alexIndexInt16OffAddr arr off = arr ! off




















alexIndexInt32OffAddr arr off = arr ! off











quickIndex arr i = arr ! i


-- -----------------------------------------------------------------------------
-- Main lexing routines

data AlexReturn a
  = AlexEOF
  | AlexError  !AlexInput
  | AlexSkip   !AlexInput !Int
  | AlexToken  !AlexInput !Int a

  alexScan : :  - > 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 : :    AlexAccPred _
alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__

alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__)

alexPrevCharIsOneOfPred : :      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 .


# LINE 1 "res/Lexer.x" #
# LINE 1 "templates/wrappers.hs" #
 -----------------------------------------------------------------------------

 This code is in the PUBLIC DOMAIN; you may copy it freely and use
 it for any purpose whatsoever.
 | Encode a Haskell String to a list of Word8 values, in UTF8 format.
 -----------------------------------------------------------------------------
 The input type
 -----------------------------------------------------------------------------
 Token positions
 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,
 -----------------------------------------------------------------------------
 Default monad
 -----------------------------------------------------------------------------
 -----------------------------------------------------------------------------
 Basic wrapper
 alexScanTokens :: String -> [token]
 -----------------------------------------------------------------------------
 -----------------------------------------------------------------------------
 Posn wrapper
 Adds text positions to the basic model.
 -----------------------------------------------------------------------------
 -----------------------------------------------------------------------------
 GScan wrapper
 Each action has type :: String -> Token
 The token type:
# 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.
 -----------------------------------------------------------------------------
 -----------------------------------------------------------------------------
 Main lexing routines
 state it encountered.
 strict in the input
 on an error, we want to keep the input *before* the
 character that failed, not after.
 -----------------------------------------------------------------------------
 Predicates on a rule
alexRightContext :: Int -> AlexAccPred _
 TODO: there's no need to find the longest
 match when checking the right context, just
# OPTIONS_GHC -fno - warn - unused - binds -fno - warn - missing - signatures #
# LANGUAGE CPP #

module Lexer (lexermain, scanTokens, Token (..)) where

#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
   wrapper code .






import Data.Word (Word8)
















import Data.Char (ord)
import qualified Data.Bits

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


















































































  ` Posn ' records the location of a token in the input text .   It has three
  assuming the usual eight character tab stops .






























































































































  Monad ( with ByteString input )









































































































type AlexInput = (Char,[Byte],String)

alexInputPrevChar :: AlexInput -> Char
alexInputPrevChar (c,_,_) = c

alexScanTokens str = go ('\n',[],str)
  where go inp__@(_,_bs,s) =
          case alexScan inp__ 0 of
                AlexEOF -> []
                AlexError _ -> error "lexical error"
                AlexSkip  inp__' _ln     -> go inp__'
                AlexToken inp__' len act -> act (take len s) : go inp__'

alexGetByte :: AlexInput -> Maybe (Byte,AlexInput)
alexGetByte (c,(b:bs),s) = Just (b,(c,bs,s))
alexGetByte (_,[],[])    = Nothing
alexGetByte (_,[],(c:s)) = case utf8Encode c of
                             (b:bs) -> Just (b, (c, bs, s))
                             [] -> Nothing



  Basic wrapper , ByteString version














































  Posn wrapper , ByteString version















  For compatibility with previous versions of  , and because we can .














alex_tab_size :: Int
alex_tab_size = 8
alex_base :: Array Int Int
alex_base = listArray (0 :: Int, 160)
  [ -8
  , -105
  , -104
  , -13
  , -89
  , -102
  , -91
  , -90
  , -88
  , -85
  , 115
  , -92
  , -87
  , 243
  , -83
  , -97
  , 371
  , -80
  , -96
  , -101
  , -94
  , -95
  , -78
  , -74
  , -77
  , -84
  , -82
  , -75
  , -79
  , -86
  , -63
  , -61
  , -70
  , -46
  , -45
  , -53
  , -25
  , -26
  , 53
  , -22
  , 55
  , 56
  , 525
  , 520
  , 513
  , 518
  , 521
  , 522
  , 526
  , 519
  , 527
  , 603
  , 532
  , 606
  , 607
  , 534
  , 608
  , 611
  , 0
  , 501
  , 649
  , 650
  , 655
  , 0
  , 569
  , 715
  , 726
  , 728
  , 725
  , 784
  , 0
  , 703
  , 959
  , 895
  , 0
  , 785
  , 0
  , 960
  , 1206
  , 788
  , 723
  , 724
  , 727
  , 789
  , 1462
  , 1049
  , 0
  , 1296
  , 1580
  , 0
  , 0
  , 1552
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 1797
  , 1881
  , 1965
  , 1169
  , 1995
  , 2212
  , 2296
  , 0
  , 791
  , 2380
  , 0
  , 0
  , 0
  , 0
  , 776
  , 777
  , 0
  , 0
  , 2464
  , 2548
  , 2632
  , 2716
  , 2800
  , 2884
  , 2968
  , 3052
  , 3136
  , 3220
  , 3304
  , 3388
  , 3472
  , 3556
  , 3640
  , 3724
  , 3808
  , 3892
  , 3976
  , 4060
  , 4144
  , 4228
  , 4312
  , 4396
  , 4480
  , 4564
  , 4648
  , 4732
  , 4816
  , 4900
  , 4984
  , 5068
  , 5152
  , 5236
  , 5327
  , 5418
  , 5509
  , 5600
  , 5684
  , 5768
  , 5852
  , 5936
  , 6020
  , 6104
  , 6188
  ]

alex_table :: Array Int Int
alex_table = listArray (0 :: Int, 6443)
  [ 0
  , 87
  , 87
  , 87
  , 87
  , 87
  , 90
  , 97
  , 1
  , 82
  , 81
  , 80
  , 2
  , 4
  , 65
  , 79
  , 68
  , 62
  , 9
  , 56
  , 53
  , 52
  , 18
  , 50
  , 87
  , 51
  , 78
  , 49
  , 20
  , 47
  , 46
  , 41
  , 110
  , 111
  , 108
  , 105
  , 44
  , 106
  , 40
  , 109
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 29
  , 31
  , 112
  , 39
  , 113
  , 36
  , 35
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 134
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 38
  , 33
  , 32
  , 30
  , 42
  , 28
  , 121
  , 145
  , 154
  , 145
  , 145
  , 145
  , 145
  , 145
  , 120
  , 145
  , 145
  , 145
  , 129
  , 127
  , 136
  , 135
  , 145
  , 145
  , 131
  , 145
  , 145
  , 145
  , 144
  , 145
  , 145
  , 145
  , 84
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 3
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 72
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 13
  , 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
  , 27
  , 26
  , 25
  , 48
  , 24
  , 22
  , 19
  , 21
  , 55
  , 57
  , 54
  , 17
  , 60
  , 14
  , 34
  , 15
  , 61
  , 64
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 12
  , 11
  , 69
  , 73
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 8
  , 7
  , 23
  , 6
  , 5
  , 75
  , 83
  , 96
  , 95
  , 94
  , 89
  , 88
  , 114
  , 115
  , 92
  , 0
  , 0
  , 0
  , 0
  , 0
  , 37
  , 77
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 85
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 101
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 102
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 87
  , 87
  , 87
  , 87
  , 87
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 87
  , 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
  , 72
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 73
  , 13
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 64
  , 16
  , 58
  , 58
  , 58
  , 59
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 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
  , 84
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 86
  , 85
  , 3
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 76
  , 77
  , 10
  , 70
  , 70
  , 70
  , 71
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , -1
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 102
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 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
  , 72
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 74
  , 73
  , 13
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 63
  , 64
  , 16
  , 58
  , 58
  , 58
  , 59
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 91
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 93
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 99
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 103
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 140
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 104
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 107
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 160
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 119
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 159
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 122
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 158
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 157
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 132
  , 145
  , 145
  , 145
  , 156
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 123
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 124
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 125
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 130
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 155
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 133
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 153
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 152
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 137
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 138
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 139
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 151
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 149
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 148
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 143
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 147
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 142
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 150
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 141
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 43
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 45
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 66
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 67
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 128
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 146
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 126
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 118
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 117
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 116
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 100
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 145
  , 0
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 98
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 145
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 0
  , 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, 6443)
  [ -1
  , 9
  , 10
  , 11
  , 12
  , 13
  , 111
  , 111
  , 97
  , 111
  , 101
  , 101
  , 97
  , 105
  , 111
  , 103
  , 99
  , 97
  , 105
  , 115
  , 121
  , 115
  , 117
  , 97
  , 32
  , 103
  , 34
  , 111
  , 105
  , 111
  , 105
  , 117
  , 40
  , 41
  , 42
  , 43
  , 115
  , 45
  , 101
  , 47
  , 48
  , 49
  , 50
  , 51
  , 52
  , 53
  , 54
  , 55
  , 56
  , 57
  , 111
  , 121
  , 60
  , 99
  , 62
  , 108
  , 101
  , 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
  , 108
  , 110
  , 32
  , 108
  , 32
  , 32
  , 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
  , 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
  , 102
  , 108
  , 116
  , 112
  , 110
  , 110
  , 114
  , 108
  , 32
  , 104
  , 110
  , 32
  , 32
  , 32
  , 116
  , 108
  , 32
  , 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
  , 108
  , 108
  , 104
  , 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
  , 110
  , 100
  , 99
  , 100
  , 104
  , 46
  , 46
  , 44
  , 110
  , 110
  , 46
  , 45
  , 61
  , 61
  , 112
  , -1
  , -1
  , -1
  , -1
  , -1
  , 117
  , 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
  , 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
  , 48
  , 49
  , 50
  , 51
  , 52
  , 53
  , 54
  , 55
  , 56
  , 57
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 34
  , 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
  , 9
  , 10
  , 11
  , 12
  , 13
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 32
  , -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
  , 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
  , 10
  , 39
  , -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
  , 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
  , 39
  , -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
  , 39
  , -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
  , 39
  , 10
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 48
  , 49
  , 50
  , 51
  , 52
  , 53
  , 54
  , 55
  , 56
  , 57
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 34
  , 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
  , 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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 48
  , 49
  , 50
  , 51
  , 52
  , 53
  , 54
  , 55
  , 56
  , 57
  , -1
  , -1
  , -1
  , -1
  , -1
  , 63
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 32
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 39
  , -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
  , 32
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 39
  , -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
  , 32
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 39
  , -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
  , 32
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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
  , 39
  , -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, 160)
  [ -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 63
  , 63
  , -1
  , -1
  , -1
  , 74
  , 74
  , -1
  , -1
  , -1
  , -1
  , -1
  , 76
  , 76
  , 78
  , 78
  , 78
  , -1
  , 86
  , 86
  , 78
  , -1
  , -1
  , -1
  , -1
  , -1
  , 88
  , 88
  , 88
  , -1
  , 88
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , 78
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -1
  , -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, 160)
  [ 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
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccNone
  , AlexAccSkip
  , AlexAccSkip
  , 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, 72)
  [ (71,alex_action_2)
  , (70,alex_action_3)
  , (69,alex_action_4)
  , (68,alex_action_5)
  , (67,alex_action_6)
  , (66,alex_action_7)
  , (65,alex_action_8)
  , (64,alex_action_9)
  , (63,alex_action_10)
  , (62,alex_action_11)
  , (61,alex_action_12)
  , (60,alex_action_13)
  , (59,alex_action_14)
  , (58,alex_action_15)
  , (57,alex_action_16)
  , (56,alex_action_17)
  , (55,alex_action_18)
  , (54,alex_action_19)
  , (53,alex_action_20)
  , (52,alex_action_21)
  , (51,alex_action_22)
  , (50,alex_action_23)
  , (49,alex_action_24)
  , (48,alex_action_25)
  , (47,alex_action_26)
  , (46,alex_action_27)
  , (45,alex_action_28)
  , (44,alex_action_29)
  , (43,alex_action_30)
  , (42,alex_action_30)
  , (41,alex_action_30)
  , (40,alex_action_30)
  , (39,alex_action_30)
  , (38,alex_action_30)
  , (37,alex_action_30)
  , (36,alex_action_30)
  , (35,alex_action_30)
  , (34,alex_action_30)
  , (33,alex_action_30)
  , (32,alex_action_30)
  , (31,alex_action_30)
  , (30,alex_action_30)
  , (29,alex_action_30)
  , (28,alex_action_30)
  , (27,alex_action_30)
  , (26,alex_action_30)
  , (25,alex_action_30)
  , (24,alex_action_30)
  , (23,alex_action_30)
  , (22,alex_action_30)
  , (21,alex_action_30)
  , (20,alex_action_30)
  , (19,alex_action_30)
  , (18,alex_action_30)
  , (17,alex_action_30)
  , (16,alex_action_30)
  , (15,alex_action_30)
  , (14,alex_action_30)
  , (13,alex_action_30)
  , (12,alex_action_30)
  , (11,alex_action_30)
  , (10,alex_action_30)
  , (9,alex_action_30)
  , (8,alex_action_30)
  , (7,alex_action_30)
  , (6,alex_action_30)
  , (5,alex_action_30)
  , (4,alex_action_30)
  , (3,alex_action_30)
  , (2,alex_action_30)
  , (1,alex_action_30)
  , (0,alex_action_30)
  ]

# LINE 43 " res / Lexer.x " #


data Token =
  TProgStart |
  TProgEnd   |
  TLet     |
  TConst     |
  TIf        |
  TThen      |
  TElse      |
  TWhile     |
  TEndBlock     |
  TThrow     |
  TPrint     |
  TRead     |
  TLit String |
  TEq |
  TEqCmp |
  TPlus |
  TMinus |
  TTimes |
  TDiv |
  TLParen |
  TRParen |
  TLArrow |
  TRArrow |
  TLEArrow |
  TREArrow |
  TNeq |
  TVar String  |
  TInt Int
  deriving (Eq, Show)

scanTokens = alexScanTokens

lexermain = do
  s <- getContents
  print (alexScanTokens s)

alex_action_2 = \s -> TProgStart
alex_action_3 = \s -> TProgEnd
alex_action_4 =  \s -> TLet 
alex_action_5 =  \s -> TConst 
alex_action_6 =  \s -> TIf 
alex_action_7 =  \s -> TThen 
alex_action_8 =  \s -> TElse 
alex_action_9 =  \s -> TWhile 
alex_action_10 =  \s -> TEndBlock 
alex_action_11 =  \s -> TThrow 
alex_action_12 =  \s -> TPrint 
alex_action_13 =  \s -> TRead 
alex_action_14 =  \s -> TInt (read s) 
alex_action_15 =  \s -> TLit s 
alex_action_16 =  \s -> TEqCmp 
alex_action_17 =  \s -> TEq 
alex_action_18 =  \s -> TPlus 
alex_action_19 =  \s -> TMinus 
alex_action_20 =  \s -> TMinus 
alex_action_21 =  \s -> TTimes 
alex_action_22 =  \s -> TDiv 
alex_action_23 =  \s -> TLParen 
alex_action_24 =  \s -> TRParen 
alex_action_25 =  \s -> TLArrow 
alex_action_26 =  \s -> TRArrow 
alex_action_27 =  \s -> TLEArrow 
alex_action_28 =  \s -> TREArrow 
alex_action_29 =  \s -> TNeq 
alex_action_30 =  \s -> TVar s 

  INTERNALS and main scanner engine































































alexIndexInt16OffAddr arr off = arr ! off




















alexIndexInt32OffAddr arr off = arr ! off











quickIndex arr i = arr ! i



data AlexReturn a
  = AlexEOF
  | AlexError  !AlexInput
  | AlexSkip   !AlexInput !Int
  | AlexToken  !AlexInput !Int a

  alexScan : :  - > 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

alex_scan_tkn user__ orig_input len input__ s last_acc =
  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__)
            _ -> 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


alexAndPred p1 p2 user__ in1 len in2
  = p1 user__ in1 len in2 && p2 user__ in1 len in2

alexPrevCharIsPred : :    AlexAccPred _
alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__

alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__)

alexPrevCharIsOneOfPred : :      AlexAccPred _
alexPrevCharIsOneOf arr _ input__ _ _ = arr ! alexInputPrevChar input__

alexRightContext (sc) user__ _ _ input__ =
     case alex_scan_tkn user__ input__ (0) input__ sc AlexNone of
          (AlexNone, _) -> False
          _ -> True
  the first match will do .

