packages feed

fortran-src 0.1.0.0 → 0.1.0.1

raw patch · 7 files changed

+30109/−2 lines, 7 files

Files

fortran-src.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                fortran-src-version:             0.1.0.0+version:             0.1.0.1 synopsis:            Parser and anlyses for Fortran standards 66, 77, 90. description:         Provides lexing, parsing, and basic analyses of Fortran code covering standards: FORTRAN 66, FORTRAN 77, and Fortran 90. Includes data flow and basic block analysis, a renamer, and type analysis. For example usage, see the 'camfort' project, which uses fortran-src as its front end. license:             Apache-2.0
src/Language/Fortran/Analysis/Types.hs view
@@ -84,7 +84,7 @@       DeclArray _ _ v _ _ _         -> recordType baseType CTArray (varName v)     return () statement (StExpressionAssign _ _ (ExpSubscript _ _ v ixAList) _)-  -- | any (not . isIxSingle) (aStrip ixAList) = recordCType CTArray (varName v)  -- it's an array (or a string?) FIXME+  --  | any (not . isIxSingle) (aStrip ixAList) = recordCType CTArray (varName v)  -- it's an array (or a string?) FIXME   | all isIxSingle (aStrip ixAList) = do     let n = varName v     mIDType <- getRecordedType n
+ src/Language/Fortran/Lexer/FixedForm.hs view
@@ -0,0 +1,1017 @@+{-# LANGUAGE CPP #-}+{-# LINE 1 "FixedForm.x" #-}++{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}++module Language.Fortran.Lexer.FixedForm where++import Data.Word (Word8)+import Data.Char (toLower, isDigit, ord)+import Data.List (isPrefixOf, isSuffixOf, any)+import Data.Maybe (fromJust, isNothing)+import Data.Data+import Data.Typeable+import qualified Data.Bits++import Control.Exception+import Control.Monad.State+import Control.Monad (liftM2)++import GHC.Exts+import GHC.Generics++import Language.Fortran.ParserMonad++import Language.Fortran.Util.FirstParameter+import Language.Fortran.Util.Position++import Debug.Trace+++#if __GLASGOW_HASKELL__ >= 603+#include "ghcconfig.h"+#elif defined(__GLASGOW_HASKELL__)+#include "config.h"+#endif+#if __GLASGOW_HASKELL__ >= 503+import Data.Array+import Data.Char (ord)+import Data.Array.Base (unsafeAt)+#else+import Array+import Char (ord)+#endif+alex_base :: Array Int Int+alex_base = listArray (0,588) [-9,237,316,429,-59,-44,424,-98,-99,-86,552,-97,-101,1,-80,-95,-88,-89,0,665,13,-79,-67,-92,-87,-73,-84,0,730,203,23,-18,-15,-14,-11,-10,-8,-7,14,35,36,37,38,60,986,922,0,0,0,252,268,326,336,0,0,0,0,0,39,40,0,0,0,0,0,343,0,1130,1158,1233,1261,1336,1364,1439,1467,1542,1570,1645,1673,1748,1776,1851,1879,1954,1982,2057,2085,2160,2188,2263,2291,2366,2394,2469,2497,2572,2600,2675,2703,2778,2806,2881,2909,2984,3012,3087,3115,3190,3218,3293,3321,3396,3424,3499,3527,3602,3630,3705,3733,3808,3836,3911,3939,4014,4042,4117,4145,4220,4248,4323,4351,4426,4454,4529,4557,4632,4660,4735,4763,4838,4866,4941,4969,5044,5072,5147,5175,5250,5278,5353,5381,5456,5484,5559,5587,5662,5690,5765,5793,5868,5896,5971,5999,6074,6102,6177,6205,6280,6308,6383,6411,6486,6514,6589,6617,6692,6720,6795,6823,6898,6926,7001,7029,7104,7132,7207,7235,7310,7338,7413,7441,7516,7544,7619,7647,7722,7750,7825,7853,7928,7956,8031,8059,8134,8162,8237,8265,8340,8368,8443,8471,8546,8574,8649,8677,8752,8780,8855,8883,8958,8986,9061,9089,9164,9192,9267,9295,9370,9398,9473,9501,9576,9604,9679,9707,9782,9810,9885,9913,9988,10016,10091,10119,10194,10222,10297,10325,10400,10428,10503,10531,10606,10634,10709,10737,10812,10840,10915,0,10943,11018,11046,11121,11149,11224,11252,11327,11355,11430,11458,11533,11561,11636,11664,11739,11767,11842,11870,11945,11973,12048,12076,12151,12179,12254,12282,12357,12385,12460,12488,12563,12591,12666,12694,12769,12797,12872,12900,12975,13003,13078,13106,13181,13209,13284,13312,13387,13415,13490,13518,13593,13621,13696,13724,13799,13827,13902,13930,14005,14033,14108,14136,14211,14239,14314,14342,14417,14445,14520,14548,14623,14651,14726,14754,14829,14857,14932,14960,15035,15063,15138,15166,24,15241,15269,15344,15372,15447,15475,15550,15578,15653,346,446,15681,15758,15786,15861,15889,15966,15994,16071,16099,16176,16204,16281,16309,16386,16414,16491,16519,16596,16624,16701,16729,16806,16834,16911,16939,17016,17044,17121,17149,17226,17254,17331,17359,17436,17464,17541,17569,17646,17674,17751,17779,17856,17884,17961,17989,18066,18094,18171,18199,18276,18304,18381,18409,18486,456,468,1140,18512,0,0,0,212,0,0,46,48,0,0,0,0,0,31,0,0,0,32,0,0,0,0,0,0,0,1243,18585,18613,18688,18716,18791,18819,18894,18922,18997,19025,19100,19128,19203,19231,19306,19334,19409,19437,19512,19540,19615,19643,19718,19746,19821,19849,19924,1346,0,0,19952,20027,20055,20130,20158,20233,20261,20336,20364,20439,20467,20542,20570,20645,20673,20748,20776,20851,20879,20954,20982,21057,21085,21160,21188,21263,21291,21366,21394,21469,21497,21572,21600,21675,21703,21778,21806,21883,21911,21988,22016,22091,22119,22194,22222,22302,22330,22405,22433,22508,22536,22611,22639,22714,22742,22817,22845,22920,22948,23023,23051,23126,23154,0,1451,23229,23257,23332,23360,23435,23463,23538,23566,23641,23669,23744,23772,23847,23875,23950,23978,24053,24081,24156,24184,24259,24287,24362,24390,24465,24493,24568,24596,24673,24701,24778,24806,24883,24911,24988,25016,25093,25121,25198,25226,25303,25331,25408,25436,25513,25541,25618,25646,25723,25751,25826,25854,25929,25957,26032,0]++alex_table :: Array Int Int+alex_table = listArray (0,26287) [0,56,428,42,55,465,465,465,465,465,465,465,465,465,34,33,7,16,7,12,11,25,31,54,47,24,37,40,436,39,41,435,434,47,35,433,432,32,431,424,52,52,52,52,52,52,52,52,52,36,20,20,20,20,20,20,20,20,20,30,423,20,20,20,20,20,20,20,20,20,20,437,437,437,437,437,437,437,437,437,437,422,421,420,413,427,62,62,417,63,47,47,426,430,0,0,0,0,0,23,0,0,0,0,0,0,0,38,352,352,352,352,352,352,352,352,352,352,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,44,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,45,6,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,10,18,18,18,19,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,56,0,0,57,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,4,0,0,0,0,0,412,59,61,418,414,64,416,65,419,410,410,410,410,410,410,410,410,410,410,66,0,425,342,429,50,50,50,50,50,50,50,50,50,50,0,0,0,0,0,467,51,51,51,51,51,51,51,51,51,51,56,0,0,57,0,0,0,0,496,496,496,512,512,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,496,64,0,0,0,410,410,410,410,410,410,410,410,410,410,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,352,352,352,352,352,352,352,352,352,352,0,0,0,0,0,0,0,0,0,131,135,121,223,198,132,125,134,93,134,134,133,134,134,167,128,134,116,117,168,134,134,148,134,134,134,56,17,0,57,0,8,14,21,0,0,0,0,22,0,9,26,0,0,0,0,15,0,0,4,0,0,0,0,0,412,58,60,418,414,64,415,65,419,410,411,411,411,411,411,411,411,411,411,66,0,425,342,429,30,0,353,353,353,353,353,353,353,353,353,353,352,352,352,352,352,352,352,352,352,352,30,0,353,353,353,353,353,353,353,353,353,353,471,496,485,513,514,492,492,496,520,496,496,470,496,480,496,496,496,477,496,468,496,496,496,496,496,496,44,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,6,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,45,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,289,289,289,289,289,289,289,289,289,289,410,410,410,410,410,410,410,410,410,410,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,336,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,336,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,437,437,437,437,437,437,437,437,437,437,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,336,289,289,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,318,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,465,465,465,465,465,465,465,465,465,465,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,259,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,262,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,30,0,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,265,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,315,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,267,289,289,289,289,289,289,289,289,0,268,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,270,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,289,289,282,289,289,289,289,289,289,289,289,289,289,289,289,304,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,289,289,289,289,289,289,289,289,289,289,289,277,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,275,289,289,289,289,289,289,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,273,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,272,289,289,289,289,289,289,289,0,289,289,289,289,289,289,289,289,289,289,289,289,323,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,328,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,289,289,289,289,330,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,331,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,286,0,179,179,179,247,179,179,179,179,179,179,179,254,179,179,179,179,179,179,179,179,179,179,179,179,179,179,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,288,0,79,79,79,249,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,285,0,158,158,158,231,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,190,158,158,158,158,158,158,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,238,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,288,0,79,79,79,79,79,237,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,284,0,141,141,141,141,141,234,141,141,141,141,141,141,143,145,141,141,141,141,141,141,141,141,141,141,141,141,286,0,179,179,179,179,179,179,179,179,179,179,179,239,179,179,179,179,179,179,179,179,179,179,179,179,179,179,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,253,79,79,79,79,79,79,79,79,79,79,79,79,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,250,179,179,179,179,179,179,179,179,179,179,179,179,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,240,79,79,79,79,79,79,79,79,79,79,79,79,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,235,179,179,179,179,179,179,179,179,179,179,179,179,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,232,79,79,79,79,79,79,79,79,79,79,79,79,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,242,179,179,179,179,179,179,179,179,179,179,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,257,79,79,79,79,79,79,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,252,210,210,210,210,210,210,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,243,179,179,179,179,179,179,285,0,88,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,123,158,158,115,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,225,158,158,158,158,158,158,158,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,227,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,229,179,179,179,179,179,179,179,287,0,210,210,210,210,210,210,99,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,98,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,285,0,158,158,158,158,96,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,95,210,210,210,210,210,210,210,210,210,210,210,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,100,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,103,158,158,158,158,158,158,158,158,158,158,150,158,158,158,158,158,158,287,0,101,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,197,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,284,0,141,141,141,141,104,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,284,0,196,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,112,142,141,141,141,141,141,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,155,158,158,106,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,195,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,107,158,158,158,158,158,158,158,158,158,158,158,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,284,0,194,141,141,141,141,141,141,139,141,141,141,120,141,141,130,141,141,141,141,141,141,141,141,141,141,141,286,0,179,179,179,179,179,179,179,179,108,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,193,179,179,179,179,179,286,0,179,179,179,179,179,179,179,179,179,179,179,179,111,179,179,169,179,179,179,179,179,179,179,179,179,179,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,284,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,192,141,141,141,141,141,141,141,141,141,141,141,285,0,158,158,158,158,158,158,158,158,191,158,158,158,158,158,165,158,158,158,158,158,158,158,158,158,158,158,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,179,114,179,179,179,179,179,179,179,179,179,179,179,179,179,284,0,118,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,126,141,141,141,141,141,141,141,141,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,122,158,158,158,158,158,158,158,285,0,158,158,158,158,158,158,158,158,158,158,158,158,124,162,158,158,158,158,158,158,158,158,158,158,158,158,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,284,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,129,141,141,141,141,141,141,141,284,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,147,141,141,141,141,141,144,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,284,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,146,141,141,141,141,141,141,141,141,141,141,141,284,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,284,0,137,141,141,141,141,141,141,141,141,141,141,136,141,141,141,141,141,141,141,141,141,141,141,141,141,141,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,152,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,285,0,158,158,153,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,285,0,158,158,158,158,158,158,158,158,158,158,158,158,154,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,285,0,160,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,156,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,285,0,158,159,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,161,158,158,158,158,158,158,158,158,158,158,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,151,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,163,158,158,166,158,158,158,158,158,158,285,0,158,158,158,158,158,158,164,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,127,158,158,158,158,158,158,158,158,284,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,119,141,141,141,141,141,141,141,141,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,186,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,286,0,179,179,179,179,184,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,183,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,286,0,179,179,173,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,175,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,286,0,179,179,179,179,182,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,177,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,286,0,179,179,179,179,179,179,179,179,181,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,180,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,178,179,179,179,179,179,179,179,179,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,176,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,172,179,179,179,179,179,179,179,179,179,179,179,179,179,179,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,171,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,185,179,179,179,179,179,286,0,179,179,179,179,179,179,179,179,189,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,170,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,286,0,179,179,179,179,188,179,179,179,179,179,179,179,179,179,179,179,179,174,179,179,179,179,179,179,179,179,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,284,0,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,110,141,141,141,141,141,141,141,141,141,141,284,0,141,141,141,141,141,141,141,109,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,217,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,219,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,216,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,204,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,214,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,213,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,212,210,210,210,210,210,210,210,287,0,206,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,207,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,208,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,210,210,210,211,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,209,210,210,210,210,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,205,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,203,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,215,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,202,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,201,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,200,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,218,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,287,0,210,210,220,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,221,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,102,179,179,179,179,179,179,179,179,179,179,179,179,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,222,158,158,158,158,158,158,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,97,210,210,210,210,210,210,210,210,285,0,158,158,158,158,158,158,158,158,158,158,158,94,158,158,158,158,158,158,158,158,158,158,158,158,158,158,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,228,179,179,179,179,179,179,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,226,158,158,158,158,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,89,210,210,210,210,210,210,210,210,210,210,210,210,284,0,141,141,141,141,141,141,141,141,141,141,141,105,141,90,141,141,140,141,141,141,141,141,141,113,141,141,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,230,158,158,158,158,158,158,288,0,79,79,79,79,79,79,79,79,79,79,79,86,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,85,79,79,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,87,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,72,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,73,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,77,79,79,79,79,79,79,79,288,0,79,79,83,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,82,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,81,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,80,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,78,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,76,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,75,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,79,74,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,71,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,70,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,69,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,79,79,68,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,84,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,288,0,67,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,255,210,286,0,179,179,179,179,179,179,179,179,179,179,179,179,179,179,233,179,179,179,179,179,179,179,179,179,179,179,141,141,141,141,141,141,141,141,141,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,284,0,199,141,141,141,141,141,141,141,138,141,141,141,141,141,245,141,141,141,141,141,141,141,141,141,141,141,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,246,210,210,210,210,210,210,210,210,210,210,210,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,286,0,179,179,179,179,236,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,286,0,179,179,179,179,241,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,244,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,248,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,251,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,286,0,256,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,286,0,179,179,179,224,179,187,179,179,91,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,92,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,158,158,158,158,158,158,158,158,158,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,285,0,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,158,157,158,149,158,158,158,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,79,79,79,79,79,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,210,210,210,210,210,210,210,210,210,0,0,0,0,0,0,0,0,0,288,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,287,0,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,210,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,290,0,290,290,290,290,290,290,290,290,290,290,290,334,290,290,290,290,290,290,290,290,290,290,290,290,290,290,297,297,297,297,297,297,297,297,297,297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,297,0,297,297,297,297,297,297,297,297,297,297,297,297,297,337,297,297,297,297,297,297,297,297,297,297,297,297,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,332,291,291,291,291,291,291,291,291,291,291,291,291,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,324,290,290,290,290,290,290,290,290,290,290,290,290,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,341,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,339,291,291,291,291,291,291,291,291,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,340,290,290,290,290,290,290,295,295,295,295,295,295,295,295,295,295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,295,0,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,338,295,295,290,0,290,290,290,290,290,290,290,290,321,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,290,0,290,290,319,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,292,0,292,292,320,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,296,296,296,296,296,296,296,296,296,296,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,261,290,290,290,290,290,290,290,290,290,290,290,296,0,296,296,296,296,296,296,296,296,296,296,296,296,296,296,260,296,296,296,296,296,296,296,296,296,296,296,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,264,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,0,290,290,290,290,263,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,294,294,294,294,294,294,294,294,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,294,0,294,294,294,294,266,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,290,0,290,290,290,290,290,290,290,290,314,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,295,295,295,295,295,295,295,295,295,295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,295,0,295,295,295,295,295,295,295,295,271,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,290,0,290,290,290,290,312,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,294,294,294,294,294,294,294,294,294,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,293,293,293,293,293,293,293,293,293,293,0,0,0,0,0,0,0,0,0,294,0,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,276,294,294,294,294,294,294,294,293,0,293,293,293,293,293,293,293,293,278,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,291,0,291,291,291,291,291,291,291,291,291,291,291,291,309,291,291,291,291,291,291,291,291,291,291,291,291,291,292,0,292,292,279,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,280,290,290,290,290,290,290,290,290,290,290,290,291,0,291,291,291,291,281,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,285,285,285,285,285,285,285,285,285,285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,286,286,286,286,286,286,286,286,286,286,0,0,0,0,0,0,0,0,0,285,0,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,285,286,0,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,286,287,287,287,287,287,287,287,287,287,287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,288,288,288,288,288,288,288,288,288,288,0,0,0,0,0,0,0,0,0,287,0,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,287,288,0,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,288,289,289,289,289,289,289,289,289,289,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,289,0,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,289,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,292,0,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,293,293,293,293,293,293,293,293,293,293,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,294,294,294,294,294,294,294,294,0,0,0,0,0,0,0,0,0,293,0,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,294,0,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,295,295,295,295,295,295,295,295,295,295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,296,296,296,296,296,296,296,296,296,296,0,0,0,0,0,0,0,0,0,295,0,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,296,0,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,297,297,297,297,297,297,297,297,297,297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,298,298,298,298,298,298,298,298,298,298,0,0,0,0,0,0,0,0,0,297,0,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,298,0,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,299,299,299,299,299,299,299,299,299,299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,300,300,300,300,300,300,300,300,300,300,0,0,0,0,0,0,0,0,0,299,0,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,299,300,0,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,301,301,301,301,301,301,301,301,301,301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,302,302,302,302,302,302,302,302,302,302,0,0,0,0,0,0,0,0,0,301,0,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,302,0,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,302,303,303,303,303,303,303,303,303,303,303,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,305,305,305,305,305,305,305,305,305,305,0,0,0,0,0,0,0,0,0,303,0,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,303,305,0,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,305,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,306,306,306,306,306,306,306,306,306,306,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,283,290,290,290,290,290,290,290,290,306,0,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,306,307,307,307,307,307,307,307,307,307,307,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,308,308,308,308,308,308,308,308,308,308,0,0,0,0,0,0,0,0,0,307,0,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,307,308,0,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,308,310,310,310,310,310,310,310,310,310,310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,310,0,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,310,292,0,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,311,292,292,292,292,292,292,292,292,292,292,313,313,313,313,313,313,313,313,313,313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,293,293,293,293,293,293,293,293,293,293,0,0,0,0,0,0,0,0,0,313,0,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,313,293,0,293,293,293,293,293,293,293,293,293,293,293,274,293,293,293,293,293,293,293,293,293,293,293,293,293,293,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,316,316,316,316,316,316,316,316,316,316,0,0,0,0,0,0,0,0,0,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,269,291,291,291,291,291,291,291,291,291,291,291,291,316,0,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,317,291,291,291,291,291,291,291,291,291,291,291,291,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,322,290,290,290,290,290,290,258,258,258,258,258,258,258,258,258,258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,258,0,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,258,292,0,292,292,292,292,325,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,327,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,291,0,291,291,291,291,329,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,293,293,293,293,293,293,293,293,293,293,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,293,0,293,293,293,293,333,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,291,0,291,291,335,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,291,0,326,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,293,293,293,293,293,293,293,293,293,293,0,0,0,0,0,0,0,0,0,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,293,0,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,292,0,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,292,0,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,294,294,294,294,294,294,294,294,294,294,0,0,0,0,0,0,0,0,0,292,0,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,294,0,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,292,0,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,290,290,290,290,290,290,290,290,290,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,298,298,298,298,298,298,298,298,298,298,0,0,0,0,0,0,0,0,0,290,0,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,290,298,0,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,298,296,296,296,296,296,296,296,296,296,296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,296,0,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,296,292,0,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,291,291,291,291,291,291,291,291,291,291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,292,292,292,292,292,292,292,292,292,0,0,0,0,0,0,0,0,0,291,0,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,291,292,0,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,292,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,536,0,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,536,0,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,539,539,539,539,539,539,539,539,539,539,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,547,547,547,547,547,547,547,547,547,547,0,0,0,0,0,0,0,0,0,539,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,547,0,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,545,545,545,545,545,545,545,545,545,545,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,541,541,541,541,541,541,541,541,541,541,0,0,0,0,0,0,0,0,0,545,0,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,541,0,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,364,364,364,364,364,364,364,364,364,364,0,0,0,0,0,0,0,0,0,536,0,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,30,0,365,365,365,365,365,365,365,365,365,365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,357,357,357,357,357,357,357,357,357,357,0,0,0,0,0,0,0,0,0,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,358,358,358,358,358,358,358,358,358,358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,362,362,362,362,362,362,362,362,362,362,0,0,0,0,0,0,0,0,0,535,0,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,536,0,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,30,0,360,360,360,360,360,360,360,360,360,360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,361,361,361,361,361,361,361,361,361,361,0,0,0,0,0,0,0,0,0,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,535,0,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,30,0,363,363,363,363,363,363,363,363,363,363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,354,354,354,354,354,354,354,354,354,354,0,0,0,0,0,0,0,0,0,536,0,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,537,0,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,30,0,355,355,355,355,355,355,355,355,355,355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,366,366,366,366,366,366,366,366,366,366,0,0,0,0,0,0,0,0,0,537,0,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,539,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,30,0,367,367,367,367,367,367,367,367,367,367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,368,368,368,368,368,368,368,368,368,368,0,0,0,0,0,0,0,0,0,539,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,540,0,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,30,0,369,369,369,369,369,369,369,369,369,369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,370,370,370,370,370,370,370,370,370,370,0,0,0,0,0,0,0,0,0,540,0,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,541,0,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,30,0,371,371,371,371,371,371,371,371,371,371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,372,372,372,372,372,372,372,372,372,372,0,0,0,0,0,0,0,0,0,541,0,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,542,0,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,30,0,373,373,373,373,373,373,373,373,373,373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,374,374,374,374,374,374,374,374,374,374,0,0,0,0,0,0,0,0,0,542,0,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,543,0,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,30,0,375,375,375,375,375,375,375,375,375,375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,376,376,376,376,376,376,376,376,376,376,0,0,0,0,0,0,0,0,0,543,0,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,544,0,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,30,0,377,377,377,377,377,377,377,377,377,377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,378,378,378,378,378,378,378,378,378,378,0,0,0,0,0,0,0,0,0,544,0,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,545,0,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,30,0,379,379,379,379,379,379,379,379,379,379,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,380,380,380,380,380,380,380,380,380,380,0,0,0,0,0,0,0,0,0,545,0,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,546,0,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,30,0,381,381,381,381,381,381,381,381,381,381,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,382,382,382,382,382,382,382,382,382,382,0,0,0,0,0,0,0,0,0,546,0,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,547,0,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,30,0,383,383,383,383,383,383,383,383,383,383,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,384,384,384,384,384,384,384,384,384,384,0,0,0,0,0,0,0,0,0,547,0,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,548,0,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,30,0,385,385,385,385,385,385,385,385,385,385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,386,386,386,386,386,386,386,386,386,386,0,0,0,0,0,0,0,0,0,548,0,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,549,0,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,30,0,387,387,387,387,387,387,387,387,387,387,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,388,388,388,388,388,388,388,388,388,388,0,0,0,0,0,0,0,0,0,549,0,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,550,0,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,30,0,389,389,389,389,389,389,389,389,389,389,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,390,390,390,390,390,390,390,390,390,390,0,0,0,0,0,0,0,0,0,550,0,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,551,0,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,30,0,391,391,391,391,391,391,391,391,391,391,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,392,392,392,392,392,392,392,392,392,392,0,0,0,0,0,0,0,0,0,551,0,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,552,0,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,30,0,393,393,393,393,393,393,393,393,393,393,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,394,394,394,394,394,394,394,394,394,394,0,0,0,0,0,0,0,0,0,552,0,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,553,0,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,30,0,395,395,395,395,395,395,395,395,395,395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,396,396,396,396,396,396,396,396,396,396,0,0,0,0,0,0,0,0,0,553,0,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,554,0,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,30,0,397,397,397,397,397,397,397,397,397,397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,398,398,398,398,398,398,398,398,398,398,0,0,0,0,0,0,0,0,0,554,0,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,555,0,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,30,0,399,399,399,399,399,399,399,399,399,399,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,400,400,400,400,400,400,400,400,400,400,0,0,0,0,0,0,0,0,0,555,0,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,556,0,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,30,0,401,401,401,401,401,401,401,401,401,401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,402,402,402,402,402,402,402,402,402,402,0,0,0,0,0,0,0,0,0,556,0,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,557,0,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,30,0,403,403,403,403,403,403,403,403,403,403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,404,404,404,404,404,404,404,404,404,404,0,0,0,0,0,0,0,0,0,557,0,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,558,0,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,30,0,405,405,405,405,405,405,405,405,405,405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,406,406,406,406,406,406,406,406,406,406,0,0,0,0,0,0,0,0,0,558,0,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,559,0,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,30,0,407,407,407,407,407,407,407,407,407,407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,408,408,408,408,408,408,408,408,408,408,0,0,0,0,0,0,0,0,0,559,0,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,531,0,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,30,0,409,409,409,409,409,409,409,409,409,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,411,411,411,411,411,411,411,411,411,411,0,0,0,0,0,0,0,0,0,0,0,531,0,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,5,0,0,13,13,13,13,588,5,0,0,5,0,0,0,467,0,0,0,0,0,0,0,466,464,464,464,464,464,464,464,464,464,464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,440,440,440,440,440,440,440,440,440,440,0,0,0,0,0,0,0,0,0,537,0,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,441,441,441,441,441,441,441,441,441,441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,438,438,438,438,438,438,438,438,438,438,0,0,0,0,0,0,0,0,0,535,0,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,536,0,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,465,465,465,465,465,465,465,465,465,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,442,442,442,442,442,442,442,442,442,442,0,0,0,0,0,0,0,0,0,531,0,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,559,0,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,443,443,443,443,443,443,443,443,443,443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,444,444,444,444,444,444,444,444,444,444,0,0,0,0,0,0,0,0,0,558,0,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,557,0,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,445,445,445,445,445,445,445,445,445,445,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,446,446,446,446,446,446,446,446,446,446,0,0,0,0,0,0,0,0,0,556,0,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,555,0,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,447,447,447,447,447,447,447,447,447,447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,448,448,448,448,448,448,448,448,448,448,0,0,0,0,0,0,0,0,0,554,0,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,553,0,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,449,449,449,449,449,449,449,449,449,449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,450,450,450,450,450,450,450,450,450,450,0,0,0,0,0,0,0,0,0,552,0,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,551,0,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,451,451,451,451,451,451,451,451,451,451,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,452,452,452,452,452,452,452,452,452,452,0,0,0,0,0,0,0,0,0,550,0,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,549,0,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,453,453,453,453,453,453,453,453,453,453,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,454,454,454,454,454,454,454,454,454,454,0,0,0,0,0,0,0,0,0,548,0,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,547,0,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,455,455,455,455,455,455,455,455,455,455,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,456,456,456,456,456,456,456,456,456,456,0,0,0,0,0,0,0,0,0,546,0,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,545,0,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,457,457,457,457,457,457,457,457,457,457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,458,458,458,458,458,458,458,458,458,458,0,0,0,0,0,0,0,0,0,544,0,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,543,0,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,459,459,459,459,459,459,459,459,459,459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,460,460,460,460,460,460,460,460,460,460,0,0,0,0,0,0,0,0,0,542,0,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,541,0,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,461,461,461,461,461,461,461,461,461,461,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,462,462,462,462,462,462,462,462,462,462,0,0,0,0,0,0,0,0,0,540,0,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,539,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,463,463,463,463,463,463,463,463,463,463,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,497,497,497,497,497,497,497,497,497,497,0,0,0,0,0,0,0,0,0,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,533,0,497,497,497,497,497,497,497,472,497,497,497,497,497,497,343,497,497,497,497,497,497,497,497,497,497,497,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,497,439,439,439,439,439,439,439,439,439,0,0,0,0,0,0,0,0,0,535,0,501,501,501,501,351,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,533,0,497,497,497,497,497,497,497,497,497,497,497,497,497,497,483,497,497,497,497,497,497,497,497,497,497,497,497,439,439,439,439,439,439,439,439,439,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,533,0,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,534,0,498,498,498,498,519,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,487,487,487,487,487,487,487,487,487,487,0,0,0,0,0,0,0,0,0,534,0,518,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,537,0,517,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,487,487,487,487,487,487,487,487,487,487,0,0,0,0,0,0,0,0,0,537,0,487,487,487,487,516,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,537,0,487,487,487,487,515,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,497,497,497,497,497,497,497,497,497,497,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,533,0,497,497,497,497,473,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,536,0,503,503,474,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,497,497,497,497,497,497,497,497,497,497,0,0,0,0,0,0,0,0,0,536,0,503,503,503,503,503,503,475,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,533,0,497,497,497,497,497,497,497,497,497,497,497,497,497,497,511,497,497,497,497,497,497,497,497,497,497,497,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,535,0,501,501,501,501,501,501,501,501,478,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,535,0,501,501,501,501,479,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,534,0,498,498,498,498,498,498,481,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,534,0,498,498,498,498,498,498,498,498,498,498,498,498,509,498,498,498,498,498,498,498,498,498,498,498,498,498,497,497,497,497,497,497,497,497,497,497,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,538,538,538,538,538,538,538,538,538,538,0,0,0,0,0,0,0,0,0,533,0,497,497,497,497,497,497,497,494,497,497,497,497,497,497,484,497,497,497,497,497,497,497,497,497,497,497,538,0,538,538,529,538,538,538,538,538,538,538,538,538,538,538,538,582,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,560,560,560,560,560,560,560,560,560,560,0,0,0,0,0,0,0,0,0,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,487,487,487,487,487,487,487,487,487,487,0,0,0,0,0,0,0,0,0,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,523,538,538,538,538,538,538,537,0,487,487,489,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,497,504,504,504,504,504,504,504,504,504,0,0,0,0,0,0,0,0,0,537,0,487,487,487,487,486,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,533,0,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,536,0,490,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,534,0,500,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,497,497,497,497,497,497,497,497,497,497,0,0,0,0,0,0,0,0,0,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,499,498,498,498,498,498,533,0,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,535,0,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,535,0,501,502,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,535,0,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,493,501,501,501,501,501,501,501,501,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,536,0,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,536,0,503,503,503,503,503,503,503,503,503,503,503,491,503,503,503,503,503,503,503,503,503,503,503,503,503,503,487,487,487,487,487,487,487,487,487,487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,505,505,505,505,505,505,505,505,505,505,0,0,0,0,0,0,0,0,0,537,0,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,30,0,506,506,506,506,506,506,506,506,506,506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,507,507,507,507,507,507,507,507,507,507,0,0,0,0,0,0,0,0,0,535,0,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,536,0,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,503,30,0,488,488,488,488,488,488,488,488,488,488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,537,0,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,487,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,498,482,498,498,498,498,498,498,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,503,503,503,503,503,503,503,503,503,503,0,0,0,0,0,0,0,0,0,535,0,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,510,501,501,501,501,501,501,501,501,501,501,536,0,503,503,503,503,503,503,503,503,503,503,503,476,503,503,503,503,503,503,503,503,503,503,503,503,503,503,498,498,498,498,498,498,498,498,498,498,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,43,0,0,356,356,356,356,356,356,356,356,356,356,0,0,0,0,0,0,0,0,0,534,0,498,498,498,498,498,498,498,498,498,498,498,498,498,469,498,498,498,498,498,498,498,498,498,498,498,498,533,0,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,43,0,43,0,0,356,359,359,359,359,359,359,359,359,359,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,43,0,0,356,359,359,359,359,359,359,359,359,359,0,0,0,0,0,0,0,0,0,533,0,497,497,497,497,497,497,497,497,497,497,497,497,497,497,495,497,497,497,497,497,497,497,497,497,497,497,533,0,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,538,538,538,538,538,538,538,538,538,538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,538,538,538,538,538,538,538,538,538,538,0,0,0,0,0,0,0,0,0,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,347,538,538,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,347,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,538,0,538,538,538,538,538,538,538,538,538,538,538,347,538,538,538,538,538,538,538,538,538,538,538,538,538,538,535,0,501,501,501,501,501,501,501,501,501,501,501,346,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,497,439,439,439,439,439,439,439,439,439,0,0,0,0,0,0,0,0,0,535,0,501,501,501,501,501,501,501,501,501,501,501,501,501,345,501,501,501,501,501,501,501,501,501,501,501,501,533,0,497,497,497,497,497,344,497,497,497,497,497,497,497,508,497,497,497,497,497,497,497,497,497,497,497,497,545,545,545,545,545,545,545,545,545,545,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,543,543,543,543,543,543,543,543,543,543,0,0,0,0,0,0,0,0,0,545,0,545,545,545,545,545,545,545,545,545,545,545,545,545,545,587,545,545,545,545,545,545,545,545,545,545,545,543,0,543,543,543,543,586,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,539,539,539,539,539,539,539,539,539,539,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,544,544,544,544,544,544,544,544,544,544,0,0,0,0,0,0,0,0,0,539,0,539,539,539,539,585,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,544,0,544,544,544,544,544,544,544,544,521,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,543,543,543,543,543,543,543,543,543,543,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,542,542,542,542,542,542,542,542,542,542,0,0,0,0,0,0,0,0,0,543,0,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,524,543,543,543,543,543,543,543,542,0,542,542,542,542,542,542,542,542,525,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,540,540,540,540,540,540,540,540,540,540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,541,541,541,541,541,541,541,541,541,541,0,0,0,0,0,0,0,0,0,540,0,540,540,540,540,540,540,540,540,540,540,540,540,583,540,540,540,540,540,540,540,540,540,540,540,540,540,541,0,541,541,526,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,539,539,539,539,539,539,539,539,539,539,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,540,540,540,540,540,540,540,540,540,540,0,0,0,0,0,0,0,0,0,539,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,527,539,539,539,539,539,539,539,539,539,539,539,540,0,540,540,540,540,528,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,534,534,534,534,534,534,534,534,534,534,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,535,535,535,535,535,535,535,535,535,535,0,0,0,0,0,0,0,0,0,534,0,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,535,0,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,536,536,536,536,536,536,536,536,536,536,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,537,537,537,537,537,537,537,537,537,537,0,0,0,0,0,0,0,0,0,536,0,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,537,0,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,538,538,538,538,538,538,538,538,538,538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,539,539,539,539,539,539,539,539,539,539,0,0,0,0,0,0,0,0,0,538,0,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,539,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,540,540,540,540,540,540,540,540,540,540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,541,541,541,541,541,541,541,541,541,541,0,0,0,0,0,0,0,0,0,540,0,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,541,0,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,542,542,542,542,542,542,542,542,542,542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,543,543,543,543,543,543,543,543,543,543,0,0,0,0,0,0,0,0,0,542,0,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,543,0,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,544,544,544,544,544,544,544,544,544,544,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,545,545,545,545,545,545,545,545,545,545,0,0,0,0,0,0,0,0,0,544,0,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,545,0,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,546,546,546,546,546,546,546,546,546,546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,547,547,547,547,547,547,547,547,547,547,0,0,0,0,0,0,0,0,0,546,0,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,547,0,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,548,548,548,548,548,548,548,548,548,548,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,549,549,549,549,549,549,549,549,549,0,0,0,0,0,0,0,0,0,548,0,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,549,0,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,550,550,550,550,550,550,550,550,550,550,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,551,551,551,551,551,551,551,551,551,551,0,0,0,0,0,0,0,0,0,550,0,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,551,0,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,552,552,552,552,552,552,552,552,552,552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,553,553,553,553,553,553,553,553,553,553,0,0,0,0,0,0,0,0,0,552,0,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,553,0,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,554,554,554,554,554,554,554,554,554,554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,555,555,555,555,555,555,555,555,555,555,0,0,0,0,0,0,0,0,0,554,0,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,555,0,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,556,556,556,556,556,556,556,556,556,556,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,557,557,557,557,557,557,557,557,557,557,0,0,0,0,0,0,0,0,0,556,0,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,557,0,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,558,558,558,558,558,558,558,558,558,558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,559,559,559,559,559,559,559,559,559,559,0,0,0,0,0,0,0,0,0,558,0,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,559,0,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,531,531,531,531,531,531,531,531,531,531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,561,561,561,561,561,561,561,561,561,561,0,0,0,0,0,0,0,0,0,531,0,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,539,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,30,0,562,562,562,562,562,562,562,562,562,562,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,563,563,563,563,563,563,563,563,563,563,0,0,0,0,0,0,0,0,0,540,0,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,541,0,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,30,0,564,564,564,564,564,564,564,564,564,564,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,565,565,565,565,565,565,565,565,565,565,0,0,0,0,0,0,0,0,0,542,0,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,542,543,0,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,543,30,0,566,566,566,566,566,566,566,566,566,566,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,567,567,567,567,567,567,567,567,567,567,0,0,0,0,0,0,0,0,0,544,0,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,545,0,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,30,0,568,568,568,568,568,568,568,568,568,568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,569,569,569,569,569,569,569,569,569,569,0,0,0,0,0,0,0,0,0,546,0,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,547,0,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,547,30,0,570,570,570,570,570,570,570,570,570,570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,571,571,571,571,571,571,571,571,571,571,0,0,0,0,0,0,0,0,0,548,0,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,548,549,0,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,30,0,572,572,572,572,572,572,572,572,572,572,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,573,573,573,573,573,573,573,573,573,573,0,0,0,0,0,0,0,0,0,550,0,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,551,0,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,30,0,574,574,574,574,574,574,574,574,574,574,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,575,575,575,575,575,575,575,575,575,575,0,0,0,0,0,0,0,0,0,552,0,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,552,553,0,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,553,30,0,576,576,576,576,576,576,576,576,576,576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,577,577,577,577,577,577,577,577,577,577,0,0,0,0,0,0,0,0,0,554,0,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,554,555,0,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,555,30,0,578,578,578,578,578,578,578,578,578,578,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,579,579,579,579,579,579,579,579,579,579,0,0,0,0,0,0,0,0,0,556,0,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,556,557,0,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,557,30,0,580,580,580,580,580,580,580,580,580,580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,581,581,581,581,581,581,581,581,581,581,0,0,0,0,0,0,0,0,0,558,0,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,558,559,0,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,559,30,0,532,532,532,532,532,532,532,532,532,532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,539,539,539,539,539,539,539,539,539,539,0,0,0,0,0,0,0,0,0,531,0,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,531,539,0,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,539,530,539,539,539,539,539,539,539,539,541,541,541,541,541,541,541,541,541,541,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,542,542,542,542,542,542,542,542,542,542,0,0,0,0,0,0,0,0,0,541,0,541,541,541,541,541,541,541,541,541,541,541,541,541,541,541,584,541,541,541,541,541,541,541,541,541,541,542,0,542,542,542,542,542,542,542,542,542,542,542,522,542,542,542,542,542,542,542,542,542,542,542,542,542,542,540,540,540,540,540,540,540,540,540,540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,544,544,544,544,544,544,544,544,544,544,0,0,0,0,0,0,0,0,0,540,0,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,540,350,540,540,540,540,540,540,540,540,544,0,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,349,544,544,546,546,546,546,546,546,546,546,546,546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,546,0,546,546,546,546,546,546,546,546,546,546,546,546,546,348,546,546,546,546,546,546,546,546,546,546,546,546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,26287) [-1,10,61,101,13,49,50,51,52,53,54,55,56,57,113,101,117,97,115,114,108,110,101,32,33,111,118,100,46,116,114,46,46,42,101,46,46,116,46,46,49,50,51,52,53,54,55,56,57,116,49,50,51,52,53,54,55,56,57,46,46,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,46,46,46,46,61,47,47,42,41,99,100,61,61,-1,-1,-1,-1,-1,113,-1,-1,-1,-1,-1,-1,-1,118,48,49,50,51,52,53,54,55,56,57,-1,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,10,-1,-1,13,48,49,50,51,52,53,54,55,56,57,49,50,51,52,53,54,55,56,57,33,-1,-1,-1,-1,-1,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,-1,60,61,62,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,112,48,49,50,51,52,53,54,55,56,57,10,-1,-1,13,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,44,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,10,97,-1,13,-1,101,102,103,-1,-1,-1,-1,108,-1,110,111,-1,-1,-1,-1,116,-1,-1,33,-1,-1,-1,-1,-1,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,-1,60,61,62,46,-1,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,46,-1,48,49,50,51,52,53,54,55,56,57,97,98,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,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,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,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,-1,-1,100,101,102,103,104,105,-1,-1,108,-1,-1,-1,112,-1,-1,-1,-1,-1,-1,-1,120,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,43,-1,45,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,43,-1,45,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,43,-1,45,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,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,588) [53,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,27,27,-1,-1,-1,-1,-1,-1,-1,46,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,53,53,53,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-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,588) [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,AlexAccPred  (alex_action_0) ( commentP )(AlexAccPred  (alex_action_2) ( \_ ai _ _ -> atColP 6 ai )(AlexAccNone)),AlexAccPred  (alex_action_1) ( withinLabelColsP )(AlexAccNone),AlexAccPred  (alex_action_1) ( withinLabelColsP )(AlexAccNone),AlexAccPred  (alex_action_1) ( withinLabelColsP )(AlexAccNone),AlexAccPred  (alex_action_1) ( withinLabelColsP )(AlexAccNone),AlexAccPred  (alex_action_1) ( withinLabelColsP )(AlexAccPred  (alex_action_2) ( \_ ai _ _ -> atColP 6 ai )(AlexAccNone)),AlexAccPred  (alex_action_2) ( \_ ai _ _ -> atColP 6 ai )(AlexAccNone),AlexAccPred  (alex_action_2) ( \_ ai _ _ -> atColP 6 ai )(AlexAccSkip),AlexAccPred  (alex_action_2) ( \_ ai _ _ -> atColP 6 ai )(AlexAccSkip),AlexAcc (alex_action_4),AlexAccSkip,AlexAcc (alex_action_6),AlexAcc (alex_action_7),AlexAcc (alex_action_8),AlexAcc (alex_action_9),AlexAccPred  (alex_action_10) ( formatExtendedP )(AlexAccNone),AlexAccPred  (alex_action_11) ( formatExtendedP )(AlexAccNone),AlexAcc (alex_action_12),AlexAcc (alex_action_13),AlexAccPred  (alex_action_14) ( fortran77P )(AlexAccNone),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_21))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_22))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_25))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_26))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_28) ( fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_29) (fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_30) (fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_31) (fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_32))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_33))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_34) ( fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_36))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_37) ( extended77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_38))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_39))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_41) ( extended77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_42))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_43))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_44))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_48) ( fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_49) ( fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_50) ( fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_52))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_56))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_65) ( fortran77P )(AlexAccNone))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_66))),AlexAccPred  (alex_action_15) ( idP )(AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_67))),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccNone),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_17)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_18)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_19)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_20)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_35)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_40) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_45)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_46)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_47) ( fortran77P )(AlexAccNone)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_51)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_53)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_54)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_55) ( fortran77P )(AlexAccNone)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_56)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAcc (alex_action_56)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_58) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_60) ( fortran77P )(AlexAccNone)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_62) ( fortran77P )(AlexAccNone)),AlexAccPred  (alex_action_16) ( extendedIdP )(AlexAccPred  (alex_action_64) ( fortran77P )(AlexAccNone)),AlexAcc (alex_action_23),AlexAcc (alex_action_24),AlexAccPred  (alex_action_27) ( fortran77P )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_28) ( fortran77P )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_57) ( implicitStP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_57) ( implicitStP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_57) ( implicitStP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_59) ( implicitTypeExtendedP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_61) ( implicitType77P )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_63) ( fortran77P )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccNone),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccNone),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAccPred  (alex_action_68) ( exponentP )(AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone)),AlexAcc (alex_action_69),AlexAcc (alex_action_69),AlexAccPred  (alex_action_70) ( fortran77P )(AlexAccNone),AlexAcc (alex_action_71),AlexAcc (alex_action_72),AlexAcc (alex_action_73),AlexAcc (alex_action_73),AlexAcc (alex_action_74),AlexAcc (alex_action_75),AlexAcc (alex_action_76),AlexAcc (alex_action_77),AlexAcc (alex_action_78),AlexAcc (alex_action_79),AlexAccPred  (alex_action_80) ( fortran77P )(AlexAccNone),AlexAccPred  (alex_action_81) ( fortran77P )(AlexAccNone),AlexAccPred  (alex_action_82) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_83) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_84) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_85) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_86) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_87) ( extended77P )(AlexAccNone),AlexAcc (alex_action_88),AlexAcc (alex_action_89),AlexAcc (alex_action_90),AlexAcc (alex_action_91),AlexAcc (alex_action_92),AlexAcc (alex_action_93),AlexAcc (alex_action_94),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_95),AlexAcc (alex_action_96),AlexAcc (alex_action_97),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAcc (alex_action_98),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_99) ( extended77P )(AlexAccNone),AlexAccPred  (alex_action_100) ( fortran66P )(AlexAccNone)]+{-# LINE 202 "FixedForm.x" #-}+++--------------------------------------------------------------------------------+-- Predicated lexer helpers+--------------------------------------------------------------------------------++formatExtendedP :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+formatExtendedP fv _ _ ai = fv == Fortran77Extended &&+  case xs of+    [ TFormat _, _ ] -> False+    [ TLabel _ _, TFormat _ ] -> False+    _ -> True+  where+    xs = take 2 . reverse . aiPreviousTokensInLine $ ai++implicitType77P :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+implicitType77P fv b c d = fortran77P fv b c d && implicitStP fv b c d++implicitTypeExtendedP :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+implicitTypeExtendedP fv b c d = extended77P fv b c d && implicitStP fv b c d++implicitStP :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+implicitStP fv _ _ ai = checkPreviousTokensInLine f ai+  where+    f (TImplicit _) = True+    f _ = False++extendedIdP :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+extendedIdP fv a b ai = fv == Fortran77Extended && idP fv a b ai++idP :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+idP fv _ _ ai = not (doP ai) && equalFollowsP fv ai++doP :: AlexInput -> Bool+doP ai = isPrefixOf "do" (reverse . lexemeMatch . aiLexeme $ ai)++equalFollowsP :: FortranVersion -> AlexInput -> Bool+equalFollowsP fv ai =+    case unParse (lexer $ f False 0) ps of+      ParseOk True _ -> True+      _ -> False+  where+    ps = ParseState+      { psAlexInput = ai { aiStartCode = st}+      , psVersion = fv+      , psFilename = "<unknown>"+      , psParanthesesCount = ParanthesesCount 0 False+      , psContext = [ ConStart ] }+    f False 0 t =+      case t of+        TNewline{} -> return False+        TEOF{} -> return False+        TOpAssign{} -> return True+        TLeftPar{} -> lexer $ f True 1+        _ -> return False+    f True 0 t =+      case t of+        TOpAssign{} -> return True+        _ -> return False+    f True n t =+      case t of+        TNewline{} -> return False+        TEOF{} -> return False+        TLeftPar{} -> lexer $ f True (n + 1)+        TRightPar{} -> lexer $ f True (n - 1)+        _ -> lexer $ f True n++commentP :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+commentP _ aiOld _ aiNew = atColP 1 aiOld && _endsWithLine+  where+    _endsWithLine = (posColumn . aiPosition) aiNew /= 1++withinLabelColsP :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+withinLabelColsP _ aiOld _ aiNew = getCol aiOld >= 1 && getCol aiNew <= 6+  where+    getCol = posColumn . aiPosition++atColP :: Integer -> AlexInput -> Bool+atColP n ai = (posColumn . aiPosition) ai == n++-- This predicate allows to distinguish identifiers and real exponent tokens+-- by looking at previous token. Since exponent can only follow a "." or an+-- integer token. Anything other previous token will prevent matching the input+-- as an exponent token.+exponentP :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+exponentP _ _ _ ai =+  case aiPreviousToken ai of+    Just (TInt _ _) -> True+    Just (TDot _) -> True+    _ -> False++fortran66P :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+fortran66P fv _ _ _ = fv == Fortran66++fortran77P :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+fortran77P fv _ _ _ = fv == Fortran77 || fv == Fortran77Extended++extended77P :: FortranVersion -> AlexInput -> Int -> AlexInput -> Bool+extended77P fv _ _ _ = fv == Fortran77Extended++--------------------------------------------------------------------------------+-- Lexer helpers+--------------------------------------------------------------------------------++addSpan :: (SrcSpan -> Token) -> LexAction (Maybe Token)+addSpan cons = do+  s <- getLexemeSpan+  return $ Just $ cons s++addSpanAndMatch :: (SrcSpan -> String -> Token) -> LexAction (Maybe Token)+addSpanAndMatch cons = do+  s <- getLexemeSpan+  m <- getMatch+  return $ Just $ cons s m++getLexeme :: LexAction Lexeme+getLexeme = do+  ai <- getAlex+  return $ aiLexeme ai++putLexeme :: Lexeme -> LexAction ()+putLexeme lexeme = do+  ai <- getAlex+  putAlex $ ai { aiLexeme = lexeme }++resetLexeme :: LexAction ()+resetLexeme = putLexeme initLexeme++getMatch :: LexAction String+getMatch = do+  lexeme <- getLexeme+  return $ (reverse . lexemeMatch) lexeme++putMatch :: String -> LexAction ()+putMatch newMatch = do+  lexeme <- getLexeme+  putLexeme $ lexeme { lexemeMatch = reverse newMatch }++incWhiteSensitiveCharCount :: LexAction ()+incWhiteSensitiveCharCount = do+  ai <- getAlex+  let wsc = aiWhiteSensitiveCharCount ai+  putAlex $ ai { aiWhiteSensitiveCharCount = wsc + 1 }++resetWhiteSensitiveCharCount :: LexAction ()+resetWhiteSensitiveCharCount = do+  ai <- getAlex+  putAlex $ ai { aiWhiteSensitiveCharCount = 0 }++instance Spanned Lexeme where+  getSpan lexeme =+    let ms = lexemeStart lexeme+        me = lexemeEnd lexeme in+      SrcSpan (fromJust ms) (fromJust me)+  setSpan _ = error "Lexeme span cannot be set."++updatePreviousToken :: Maybe Token -> LexAction ()+updatePreviousToken maybeToken = do+  ai <- getAlex+  putAlex $ ai { aiPreviousToken = maybeToken }++addToPreviousTokensInLine :: Token -> LexAction ()+addToPreviousTokensInLine token = do+  ai <- getAlex+  putAlex $+    case token of+      TNewline _ -> updatePrevTokens ai [ ]+      t -> updatePrevTokens ai $ t : aiPreviousTokensInLine ai+  where+    updatePrevTokens ai tokens = ai { aiPreviousTokensInLine = tokens }++checkPreviousTokensInLine :: (Token -> Bool) -> AlexInput -> Bool+checkPreviousTokensInLine prop ai = any prop $ aiPreviousTokensInLine ai++getLexemeSpan :: LexAction SrcSpan+getLexemeSpan = do+  lexeme <- getLexeme+  return $ getSpan lexeme++-- With the existing alexGetByte implementation comments are matched without+-- whitespace characters. However, we have access to final column number,+-- we know the comment would start at column, and we have access to the absolute+-- offset so instead of using match, lexComment takes a slice from the original+-- source input+lexComment :: Maybe Char -> LexAction (Maybe Token)+lexComment mc = do+  m <- getMatch+  s <- getLexemeSpan+  alex <- getAlex+  let modifiedAlex = alex { aiWhiteSensitiveCharCount = 1 }+  case mc of+    Just '\n' -> return $ Just $ TComment s $ tail m+    Just _ ->+      case alexGetByte modifiedAlex of+        Just (_, newAlex) -> do+          putAlex newAlex+          lexComment Nothing+        Nothing -> fail "Comment abruptly ended."+    Nothing ->+      case alexGetByte modifiedAlex of+        Just (_, newAlex) -> lexComment (Just $ (head . lexemeMatch . aiLexeme) newAlex)+        Nothing -> return $ Just $ TComment s $ tail m+++{-+     Chars+      +-++      | |+      | |+      | v+      +-+  Nothing  +-+++---> |0|---------->+3|+  +-> +++           +-++  |    |+' |    | '+  |    v+  |   +++  Nothing  +-++  +---|1|----------->2|+      +++           ++++       |             ^+       +-------------++            Chars+-}+strAutomaton :: Int -> LexAction (Maybe Token)+strAutomaton 0 = do+  incWhiteSensitiveCharCount+  alex <- getAlex+  case alexGetByte alex of+    Just (_, newAlex) -> do+      putAlex newAlex+      m <- getMatch+      if last m == '\''+      then strAutomaton 1+      else strAutomaton 0+    Nothing -> strAutomaton 3+strAutomaton 1 = do+  incWhiteSensitiveCharCount+  alex <- getAlex+  case alexGetByte alex of+    Just (_, newAlex) -> do+      let m = lexemeMatch . aiLexeme $ newAlex+      if head m == '\''+      then do+        putAlex newAlex+        putMatch $ reverse . tail $ m+        strAutomaton 0+      else strAutomaton 2+    Nothing -> strAutomaton 2+strAutomaton 2 = do+  s <- getLexemeSpan+  m <- getMatch+  resetWhiteSensitiveCharCount+  return $ Just $ TString s $ (init . tail) m+strAutomaton 3 = fail "Unmatched string."++lexHollerith :: LexAction (Maybe Token)+lexHollerith = do+  match' <- getMatch+  let len = read $ init match' -- Get n of "nH" from string+  putMatch ""+  ai <- getAlex+  putAlex $ ai { aiWhiteSensitiveCharCount = len }+  lexed <- lexN len+  s <- getLexemeSpan+  return $ do+    hollerith <- lexed+    return $ THollerith s hollerith++lexN :: Int -> LexAction (Maybe String)+lexN n = do+  alex <- getAlex+  match' <- getMatch+  let len = length match'+  if n == len+  then return $ Just match'+  else+    case alexGetByte alex of+      Just (_, newAlex) -> do+        putAlex newAlex+        lexN n+      Nothing -> return Nothing++-- Lexing various field descriptors++lexFieldDescriptorDEFG :: LexAction (Maybe Token)+lexFieldDescriptorDEFG = do+  match <- getMatch+  let (repeat, descriptor, width, rest) = takeRepeatDescriptorWidth match+  let fractionWidth = (read $ fst $ takeNumber $ tail rest) :: Integer+  s <- getLexemeSpan+  return $ Just $ TFieldDescriptorDEFG s repeat descriptor width fractionWidth++lexFieldDescriptorAIL :: LexAction (Maybe Token)+lexFieldDescriptorAIL = do+  match <- getMatch+  let (repeat, descriptor, width, rest) = takeRepeatDescriptorWidth match+  s <- getLexemeSpan+  return $ Just $ TFieldDescriptorAIL s repeat descriptor width++lexBlankDescriptor :: LexAction (Maybe Token)+lexBlankDescriptor = do+  match <- getMatch+  let (width, _) = takeNumber match+  s <- getLexemeSpan+  return $ Just $ TBlankDescriptor s (read width :: Integer)++lexScaleFactor :: LexAction (Maybe Token)+lexScaleFactor = do+  match <- getMatch+  let (sign, rest) = if head match == '-' then (-1, tail match) else (1, match)+  let (width, _) = takeNumber rest+  s <- getLexemeSpan+  return $ Just $ TScaleFactor s $ (read width) * sign++takeRepeatDescriptorWidth :: String -> (Maybe Integer, Char, Integer, String)+takeRepeatDescriptorWidth str =+  let (repeatStr, rest) = takeNumber str+      repeat = if repeatStr == [] then Nothing else Just $ (read repeatStr :: Integer)+      descriptor = head rest+      (widthStr, rest') = takeNumber $ tail rest+      width = read widthStr :: Integer in+    (repeat, descriptor, width, rest')++takeNumber :: String -> (String, String)+takeNumber str = span isDigit str++maybeToKeyword :: LexAction (Maybe Token)+maybeToKeyword = do+  decPar+  pcActual <- pcActual . psParanthesesCount <$> get+  if pcActual == 0+  then toSC keyword+  else return Nothing++typeSCChange :: LexAction (Maybe Token)+typeSCChange = do+  ps <- get+  let hypotheticalPs = ps { psAlexInput = (psAlexInput ps) { aiStartCode = keyword } }+  let isFunction = case unParse (lexer f) hypotheticalPs of { ParseOk True _ -> True; _ -> False }+  if isFunction+  then return Nothing+  else toSC st+  where+    f TFunction{} = return True+    f _ = return False++toSC :: Int -> LexAction (Maybe Token)+toSC startCode = do+  ai <- getAlex+  if startCode == 0+  then putAlex $ ai { aiStartCode = startCode, aiWhiteSensitiveCharCount = 6 }+  else putAlex $ ai { aiStartCode = startCode }+  return Nothing++--------------------------------------------------------------------------------+-- Tokens+--------------------------------------------------------------------------------++data Token = TLeftPar             SrcSpan+           | TRightPar            SrcSpan+           | TLeftArrayPar        SrcSpan+           | TRightArrayPar       SrcSpan+           | TComma               SrcSpan+           | TDot                 SrcSpan+           | TColon               SrcSpan+           | TProgram             SrcSpan+           | TFunction            SrcSpan+           | TSubroutine          SrcSpan+           | TBlockData           SrcSpan+           | TEnd                 SrcSpan+           | TAssign              SrcSpan+           | TOpAssign            SrcSpan+           | TTo                  SrcSpan+           | TGoto                SrcSpan+           | TIf                  SrcSpan+           | TThen                SrcSpan+           | TElse                SrcSpan+           | TElsif               SrcSpan+           | TEndif               SrcSpan+           | TCall                SrcSpan+           | TReturn              SrcSpan+           | TSave                SrcSpan+           | TContinue            SrcSpan+           | TStop                SrcSpan+           | TExit                SrcSpan+           | TPause               SrcSpan+           | TDo                  SrcSpan+           | TDoWhile             SrcSpan+           | TEndDo               SrcSpan+           | TRead                SrcSpan+           | TWrite               SrcSpan+           | TRewind              SrcSpan+           | TBackspace           SrcSpan+           | TEndfile             SrcSpan+           | TInquire             SrcSpan+           | TOpen                SrcSpan+           | TClose               SrcSpan+           | TPrint               SrcSpan+           | TDimension           SrcSpan+           | TCommon              SrcSpan+           | TEquivalence         SrcSpan+           | TExternal            SrcSpan+           | TIntrinsic           SrcSpan+           | TType                SrcSpan String+           | TEntry               SrcSpan+           | TImplicit            SrcSpan+           | TNone                SrcSpan+           | TParameter           SrcSpan+           | TData                SrcSpan+           | TFormat              SrcSpan+           | TFieldDescriptorDEFG SrcSpan (Maybe Integer) Char Integer Integer+           | TFieldDescriptorAIL  SrcSpan (Maybe Integer) Char Integer+           | TBlankDescriptor     SrcSpan Integer+           | TScaleFactor         SrcSpan Integer+           | TInt                 SrcSpan String+           | TExponent            SrcSpan String+           | TBool                SrcSpan String+           | TOpPlus              SrcSpan+           | TOpMinus             SrcSpan+           | TOpExp               SrcSpan+           | TStar                SrcSpan+           | TSlash               SrcSpan+           | TOpOr                SrcSpan+           | TOpAnd               SrcSpan+           | TOpNot               SrcSpan+           | TOpEquivalent        SrcSpan+           | TOpNotEquivalent     SrcSpan+           | TOpLT                SrcSpan+           | TOpLE                SrcSpan+           | TOpEQ                SrcSpan+           | TOpNE                SrcSpan+           | TOpGT                SrcSpan+           | TOpGE                SrcSpan+           | TId                  SrcSpan String+           | TComment             SrcSpan String+           | TString              SrcSpan String+           | THollerith           SrcSpan String+           | TLabel               SrcSpan String+           | TNewline             SrcSpan+           | TEOF                 SrcSpan+           deriving (Show, Eq, Ord, Data, Typeable, Generic)++instance FirstParameter Token SrcSpan+instance FirstParameter Token SrcSpan => Spanned Token where+  getSpan a = getFirstParameter a+  setSpan e a = setFirstParameter e a++instance Tok Token where+  eofToken (TEOF _) = True+  eofToken _ = False++--------------------------------------------------------------------------------+-- AlexInput & related definitions+--------------------------------------------------------------------------------++data Lexeme = Lexeme+  { lexemeMatch :: String+  , lexemeStart :: Maybe Position+  , lexemeEnd   :: Maybe Position+  } deriving (Show)++initLexeme :: Lexeme+initLexeme = Lexeme+  { lexemeMatch = ""+  , lexemeStart = Nothing+  , lexemeEnd   = Nothing }++data AlexInput = AlexInput+  { aiSourceInput               :: String+  , aiPosition                  :: Position+  , aiBytes                     :: [Word8]+  , aiPreviousChar              :: Char+  , aiLexeme                    :: Lexeme+  , aiWhiteSensitiveCharCount   :: Int+  , aiStartCode                 :: Int+  , aiPreviousToken             :: Maybe Token+  , aiPreviousTokensInLine      :: [ Token ]+  } deriving (Show)++instance Loc AlexInput where+  getPos = aiPosition++instance LastToken AlexInput Token where+  getLastToken = aiPreviousToken++type LexAction a = Parse AlexInput Token a++vanillaAlexInput :: AlexInput+vanillaAlexInput = AlexInput+  { aiSourceInput = ""+  , aiPosition = initPosition+  , aiBytes = []+  , aiPreviousChar = '\n'+  , aiLexeme = initLexeme+  , aiWhiteSensitiveCharCount = 6+  , aiStartCode = 0+  , aiPreviousToken = Nothing+  , aiPreviousTokensInLine = [ ] }++updateLexeme :: Maybe Char -> Position -> AlexInput -> AlexInput+updateLexeme maybeChar p ai =+  let lexeme = aiLexeme ai+      match = lexemeMatch lexeme+      newMatch =+        case maybeChar of+          Just c -> toLower c : match+          Nothing -> match+      start = lexemeStart lexeme+      newStart = if isNothing start then Just p else start+      newEnd = Just p in+    ai { aiLexeme = Lexeme newMatch newStart newEnd }++--------------------------------------------------------------------------------+-- Definitions needed for alexScanUser+--------------------------------------------------------------------------------++data Move = Continuation | Char | Newline++alexGetByte :: AlexInput -> Maybe (Word8, AlexInput)+alexGetByte ai+  -- The process of reading individual bytes of the character+  | _bytes /= [] = Just (head _bytes, ai { aiBytes = tail _bytes })+  -- When all characters are already read+  | posAbsoluteOffset _position == (toInteger . length . aiSourceInput) ai = Nothing+  -- Skip the continuation line altogether+  | isContinuation ai && _isWhiteInsensitive = skip Continuation ai+  -- If we are not parsing a Hollerith skip whitespace+  | _curChar == ' ' && _isWhiteInsensitive = skip Char ai+  -- Read genuine character and advance. Also covers white sensitivity.+  | otherwise =+      let (_b:_bs) = (utf8Encode . toLower) _curChar in+        Just(_b, updateLexeme (Just _curChar) _position+          ai {+            aiPosition =+              case _curChar of+                '\n'  -> advance Newline _position+                _     -> advance Char _position,+            aiBytes = _bs,+            aiPreviousChar = _curChar,+            aiWhiteSensitiveCharCount =+              if _isWhiteInsensitive+              then 0+              else aiWhiteSensitiveCharCount ai - 1+          })+  where+    _curChar = currentChar ai+    _bytes = aiBytes ai+    _position = aiPosition ai+    _isWhiteInsensitive = aiWhiteSensitiveCharCount ai == 0++alexInputPrevChar :: AlexInput -> Char+alexInputPrevChar ai = aiPreviousChar ai++takeNChars :: Integer -> AlexInput -> String+takeNChars n ai =+  take (fromIntegral n) . drop (fromIntegral _dropN) $ aiSourceInput ai+  where+    _dropN = posAbsoluteOffset . aiPosition $ ai++currentChar :: AlexInput -> Char+currentChar ai = head (takeNChars 1 ai)++isContinuation :: AlexInput -> Bool+isContinuation ai =+  take 6 _next7 == "\n     " && not (last _next7 `elem` [' ', '0'])+  where+    _next7 = takeNChars 7 ai++skip :: Move -> AlexInput -> Maybe (Word8, AlexInput)+skip move ai =+  let _newPosition = advance move $ aiPosition ai in+    alexGetByte $ updateLexeme Nothing _newPosition $ ai { aiPosition = _newPosition }++advance :: Move -> Position -> Position+advance move position =+  case move of+    Char ->+      position { posAbsoluteOffset = _absl + 1, posColumn = _col + 1 }+    Continuation ->+      position { posAbsoluteOffset = _absl + 7, posColumn = 7, posLine = _line + 1 }+    Newline ->+      position { posAbsoluteOffset = _absl + 1, posColumn = 1, posLine = _line + 1 }+  where+    _col = posColumn position+    _line = posLine position+    _absl = posAbsoluteOffset position++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+                       ]++--------------------------------------------------------------------------------+-- Lexer definition+--------------------------------------------------------------------------------++lexer :: (Token -> LexAction a) -> LexAction a+lexer cont = cont =<< lexer'++lexer' :: LexAction Token+lexer' = do+  resetLexeme+  alexInput <- getAlex+  let startCode = aiStartCode alexInput+  version <- getVersion+  case alexScanUser version alexInput startCode of+    AlexEOF -> return $ TEOF $ SrcSpan (getPos alexInput) (getPos alexInput)+    AlexError _ -> fail "Lexing failed. "+    AlexSkip newAlex _ -> putAlex newAlex >> lexer'+    AlexToken newAlex startCode action -> do+      putAlex newAlex+      maybeToken <- action+      case maybeToken of+        Just token -> do+          updatePreviousToken maybeToken+          addToPreviousTokensInLine token+          return token+        Nothing -> lexer'++alexScanUser :: FortranVersion -> AlexInput -> Int -> AlexReturn (LexAction (Maybe Token))++--------------------------------------------------------------------------------+-- Functions to help testing & output+--------------------------------------------------------------------------------++initParseState :: String -> FortranVersion -> String -> ParseState AlexInput+initParseState srcInput fortranVersion filename =+  _vanillaParseState { psAlexInput = vanillaAlexInput { aiSourceInput = srcInput } }+  where+    _vanillaParseState = ParseState+      { psAlexInput = undefined+      , psVersion = fortranVersion+      , psFilename = filename+      , psParanthesesCount = ParanthesesCount 0 False+      , psContext = [ ConStart ] }++collectFixedTokens :: FortranVersion -> String -> [Token]+collectFixedTokens version srcInput =+    collectTokens lexer' $ initParseState srcInput version "<unknown>"++collectFixedTokensSafe :: FortranVersion -> String -> Maybe [Token]+collectFixedTokensSafe version srcInput =+    collectTokensSafe lexer' $ initParseState srcInput version "<unknown>"++++iif,keyword,st :: Int+iif = 1+keyword = 2+st = 3+alex_action_0 =  lexComment Nothing +alex_action_1 =  addSpanAndMatch TLabel +alex_action_2 =  toSC keyword +alex_action_4 =  resetPar >> toSC 0 >> addSpan TNewline +alex_action_6 =  addSpan TLeftPar +alex_action_7 =  incPar >> addSpan TLeftPar +alex_action_8 =  addSpan TRightPar +alex_action_9 =  maybeToKeyword >> addSpan TRightPar +alex_action_10 =  addSpan TLeftArrayPar +alex_action_11 =  addSpan TRightArrayPar +alex_action_12 =  addSpan TComma +alex_action_13 =  addSpan TDot +alex_action_14 =  addSpan TColon +alex_action_15 =  toSC st >> addSpanAndMatch TId +alex_action_16 =  toSC st >> addSpanAndMatch TId +alex_action_17 =  toSC st >> addSpan TProgram +alex_action_18 =  toSC st >> addSpan TFunction  +alex_action_19 =  toSC st >> addSpan TSubroutine  +alex_action_20 =  toSC st >> addSpan TBlockData  +alex_action_21 =  toSC st >> addSpan TEnd  +alex_action_22 =  toSC st >> addSpan TAssign  +alex_action_23 =  addSpan TOpAssign  +alex_action_24 =  addSpan TTo  +alex_action_25 =  toSC st >> addSpan TGoto  +alex_action_26 =  toSC iif >> addSpan TIf  +alex_action_27 =  toSC iif >> addSpan TIf  +alex_action_28 =  toSC keyword >> addSpan TThen  +alex_action_29 =  addSpan TElse  +alex_action_30 =  toSC st >> addSpan TElsif  +alex_action_31 =  addSpan TEndif  +alex_action_32 =  toSC st >> addSpan TCall  +alex_action_33 =  toSC st >> addSpan TReturn  +alex_action_34 =  toSC st >> addSpan TSave  +alex_action_35 =  toSC st >> addSpan TContinue  +alex_action_36 =  toSC st >> addSpan TStop  +alex_action_37 =  toSC st >> addSpan TExit  +alex_action_38 =  toSC st >> addSpan TPause  +alex_action_39 =  toSC st >> addSpan TDo +alex_action_40 =  toSC st >> addSpan TDoWhile +alex_action_41 =  toSC st >> addSpan TEndDo  +alex_action_42 =  toSC st >> addSpan TRead  +alex_action_43 =  toSC st >> addSpan TWrite  +alex_action_44 =  toSC st >> addSpan TRewind  +alex_action_45 =  toSC st >> addSpan TBackspace  +alex_action_46 =  toSC st >> addSpan TEndfile  +alex_action_47 =  toSC st >> addSpan TInquire  +alex_action_48 =  toSC st >> addSpan TOpen  +alex_action_49 =  toSC st >> addSpan TClose  +alex_action_50 =  toSC st >> addSpan TPrint  +alex_action_51 =  toSC st >> addSpan TDimension  +alex_action_52 =  toSC st >> addSpan TCommon  +alex_action_53 =  toSC st >> addSpan TEquivalence  +alex_action_54 =  toSC st >> addSpan TExternal  +alex_action_55 =  toSC st >> addSpan TIntrinsic  +alex_action_56 =  typeSCChange >> addSpanAndMatch TType +alex_action_57 =  addSpanAndMatch TType +alex_action_58 =  typeSCChange >> addSpanAndMatch TType +alex_action_59 =  addSpanAndMatch TType +alex_action_60 =  toSC st >> addSpanAndMatch TType +alex_action_61 =  addSpanAndMatch TType +alex_action_62 =  toSC st >> addSpan TImplicit  +alex_action_63 =  addSpan TNone  +alex_action_64 =  toSC st >> addSpan TParameter  +alex_action_65 =  toSC st >> addSpan TEntry  +alex_action_66 =  toSC st >> addSpan TData  +alex_action_67 =  toSC st >> addSpan TFormat  +alex_action_68 =  addSpanAndMatch TExponent +alex_action_69 =  addSpanAndMatch TInt +alex_action_70 =  strAutomaton 0 +alex_action_71 =  addSpanAndMatch TBool  +alex_action_72 =  addSpan TOpPlus  +alex_action_73 =  addSpan TOpMinus  +alex_action_74 =  addSpan TOpExp  +alex_action_75 =  addSpan TStar  +alex_action_76 =  addSpan TSlash  +alex_action_77 =  addSpan TOpOr  +alex_action_78 =  addSpan TOpAnd  +alex_action_79 =  addSpan TOpNot  +alex_action_80 =  addSpan TOpEquivalent  +alex_action_81 =  addSpan TOpNotEquivalent  +alex_action_82 =  addSpan TOpLT  +alex_action_83 =  addSpan TOpLE  +alex_action_84 =  addSpan TOpEQ  +alex_action_85 =  addSpan TOpNE  +alex_action_86 =  addSpan TOpGT  +alex_action_87 =  addSpan TOpGE  +alex_action_88 =  addSpan TOpLT  +alex_action_89 =  addSpan TOpLE  +alex_action_90 =  addSpan TOpEQ  +alex_action_91 =  addSpan TOpNE  +alex_action_92 =  addSpan TOpGT  +alex_action_93 =  addSpan TOpGE  +alex_action_94 =  lexFieldDescriptorDEFG +alex_action_95 =  lexFieldDescriptorAIL +alex_action_96 =  lexBlankDescriptor +alex_action_97 =  lexScaleFactor +alex_action_98 =  addSpanAndMatch TId +alex_action_99 =  addSpanAndMatch TId +alex_action_100 =  lexHollerith +{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 16 "<built-in>" #-}+{-# LINE 1 "/usr/local/lib/ghc-7.10.2/include/ghcversion.h" #-}+++++++++++++++++++{-# LINE 17 "<built-in>" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+-- -----------------------------------------------------------------------------+-- ALEX TEMPLATE+--+-- This code is in the PUBLIC DOMAIN; you may copy it freely and use+-- it for any purpose whatsoever.++-- -----------------------------------------------------------------------------+-- INTERNALS and main scanner engine+++{-# LINE 21 "templates/GenericTemplate.hs" #-}+++{-# LINE 51 "templates/GenericTemplate.hs" #-}+++{-# LINE 72 "templates/GenericTemplate.hs" #-}+alexIndexInt16OffAddr arr off = arr ! off++++{-# LINE 93 "templates/GenericTemplate.hs" #-}+alexIndexInt32OffAddr arr off = arr ! off++++{-# LINE 105 "templates/GenericTemplate.hs" #-}+quickIndex arr i = arr ! i+++-- -----------------------------------------------------------------------------+-- Main lexing routines++data AlexReturn a+  = AlexEOF+  | AlexError  !AlexInput+  | AlexSkip   !AlexInput !Int+  | AlexToken  !AlexInput !Int a++-- alexScan :: AlexInput -> StartCode -> AlexReturn a+alexScan input (sc)+  = alexScanUser undefined input (sc)++alexScanUser user input (sc)+  = case alex_scan_tkn user input (0) input sc AlexNone of+	(AlexNone, input') ->+		case alexGetByte input of+			Nothing -> ++++				   AlexEOF+			Just _ ->++++				   AlexError input'++	(AlexLastSkip input'' len, _) ->++++		AlexSkip input'' len++	(AlexLastAcc k input''' len, _) ->++++		AlexToken input''' len 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 a+  = AlexNone+  | AlexLastAcc a !AlexInput !Int+  | AlexLastSkip  !AlexInput !Int++instance Functor AlexLastAcc where+    fmap f AlexNone = AlexNone+    fmap f (AlexLastAcc x y z) = AlexLastAcc (f x) y z+    fmap f (AlexLastSkip x y) = AlexLastSkip x y++data AlexAcc a user+  = AlexAccNone+  | AlexAcc a+  | AlexAccSkip++  | AlexAccPred a   (AlexAccPred user) (AlexAcc a user)+  | AlexAccSkipPred (AlexAccPred user) (AlexAcc a user)++type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool++-- -----------------------------------------------------------------------------+-- Predicates on a rule++alexAndPred p1 p2 user in1 len in2+  = p1 user in1 len in2 && p2 user in1 len in2++--alexPrevCharIsPred :: Char -> AlexAccPred _ +alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input++alexPrevCharMatches f _ input _ _ = f (alexInputPrevChar input)++--alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ +alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input++--alexRightContext :: Int -> AlexAccPred _+alexRightContext (sc) user _ _ input = +     case alex_scan_tkn user input (0) input sc AlexNone of+	  (AlexNone, _) -> False+	  _ -> True+	-- TODO: there's no need to find the longest+	-- match when checking the right context, just+	-- the first match will do.+++-- used by wrappers+iUnbox (i) = i+
+ src/Language/Fortran/Lexer/FreeForm.hs view
@@ -0,0 +1,1258 @@+{-# LANGUAGE CPP #-}+{-# LINE 1 "FreeForm.x" #-}++{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE DeriveGeneric #-}++module Language.Fortran.Lexer.FreeForm where++import Data.Data+import Data.Typeable+import Data.Maybe (isJust, isNothing, fromJust, fromMaybe)+import Data.Char (toLower)+import Data.Word (Word8)++import Control.Monad (join)+import Control.Monad.State (get)++import GHC.Generics++import Language.Fortran.ParserMonad+import Language.Fortran.Util.Position+import Language.Fortran.Util.FirstParameter++import Debug.Trace+++#if __GLASGOW_HASKELL__ >= 603+#include "ghcconfig.h"+#elif defined(__GLASGOW_HASKELL__)+#include "config.h"+#endif+#if __GLASGOW_HASKELL__ >= 503+import Data.Array+import Data.Char (ord)+import Data.Array.Base (unsafeAt)+#else+import Array+import Char (ord)+#endif+alex_base :: Array Int Int+alex_base = listArray (0,973) [-8,18,132,158,45,-106,-97,-91,-90,-93,-92,-89,-22,-88,-87,-100,-86,-85,-94,-83,-81,-80,153,-75,-84,-76,-2,-73,-71,-82,-66,-69,-68,-79,44,-78,-65,-64,361,389,357,-54,-52,-63,-61,-57,-58,-56,-59,-43,-47,-38,-41,-34,47,-17,-16,-19,-18,-27,37,-20,-15,-14,-29,38,48,124,125,35,49,34,53,41,61,58,62,69,60,76,59,73,72,75,77,64,117,67,68,93,99,121,108,115,129,311,581,582,306,307,314,325,308,312,313,315,318,316,317,320,583,327,321,323,332,334,347,584,586,333,335,340,336,585,339,0,552,342,344,341,776,778,345,507,506,513,508,510,512,0,620,831,857,934,960,1037,1063,1140,1166,1243,1269,1346,1372,1449,1475,1552,1578,1655,1681,1758,1784,1861,1887,1964,1990,2067,2093,2170,2196,2273,2301,589,2376,587,597,2402,607,609,2477,2487,2513,511,563,527,515,514,519,558,557,560,555,561,660,2636,2572,0,662,0,2818,661,0,870,628,0,0,0,0,0,618,0,616,0,0,2781,2809,3026,3054,3129,3157,3232,3260,3335,3363,3438,3466,3541,3569,3644,3672,3747,3775,3850,3878,3953,3981,4056,4084,4159,4187,4262,4290,4365,4393,4468,4496,4571,4599,4674,4702,4777,4805,4880,4908,4983,5011,5086,5114,5189,5217,5292,5320,5395,5423,5498,5526,5601,5629,5704,5732,5807,5835,5910,5938,6013,6041,6116,6144,6219,6247,6322,6350,6425,6453,6528,6556,6631,6659,6734,6762,6837,6865,6940,6968,7043,7071,7146,7174,7249,7277,7352,7380,7455,7483,7558,7586,7661,7689,7764,7792,7867,7895,7970,7998,8073,8101,8176,8204,8279,8307,8382,8410,8485,8513,8588,8616,8691,8719,8794,8822,8897,8925,9000,9028,9103,9131,9206,9234,9309,9337,9412,9440,9515,9543,9618,9646,9721,9749,9824,9852,9927,9955,10030,10058,10133,10161,10236,10264,10339,10367,10442,10470,10545,10573,10648,10676,10751,10779,10854,10882,10957,10985,11060,11088,11163,11191,11266,11294,11369,11397,11472,11500,11575,11603,11678,11706,11781,11809,11884,11912,11987,12015,12090,12118,12193,12221,12296,12324,12399,12427,12502,12530,12605,12633,12708,12736,12811,12839,12914,12942,13017,13045,13120,13148,13223,13251,13326,13354,13429,13457,13532,13560,13635,13663,13738,13766,13841,13869,13944,13972,14047,14075,14150,14178,14253,14281,14356,14384,14459,14487,14562,14590,14665,14693,14768,14796,14871,14899,14974,15002,15077,15105,15180,15208,15283,15311,15386,15414,15489,15517,15592,15620,15695,15723,15798,15826,15901,15929,16004,16032,16107,16135,16210,16238,16313,16341,16416,16444,16519,16547,16622,16650,16725,16753,16828,16856,16931,16959,17034,17062,17137,17165,17240,17268,17343,17371,17446,17474,17549,17577,17652,17680,17755,17783,17874,17902,17977,18005,18080,18108,18183,18211,18286,18314,18389,18417,18492,18520,18595,18623,18698,18726,18801,18829,18904,18932,19007,19035,19110,19138,19213,19241,19316,19344,19419,19447,19522,19550,19625,19653,19728,19756,19831,19859,19934,19962,20037,20065,20140,20168,20243,20271,20362,20390,20465,20493,20568,20596,20671,20699,20774,20802,20877,20905,20980,21008,21083,21111,21186,21214,21289,21317,21408,21436,21511,21539,21614,21642,21717,21745,21820,21848,21923,21951,22026,22054,22129,22157,22232,22260,22335,22363,22438,22466,22541,22569,22644,22672,22747,22775,22850,22878,22953,22981,23056,23084,23159,23187,23262,23290,23365,23393,23468,23496,23571,23599,23674,23702,23777,23805,23880,23908,23983,24011,24086,24114,24189,24217,24292,24320,24395,24423,24498,24526,24601,24629,24704,24732,24807,24835,24910,24938,25013,25041,25116,25144,25219,25247,25322,25350,25425,25453,25528,25556,25631,25659,25734,25762,25837,25865,25940,25968,26043,26071,26146,26174,26249,26277,26352,26380,26455,26483,26558,26586,26661,26689,26764,26792,26867,26895,26970,26998,27073,27101,27192,27220,27295,27323,27398,27426,27501,27529,27604,27632,27707,27735,27810,27838,27913,27941,28016,28044,28119,28147,28222,28250,28325,28353,28444,28472,28547,28575,28650,28678,28753,28781,28856,28884,28959,28987,29062,29090,29165,29193,29268,29296,29371,29399,29474,29502,29577,29605,29680,29708,29783,29811,29886,29914,29989,30017,30092,0,30120,0,30195,30223,0,0,0,0,30298,0,0,0,30326,0,0,0,0,0,0,0,0,30401,30429,30504,30532,30607,30635,30710,30738,30813,30841,30916,30944,31019,31047,0,31122,31150,31225,31253,0,31328,31356,0,0,0,0,31431,0,31459,0,31534,0,0,0,0,856,866,933,943,31562,1036,959,31639,631,969,17863,31649,1139,31724,1046,31734,0,588,31744,1062,0,0,0,639,840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,621,0,626,0,31819,31847,31922,31950,32025,32053,32128,32156,32231,32259,32334,32362,32437,32465,32540,32568,32643,32671,32746,32774,32849,32877,32952,32980,33055,33083,33158,33186,33261,33289,33364,33392,33467,33495,33570,33598,33673,33701,33776,33804,33879,33907,33982,34010,34085,34113,34188,34216,34291,34319,34394,34422,34497,34525,34600,34628,34703,34731,34806,34834,34909,34937,35012,35040,35115,35143,35218,35246,35330,35358,35433,35461,35536,35564,35639,35667,35742,35770,35861,35889,35964,35992,36067,36095,36170,36198,36273,36301,36376,36404,36479,36507,36582,36610,36685,36713,36788,36816,36891,36919,36994,37022,37097,37125,37200,37228,37303,37331,37406,37434,37509,37537,37612,37640,37715,37743,37818,37846,37921,37949,38024,38052,38127,38155,38230,38258,38333,38361,38436,38464,38539,38567,38642,38670]++alex_table :: Array Int Int+alex_table = listArray (0,38925) [0,201,199,740,745,192,746,747,748,750,12,781,751,754,755,786,787,791,793,752,794,795,5,10,201,198,189,191,190,188,26,187,186,185,137,181,136,16,184,25,797,797,797,797,797,797,797,797,797,797,17,24,813,138,201,199,27,813,192,12,135,134,133,28,29,30,39,39,39,39,39,39,39,39,39,39,34,201,132,54,35,36,37,129,128,127,52,50,124,466,508,398,600,593,492,419,500,317,500,500,482,453,487,556,432,500,385,396,393,346,500,541,500,500,500,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,201,127,53,86,93,62,122,120,183,105,119,116,85,106,59,67,68,33,51,117,48,114,64,201,65,66,201,199,113,71,192,72,109,74,76,75,112,81,83,802,802,802,802,802,802,802,802,802,802,201,198,813,101,84,212,104,813,202,203,820,818,206,819,175,821,804,804,804,804,804,804,804,804,804,804,208,207,836,210,838,90,96,55,56,94,92,95,78,261,266,245,267,281,268,248,268,270,268,268,268,268,263,283,252,268,233,282,284,268,268,280,268,268,268,919,908,914,847,922,902,914,914,960,914,868,853,914,914,863,889,914,888,873,850,914,914,932,914,914,907,193,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,38,38,38,38,38,38,38,38,38,38,91,89,88,87,103,82,108,80,77,70,57,69,58,47,63,115,121,46,39,39,39,39,39,39,39,39,39,39,45,32,42,21,41,31,23,20,19,170,14,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,171,22,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,96,97,110,117,123,118,13,11,9,6,813,8,26,7,789,813,784,174,776,174,760,761,809,809,809,809,809,809,809,809,809,809,809,809,809,809,809,809,809,809,809,809,805,805,806,806,806,806,806,806,806,806,785,759,758,757,756,200,742,197,102,200,204,209,834,211,805,805,817,837,168,44,61,43,839,0,0,0,0,0,98,99,140,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,130,0,131,194,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,100,833,15,201,60,205,0,182,0,0,0,73,0,0,107,0,18,79,49,0,0,111,0,0,0,835,201,833,798,798,798,798,798,798,798,798,798,798,799,799,799,799,799,799,799,799,799,799,0,0,0,0,147,147,147,147,169,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,162,147,147,147,147,147,147,147,147,147,833,800,800,800,800,800,800,800,800,800,800,796,796,796,796,796,796,796,796,796,796,0,0,0,0,0,833,803,803,803,803,803,803,803,803,803,803,806,806,806,806,806,806,806,806,0,0,0,0,0,0,147,147,147,147,161,147,147,147,147,147,147,147,147,147,154,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,141,147,147,147,147,147,147,147,833,802,802,802,802,802,802,802,802,802,802,811,811,811,811,811,811,811,811,811,811,0,0,0,0,0,833,816,816,816,816,816,816,816,816,816,816,0,0,0,0,0,0,0,0,0,0,0,179,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,141,147,147,147,147,147,149,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,833,809,809,809,809,809,809,809,809,809,809,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,145,147,147,147,147,147,147,147,147,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,144,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,155,147,147,147,147,147,147,147,147,147,147,147,147,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,157,147,147,147,147,147,147,147,147,147,147,147,147,147,147,158,147,147,147,147,147,147,147,147,147,147,159,147,147,147,147,147,147,147,147,147,147,147,147,147,147,160,147,147,147,147,147,147,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,163,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,165,147,147,147,147,147,147,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,833,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,166,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,167,147,147,147,147,147,147,147,147,832,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,830,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,829,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,828,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,153,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,164,147,147,147,147,826,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,825,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,824,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,823,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,822,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,816,816,816,816,816,816,816,816,816,816,0,0,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,814,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,813,0,0,0,0,813,0,0,0,0,0,0,0,0,38,38,38,38,38,38,38,38,38,38,0,0,0,0,0,0,0,0,0,0,0,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,170,0,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,811,811,811,811,811,811,811,811,811,811,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,810,810,810,810,810,810,810,810,810,810,0,0,0,0,0,0,0,0,0,0,0,0,0,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,150,147,147,147,142,146,151,147,147,147,147,152,147,143,156,147,147,147,147,148,147,147,147,147,147,147,807,807,807,807,807,807,807,807,807,807,803,803,803,803,803,803,803,803,803,803,0,0,813,0,0,0,0,813,0,0,0,0,0,0,0,0,803,803,803,803,803,803,803,803,803,803,0,0,0,807,807,807,807,807,807,0,0,0,0,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,737,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,733,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,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,193,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,194,22,139,139,139,139,139,139,139,139,139,139,139,139,139,139,140,40,125,125,125,126,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,717,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,731,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,723,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,719,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,718,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,725,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,735,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,721,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,214,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,246,268,268,234,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,302,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,303,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,307,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,309,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,218,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,217,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,216,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,220,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,222,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,223,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,298,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,297,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,225,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,296,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,295,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,294,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,226,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,293,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,227,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,292,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,291,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,290,268,268,268,268,268,268,268,268,268,268,240,268,268,273,268,268,268,268,268,268,268,268,268,235,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,289,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,229,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,288,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,287,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,286,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,285,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,236,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,249,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,238,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,239,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,243,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,247,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,253,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,254,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,279,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,255,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,272,268,268,268,268,268,268,256,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,259,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,274,268,268,268,268,268,268,0,268,268,262,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,269,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,264,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,265,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,271,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,260,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,258,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,257,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,276,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,277,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,278,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,251,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,250,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,244,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,242,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,237,268,268,268,268,268,268,268,268,268,241,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,275,268,268,268,268,268,268,268,268,268,232,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,231,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,230,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,228,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,224,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,299,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,221,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,300,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,219,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,215,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,311,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,310,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,308,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,306,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,305,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,304,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,301,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,213,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,730,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,722,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,720,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,724,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,726,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,727,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,728,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,729,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,732,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,734,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,736,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,738,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,739,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,500,0,500,500,500,710,500,500,500,500,500,500,500,663,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,714,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,707,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,567,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,685,500,500,500,500,500,500,500,511,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,684,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,682,500,500,500,500,500,500,514,533,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,676,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,673,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,665,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,656,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,708,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,706,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,692,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,672,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,664,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,657,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,644,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,643,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,694,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,677,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,670,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,666,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,662,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,712,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,704,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,703,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,690,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,688,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,679,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,674,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,667,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,636,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,637,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,312,500,474,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,414,500,500,384,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,610,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,611,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,612,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,615,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,619,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,620,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,321,500,500,500,500,500,500,621,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,623,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,624,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,630,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,631,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,633,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,320,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,319,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,318,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,603,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,604,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,329,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,328,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,326,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,325,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,324,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,323,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,322,500,500,500,500,500,500,500,500,500,500,500,500,500,500,461,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,330,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,334,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,333,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,332,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,331,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,340,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,339,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,338,500,500,500,500,500,500,500,500,500,500,460,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,337,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,336,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,342,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,596,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,595,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,344,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,592,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,345,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,591,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,590,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,589,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,588,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,587,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,347,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,348,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,532,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,586,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,585,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,584,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,582,500,500,500,478,500,500,500,500,500,500,500,500,500,500,500,500,500,500,370,506,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,351,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,352,500,500,500,500,500,500,495,500,500,500,406,500,500,444,500,500,500,500,500,500,500,500,500,399,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,581,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,485,500,500,354,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,580,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,579,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,578,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,577,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,576,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,356,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,575,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,357,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,574,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,573,500,500,500,500,500,500,500,500,500,500,500,516,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,358,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,363,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,364,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,572,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,365,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,366,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,367,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,368,500,500,552,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,571,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,570,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,569,500,500,500,500,500,500,500,500,500,500,500,500,450,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,375,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,376,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,378,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,379,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,568,500,500,500,500,500,439,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,566,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,386,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,564,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,397,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,420,500,500,500,500,500,500,500,562,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,400,500,500,500,500,500,500,500,500,500,500,500,500,500,469,500,500,426,500,500,549,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,404,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,405,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,561,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,409,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,411,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,559,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,558,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,557,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,415,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,416,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,417,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,418,525,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,555,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,554,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,425,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,551,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,550,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,548,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,547,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,546,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,545,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,544,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,429,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,433,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,434,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,538,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,437,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,537,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,438,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,440,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,536,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,535,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,441,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,520,500,500,500,500,500,500,443,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,445,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,446,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,534,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,531,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,505,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,530,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,448,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,449,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,528,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,451,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,452,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,527,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,490,500,500,500,500,455,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,526,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,524,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,458,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,459,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,465,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,523,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,468,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,471,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,486,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,521,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,472,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,473,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,479,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,481,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,517,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,483,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,484,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,515,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,510,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,509,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,497,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,503,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,502,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,499,500,500,500,500,500,500,500,500,500,500,500,500,500,500,96,0,0,0,0,807,807,807,807,807,807,807,807,807,807,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,807,807,807,807,807,807,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,504,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,493,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,512,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,513,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,489,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,491,500,500,500,500,500,500,500,500,500,500,488,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,480,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,519,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,477,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,476,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,475,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,522,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,467,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,464,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,463,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,462,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,457,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,456,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,529,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,447,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,442,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,435,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,431,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,430,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,542,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,428,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,427,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,424,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,423,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,422,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,436,500,500,421,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,553,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,413,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,412,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,560,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,408,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,403,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,402,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,401,500,500,500,500,500,500,500,500,500,407,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,392,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,391,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,390,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,389,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,388,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,387,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,383,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,565,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,382,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,381,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,380,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,374,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,373,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,372,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,369,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,362,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,361,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,360,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,359,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,355,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,353,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,583,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,349,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,343,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,598,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,597,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,335,500,500,500,500,500,500,500,395,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,371,500,500,500,500,500,500,341,500,500,500,543,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,599,500,500,500,500,500,500,500,500,500,500,500,500,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,602,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,327,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,635,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,634,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,632,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,629,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,628,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,627,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,626,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,625,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,622,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,618,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,617,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,616,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,614,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,613,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,609,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,608,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,607,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,606,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,605,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,313,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,350,500,314,500,500,498,500,500,500,500,500,500,377,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,640,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,639,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,638,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,658,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,702,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,652,500,500,500,500,500,500,500,500,0,594,500,500,500,496,500,500,500,494,500,500,500,500,500,680,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,681,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,691,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,641,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,642,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,645,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,646,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,647,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,650,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,651,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,653,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,654,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,655,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,659,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,660,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,661,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,669,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,671,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,678,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,683,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,686,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,687,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,689,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,693,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,695,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,696,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,697,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,698,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,563,500,500,500,700,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,701,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,705,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,709,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,711,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,713,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,715,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,716,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,668,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,675,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,648,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,649,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,699,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,501,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,316,500,500,500,500,500,500,500,500,500,500,500,500,500,540,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,507,500,601,500,410,500,500,315,500,500,500,454,500,500,518,500,500,470,394,500,500,539,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,500,500,500,500,500,500,500,500,500,500,0,0,0,0,0,0,0,0,0,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,0,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,268,0,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,862,914,914,914,914,871,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,801,801,801,801,801,801,801,801,801,801,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,801,0,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,801,812,0,804,804,804,804,804,804,804,804,804,804,808,808,808,808,808,808,808,808,808,808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,0,0,0,173,173,0,0,0,808,0,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,808,810,810,810,810,810,810,810,810,810,810,810,810,810,810,810,810,810,810,810,810,815,815,815,815,815,815,815,815,815,815,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,0,0,0,0,173,173,0,0,0,172,0,0,0,0,173,173,0,0,0,815,0,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,815,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,744,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,749,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,764,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,765,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,767,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,771,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,774,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,926,914,914,914,904,914,914,914,914,914,780,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,782,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,788,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,933,914,914,914,914,914,914,914,914,914,914,914,914,914,792,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,973,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,971,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,969,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,842,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,968,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,967,914,914,914,914,914,914,914,914,914,914,914,957,0,966,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,845,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,964,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,963,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,962,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,961,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,954,914,897,914,914,914,914,959,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,849,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,851,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,956,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,955,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,953,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,952,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,856,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,950,914,914,914,914,914,914,914,914,914,914,914,914,893,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,858,914,914,914,914,914,914,914,957,0,949,914,914,914,921,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,861,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,948,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,864,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,947,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,896,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,866,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,867,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,946,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,944,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,943,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,870,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,941,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,876,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,877,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,939,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,878,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,923,914,914,914,914,914,914,914,914,914,914,914,914,914,895,914,914,890,914,914,938,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,937,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,881,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,936,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,935,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,884,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,934,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,931,914,914,914,914,914,957,0,914,914,914,914,930,914,914,914,914,914,914,914,914,914,914,914,914,914,914,894,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,891,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,929,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,928,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,927,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,925,914,914,914,914,914,957,0,914,914,899,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,900,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,901,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,903,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,176,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,916,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,909,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,915,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,911,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,912,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,910,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,917,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,918,914,914,914,914,914,914,123,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,920,914,914,914,914,914,914,913,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,906,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,905,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,924,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,898,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,892,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,887,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,886,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,885,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,883,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,882,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,880,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,879,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,875,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,874,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,940,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,872,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,942,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,869,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,945,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,865,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,860,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,859,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,857,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,951,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,855,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,854,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,852,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,958,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,848,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,846,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,965,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,844,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,843,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,970,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,841,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,840,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,813,0,0,0,0,813,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,972,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,790,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,779,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,783,914,914,914,914,914,914,914,778,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,777,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,775,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,773,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,772,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,770,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,769,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,768,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,766,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,763,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,762,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,753,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,914,743,914,914,914,914,914,914,957,0,914,914,914,914,914,914,914,914,914,914,914,914,914,741,914,914,914,914,914,914,914,914,914,914,914,914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,38925) [-1,9,10,109,101,13,97,97,101,101,32,111,101,101,101,101,101,111,101,41,101,101,97,99,32,33,97,111,101,111,32,97,101,101,97,99,97,115,117,97,48,49,50,51,52,53,54,55,56,57,115,105,34,105,9,10,103,39,13,61,117,117,121,101,105,99,48,49,50,51,52,53,54,55,56,57,32,32,121,32,97,97,101,101,111,105,115,101,103,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,9,105,105,99,100,111,99,99,105,105,117,111,108,117,110,32,32,111,114,107,116,101,105,32,103,97,9,10,109,111,13,99,101,99,111,99,101,111,111,48,49,50,51,52,53,54,55,56,57,32,33,34,117,101,37,97,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,104,101,99,99,117,111,98,111,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,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,48,49,50,51,52,53,54,55,56,57,108,114,114,108,98,116,110,114,114,110,108,114,104,100,116,114,112,102,48,49,50,51,52,53,54,55,56,57,100,108,116,108,116,116,114,110,114,95,112,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,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,32,32,32,32,32,32,112,114,108,110,34,116,40,116,116,39,102,43,116,45,114,120,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,48,49,48,49,50,51,52,53,54,55,102,108,110,108,114,10,110,10,110,13,47,58,61,62,48,49,42,61,95,100,102,100,61,-1,-1,-1,-1,-1,112,112,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,32,-1,32,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,98,46,100,9,102,41,-1,105,-1,-1,-1,109,-1,-1,112,-1,116,115,116,-1,-1,119,-1,-1,-1,61,32,46,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,46,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,46,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,34,-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,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,34,-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,97,98,99,100,101,102,-1,-1,-1,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,10,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,48,49,50,51,52,53,54,55,56,57,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,46,-1,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,-1,-1,-1,100,101,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,-1,-1,-1,100,101,-1,-1,-1,95,-1,-1,-1,-1,100,101,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-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,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-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,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,-1,40,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,34,-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,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,48,49,50,51,52,53,54,55,56,57,-1,-1,-1,-1,-1,-1,-1,-1,-1,95,-1,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,95,-1,97,98,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,973) [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,139,139,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,195,195,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,198,198,198,-1,-1,198,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-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,973) [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,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,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccSkip,AlexAccPred  (alex_action_0) (alexRightContext 196)(AlexAccNone),AlexAcc (alex_action_1),AlexAcc (alex_action_1),AlexAccSkip,AlexAcc (alex_action_3),AlexAccPred  (alex_action_4) ( ifConditionEndP )(AlexAcc (alex_action_5)),AlexAcc (alex_action_6),AlexAcc (alex_action_7),AlexAcc (alex_action_8),AlexAcc (alex_action_9),AlexAcc (alex_action_10),AlexAcc (alex_action_11),AlexAcc (alex_action_12),AlexAcc (alex_action_13),AlexAcc (alex_action_14),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccNone),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAccNone)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_17))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_18))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_19))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_21))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_23))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_25))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_26))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_27))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_28))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_29))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_30))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_31))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_32))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_34))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_35))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_39))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_40))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_41))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_42))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_43))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_44))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_45))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_46))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_47))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_48))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_49))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_50))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_53))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_55))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_57))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_59))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_61))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_63))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_65))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_67))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_69))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_71))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_73))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_75))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_80))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_82))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_84))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_87))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_88))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_89))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_90))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_92))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_93))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_95))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_96))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_97))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_98))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_100))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_101))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_102))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_103))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_104))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_105))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_106))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_107))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_108))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_109))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_110))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_111))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_112))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_113))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_114))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_116))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_117))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_118))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_119))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_120))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_121))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_122))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_123))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAccPred  (alex_action_16) ( constructNameP )(AlexAcc (alex_action_124))),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_39)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_40)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_86)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_95)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_96)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_97)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_98)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_100)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_101)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_102)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_103)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_107)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_108)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_109)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_116)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_117)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_118)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_119)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_120)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_121)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_122)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_123)),AlexAccPred  (alex_action_15) ( partOfExpOrPointerAssignmentP )(AlexAcc (alex_action_124)),AlexAcc (alex_action_18),AlexAccPred  (alex_action_20) ( typeSpecP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_21),AlexAccPred  (alex_action_22) ( resultP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_24) ( typeSpecP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_26),AlexAcc (alex_action_27),AlexAcc (alex_action_28),AlexAcc (alex_action_30),AlexAccPred  (alex_action_33) ( useStP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_35),AlexAcc (alex_action_36),AlexAccPred  (alex_action_37) ( genericSpecP )(AlexAccNone),AlexAccPred  (alex_action_38) ( genericSpecP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_42),AlexAcc (alex_action_43),AlexAcc (alex_action_45),AlexAcc (alex_action_46),AlexAcc (alex_action_47),AlexAcc (alex_action_48),AlexAcc (alex_action_49),AlexAcc (alex_action_50),AlexAccPred  (alex_action_51) ( selectorP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_52) ( selectorP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_54) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_56) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_58) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_60) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_62) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_64) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_66) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_68) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_70) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_72) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_74) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_76) ( attributeP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_77) ( followsIntentP )(AlexAccNone),AlexAccPred  (alex_action_77) ( followsIntentP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_78) ( followsIntentP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_79) ( followsIntentP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_81) ( followsColonP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_82),AlexAccPred  (alex_action_83) ( followsDoP )(AlexAcc (alex_action_150)),AlexAccPred  (alex_action_85) ( followsColonP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_88),AlexAcc (alex_action_89),AlexAcc (alex_action_90),AlexAccPred  (alex_action_91) ( followsColonP )(AlexAccNone),AlexAccPred  (alex_action_91) ( followsColonP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_93),AlexAccPred  (alex_action_94) ( caseStP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_97),AlexAccPred  (alex_action_99) ( assignStP )(AlexAcc (alex_action_150)),AlexAcc (alex_action_105),AlexAcc (alex_action_115),AlexAcc (alex_action_124),AlexAcc (alex_action_125),AlexAcc (alex_action_125),AlexAcc (alex_action_125),AlexAcc (alex_action_125),AlexAcc (alex_action_125),AlexAcc (alex_action_126),AlexAcc (alex_action_126),AlexAcc (alex_action_126),AlexAcc (alex_action_126),AlexAcc (alex_action_127),AlexAcc (alex_action_127),AlexAcc (alex_action_127),AlexAcc (alex_action_128),AlexAcc (alex_action_128),AlexAcc (alex_action_128),AlexAcc (alex_action_128),AlexAccPred  (alex_action_129) ( notPrecedingDotP )(AlexAccNone),AlexAcc (alex_action_130),AlexAcc (alex_action_131),AlexAcc (alex_action_131),AlexAcc (alex_action_131),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_133)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_134)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_135)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_136)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_137)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_138)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_139)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_140)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_141)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_142)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_143)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_144)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_145)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_146)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_147)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_148)),AlexAccPred  (alex_action_132) ( opP )(AlexAcc (alex_action_149)),AlexAcc (alex_action_143),AlexAcc (alex_action_144),AlexAcc (alex_action_145),AlexAcc (alex_action_146),AlexAcc (alex_action_147),AlexAcc (alex_action_148),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150),AlexAcc (alex_action_150)]+{-# LINE 262 "FreeForm.x" #-}+++--------------------------------------------------------------------------------+-- Predicated lexer helpers+--------------------------------------------------------------------------------++followsDoP :: User -> AlexInput -> Int -> AlexInput -> Bool+followsDoP _ _ _ ai+  | Just TDo {} <- aiPreviousToken ai = True+  | otherwise = False++followsColonP :: User -> AlexInput -> Int -> AlexInput -> Bool+followsColonP _ _ _ ai+  | Just TColon{} <- aiPreviousToken ai = True+  | otherwise = False++selectorP :: User -> AlexInput -> Int -> AlexInput -> Bool+selectorP user _ _ ai =+    followsType && nextTokenIsOpAssign && precedesDoubleColon ai+  where+    nextTokenIsOpAssign = nextTokenConstr user ai == (Just . fillConstr $ TOpAssign)+    followsType =+      case searchBeforePar (aiPreviousTokensInLine ai) of+        Just x -> isTypeSpec x+        Nothing -> False+    searchBeforePar [] = Nothing+    searchBeforePar (x:xs)+      | TLeftPar{} <- x = if null xs then Nothing else (Just $ head xs)+      | otherwise = searchBeforePar xs++ifConditionEndP :: User -> AlexInput -> Int -> AlexInput -> Bool+ifConditionEndP (User _ pc) _ _ ai+    | (TIf{}:_) <- prevTokens = pc == ParanthesesCount 1 False+    | (TId{}:TColon{}:TIf{}:_) <- prevTokens = pc == ParanthesesCount 1 False+    | (TElsif{}:_) <- prevTokens = pc == ParanthesesCount 1 False+    | otherwise = False+  where+    prevTokens = reverse . aiPreviousTokensInLine $ ai++opP :: User -> AlexInput -> Int ->AlexInput -> Bool+opP _ _ _ ai+  | (TLeftPar{}:TOperator{}:_) <- aiPreviousTokensInLine ai = True+  | otherwise = False++partOfExpOrPointerAssignmentP :: User -> AlexInput -> Int -> AlexInput -> Bool+partOfExpOrPointerAssignmentP (User fv pc) _ _ ai =+    case unParse (lexer $ f False 0) ps of+      ParseOk True _ -> True+      _ -> False+  where+    ps = ParseState+      { psAlexInput = ai { aiStartCode = StartCode scN Return }+      , psVersion = fv+      , psFilename = "<unknown>"+      , psParanthesesCount = pc+      , psContext = [ ConStart ] }+    f leftParSeen parCount token+      | not leftParSeen =+        case token of+          TNewline{} -> return False+          TEOF{} -> return False+          TPercent{} -> return True+          TArrow{} -> return True+          TOpAssign{} -> return True+          TLeftPar{} -> lexer $ f True 1+          TLeftPar2{} -> lexer $ f True 1+          _ -> return False+      | parCount == 0 =+        case token of+          TOpAssign{} -> return True+          TArrow{} -> return True+          TPercent{} -> return True+          _ -> return False+      | parCount > 0 =+        case token of+          TNewline{} -> return False+          TEOF{} -> return False+          TLeftPar{} -> lexer $ f True (parCount + 1)+          TLeftPar2{} -> lexer $ f True (parCount + 1)+          TRightPar{} -> lexer $ f True (parCount - 1)+          _ -> lexer $ f True parCount+      | otherwise =+        error "Error while executing part of expression assignment predicate."++precedesDoubleColon :: AlexInput -> Bool+precedesDoubleColon ai = not . flip seenConstr ai . fillConstr $ TDoubleColon++attributeP :: User -> AlexInput -> Int -> AlexInput -> Bool+attributeP _ _ _ ai =  followsComma && precedesDoubleColon ai && startsWithTypeSpec+  where+    followsComma+      | Just TComma{} <- aiPreviousToken ai = True+      | otherwise = False+    startsWithTypeSpec+      | (token:_) <- prevTokens =+        isTypeSpec token || fillConstr TType == toConstr token+      | otherwise = False+    prevTokens = reverse . aiPreviousTokensInLine $ ai++constructNameP :: User -> AlexInput -> Int -> AlexInput -> Bool+constructNameP user _ _ ai =+  case nextTokenConstr user ai of+    Just constr -> constr == fillConstr TColon+    _ -> False++genericSpecP :: User -> AlexInput -> Int -> AlexInput -> Bool+genericSpecP _ _ _ ai = Just True == do+  constr <- prevTokenConstr ai+  if constr `elem` fmap fillConstr [ TInterface, TPublic, TPrivate ]+  then return True+  else if constr `elem` fmap fillConstr [ TComma, TDoubleColon ]+  then return $ seenConstr (fillConstr TPublic) ai || seenConstr (fillConstr TPrivate) ai+  else Nothing++typeSpecP :: User -> AlexInput -> Int -> AlexInput -> Bool+typeSpecP _ _ _ ai+  | (prevToken:_) <- prevTokens+  , isTypeSpec prevToken = True+  | otherwise = isTypeSpecImmediatelyBefore $ reverse prevTokens+  where+    isTypeSpecImmediatelyBefore tokens@(x:xs)+      | isTypeSpec tokens = True+      | otherwise = isTypeSpecImmediatelyBefore xs+    isTypeSpecImmediatelyBefore [] = False+    prevTokens = aiPreviousTokensInLine ai++resultP :: User -> AlexInput -> Int -> AlexInput -> Bool+resultP _ _ _ ai =+    (flip seenConstr ai . fillConstr $ TFunction) &&+    prevTokenConstr ai == (Just $ fillConstr TRightPar)++notPrecedingDotP :: User -> AlexInput -> Int -> AlexInput -> Bool+notPrecedingDotP user _ _ ai = not $+  nextTokenConstr user ai == (Just $ toConstr (TId undefined undefined))++followsIntentP :: User -> AlexInput -> Int -> AlexInput -> Bool+followsIntentP _ _ _ ai =+  (map toConstr . take 2 . aiPreviousTokensInLine) ai ==+  map fillConstr [ TLeftPar, TIntent ]++useStP :: User -> AlexInput -> Int -> AlexInput -> Bool+useStP _ _ _ ai = seenConstr (toConstr $ TUse undefined) ai++caseStP :: User -> AlexInput -> Int -> AlexInput -> Bool+caseStP _ _ _ ai = prevTokenConstr ai == (Just $ fillConstr TCase)++assignStP :: User -> AlexInput -> Int -> AlexInput -> Bool+assignStP _ _ _ ai = seenConstr (fillConstr TAssign) ai++prevTokenConstr :: AlexInput -> Maybe Constr+prevTokenConstr ai = toConstr <$> aiPreviousToken ai++nextTokenConstr :: User -> AlexInput -> Maybe Constr+nextTokenConstr (User fv pc) ai =+    case unParse lexer' parseState of+      ParseOk token _ -> Just $ toConstr token+      _ -> Nothing+  where+    parseState = ParseState+      { psAlexInput = ai+      , psParanthesesCount = pc+      , psVersion = fv+      , psFilename = "<unknown>"+      , psContext = [ ConStart ] }++seenConstr :: Constr -> AlexInput -> Bool+seenConstr candidateConstr ai =+  candidateConstr `elem` (toConstr <$> aiPreviousTokensInLine ai)++fillConstr = toConstr . ($ undefined)++--------------------------------------------------------------------------------+-- Lexer helpers+--------------------------------------------------------------------------------++leftPar :: LexAction (Maybe Token)+leftPar = do+    incPar+    context <- topContext+    if context == ConImplicit+      then do+        parseState <- get+        case unParse f parseState of+          ParseOk tokenCons _ -> do+            span <- getLexemeSpan+            return $ Just $ tokenCons span+          ParseFailed e -> fail "Left parantheses is not matched."+      else addSpan TLeftPar+  where+    f :: LexAction (SrcSpan -> Token)+    f = do+      (ParanthesesCount pc _) <- getParanthesesCount+      mPrevToken <- aiPreviousToken <$> getAlex+      case mPrevToken of+        Just TRightPar{} | pc == 0 -> do+          span <- getLexemeSpan+          curToken <- lexer'+          case curToken of+            TComma{} -> return TLeftPar2+            TNewline{} -> return TLeftPar2+            TEOF{} -> return TLeftPar2+            _ -> return TLeftPar+        _ -> lexer' >> f++comma :: LexAction (Maybe Token)+comma = do+  context <- topContext+  case context of+    ConImplicit -> do+      mToken <- aiPreviousToken <$> getAlex+      case mToken of+        Just TRightPar{} -> toSC scT >> addSpan TComma+        _ -> addSpan TComma+    ConNamelist -> secondCommaIfSlashFollows+    ConCommon -> secondCommaIfSlashFollows+    _ -> addSpan TComma+  where+    secondCommaIfSlashFollows = do+      parseState <- get+      case unParse lexer' parseState of+        ParseOk TOpDivision{} _ -> addSpan TComma2+        ParseFailed _ -> fail "Expecting variable name or slash."+        _ -> addSpan TComma++slashOrDivision :: LexAction (Maybe Token)+slashOrDivision = do+  context <- topContext+  case context of+    ConData -> addSpan TSlash+    _ -> addSpan TOpDivision++addSpan :: (SrcSpan -> Token) -> LexAction (Maybe Token)+addSpan cons = do+  s <- getLexemeSpan+  return $ Just $ cons s++addSpanAndMatch :: (SrcSpan -> String -> Token) -> LexAction (Maybe Token)+addSpanAndMatch cons = do+  s <- getLexemeSpan+  m <- getMatch+  return $ Just $ cons s m++getLexeme :: LexAction Lexeme+getLexeme = do+  ai <- getAlex+  return $ aiLexeme ai++putLexeme :: Lexeme -> LexAction ()+putLexeme lexeme = do+  ai <- getAlex+  putAlex $ ai { aiLexeme = lexeme }++resetLexeme :: LexAction ()+resetLexeme = putLexeme initLexeme++getMatch :: LexAction String+getMatch = do+  lexeme <- getLexeme+  return $ (reverse . lexemeMatch) lexeme++putMatch :: String -> LexAction ()+putMatch newMatch = do+  lexeme <- getLexeme+  putLexeme $ lexeme { lexemeMatch = reverse newMatch }++instance Spanned Lexeme where+  getSpan lexeme =+    let ms = lexemeStart lexeme+        me = lexemeEnd lexeme in+      case ms of+        Just s -> SrcSpan s (fromJust me)+        Nothing -> error $ "Span access on nonexistant lexeme."+                           ++ lexemeMatch lexeme+  setSpan _ = error "Lexeme span cannot be set."++updatePreviousToken :: Maybe Token -> LexAction ()+updatePreviousToken maybeToken = do+  ai <- getAlex+  putAlex $ ai { aiPreviousToken = maybeToken }++addToPreviousTokensInLine :: Token -> LexAction ()+addToPreviousTokensInLine token = do+  ai <- getAlex+  putAlex $+    case token of+      TNewline _ -> updatePrevTokens ai [ ]+      t -> updatePrevTokens ai $ t : aiPreviousTokensInLine ai+  where+    updatePrevTokens ai tokens = ai { aiPreviousTokensInLine = tokens }++checkPreviousTokensInLine :: (Token -> Bool) -> AlexInput -> Bool+checkPreviousTokensInLine prop ai = any prop $ aiPreviousTokensInLine ai++getLexemeSpan :: LexAction SrcSpan+getLexemeSpan = do+  lexeme <- getLexeme+  return $ getSpan lexeme++-- Automata for character literal parsing is given below. Wherever it says '+-- you can replace ", whichever is used depends on what the first matched+-- character is and they are dual in their nature.+--+--      else+--       +-++--       | v+--       +-+  Nothing  +-++-- +---> |0|---------->|3|+--   +-> +-+           +-++--   |    |+-- ' |    | '+--   |    v+--   |   +-+  Nothing  +-++--   +---|1|---------->|2|+--       +-+           +-++--        |             ^+--        +-------------++--             else+--+-- For more information please refer to Fortran 90 standard's section related+-- to character constants.+lexCharacter :: LexAction (Maybe Token)+lexCharacter = do+    alex <- getAlex+    putAlex $ alex { aiStartCode = StartCode scC Stable }+    match <- getMatch+    let boundaryMarker = last match+    _lexChar 0 boundaryMarker+  where+    _lexChar 0 bm = do+      alex <- getAlex+      case alexGetByte alex of+        Just (_, newAlex) -> do+          putAlex newAlex+          m <- getMatch+          if last m == bm+          then _lexChar 1 bm+          else _lexChar 0 bm+        Nothing -> fail "Unmatched character literal."+    _lexChar 1 bm = do+      alex <- getAlex+      case alexGetByte alex of+        Just (_, newAlex) -> do+          let m = lexemeMatch . aiLexeme $ newAlex+          if head m == bm+          then do+            putAlex newAlex+            putMatch . reverse . tail $ m+            _lexChar 0 bm+          else _lexChar 2 bm+        Nothing -> _lexChar 2 bm+    _lexChar 2 _ = do+      alex <- getAlex+      putAlex $ alex { aiStartCode = StartCode scN Return }+      match <- getMatch+      putMatch . init . tail $ match+      addSpanAndMatch TString++toSC :: Int -> LexAction ()+toSC startCode = do+  alex <- getAlex+  putAlex $ alex { aiStartCode = StartCode startCode Return }++stabiliseStartCode :: LexAction ()+stabiliseStartCode = do+  alex <- getAlex+  let sc = aiStartCode alex+  putAlex $ alex { aiStartCode = sc { scStatus = Stable } }++normaliseStartCode :: LexAction ()+normaliseStartCode = do+  alex <- getAlex+  let startCode = aiStartCode alex+  case scStatus startCode of+    Return -> putAlex $ alex { aiStartCode = StartCode scN Stable }+    Stable -> return ()++--------------------------------------------------------------------------------+-- AlexInput & related definitions+--------------------------------------------------------------------------------++data Lexeme = Lexeme+  { lexemeMatch :: String+  , lexemeStart :: Maybe Position+  , lexemeEnd   :: Maybe Position+  } deriving (Show)++initLexeme :: Lexeme+initLexeme = Lexeme+  { lexemeMatch = ""+  , lexemeStart = Nothing+  , lexemeEnd   = Nothing }++data StartCodeStatus = Return | Stable deriving (Show)++data StartCode = StartCode+  { scActual :: Int+  , scStatus :: StartCodeStatus }+  deriving (Show)++data AlexInput = AlexInput+  { aiSourceInput               :: String+  , aiPosition                  :: Position+  , aiPreviousChar              :: Char+  , aiLexeme                    :: Lexeme+  , aiStartCode                 :: StartCode+  , aiPreviousToken             :: Maybe Token+  , aiPreviousTokensInLine      :: [ Token ]+  } deriving (Show)++instance Loc AlexInput where+  getPos = aiPosition++instance LastToken AlexInput Token where+  getLastToken = aiPreviousToken++type LexAction a = Parse AlexInput Token a++vanillaAlexInput :: AlexInput+vanillaAlexInput = AlexInput+  { aiSourceInput = ""+  , aiPosition = initPosition+  , aiPreviousChar = '\n'+  , aiLexeme = initLexeme+  , aiStartCode = StartCode 0 Return+  , aiPreviousToken = Nothing+  , aiPreviousTokensInLine = [ ] }++updateLexeme :: Char -> Position -> AlexInput -> AlexInput+updateLexeme char p ai =+  let lexeme = aiLexeme ai+      match = lexemeMatch lexeme+      newMatch = char : match+      start = lexemeStart lexeme+      newStart = if isNothing start then Just p else start+      newEnd = Just p in+    ai { aiLexeme = Lexeme newMatch newStart newEnd }++-- Fortran version and parantheses count to be used by alexScanUser+data User = User FortranVersion ParanthesesCount++--------------------------------------------------------------------------------+-- Definitions needed for alexScanUser+--------------------------------------------------------------------------------++data Move = Continuation | Char | Newline++alexGetByte :: AlexInput -> Maybe (Word8, AlexInput)+alexGetByte ai+  -- When all characters are already read+  | posAbsoluteOffset _position == (toInteger . length . aiSourceInput) ai = Nothing+  -- Skip the continuation line altogether+  | isContinuation ai = alexGetByte . skipContinuation $ ai+  -- Read genuine character and advance. Also covers white sensitivity.+  | otherwise =+      Just ( fromIntegral . fromEnum $ _curChar+           , updateLexeme _curChar _position+               ai+               { aiPosition =+                   case _curChar of+                     '\n'  -> advance Newline _position+                     _     -> advance Char _position+               , aiPreviousChar = _curChar })+  where+    _curChar = currentChar ai+    _position = aiPosition ai++alexInputPrevChar :: AlexInput -> Char+alexInputPrevChar ai = aiPreviousChar ai++takeNChars :: Integer -> AlexInput -> String+takeNChars n ai =+  take (fromIntegral n) . drop (fromIntegral _dropN) $ aiSourceInput ai+  where+    _dropN = posAbsoluteOffset . aiPosition $ ai++currentChar :: AlexInput -> Char+currentChar ai+  -- case sensitivity matters only in character literals+  | (scActual . aiStartCode) ai == scC = _currentChar+  | otherwise = toLower _currentChar+  where+  _currentChar = head . takeNChars 1 $ ai++advanceWithoutContinuation :: AlexInput -> Maybe AlexInput+advanceWithoutContinuation ai+  -- When all characters are already read+  | posAbsoluteOffset _position == (toInteger . length . aiSourceInput) ai =+    Nothing+  -- Read genuine character and advance. Also covers white sensitivity.+  | otherwise =+    Just $ ai { aiPosition =+                  case _curChar of+                    '\n'  -> advance Newline _position+                    _     -> advance Char _position+              , aiPreviousChar = _curChar }+  where+    _curChar = currentChar ai+    _position = aiPosition ai++isContinuation :: AlexInput -> Bool+isContinuation ai =+    -- No continuation while lexing a character literal.+    (scActual . aiStartCode) ai /= scC+    -- No continuation while lexing a comment.+    && (let lexeme = lexemeMatch . aiLexeme $ ai+       in null lexeme || last lexeme /= '!')+    && _isContinuation ai 0+  where+    _isContinuation ai 0 =+      if currentChar ai == '&'+      then _advance ai+      else False+    _isContinuation ai 1 =+      case currentChar ai of+        ' ' -> _advance ai+        '\t' -> _advance ai+        '\r' -> _advance ai+        '!' -> True+        '\n' -> True+        _ -> False+    _advance :: AlexInput -> Bool+    _advance ai =+      case advanceWithoutContinuation ai of+        Just ai' -> _isContinuation ai' 1+        Nothing -> False++-- Here's the skip continuation automaton:+--+--              white     white,\n+--               +-+        +-++--               | v        | v        +---++--     +-+   &   +-+   \n   +-+   &    |---|+-- +-->|0|------>|1|------->|3|------->||4||+--     +-+       +-+        +-+----+   |---|+--                |          ^     |   +---++--                |!         |     |+--                v          |     |else+--            +->+-+         |     v+--        else|  |2|---------+   +---++--            +--+-+             |---|+--                               ||5||+--                               |---|+--                               +---++--+-- For more information refer to Fortran 90 standard.+-- This version is more permissive than the specification+-- as it allows empty lines to be used between continuations.+skipContinuation :: AlexInput -> AlexInput+skipContinuation ai = _skipCont ai 0+  where+    _skipCont ai 0 =+      if currentChar ai == '&'+      then _advance ai 1+      else error "This case is excluded by isContinuation."+    _skipCont ai 1 =+      let _curChar = currentChar ai in+        if _curChar `elem` [' ', '\t', '\r']+        then _advance ai 1+        else if _curChar == '!'+        then _advance ai 2+        else if _curChar == '\n'+        then _advance ai 3+        else+          error $+            join [ "Did not expect non-blank/non-comment character after "+                 , "continuation symbol (&)." ]+    _skipCont ai 2 =+      if currentChar ai == '\n'+      then _advance ai 3+      else _advance ai 2+    _skipCont ai 3 =+      let _curChar = currentChar ai in+        if _curChar `elem` [' ', '\t', '\r', '\n']+        then _advance ai 3+        else if _curChar == '!'+        then _advance ai 2+        else if _curChar == '&'+        -- This state accepts as if there were no spaces between the broken+        -- line and whatever comes after second &. This is implicitly state (4)+        then fromMaybe (error "File has ended prematurely during a continuation.")+                       (advanceWithoutContinuation ai)+        -- This state accepts but the broken line delimits the previous token.+        -- This is implicitly state (5). To achieve this, it returns the+        -- previous ai, which either has whitespace or newline, so it will+        -- nicely delimit.+        else ai+    _advance ai state =+      case advanceWithoutContinuation ai of+        Just ai' -> _skipCont ai' state+        Nothing -> error "File has ended prematurely during a continuation."++advance :: Move -> Position -> Position+advance move position =+  case move of+    Newline ->+      position+        { posAbsoluteOffset = _absl + 1 , posColumn = 1 , posLine = _line + 1 }+    Char ->+      position { posAbsoluteOffset = _absl + 1 , posColumn = _col + 1 }+  where+    _col = posColumn position+    _line = posLine position+    _absl = posAbsoluteOffset position++--------------------------------------------------------------------------------+-- Lexer definition+--------------------------------------------------------------------------------++lexer :: (Token -> LexAction a) -> LexAction a+lexer cont = cont =<< lexer'++lexer' :: LexAction Token+lexer' = do+  resetLexeme+  alex <- getAlex+  let startCode = scActual . aiStartCode $ alex+  normaliseStartCode+  newAlex <- getAlex+  version <- getVersion+  paranthesesCount <- getParanthesesCount+  let user = User version paranthesesCount+  case alexScanUser user newAlex startCode of+    AlexEOF -> return $ TEOF $ SrcSpan (getPos alex) (getPos alex)+    AlexError _ ->+      fail $ "Lexing failed. "+#ifdef DEBUG+        ++ '\n' : show newAlex ++ "\n"+#endif+    AlexSkip newAlex _ -> do+      putAlex $ newAlex { aiStartCode = StartCode startCode Return }+      lexer'+    AlexToken newAlex _ action -> do+      putAlex newAlex+      maybeToken <- action+      case maybeToken of+        Just token -> do+          updatePreviousToken maybeToken+          addToPreviousTokensInLine token+          return token+        Nothing -> lexer'++alexScanUser :: User -> AlexInput -> Int -> AlexReturn (LexAction (Maybe Token))++--------------------------------------------------------------------------------+-- Tokens+--------------------------------------------------------------------------------++data Token =+    TId                 SrcSpan String+  | TComment            SrcSpan String+  | TString             SrcSpan String+  | TIntegerLiteral     SrcSpan String+  | TRealLiteral        SrcSpan String+  | TBozLiteral         SrcSpan String+  | TComma              SrcSpan+  | TComma2             SrcSpan+  | TSemiColon          SrcSpan+  | TColon              SrcSpan+  | TDoubleColon        SrcSpan+  | TOpAssign           SrcSpan+  | TArrow              SrcSpan+  | TPercent            SrcSpan+  | TLeftPar            SrcSpan+  | TLeftPar2           SrcSpan+  | TRightPar           SrcSpan+  | TLeftInitPar        SrcSpan+  | TRightInitPar       SrcSpan+  -- Mainly operators+  | TOpCustom           SrcSpan String+  | TOpExp              SrcSpan+  | TOpPlus             SrcSpan+  | TOpMinus            SrcSpan+  | TStar               SrcSpan+  | TOpDivision         SrcSpan+  | TSlash              SrcSpan+  | TOpOr               SrcSpan+  | TOpAnd              SrcSpan+  | TOpNot              SrcSpan+  | TOpEquivalent       SrcSpan+  | TOpNotEquivalent    SrcSpan+  | TOpLT               SrcSpan+  | TOpLE               SrcSpan+  | TOpEQ               SrcSpan+  | TOpNE               SrcSpan+  | TOpGT               SrcSpan+  | TOpGE               SrcSpan+  | TLogicalLiteral     SrcSpan String+  -- Keywords+  -- Program unit related+  | TProgram            SrcSpan+  | TEndProgram         SrcSpan+  | TFunction           SrcSpan+  | TEndFunction        SrcSpan+  | TResult             SrcSpan+  | TRecursive          SrcSpan+  | TSubroutine         SrcSpan+  | TEndSubroutine      SrcSpan+  | TBlockData          SrcSpan+  | TEndBlockData       SrcSpan+  | TModule             SrcSpan+  | TEndModule          SrcSpan+  | TContains           SrcSpan+  | TUse                SrcSpan+  | TOnly               SrcSpan+  | TInterface          SrcSpan+  | TEndInterface       SrcSpan+  | TModuleProcedure    SrcSpan+  | TAssignment         SrcSpan+  | TOperator           SrcSpan+  | TCall               SrcSpan+  | TReturn             SrcSpan+  | TEntry              SrcSpan+  -- Attributes+  | TPublic             SrcSpan+  | TPrivate            SrcSpan+  | TParameter          SrcSpan+  | TAllocatable        SrcSpan+  | TDimension          SrcSpan+  | TExternal           SrcSpan+  | TIntent             SrcSpan+  | TIntrinsic          SrcSpan+  | TOptional           SrcSpan+  | TPointer            SrcSpan+  | TSave               SrcSpan+  | TTarget             SrcSpan+  -- Attribute values+  | TIn                 SrcSpan+  | TOut                SrcSpan+  | TInOut              SrcSpan+  -- Beginning keyword+  | TData               SrcSpan+  | TNamelist           SrcSpan+  | TImplicit           SrcSpan+  | TEquivalence        SrcSpan+  | TCommon             SrcSpan+  | TAllocate           SrcSpan+  | TDeallocate         SrcSpan+  | TNullify            SrcSpan+  -- Misc+  | TNone               SrcSpan+  -- Control flow+  | TGoto               SrcSpan+  | TAssign             SrcSpan+  | TTo                 SrcSpan+  | TContinue           SrcSpan+  | TStop               SrcSpan+  | TPause              SrcSpan+  | TDo                 SrcSpan+  | TEndDo              SrcSpan+  | TWhile              SrcSpan+  | TIf                 SrcSpan+  | TThen               SrcSpan+  | TElse               SrcSpan+  | TElsif              SrcSpan+  | TEndIf              SrcSpan+  | TCase               SrcSpan+  | TSelectCase         SrcSpan+  | TEndSelect          SrcSpan+  | TDefault            SrcSpan+  | TCycle              SrcSpan+  | TExit              SrcSpan+  -- Where construct+  | TWhere              SrcSpan+  | TElsewhere          SrcSpan+  | TEndWhere           SrcSpan+  -- Type related+  | TType               SrcSpan+  | TEndType            SrcSpan+  | TSequence           SrcSpan+  -- Selector+  | TKind               SrcSpan+  | TLen                SrcSpan+  -- Intrinsic types+  | TInteger            SrcSpan+  | TReal               SrcSpan+  | TDoublePrecision    SrcSpan+  | TLogical            SrcSpan+  | TCharacter          SrcSpan+  | TComplex            SrcSpan+  -- I/O+  | TOpen               SrcSpan+  | TClose              SrcSpan+  | TRead               SrcSpan+  | TWrite              SrcSpan+  | TPrint              SrcSpan+  | TBackspace          SrcSpan+  | TRewind             SrcSpan+  | TInquire            SrcSpan+  | TEndfile            SrcSpan+  -- Etc.+  | TEnd                SrcSpan+  | TNewline            SrcSpan+  | TEOF                SrcSpan+  deriving (Eq, Show, Data, Typeable, Generic)++instance FirstParameter Token SrcSpan+instance FirstParameter Token SrcSpan => Spanned Token where+  getSpan = getFirstParameter+  setSpan = setFirstParameter++instance Tok Token where+  eofToken TEOF{} = True+  eofToken _ = False++class SpecifiesType a where+  isTypeSpec :: a -> Bool++instance SpecifiesType Token where+  isTypeSpec TInteger{} = True+  isTypeSpec TReal{} = True+  isTypeSpec TDoublePrecision{} = True+  isTypeSpec TLogical{} = True+  isTypeSpec TCharacter{} = True+  isTypeSpec TComplex{} = True+  isTypeSpec _ = False++instance SpecifiesType [ Token ] where+  isTypeSpec tokens+    | [ TType{}, TLeftPar{}, _, TRightPar{} ] <- tokens = True+    -- This is an approximation but should hold for almost all legal programs.+    | (typeToken:TLeftPar{}:rest) <- tokens =+      isTypeSpec typeToken &&+      case last rest of+        TRightPar{} -> True+        _ -> False+    | (TCharacter{}:TStar{}:rest) <- tokens =+      case rest of+        [ TIntegerLiteral{} ] -> True+        (TLeftPar{}:rest') | TRightPar{} <- last rest' -> True+        _ -> False+    | otherwise = False++--------------------------------------------------------------------------------+-- Functions to help testing & output+--------------------------------------------------------------------------------++initParseState :: String -> FortranVersion -> String -> ParseState AlexInput+initParseState srcInput fortranVersion filename =+  _vanillaParseState { psAlexInput = vanillaAlexInput { aiSourceInput = srcInput } }+  where+    _vanillaParseState = ParseState+      { psAlexInput = undefined+      , psVersion = fortranVersion+      , psFilename = filename+      , psParanthesesCount = ParanthesesCount 0 False+      , psContext = [ ConStart ] }++collectFreeTokens :: FortranVersion -> String -> [Token]+collectFreeTokens version srcInput =+    collectTokens lexer' $ initParseState srcInput version "<unknown>"++++scC,scI,scN,scT :: Int+scC = 1+scI = 2+scN = 3+scT = 4+alex_action_0 =  addSpanAndMatch TComment +alex_action_1 =  resetPar >> toSC 0 >> addSpan TNewline +alex_action_3 =  leftPar +alex_action_4 =  decPar >> toSC scI >> addSpan TRightPar +alex_action_5 =  decPar >> addSpan TRightPar +alex_action_6 =  addSpan TLeftInitPar +alex_action_7 =  addSpan TRightInitPar +alex_action_8 =  comma +alex_action_9 =  addSpan TSemiColon +alex_action_10 =  addSpan TColon +alex_action_11 =  addSpan TDoubleColon +alex_action_12 =  addSpan TOpAssign+alex_action_13 =  addSpan TArrow +alex_action_14 =  addSpan TPercent +alex_action_15 =  addSpanAndMatch TId +alex_action_16 =  addSpanAndMatch TId +alex_action_17 =  addSpan TProgram +alex_action_18 =  addSpan TEndProgram +alex_action_19 =  addSpan TFunction +alex_action_20 =  addSpan TFunction +alex_action_21 =  addSpan TEndFunction +alex_action_22 =  addSpan TResult +alex_action_23 =  toSC 0 >> addSpan TRecursive +alex_action_24 =  toSC 0 >> addSpan TRecursive +alex_action_25 =  addSpan TSubroutine +alex_action_26 =  addSpan TEndSubroutine +alex_action_27 =  addSpan TBlockData +alex_action_28 =  addSpan TEndBlockData +alex_action_29 =  addSpan TModule +alex_action_30 =  addSpan TEndModule +alex_action_31 =  addSpan TContains +alex_action_32 =  addSpan TUse +alex_action_33 =  addSpan TOnly +alex_action_34 =  addSpan TInterface +alex_action_35 =  addSpan TEndInterface +alex_action_36 =  addSpan TModuleProcedure +alex_action_37 =  addSpan TAssignment +alex_action_38 =  addSpan TOperator +alex_action_39 =  addSpan TCall +alex_action_40 =  addSpan TReturn +alex_action_41 =  addSpan TEntry +alex_action_42 =  addSpan TType +alex_action_43 =  addSpan TEndType +alex_action_44 =  addSpan TSequence +alex_action_45 =  addSpan TInteger +alex_action_46 =  addSpan TReal +alex_action_47 =  addSpan TDoublePrecision +alex_action_48 =  addSpan TLogical +alex_action_49 =  addSpan TCharacter +alex_action_50 =  addSpan TComplex +alex_action_51 =  addSpan TKind +alex_action_52 =  addSpan TLen +alex_action_53 =  addSpan TPublic +alex_action_54 =  addSpan TPublic +alex_action_55 =  addSpan TPrivate +alex_action_56 =  addSpan TPrivate +alex_action_57 =  addSpan TParameter +alex_action_58 =  addSpan TParameter +alex_action_59 =  addSpan TAllocatable +alex_action_60 =  addSpan TAllocatable +alex_action_61 =  addSpan TDimension +alex_action_62 =  addSpan TDimension +alex_action_63 =  addSpan TExternal +alex_action_64 =  addSpan TExternal +alex_action_65 =  addSpan TIntent +alex_action_66 =  addSpan TIntent +alex_action_67 =  addSpan TIntrinsic +alex_action_68 =  addSpan TIntrinsic +alex_action_69 =  addSpan TOptional +alex_action_70 =  addSpan TOptional +alex_action_71 =  addSpan TPointer +alex_action_72 =  addSpan TPointer +alex_action_73 =  addSpan TSave +alex_action_74 =  addSpan TSave +alex_action_75 =  addSpan TTarget +alex_action_76 =  addSpan TTarget +alex_action_77 =  addSpan TInOut +alex_action_78 =  addSpan TIn +alex_action_79 =  addSpan TOut +alex_action_80 =  addSpan TDo +alex_action_81 =  addSpan TDo +alex_action_82 =  addSpan TEndDo +alex_action_83 =  addSpan TWhile +alex_action_84 =  addSpan TIf +alex_action_85 =  addSpan TIf +alex_action_86 =  addSpan TThen +alex_action_87 =  addSpan TElse +alex_action_88 =  addSpan TElsif +alex_action_89 =  addSpan TEndIf +alex_action_90 =  addSpan TSelectCase +alex_action_91 =  addSpan TSelectCase +alex_action_92 =  addSpan TCase +alex_action_93 =  addSpan TEndSelect +alex_action_94 =  addSpan TDefault +alex_action_95 =  addSpan TCycle +alex_action_96 =  addSpan TExit +alex_action_97 =  addSpan TGoto +alex_action_98 =  addSpan TAssign +alex_action_99 =  addSpan TTo +alex_action_100 =  addSpan TContinue +alex_action_101 =  addSpan TStop +alex_action_102 =  addSpan TPause +alex_action_103 =  addSpan TWhere +alex_action_104 =  addSpan TElsewhere +alex_action_105 =  addSpan TEndWhere +alex_action_106 =  addSpan TData +alex_action_107 =  addSpan TAllocate +alex_action_108 =  addSpan TDeallocate +alex_action_109 =  addSpan TNullify +alex_action_110 =  addSpan TNamelist +alex_action_111 =  toSC scT >> addSpan TImplicit +alex_action_112 =  addSpan TEquivalence +alex_action_113 =  addSpan TCommon +alex_action_114 =  addSpan TEnd +alex_action_115 =  addSpan TNone +alex_action_116 =  addSpan TOpen +alex_action_117 =  addSpan TClose +alex_action_118 =  addSpan TRead +alex_action_119 =  addSpan TWrite +alex_action_120 =  addSpan TPrint +alex_action_121 =  addSpan TBackspace +alex_action_122 =  addSpan TRewind +alex_action_123 =  addSpan TInquire +alex_action_124 =  addSpan TEndfile +alex_action_125 =  toSC 0 >> addSpanAndMatch TIntegerLiteral +alex_action_126 =  addSpanAndMatch TIntegerLiteral  +alex_action_127 =  addSpanAndMatch TBozLiteral  +alex_action_128 =  addSpanAndMatch TRealLiteral +alex_action_129 =  addSpanAndMatch TRealLiteral +alex_action_130 =  lexCharacter +alex_action_131 =  addSpanAndMatch TLogicalLiteral +alex_action_132 =  addSpanAndMatch TOpCustom +alex_action_133 =  addSpan TOpExp +alex_action_134 =  addSpan TOpPlus +alex_action_135 =  addSpan TOpMinus +alex_action_136 =  addSpan TStar +alex_action_137 =  slashOrDivision +alex_action_138 =  addSpan TOpOr +alex_action_139 =  addSpan TOpAnd +alex_action_140 =  addSpan TOpNot +alex_action_141 =  addSpan TOpEquivalent +alex_action_142 =  addSpan TOpNotEquivalent +alex_action_143 =  addSpan TOpEQ +alex_action_144 =  addSpan TOpNE +alex_action_145 =  addSpan TOpLT +alex_action_146 =  addSpan TOpLE +alex_action_147 =  addSpan TOpGT +alex_action_148 =  addSpan TOpGE +alex_action_149 =  addSpanAndMatch TOpCustom +alex_action_150 =  addSpanAndMatch TId +{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 16 "<built-in>" #-}+{-# LINE 1 "/usr/local/lib/ghc-7.10.2/include/ghcversion.h" #-}+++++++++++++++++++{-# LINE 17 "<built-in>" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+-- -----------------------------------------------------------------------------+-- ALEX TEMPLATE+--+-- This code is in the PUBLIC DOMAIN; you may copy it freely and use+-- it for any purpose whatsoever.++-- -----------------------------------------------------------------------------+-- INTERNALS and main scanner engine+++{-# LINE 21 "templates/GenericTemplate.hs" #-}+++{-# LINE 51 "templates/GenericTemplate.hs" #-}+++{-# LINE 72 "templates/GenericTemplate.hs" #-}+alexIndexInt16OffAddr arr off = arr ! off++++{-# LINE 93 "templates/GenericTemplate.hs" #-}+alexIndexInt32OffAddr arr off = arr ! off++++{-# LINE 105 "templates/GenericTemplate.hs" #-}+quickIndex arr i = arr ! i+++-- -----------------------------------------------------------------------------+-- Main lexing routines++data AlexReturn a+  = AlexEOF+  | AlexError  !AlexInput+  | AlexSkip   !AlexInput !Int+  | AlexToken  !AlexInput !Int a++-- alexScan :: AlexInput -> StartCode -> AlexReturn a+alexScan input (sc)+  = alexScanUser undefined input (sc)++alexScanUser user input (sc)+  = case alex_scan_tkn user input (0) input sc AlexNone of+	(AlexNone, input') ->+		case alexGetByte input of+			Nothing -> ++++				   AlexEOF+			Just _ ->++++				   AlexError input'++	(AlexLastSkip input'' len, _) ->++++		AlexSkip input'' len++	(AlexLastAcc k input''' len, _) ->++++		AlexToken input''' len 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 a+  = AlexNone+  | AlexLastAcc a !AlexInput !Int+  | AlexLastSkip  !AlexInput !Int++instance Functor AlexLastAcc where+    fmap f AlexNone = AlexNone+    fmap f (AlexLastAcc x y z) = AlexLastAcc (f x) y z+    fmap f (AlexLastSkip x y) = AlexLastSkip x y++data AlexAcc a user+  = AlexAccNone+  | AlexAcc a+  | AlexAccSkip++  | AlexAccPred a   (AlexAccPred user) (AlexAcc a user)+  | AlexAccSkipPred (AlexAccPred user) (AlexAcc a user)++type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool++-- -----------------------------------------------------------------------------+-- Predicates on a rule++alexAndPred p1 p2 user in1 len in2+  = p1 user in1 len in2 && p2 user in1 len in2++--alexPrevCharIsPred :: Char -> AlexAccPred _ +alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input++alexPrevCharMatches f _ input _ _ = f (alexInputPrevChar input)++--alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ +alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input++--alexRightContext :: Int -> AlexAccPred _+alexRightContext (sc) user _ _ input = +     case alex_scan_tkn user input (0) input sc AlexNone of+	  (AlexNone, _) -> False+	  _ -> True+	-- TODO: there's no need to find the longest+	-- match when checking the right context, just+	-- the first match will do.+++-- used by wrappers+iUnbox (i) = i+
+ src/Language/Fortran/Parser/Fortran66.hs view
@@ -0,0 +1,5037 @@+{-# OPTIONS_GHC -w #-}+module Language.Fortran.Parser.Fortran66(expressionParser,+                               statementParser,+                               fortran66Parser) where++import Prelude hiding (EQ,LT,GT) -- Same constructors exist in the AST++import Data.Maybe (isNothing, fromJust)++import Language.Fortran.Util.Position+import Language.Fortran.ParserMonad+import Language.Fortran.Lexer.FixedForm+import Language.Fortran.Transformer (transform, Transformation(..))+import Language.Fortran.AST+import Control.Applicative(Applicative(..))+import Control.Monad (ap)++-- parser produced by Happy Version 1.19.5++data HappyAbsSyn +	= HappyTerminal (Token)+	| HappyErrorToken Int+	| HappyAbsSyn6 (ProgramFile A0)+	| HappyAbsSyn7 ([ ([ Block A0 ], ProgramUnit A0) ])+	| HappyAbsSyn8 (ProgramUnit A0)+	| HappyAbsSyn10 (Maybe (AList Expression A0))+	| HappyAbsSyn11 (Name)+	| HappyAbsSyn12 ([ Block A0 ])+	| HappyAbsSyn13 (Block A0)+	| HappyAbsSyn14 (Token)+	| HappyAbsSyn15 (Statement A0)+	| HappyAbsSyn18 (DoSpecification A0)+	| HappyAbsSyn19 (Expression A0)+	| HappyAbsSyn23 ((AList ControlPair A0, Maybe (AList Expression A0)))+	| HappyAbsSyn26 (AList Expression A0)+	| HappyAbsSyn29 (AList FormatItem A0)+	| HappyAbsSyn30 (FormatItem A0)+	| HappyAbsSyn32 (AList DataGroup A0)+	| HappyAbsSyn36 (AList (AList Expression) A0)+	| HappyAbsSyn37 (AList CommonGroup A0)+	| HappyAbsSyn38 (CommonGroup A0)+	| HappyAbsSyn43 (AList Declarator A0)+	| HappyAbsSyn44 (Declarator A0)+	| HappyAbsSyn47 (AList DimensionDeclarator A0)+	| HappyAbsSyn48 (DimensionDeclarator A0)+	| HappyAbsSyn51 (AList Argument A0)+	| HappyAbsSyn53 (Argument A0)+	| HappyAbsSyn55 (BinaryOp)+	| HappyAbsSyn57 ([ Index A0 ])+	| HappyAbsSyn58 ((SrcSpan, UnaryOp))+	| HappyAbsSyn60 ([ Expression A0 ])+	| HappyAbsSyn66 (Maybe (SrcSpan, String))+	| HappyAbsSyn67 ((SrcSpan, String))+	| HappyAbsSyn76 (TypeSpec A0)++{- to allow type-synonyms as our monads (likely+ - with explicitly-specified bind and return)+ - in Haskell98, it seems that with+ - /type M a = .../, then /(HappyReduction M)/+ - is not allowed.  But Happy is a+ - code-generator that can just substitute it.+type HappyReduction m = +	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> m HappyAbsSyn+-}++action_0,+ action_1,+ action_2,+ action_3,+ action_4,+ action_5,+ action_6,+ action_7,+ action_8,+ action_9,+ action_10,+ action_11,+ action_12,+ action_13,+ action_14,+ action_15,+ action_16,+ action_17,+ action_18,+ action_19,+ action_20,+ action_21,+ action_22,+ action_23,+ action_24,+ action_25,+ action_26,+ action_27,+ action_28,+ action_29,+ action_30,+ action_31,+ action_32,+ action_33,+ action_34,+ action_35,+ action_36,+ action_37,+ action_38,+ action_39,+ action_40,+ action_41,+ action_42,+ action_43,+ action_44,+ action_45,+ action_46,+ action_47,+ action_48,+ action_49,+ action_50,+ action_51,+ action_52,+ action_53,+ action_54,+ action_55,+ action_56,+ action_57,+ action_58,+ action_59,+ action_60,+ action_61,+ action_62,+ action_63,+ action_64,+ action_65,+ action_66,+ action_67,+ action_68,+ action_69,+ action_70,+ action_71,+ action_72,+ action_73,+ action_74,+ action_75,+ action_76,+ action_77,+ action_78,+ action_79,+ action_80,+ action_81,+ action_82,+ action_83,+ action_84,+ action_85,+ action_86,+ action_87,+ action_88,+ action_89,+ action_90,+ action_91,+ action_92,+ action_93,+ action_94,+ action_95,+ action_96,+ action_97,+ action_98,+ action_99,+ action_100,+ action_101,+ action_102,+ action_103,+ action_104,+ action_105,+ action_106,+ action_107,+ action_108,+ action_109,+ action_110,+ action_111,+ action_112,+ action_113,+ action_114,+ action_115,+ action_116,+ action_117,+ action_118,+ action_119,+ action_120,+ action_121,+ action_122,+ action_123,+ action_124,+ action_125,+ action_126,+ action_127,+ action_128,+ action_129,+ action_130,+ action_131,+ action_132,+ action_133,+ action_134,+ action_135,+ action_136,+ action_137,+ action_138,+ action_139,+ action_140,+ action_141,+ action_142,+ action_143,+ action_144,+ action_145,+ action_146,+ action_147,+ action_148,+ action_149,+ action_150,+ action_151,+ action_152,+ action_153,+ action_154,+ action_155,+ action_156,+ action_157,+ action_158,+ action_159,+ action_160,+ action_161,+ action_162,+ action_163,+ action_164,+ action_165,+ action_166,+ action_167,+ action_168,+ action_169,+ action_170,+ action_171,+ action_172,+ action_173,+ action_174,+ action_175,+ action_176,+ action_177,+ action_178,+ action_179,+ action_180,+ action_181,+ action_182,+ action_183,+ action_184,+ action_185,+ action_186,+ action_187,+ action_188,+ action_189,+ action_190,+ action_191,+ action_192,+ action_193,+ action_194,+ action_195,+ action_196,+ action_197,+ action_198,+ action_199,+ action_200,+ action_201,+ action_202,+ action_203,+ action_204,+ action_205,+ action_206,+ action_207,+ action_208,+ action_209,+ action_210,+ action_211,+ action_212,+ action_213,+ action_214,+ action_215,+ action_216,+ action_217,+ action_218,+ action_219,+ action_220,+ action_221,+ action_222,+ action_223,+ action_224,+ action_225,+ action_226,+ action_227,+ action_228,+ action_229,+ action_230,+ action_231,+ action_232,+ action_233,+ action_234,+ action_235,+ action_236,+ action_237,+ action_238,+ action_239,+ action_240,+ action_241,+ action_242,+ action_243,+ action_244,+ action_245,+ action_246,+ action_247,+ action_248,+ action_249,+ action_250,+ action_251,+ action_252,+ action_253,+ action_254,+ action_255,+ action_256,+ action_257,+ action_258,+ action_259,+ action_260,+ action_261,+ action_262,+ action_263,+ action_264,+ action_265,+ action_266,+ action_267,+ action_268,+ action_269,+ action_270,+ action_271,+ action_272,+ action_273,+ action_274,+ action_275,+ action_276,+ action_277,+ action_278,+ action_279,+ action_280,+ action_281,+ action_282,+ action_283,+ action_284,+ action_285,+ action_286,+ action_287,+ action_288,+ action_289,+ action_290,+ action_291,+ action_292,+ action_293,+ action_294,+ action_295,+ action_296,+ action_297,+ action_298,+ action_299,+ action_300,+ action_301,+ action_302,+ action_303,+ action_304,+ action_305,+ action_306,+ action_307,+ action_308,+ action_309,+ action_310,+ action_311,+ action_312,+ action_313,+ action_314,+ action_315,+ action_316,+ action_317,+ action_318,+ action_319,+ action_320,+ action_321,+ action_322,+ action_323,+ action_324,+ action_325,+ action_326,+ action_327,+ action_328,+ action_329,+ action_330,+ action_331,+ action_332,+ action_333,+ action_334,+ action_335,+ action_336,+ action_337,+ action_338,+ action_339,+ action_340,+ action_341,+ action_342,+ action_343,+ action_344,+ action_345,+ action_346,+ action_347,+ action_348 :: () => Int -> ({-HappyReduction (LexAction) = -}+	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> (LexAction) HappyAbsSyn)++happyReduce_3,+ happyReduce_4,+ happyReduce_5,+ happyReduce_6,+ happyReduce_7,+ happyReduce_8,+ happyReduce_9,+ happyReduce_10,+ happyReduce_11,+ happyReduce_12,+ happyReduce_13,+ happyReduce_14,+ happyReduce_15,+ happyReduce_16,+ happyReduce_17,+ happyReduce_18,+ happyReduce_19,+ happyReduce_20,+ happyReduce_21,+ happyReduce_22,+ happyReduce_23,+ happyReduce_24,+ happyReduce_25,+ happyReduce_26,+ happyReduce_27,+ happyReduce_28,+ happyReduce_29,+ happyReduce_30,+ happyReduce_31,+ happyReduce_32,+ happyReduce_33,+ happyReduce_34,+ happyReduce_35,+ happyReduce_36,+ happyReduce_37,+ happyReduce_38,+ happyReduce_39,+ happyReduce_40,+ happyReduce_41,+ happyReduce_42,+ happyReduce_43,+ happyReduce_44,+ happyReduce_45,+ happyReduce_46,+ happyReduce_47,+ happyReduce_48,+ happyReduce_49,+ happyReduce_50,+ happyReduce_51,+ happyReduce_52,+ happyReduce_53,+ happyReduce_54,+ happyReduce_55,+ happyReduce_56,+ happyReduce_57,+ happyReduce_58,+ happyReduce_59,+ happyReduce_60,+ happyReduce_61,+ happyReduce_62,+ happyReduce_63,+ happyReduce_64,+ happyReduce_65,+ happyReduce_66,+ happyReduce_67,+ happyReduce_68,+ happyReduce_69,+ happyReduce_70,+ happyReduce_71,+ happyReduce_72,+ happyReduce_73,+ happyReduce_74,+ happyReduce_75,+ happyReduce_76,+ happyReduce_77,+ happyReduce_78,+ happyReduce_79,+ happyReduce_80,+ happyReduce_81,+ happyReduce_82,+ happyReduce_83,+ happyReduce_84,+ happyReduce_85,+ happyReduce_86,+ happyReduce_87,+ happyReduce_88,+ happyReduce_89,+ happyReduce_90,+ happyReduce_91,+ happyReduce_92,+ happyReduce_93,+ happyReduce_94,+ happyReduce_95,+ happyReduce_96,+ happyReduce_97,+ happyReduce_98,+ happyReduce_99,+ happyReduce_100,+ happyReduce_101,+ happyReduce_102,+ happyReduce_103,+ happyReduce_104,+ happyReduce_105,+ happyReduce_106,+ happyReduce_107,+ happyReduce_108,+ happyReduce_109,+ happyReduce_110,+ happyReduce_111,+ happyReduce_112,+ happyReduce_113,+ happyReduce_114,+ happyReduce_115,+ happyReduce_116,+ happyReduce_117,+ happyReduce_118,+ happyReduce_119,+ happyReduce_120,+ happyReduce_121,+ happyReduce_122,+ happyReduce_123,+ happyReduce_124,+ happyReduce_125,+ happyReduce_126,+ happyReduce_127,+ happyReduce_128,+ happyReduce_129,+ happyReduce_130,+ happyReduce_131,+ happyReduce_132,+ happyReduce_133,+ happyReduce_134,+ happyReduce_135,+ happyReduce_136,+ happyReduce_137,+ happyReduce_138,+ happyReduce_139,+ happyReduce_140,+ happyReduce_141,+ happyReduce_142,+ happyReduce_143,+ happyReduce_144,+ happyReduce_145,+ happyReduce_146,+ happyReduce_147,+ happyReduce_148,+ happyReduce_149,+ happyReduce_150,+ happyReduce_151,+ happyReduce_152,+ happyReduce_153,+ happyReduce_154,+ happyReduce_155,+ happyReduce_156,+ happyReduce_157,+ happyReduce_158,+ happyReduce_159,+ happyReduce_160,+ happyReduce_161,+ happyReduce_162,+ happyReduce_163,+ happyReduce_164,+ happyReduce_165,+ happyReduce_166,+ happyReduce_167,+ happyReduce_168,+ happyReduce_169,+ happyReduce_170,+ happyReduce_171,+ happyReduce_172,+ happyReduce_173,+ happyReduce_174,+ happyReduce_175,+ happyReduce_176,+ happyReduce_177,+ happyReduce_178,+ happyReduce_179,+ happyReduce_180,+ happyReduce_181,+ happyReduce_182,+ happyReduce_183,+ happyReduce_184,+ happyReduce_185,+ happyReduce_186,+ happyReduce_187,+ happyReduce_188,+ happyReduce_189,+ happyReduce_190,+ happyReduce_191,+ happyReduce_192,+ happyReduce_193,+ happyReduce_194 :: () => ({-HappyReduction (LexAction) = -}+	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> (LexAction) HappyAbsSyn)++action_0 (81) = happyShift action_20+action_0 (82) = happyShift action_21+action_0 (83) = happyShift action_22+action_0 (86) = happyShift action_23+action_0 (88) = happyShift action_24+action_0 (89) = happyShift action_25+action_0 (90) = happyShift action_26+action_0 (91) = happyShift action_27+action_0 (92) = happyShift action_28+action_0 (93) = happyShift action_29+action_0 (94) = happyShift action_30+action_0 (95) = happyShift action_31+action_0 (96) = happyShift action_32+action_0 (97) = happyShift action_33+action_0 (98) = happyShift action_34+action_0 (99) = happyShift action_35+action_0 (100) = happyShift action_36+action_0 (101) = happyShift action_37+action_0 (102) = happyShift action_38+action_0 (103) = happyShift action_39+action_0 (104) = happyShift action_40+action_0 (105) = happyShift action_41+action_0 (106) = happyShift action_42+action_0 (107) = happyShift action_43+action_0 (108) = happyShift action_44+action_0 (109) = happyShift action_45+action_0 (110) = happyShift action_46+action_0 (111) = happyShift action_47+action_0 (133) = happyShift action_48+action_0 (134) = happyShift action_49+action_0 (136) = happyShift action_50+action_0 (6) = happyGoto action_68+action_0 (7) = happyGoto action_69+action_0 (8) = happyGoto action_5+action_0 (9) = happyGoto action_6+action_0 (12) = happyGoto action_7+action_0 (13) = happyGoto action_8+action_0 (15) = happyGoto action_9+action_0 (16) = happyGoto action_10+action_0 (17) = happyGoto action_11+action_0 (20) = happyGoto action_12+action_0 (21) = happyGoto action_13+action_0 (22) = happyGoto action_14+action_0 (28) = happyGoto action_15+action_0 (56) = happyGoto action_16+action_0 (61) = happyGoto action_17+action_0 (74) = happyGoto action_18+action_0 (76) = happyGoto action_19+action_0 _ = happyFail++action_1 (86) = happyShift action_23+action_1 (88) = happyShift action_24+action_1 (89) = happyShift action_25+action_1 (90) = happyShift action_26+action_1 (91) = happyShift action_27+action_1 (92) = happyShift action_28+action_1 (93) = happyShift action_29+action_1 (94) = happyShift action_30+action_1 (95) = happyShift action_31+action_1 (96) = happyShift action_32+action_1 (97) = happyShift action_33+action_1 (98) = happyShift action_34+action_1 (99) = happyShift action_35+action_1 (100) = happyShift action_36+action_1 (101) = happyShift action_37+action_1 (102) = happyShift action_38+action_1 (103) = happyShift action_39+action_1 (104) = happyShift action_40+action_1 (105) = happyShift action_41+action_1 (106) = happyShift action_42+action_1 (107) = happyShift action_43+action_1 (108) = happyShift action_44+action_1 (109) = happyShift action_45+action_1 (110) = happyShift action_46+action_1 (111) = happyShift action_47+action_1 (133) = happyShift action_48+action_1 (15) = happyGoto action_66+action_1 (16) = happyGoto action_10+action_1 (17) = happyGoto action_11+action_1 (20) = happyGoto action_12+action_1 (21) = happyGoto action_13+action_1 (22) = happyGoto action_14+action_1 (28) = happyGoto action_15+action_1 (56) = happyGoto action_16+action_1 (61) = happyGoto action_17+action_1 (76) = happyGoto action_67+action_1 _ = happyFail++action_2 (77) = happyShift action_59+action_2 (80) = happyShift action_60+action_2 (116) = happyShift action_61+action_2 (118) = happyShift action_62+action_2 (119) = happyShift action_63+action_2 (120) = happyShift action_64+action_2 (126) = happyShift action_65+action_2 (133) = happyShift action_48+action_2 (54) = happyGoto action_51+action_2 (56) = happyGoto action_52+action_2 (58) = happyGoto action_53+action_2 (61) = happyGoto action_54+action_2 (63) = happyGoto action_55+action_2 (65) = happyGoto action_56+action_2 (69) = happyGoto action_57+action_2 (70) = happyGoto action_58+action_2 _ = happyFail++action_3 (81) = happyShift action_20+action_3 (82) = happyShift action_21+action_3 (83) = happyShift action_22+action_3 (86) = happyShift action_23+action_3 (88) = happyShift action_24+action_3 (89) = happyShift action_25+action_3 (90) = happyShift action_26+action_3 (91) = happyShift action_27+action_3 (92) = happyShift action_28+action_3 (93) = happyShift action_29+action_3 (94) = happyShift action_30+action_3 (95) = happyShift action_31+action_3 (96) = happyShift action_32+action_3 (97) = happyShift action_33+action_3 (98) = happyShift action_34+action_3 (99) = happyShift action_35+action_3 (100) = happyShift action_36+action_3 (101) = happyShift action_37+action_3 (102) = happyShift action_38+action_3 (103) = happyShift action_39+action_3 (104) = happyShift action_40+action_3 (105) = happyShift action_41+action_3 (106) = happyShift action_42+action_3 (107) = happyShift action_43+action_3 (108) = happyShift action_44+action_3 (109) = happyShift action_45+action_3 (110) = happyShift action_46+action_3 (111) = happyShift action_47+action_3 (133) = happyShift action_48+action_3 (134) = happyShift action_49+action_3 (136) = happyShift action_50+action_3 (7) = happyGoto action_4+action_3 (8) = happyGoto action_5+action_3 (9) = happyGoto action_6+action_3 (12) = happyGoto action_7+action_3 (13) = happyGoto action_8+action_3 (15) = happyGoto action_9+action_3 (16) = happyGoto action_10+action_3 (17) = happyGoto action_11+action_3 (20) = happyGoto action_12+action_3 (21) = happyGoto action_13+action_3 (22) = happyGoto action_14+action_3 (28) = happyGoto action_15+action_3 (56) = happyGoto action_16+action_3 (61) = happyGoto action_17+action_3 (74) = happyGoto action_18+action_3 (76) = happyGoto action_19+action_3 _ = happyFail++action_4 (81) = happyShift action_20+action_4 (82) = happyShift action_21+action_4 (83) = happyShift action_22+action_4 (86) = happyShift action_23+action_4 (88) = happyShift action_24+action_4 (89) = happyShift action_25+action_4 (90) = happyShift action_26+action_4 (91) = happyShift action_27+action_4 (92) = happyShift action_28+action_4 (93) = happyShift action_29+action_4 (94) = happyShift action_30+action_4 (95) = happyShift action_31+action_4 (96) = happyShift action_32+action_4 (97) = happyShift action_33+action_4 (98) = happyShift action_34+action_4 (99) = happyShift action_35+action_4 (100) = happyShift action_36+action_4 (101) = happyShift action_37+action_4 (102) = happyShift action_38+action_4 (103) = happyShift action_39+action_4 (104) = happyShift action_40+action_4 (105) = happyShift action_41+action_4 (106) = happyShift action_42+action_4 (107) = happyShift action_43+action_4 (108) = happyShift action_44+action_4 (109) = happyShift action_45+action_4 (110) = happyShift action_46+action_4 (111) = happyShift action_47+action_4 (133) = happyShift action_48+action_4 (134) = happyShift action_49+action_4 (136) = happyShift action_50+action_4 (8) = happyGoto action_70+action_4 (9) = happyGoto action_71+action_4 (12) = happyGoto action_159+action_4 (13) = happyGoto action_8+action_4 (15) = happyGoto action_9+action_4 (16) = happyGoto action_10+action_4 (17) = happyGoto action_11+action_4 (20) = happyGoto action_12+action_4 (21) = happyGoto action_13+action_4 (22) = happyGoto action_14+action_4 (28) = happyGoto action_15+action_4 (56) = happyGoto action_16+action_4 (61) = happyGoto action_17+action_4 (74) = happyGoto action_18+action_4 (76) = happyGoto action_19+action_4 _ = happyFail++action_5 _ = happyReduce_8++action_6 _ = happyReduce_9++action_7 (81) = happyShift action_20+action_7 (82) = happyShift action_21+action_7 (83) = happyShift action_22+action_7 (84) = happyShift action_158+action_7 (86) = happyShift action_23+action_7 (88) = happyShift action_24+action_7 (89) = happyShift action_25+action_7 (90) = happyShift action_26+action_7 (91) = happyShift action_27+action_7 (92) = happyShift action_28+action_7 (93) = happyShift action_29+action_7 (94) = happyShift action_30+action_7 (95) = happyShift action_31+action_7 (96) = happyShift action_32+action_7 (97) = happyShift action_33+action_7 (98) = happyShift action_34+action_7 (99) = happyShift action_35+action_7 (100) = happyShift action_36+action_7 (101) = happyShift action_37+action_7 (102) = happyShift action_38+action_7 (103) = happyShift action_39+action_7 (104) = happyShift action_40+action_7 (105) = happyShift action_41+action_7 (106) = happyShift action_42+action_7 (107) = happyShift action_43+action_7 (108) = happyShift action_44+action_7 (109) = happyShift action_45+action_7 (110) = happyShift action_46+action_7 (111) = happyShift action_47+action_7 (133) = happyShift action_48+action_7 (134) = happyShift action_49+action_7 (136) = happyShift action_50+action_7 (9) = happyGoto action_156+action_7 (13) = happyGoto action_157+action_7 (15) = happyGoto action_9+action_7 (16) = happyGoto action_10+action_7 (17) = happyGoto action_11+action_7 (20) = happyGoto action_12+action_7 (21) = happyGoto action_13+action_7 (22) = happyGoto action_14+action_7 (28) = happyGoto action_15+action_7 (56) = happyGoto action_16+action_7 (61) = happyGoto action_17+action_7 (74) = happyGoto action_18+action_7 (76) = happyGoto action_19+action_7 _ = happyFail++action_8 _ = happyReduce_20++action_9 (137) = happyShift action_107+action_9 (14) = happyGoto action_155+action_9 _ = happyFail++action_10 _ = happyReduce_26++action_11 _ = happyReduce_27++action_12 _ = happyReduce_28++action_13 _ = happyReduce_36++action_14 _ = happyReduce_29++action_15 (85) = happyShift action_154+action_15 _ = happyFail++action_16 _ = happyReduce_77++action_17 (77) = happyShift action_90+action_17 _ = happyReduce_76++action_18 (86) = happyShift action_23+action_18 (88) = happyShift action_24+action_18 (89) = happyShift action_25+action_18 (90) = happyShift action_26+action_18 (91) = happyShift action_27+action_18 (92) = happyShift action_28+action_18 (93) = happyShift action_29+action_18 (94) = happyShift action_30+action_18 (95) = happyShift action_31+action_18 (96) = happyShift action_32+action_18 (97) = happyShift action_33+action_18 (98) = happyShift action_34+action_18 (99) = happyShift action_35+action_18 (100) = happyShift action_36+action_18 (101) = happyShift action_37+action_18 (102) = happyShift action_38+action_18 (103) = happyShift action_39+action_18 (104) = happyShift action_40+action_18 (105) = happyShift action_41+action_18 (106) = happyShift action_42+action_18 (107) = happyShift action_43+action_18 (108) = happyShift action_44+action_18 (109) = happyShift action_45+action_18 (110) = happyShift action_46+action_18 (111) = happyShift action_47+action_18 (133) = happyShift action_48+action_18 (15) = happyGoto action_153+action_18 (16) = happyGoto action_10+action_18 (17) = happyGoto action_11+action_18 (20) = happyGoto action_12+action_18 (21) = happyGoto action_13+action_18 (22) = happyGoto action_14+action_18 (28) = happyGoto action_15+action_18 (56) = happyGoto action_16+action_18 (61) = happyGoto action_17+action_18 (76) = happyGoto action_67+action_18 _ = happyFail++action_19 (81) = happyShift action_152+action_19 (133) = happyShift action_48+action_19 (43) = happyGoto action_73+action_19 (44) = happyGoto action_74+action_19 (46) = happyGoto action_75+action_19 (49) = happyGoto action_76+action_19 (61) = happyGoto action_77+action_19 _ = happyFail++action_20 (133) = happyShift action_150+action_20 (11) = happyGoto action_151+action_20 _ = happyFail++action_21 (133) = happyShift action_150+action_21 (11) = happyGoto action_149+action_21 _ = happyFail++action_22 (137) = happyShift action_107+action_22 (14) = happyGoto action_148+action_22 _ = happyFail++action_23 (116) = happyShift action_137+action_23 (75) = happyGoto action_147+action_23 _ = happyFail++action_24 (77) = happyShift action_146+action_24 (116) = happyShift action_137+action_24 (133) = happyShift action_48+action_24 (61) = happyGoto action_142+action_24 (72) = happyGoto action_143+action_24 (73) = happyGoto action_144+action_24 (75) = happyGoto action_145+action_24 _ = happyFail++action_25 (77) = happyShift action_141+action_25 _ = happyFail++action_26 (133) = happyShift action_48+action_26 (61) = happyGoto action_140+action_26 _ = happyFail++action_27 _ = happyReduce_44++action_28 _ = happyReduce_45++action_29 (116) = happyShift action_130+action_29 (63) = happyGoto action_139+action_29 _ = happyReduce_47++action_30 (116) = happyShift action_130+action_30 (63) = happyGoto action_138+action_30 _ = happyReduce_49++action_31 (116) = happyShift action_137+action_31 (75) = happyGoto action_136+action_31 _ = happyFail++action_32 (77) = happyShift action_134+action_32 (23) = happyGoto action_135+action_32 _ = happyFail++action_33 (77) = happyShift action_134+action_33 (23) = happyGoto action_133+action_33 _ = happyFail++action_34 (116) = happyShift action_130+action_34 (133) = happyShift action_48+action_34 (24) = happyGoto action_132+action_34 (61) = happyGoto action_128+action_34 (63) = happyGoto action_129+action_34 _ = happyFail++action_35 (116) = happyShift action_130+action_35 (133) = happyShift action_48+action_35 (24) = happyGoto action_131+action_35 (61) = happyGoto action_128+action_35 (63) = happyGoto action_129+action_35 _ = happyFail++action_36 (116) = happyShift action_130+action_36 (133) = happyShift action_48+action_36 (24) = happyGoto action_127+action_36 (61) = happyGoto action_128+action_36 (63) = happyGoto action_129+action_36 _ = happyFail++action_37 (123) = happyShift action_126+action_37 (133) = happyShift action_48+action_37 (37) = happyGoto action_122+action_37 (39) = happyGoto action_123+action_37 (40) = happyGoto action_124+action_37 (41) = happyGoto action_125+action_37 (42) = happyGoto action_112+action_37 (56) = happyGoto action_113+action_37 (61) = happyGoto action_114+action_37 _ = happyFail++action_38 (77) = happyShift action_121+action_38 (36) = happyGoto action_120+action_38 _ = happyFail++action_39 (133) = happyShift action_48+action_39 (50) = happyGoto action_118+action_39 (61) = happyGoto action_119+action_39 _ = happyFail++action_40 (133) = happyShift action_48+action_40 (45) = happyGoto action_115+action_40 (46) = happyGoto action_116+action_40 (61) = happyGoto action_117+action_40 _ = happyFail++action_41 _ = happyReduce_190++action_42 _ = happyReduce_191++action_43 _ = happyReduce_192++action_44 _ = happyReduce_193++action_45 _ = happyReduce_194++action_46 (133) = happyShift action_48+action_46 (32) = happyGoto action_110+action_46 (41) = happyGoto action_111+action_46 (42) = happyGoto action_112+action_46 (56) = happyGoto action_113+action_46 (61) = happyGoto action_114+action_46 _ = happyFail++action_47 (77) = happyShift action_109+action_47 (29) = happyGoto action_108+action_47 _ = happyFail++action_48 _ = happyReduce_167++action_49 (137) = happyShift action_107+action_49 (14) = happyGoto action_106+action_49 _ = happyFail++action_50 _ = happyReduce_188++action_51 (119) = happyShift action_93+action_51 (120) = happyShift action_94+action_51 (121) = happyShift action_95+action_51 (122) = happyShift action_96+action_51 (123) = happyShift action_97+action_51 (124) = happyShift action_98+action_51 (125) = happyShift action_99+action_51 (127) = happyShift action_100+action_51 (128) = happyShift action_101+action_51 (129) = happyShift action_102+action_51 (130) = happyShift action_103+action_51 (131) = happyShift action_104+action_51 (132) = happyShift action_105+action_51 (138) = happyAccept+action_51 (55) = happyGoto action_92+action_51 _ = happyFail++action_52 _ = happyReduce_149++action_53 (77) = happyShift action_59+action_53 (80) = happyShift action_60+action_53 (116) = happyShift action_61+action_53 (118) = happyShift action_62+action_53 (119) = happyShift action_63+action_53 (120) = happyShift action_64+action_53 (126) = happyShift action_65+action_53 (133) = happyShift action_48+action_53 (54) = happyGoto action_91+action_53 (56) = happyGoto action_52+action_53 (58) = happyGoto action_53+action_53 (61) = happyGoto action_54+action_53 (63) = happyGoto action_55+action_53 (65) = happyGoto action_56+action_53 (69) = happyGoto action_57+action_53 (70) = happyGoto action_58+action_53 _ = happyFail++action_54 (77) = happyShift action_90+action_54 _ = happyReduce_150++action_55 _ = happyReduce_145++action_56 _ = happyReduce_146++action_57 _ = happyReduce_147++action_58 _ = happyReduce_148++action_59 (77) = happyShift action_59+action_59 (80) = happyShift action_60+action_59 (116) = happyShift action_61+action_59 (118) = happyShift action_62+action_59 (119) = happyShift action_63+action_59 (120) = happyShift action_64+action_59 (126) = happyShift action_65+action_59 (133) = happyShift action_48+action_59 (54) = happyGoto action_83+action_59 (56) = happyGoto action_52+action_59 (58) = happyGoto action_84+action_59 (61) = happyGoto action_54+action_59 (62) = happyGoto action_85+action_59 (63) = happyGoto action_86+action_59 (64) = happyGoto action_87+action_59 (65) = happyGoto action_88+action_59 (68) = happyGoto action_89+action_59 (69) = happyGoto action_57+action_59 (70) = happyGoto action_58+action_59 _ = happyFail++action_60 (116) = happyShift action_82+action_60 _ = happyFail++action_61 (80) = happyShift action_80+action_61 (117) = happyShift action_81+action_61 (67) = happyGoto action_79+action_61 _ = happyReduce_170++action_62 _ = happyReduce_183++action_63 _ = happyReduce_162++action_64 _ = happyReduce_161++action_65 (77) = happyShift action_59+action_65 (80) = happyShift action_60+action_65 (116) = happyShift action_61+action_65 (118) = happyShift action_62+action_65 (119) = happyShift action_63+action_65 (120) = happyShift action_64+action_65 (126) = happyShift action_65+action_65 (133) = happyShift action_48+action_65 (54) = happyGoto action_78+action_65 (56) = happyGoto action_52+action_65 (58) = happyGoto action_53+action_65 (61) = happyGoto action_54+action_65 (63) = happyGoto action_55+action_65 (65) = happyGoto action_56+action_65 (69) = happyGoto action_57+action_65 (70) = happyGoto action_58+action_65 _ = happyFail++action_66 (138) = happyAccept+action_66 _ = happyFail++action_67 (133) = happyShift action_48+action_67 (43) = happyGoto action_73+action_67 (44) = happyGoto action_74+action_67 (46) = happyGoto action_75+action_67 (49) = happyGoto action_76+action_67 (61) = happyGoto action_77+action_67 _ = happyFail++action_68 (138) = happyAccept+action_68 _ = happyFail++action_69 (81) = happyShift action_20+action_69 (82) = happyShift action_21+action_69 (83) = happyShift action_22+action_69 (86) = happyShift action_23+action_69 (88) = happyShift action_24+action_69 (89) = happyShift action_25+action_69 (90) = happyShift action_26+action_69 (91) = happyShift action_27+action_69 (92) = happyShift action_28+action_69 (93) = happyShift action_29+action_69 (94) = happyShift action_30+action_69 (95) = happyShift action_31+action_69 (96) = happyShift action_32+action_69 (97) = happyShift action_33+action_69 (98) = happyShift action_34+action_69 (99) = happyShift action_35+action_69 (100) = happyShift action_36+action_69 (101) = happyShift action_37+action_69 (102) = happyShift action_38+action_69 (103) = happyShift action_39+action_69 (104) = happyShift action_40+action_69 (105) = happyShift action_41+action_69 (106) = happyShift action_42+action_69 (107) = happyShift action_43+action_69 (108) = happyShift action_44+action_69 (109) = happyShift action_45+action_69 (110) = happyShift action_46+action_69 (111) = happyShift action_47+action_69 (133) = happyShift action_48+action_69 (134) = happyShift action_49+action_69 (136) = happyShift action_50+action_69 (8) = happyGoto action_70+action_69 (9) = happyGoto action_71+action_69 (12) = happyGoto action_72+action_69 (13) = happyGoto action_8+action_69 (15) = happyGoto action_9+action_69 (16) = happyGoto action_10+action_69 (17) = happyGoto action_11+action_69 (20) = happyGoto action_12+action_69 (21) = happyGoto action_13+action_69 (22) = happyGoto action_14+action_69 (28) = happyGoto action_15+action_69 (56) = happyGoto action_16+action_69 (61) = happyGoto action_17+action_69 (74) = happyGoto action_18+action_69 (76) = happyGoto action_19+action_69 _ = happyReduce_3++action_70 _ = happyReduce_5++action_71 _ = happyReduce_6++action_72 (81) = happyShift action_20+action_72 (82) = happyShift action_21+action_72 (83) = happyShift action_22+action_72 (84) = happyShift action_158+action_72 (86) = happyShift action_23+action_72 (88) = happyShift action_24+action_72 (89) = happyShift action_25+action_72 (90) = happyShift action_26+action_72 (91) = happyShift action_27+action_72 (92) = happyShift action_28+action_72 (93) = happyShift action_29+action_72 (94) = happyShift action_30+action_72 (95) = happyShift action_31+action_72 (96) = happyShift action_32+action_72 (97) = happyShift action_33+action_72 (98) = happyShift action_34+action_72 (99) = happyShift action_35+action_72 (100) = happyShift action_36+action_72 (101) = happyShift action_37+action_72 (102) = happyShift action_38+action_72 (103) = happyShift action_39+action_72 (104) = happyShift action_40+action_72 (105) = happyShift action_41+action_72 (106) = happyShift action_42+action_72 (107) = happyShift action_43+action_72 (108) = happyShift action_44+action_72 (109) = happyShift action_45+action_72 (110) = happyShift action_46+action_72 (111) = happyShift action_47+action_72 (133) = happyShift action_48+action_72 (134) = happyShift action_49+action_72 (136) = happyShift action_50+action_72 (9) = happyGoto action_160+action_72 (13) = happyGoto action_157+action_72 (15) = happyGoto action_9+action_72 (16) = happyGoto action_10+action_72 (17) = happyGoto action_11+action_72 (20) = happyGoto action_12+action_72 (21) = happyGoto action_13+action_72 (22) = happyGoto action_14+action_72 (28) = happyGoto action_15+action_72 (56) = happyGoto action_16+action_72 (61) = happyGoto action_17+action_72 (74) = happyGoto action_18+action_72 (76) = happyGoto action_19+action_72 _ = happyReduce_4++action_73 (79) = happyShift action_229+action_73 _ = happyReduce_62++action_74 _ = happyReduce_116++action_75 _ = happyReduce_117++action_76 _ = happyReduce_118++action_77 (77) = happyShift action_193+action_77 _ = happyReduce_125++action_78 (119) = happyShift action_93+action_78 (120) = happyShift action_94+action_78 (121) = happyShift action_95+action_78 (122) = happyShift action_96+action_78 (123) = happyShift action_97+action_78 (127) = happyShift action_100+action_78 (128) = happyShift action_101+action_78 (129) = happyShift action_102+action_78 (130) = happyShift action_103+action_78 (131) = happyShift action_104+action_78 (132) = happyShift action_105+action_78 (55) = happyGoto action_92+action_78 _ = happyReduce_142++action_79 _ = happyReduce_173++action_80 (116) = happyShift action_228+action_80 (117) = happyShift action_81+action_80 (66) = happyGoto action_227+action_80 (67) = happyGoto action_226+action_80 _ = happyReduce_178++action_81 _ = happyReduce_179++action_82 (117) = happyShift action_81+action_82 (66) = happyGoto action_225+action_82 (67) = happyGoto action_226+action_82 _ = happyReduce_178++action_83 (78) = happyShift action_224+action_83 (119) = happyShift action_93+action_83 (120) = happyShift action_94+action_83 (121) = happyShift action_95+action_83 (122) = happyShift action_96+action_83 (123) = happyShift action_97+action_83 (124) = happyShift action_98+action_83 (125) = happyShift action_99+action_83 (127) = happyShift action_100+action_83 (128) = happyShift action_101+action_83 (129) = happyShift action_102+action_83 (130) = happyShift action_103+action_83 (131) = happyShift action_104+action_83 (132) = happyShift action_105+action_83 (55) = happyGoto action_92+action_83 _ = happyFail++action_84 (77) = happyShift action_59+action_84 (80) = happyShift action_60+action_84 (116) = happyShift action_61+action_84 (118) = happyShift action_62+action_84 (119) = happyShift action_63+action_84 (120) = happyShift action_64+action_84 (126) = happyShift action_65+action_84 (133) = happyShift action_48+action_84 (54) = happyGoto action_91+action_84 (56) = happyGoto action_52+action_84 (58) = happyGoto action_53+action_84 (61) = happyGoto action_54+action_84 (63) = happyGoto action_222+action_84 (65) = happyGoto action_223+action_84 (69) = happyGoto action_57+action_84 (70) = happyGoto action_58+action_84 _ = happyFail++action_85 _ = happyReduce_180++action_86 (79) = happyReduce_169+action_86 _ = happyReduce_145++action_87 _ = happyReduce_181++action_88 (79) = happyReduce_172+action_88 _ = happyReduce_146++action_89 (79) = happyShift action_221+action_89 _ = happyFail++action_90 (77) = happyShift action_59+action_90 (78) = happyShift action_220+action_90 (80) = happyShift action_60+action_90 (116) = happyShift action_61+action_90 (118) = happyShift action_62+action_90 (119) = happyShift action_63+action_90 (120) = happyShift action_64+action_90 (126) = happyShift action_65+action_90 (133) = happyShift action_48+action_90 (54) = happyGoto action_218+action_90 (56) = happyGoto action_52+action_90 (57) = happyGoto action_219+action_90 (58) = happyGoto action_53+action_90 (61) = happyGoto action_54+action_90 (63) = happyGoto action_55+action_90 (65) = happyGoto action_56+action_90 (69) = happyGoto action_57+action_90 (70) = happyGoto action_58+action_90 _ = happyFail++action_91 (121) = happyShift action_95+action_91 (55) = happyGoto action_92+action_91 _ = happyReduce_139++action_92 (77) = happyShift action_59+action_92 (80) = happyShift action_60+action_92 (116) = happyShift action_61+action_92 (118) = happyShift action_62+action_92 (119) = happyShift action_63+action_92 (120) = happyShift action_64+action_92 (126) = happyShift action_65+action_92 (133) = happyShift action_48+action_92 (54) = happyGoto action_217+action_92 (56) = happyGoto action_52+action_92 (58) = happyGoto action_53+action_92 (61) = happyGoto action_54+action_92 (63) = happyGoto action_55+action_92 (65) = happyGoto action_56+action_92 (69) = happyGoto action_57+action_92 (70) = happyGoto action_58+action_92 _ = happyFail++action_93 (77) = happyShift action_59+action_93 (80) = happyShift action_60+action_93 (116) = happyShift action_61+action_93 (118) = happyShift action_62+action_93 (119) = happyShift action_63+action_93 (120) = happyShift action_64+action_93 (126) = happyShift action_65+action_93 (133) = happyShift action_48+action_93 (54) = happyGoto action_216+action_93 (56) = happyGoto action_52+action_93 (58) = happyGoto action_53+action_93 (61) = happyGoto action_54+action_93 (63) = happyGoto action_55+action_93 (65) = happyGoto action_56+action_93 (69) = happyGoto action_57+action_93 (70) = happyGoto action_58+action_93 _ = happyFail++action_94 (77) = happyShift action_59+action_94 (80) = happyShift action_60+action_94 (116) = happyShift action_61+action_94 (118) = happyShift action_62+action_94 (119) = happyShift action_63+action_94 (120) = happyShift action_64+action_94 (126) = happyShift action_65+action_94 (133) = happyShift action_48+action_94 (54) = happyGoto action_215+action_94 (56) = happyGoto action_52+action_94 (58) = happyGoto action_53+action_94 (61) = happyGoto action_54+action_94 (63) = happyGoto action_55+action_94 (65) = happyGoto action_56+action_94 (69) = happyGoto action_57+action_94 (70) = happyGoto action_58+action_94 _ = happyFail++action_95 (77) = happyShift action_59+action_95 (80) = happyShift action_60+action_95 (116) = happyShift action_61+action_95 (118) = happyShift action_62+action_95 (119) = happyShift action_63+action_95 (120) = happyShift action_64+action_95 (126) = happyShift action_65+action_95 (133) = happyShift action_48+action_95 (54) = happyGoto action_214+action_95 (56) = happyGoto action_52+action_95 (58) = happyGoto action_53+action_95 (61) = happyGoto action_54+action_95 (63) = happyGoto action_55+action_95 (65) = happyGoto action_56+action_95 (69) = happyGoto action_57+action_95 (70) = happyGoto action_58+action_95 _ = happyFail++action_96 (77) = happyShift action_59+action_96 (80) = happyShift action_60+action_96 (116) = happyShift action_61+action_96 (118) = happyShift action_62+action_96 (119) = happyShift action_63+action_96 (120) = happyShift action_64+action_96 (126) = happyShift action_65+action_96 (133) = happyShift action_48+action_96 (54) = happyGoto action_213+action_96 (56) = happyGoto action_52+action_96 (58) = happyGoto action_53+action_96 (61) = happyGoto action_54+action_96 (63) = happyGoto action_55+action_96 (65) = happyGoto action_56+action_96 (69) = happyGoto action_57+action_96 (70) = happyGoto action_58+action_96 _ = happyFail++action_97 (77) = happyShift action_59+action_97 (80) = happyShift action_60+action_97 (116) = happyShift action_61+action_97 (118) = happyShift action_62+action_97 (119) = happyShift action_63+action_97 (120) = happyShift action_64+action_97 (126) = happyShift action_65+action_97 (133) = happyShift action_48+action_97 (54) = happyGoto action_212+action_97 (56) = happyGoto action_52+action_97 (58) = happyGoto action_53+action_97 (61) = happyGoto action_54+action_97 (63) = happyGoto action_55+action_97 (65) = happyGoto action_56+action_97 (69) = happyGoto action_57+action_97 (70) = happyGoto action_58+action_97 _ = happyFail++action_98 (77) = happyShift action_59+action_98 (80) = happyShift action_60+action_98 (116) = happyShift action_61+action_98 (118) = happyShift action_62+action_98 (119) = happyShift action_63+action_98 (120) = happyShift action_64+action_98 (126) = happyShift action_65+action_98 (133) = happyShift action_48+action_98 (54) = happyGoto action_211+action_98 (56) = happyGoto action_52+action_98 (58) = happyGoto action_53+action_98 (61) = happyGoto action_54+action_98 (63) = happyGoto action_55+action_98 (65) = happyGoto action_56+action_98 (69) = happyGoto action_57+action_98 (70) = happyGoto action_58+action_98 _ = happyFail++action_99 (77) = happyShift action_59+action_99 (80) = happyShift action_60+action_99 (116) = happyShift action_61+action_99 (118) = happyShift action_62+action_99 (119) = happyShift action_63+action_99 (120) = happyShift action_64+action_99 (126) = happyShift action_65+action_99 (133) = happyShift action_48+action_99 (54) = happyGoto action_210+action_99 (56) = happyGoto action_52+action_99 (58) = happyGoto action_53+action_99 (61) = happyGoto action_54+action_99 (63) = happyGoto action_55+action_99 (65) = happyGoto action_56+action_99 (69) = happyGoto action_57+action_99 (70) = happyGoto action_58+action_99 _ = happyFail++action_100 _ = happyReduce_155++action_101 _ = happyReduce_156++action_102 _ = happyReduce_153++action_103 _ = happyReduce_154++action_104 _ = happyReduce_151++action_105 _ = happyReduce_152++action_106 (137) = happyShift action_162+action_106 _ = happyReduce_23++action_107 _ = happyReduce_25++action_108 (77) = happyShift action_109+action_108 (78) = happyShift action_201+action_108 (79) = happyShift action_202+action_108 (112) = happyShift action_203+action_108 (113) = happyShift action_204+action_108 (114) = happyShift action_205+action_108 (115) = happyShift action_206+action_108 (116) = happyShift action_207+action_108 (123) = happyShift action_208+action_108 (135) = happyShift action_209+action_108 (29) = happyGoto action_197+action_108 (30) = happyGoto action_198+action_108 (31) = happyGoto action_199+action_108 (71) = happyGoto action_200+action_108 _ = happyFail++action_109 _ = happyReduce_82++action_110 (79) = happyShift action_196+action_110 _ = happyReduce_60++action_111 (79) = happyShift action_185+action_111 (123) = happyShift action_195+action_111 _ = happyFail++action_112 _ = happyReduce_112++action_113 _ = happyReduce_114++action_114 (77) = happyShift action_90+action_114 _ = happyReduce_113++action_115 (79) = happyShift action_194+action_115 _ = happyReduce_57++action_116 _ = happyReduce_120++action_117 (77) = happyShift action_193+action_117 _ = happyFail++action_118 (79) = happyShift action_192+action_118 _ = happyReduce_56++action_119 _ = happyReduce_127++action_120 (79) = happyShift action_191+action_120 _ = happyReduce_59++action_121 (133) = happyShift action_48+action_121 (41) = happyGoto action_190+action_121 (42) = happyGoto action_112+action_121 (56) = happyGoto action_113+action_121 (61) = happyGoto action_114+action_121 _ = happyFail++action_122 (123) = happyShift action_189+action_122 (38) = happyGoto action_187+action_122 (40) = happyGoto action_188+action_122 _ = happyReduce_58++action_123 _ = happyReduce_104++action_124 (133) = happyShift action_48+action_124 (41) = happyGoto action_186+action_124 (42) = happyGoto action_112+action_124 (56) = happyGoto action_113+action_124 (61) = happyGoto action_114+action_124 _ = happyFail++action_125 (79) = happyShift action_185+action_125 _ = happyReduce_109++action_126 (123) = happyShift action_184+action_126 (133) = happyShift action_48+action_126 (61) = happyGoto action_183+action_126 _ = happyFail++action_127 _ = happyReduce_52++action_128 _ = happyReduce_68++action_129 _ = happyReduce_67++action_130 _ = happyReduce_170++action_131 _ = happyReduce_51++action_132 _ = happyReduce_50++action_133 _ = happyReduce_53++action_134 (116) = happyShift action_130+action_134 (133) = happyShift action_48+action_134 (24) = happyGoto action_182+action_134 (61) = happyGoto action_128+action_134 (63) = happyGoto action_129+action_134 _ = happyFail++action_135 _ = happyReduce_54++action_136 (133) = happyShift action_48+action_136 (18) = happyGoto action_180+action_136 (21) = happyGoto action_181+action_136 (28) = happyGoto action_15+action_136 (56) = happyGoto action_16+action_136 (61) = happyGoto action_17+action_136 _ = happyFail++action_137 _ = happyReduce_189++action_138 _ = happyReduce_48++action_139 _ = happyReduce_46++action_140 (77) = happyShift action_179+action_140 (51) = happyGoto action_177+action_140 (52) = happyGoto action_178+action_140 _ = happyReduce_43++action_141 (77) = happyShift action_59+action_141 (80) = happyShift action_60+action_141 (116) = happyShift action_61+action_141 (118) = happyShift action_62+action_141 (119) = happyShift action_63+action_141 (120) = happyShift action_64+action_141 (126) = happyShift action_65+action_141 (133) = happyShift action_48+action_141 (54) = happyGoto action_176+action_141 (56) = happyGoto action_52+action_141 (58) = happyGoto action_53+action_141 (61) = happyGoto action_54+action_141 (63) = happyGoto action_55+action_141 (65) = happyGoto action_56+action_141 (69) = happyGoto action_57+action_141 (70) = happyGoto action_58+action_141 _ = happyFail++action_142 (77) = happyShift action_146+action_142 (72) = happyGoto action_175+action_142 (73) = happyGoto action_144+action_142 _ = happyFail++action_143 (133) = happyShift action_48+action_143 (61) = happyGoto action_174+action_143 _ = happyFail++action_144 (78) = happyShift action_172+action_144 (79) = happyShift action_173+action_144 _ = happyFail++action_145 _ = happyReduce_38++action_146 (116) = happyShift action_137+action_146 (75) = happyGoto action_171+action_146 _ = happyFail++action_147 (87) = happyShift action_170+action_147 _ = happyFail++action_148 (86) = happyShift action_23+action_148 (88) = happyShift action_24+action_148 (89) = happyShift action_25+action_148 (90) = happyShift action_26+action_148 (91) = happyShift action_27+action_148 (92) = happyShift action_28+action_148 (93) = happyShift action_29+action_148 (94) = happyShift action_30+action_148 (95) = happyShift action_31+action_148 (96) = happyShift action_32+action_148 (97) = happyShift action_33+action_148 (98) = happyShift action_34+action_148 (99) = happyShift action_35+action_148 (100) = happyShift action_36+action_148 (101) = happyShift action_37+action_148 (102) = happyShift action_38+action_148 (103) = happyShift action_39+action_148 (104) = happyShift action_40+action_148 (105) = happyShift action_41+action_148 (106) = happyShift action_42+action_148 (107) = happyShift action_43+action_148 (108) = happyShift action_44+action_148 (109) = happyShift action_45+action_148 (110) = happyShift action_46+action_148 (111) = happyShift action_47+action_148 (133) = happyShift action_48+action_148 (134) = happyShift action_49+action_148 (136) = happyShift action_50+action_148 (137) = happyShift action_162+action_148 (12) = happyGoto action_169+action_148 (13) = happyGoto action_8+action_148 (15) = happyGoto action_9+action_148 (16) = happyGoto action_10+action_148 (17) = happyGoto action_11+action_148 (20) = happyGoto action_12+action_148 (21) = happyGoto action_13+action_148 (22) = happyGoto action_14+action_148 (28) = happyGoto action_15+action_148 (56) = happyGoto action_16+action_148 (61) = happyGoto action_17+action_148 (74) = happyGoto action_18+action_148 (76) = happyGoto action_67+action_148 _ = happyFail++action_149 (77) = happyShift action_167+action_149 (10) = happyGoto action_168+action_149 _ = happyReduce_17++action_150 _ = happyReduce_18++action_151 (77) = happyShift action_167+action_151 (10) = happyGoto action_166+action_151 _ = happyReduce_17++action_152 (133) = happyShift action_150+action_152 (11) = happyGoto action_165+action_152 _ = happyFail++action_153 (137) = happyShift action_107+action_153 (14) = happyGoto action_164+action_153 _ = happyFail++action_154 (77) = happyShift action_59+action_154 (80) = happyShift action_60+action_154 (116) = happyShift action_61+action_154 (118) = happyShift action_62+action_154 (119) = happyShift action_63+action_154 (120) = happyShift action_64+action_154 (126) = happyShift action_65+action_154 (133) = happyShift action_48+action_154 (54) = happyGoto action_163+action_154 (56) = happyGoto action_52+action_154 (58) = happyGoto action_53+action_154 (61) = happyGoto action_54+action_154 (63) = happyGoto action_55+action_154 (65) = happyGoto action_56+action_154 (69) = happyGoto action_57+action_154 (70) = happyGoto action_58+action_154 _ = happyFail++action_155 (137) = happyShift action_162+action_155 _ = happyReduce_22++action_156 _ = happyReduce_10++action_157 _ = happyReduce_19++action_158 (137) = happyShift action_107+action_158 (14) = happyGoto action_161+action_158 _ = happyFail++action_159 (81) = happyShift action_20+action_159 (82) = happyShift action_21+action_159 (83) = happyShift action_22+action_159 (84) = happyShift action_158+action_159 (86) = happyShift action_23+action_159 (88) = happyShift action_24+action_159 (89) = happyShift action_25+action_159 (90) = happyShift action_26+action_159 (91) = happyShift action_27+action_159 (92) = happyShift action_28+action_159 (93) = happyShift action_29+action_159 (94) = happyShift action_30+action_159 (95) = happyShift action_31+action_159 (96) = happyShift action_32+action_159 (97) = happyShift action_33+action_159 (98) = happyShift action_34+action_159 (99) = happyShift action_35+action_159 (100) = happyShift action_36+action_159 (101) = happyShift action_37+action_159 (102) = happyShift action_38+action_159 (103) = happyShift action_39+action_159 (104) = happyShift action_40+action_159 (105) = happyShift action_41+action_159 (106) = happyShift action_42+action_159 (107) = happyShift action_43+action_159 (108) = happyShift action_44+action_159 (109) = happyShift action_45+action_159 (110) = happyShift action_46+action_159 (111) = happyShift action_47+action_159 (133) = happyShift action_48+action_159 (134) = happyShift action_49+action_159 (136) = happyShift action_50+action_159 (9) = happyGoto action_160+action_159 (13) = happyGoto action_157+action_159 (15) = happyGoto action_9+action_159 (16) = happyGoto action_10+action_159 (17) = happyGoto action_11+action_159 (20) = happyGoto action_12+action_159 (21) = happyGoto action_13+action_159 (22) = happyGoto action_14+action_159 (28) = happyGoto action_15+action_159 (56) = happyGoto action_16+action_159 (61) = happyGoto action_17+action_159 (74) = happyGoto action_18+action_159 (76) = happyGoto action_19+action_159 _ = happyFail++action_160 _ = happyReduce_7++action_161 (137) = happyShift action_162+action_161 _ = happyReduce_11++action_162 _ = happyReduce_24++action_163 (119) = happyShift action_93+action_163 (120) = happyShift action_94+action_163 (121) = happyShift action_95+action_163 (122) = happyShift action_96+action_163 (123) = happyShift action_97+action_163 (124) = happyShift action_98+action_163 (125) = happyShift action_99+action_163 (127) = happyShift action_100+action_163 (128) = happyShift action_101+action_163 (129) = happyShift action_102+action_163 (130) = happyShift action_103+action_163 (131) = happyShift action_104+action_163 (132) = happyShift action_105+action_163 (55) = happyGoto action_92+action_163 _ = happyReduce_55++action_164 (137) = happyShift action_162+action_164 _ = happyReduce_21++action_165 (77) = happyShift action_167+action_165 (10) = happyGoto action_281+action_165 _ = happyReduce_17++action_166 (137) = happyShift action_107+action_166 (14) = happyGoto action_280+action_166 _ = happyFail++action_167 (133) = happyShift action_48+action_167 (59) = happyGoto action_277+action_167 (60) = happyGoto action_278+action_167 (61) = happyGoto action_279+action_167 _ = happyReduce_164++action_168 (137) = happyShift action_107+action_168 (14) = happyGoto action_276+action_168 _ = happyFail++action_169 (84) = happyShift action_275+action_169 (86) = happyShift action_23+action_169 (88) = happyShift action_24+action_169 (89) = happyShift action_25+action_169 (90) = happyShift action_26+action_169 (91) = happyShift action_27+action_169 (92) = happyShift action_28+action_169 (93) = happyShift action_29+action_169 (94) = happyShift action_30+action_169 (95) = happyShift action_31+action_169 (96) = happyShift action_32+action_169 (97) = happyShift action_33+action_169 (98) = happyShift action_34+action_169 (99) = happyShift action_35+action_169 (100) = happyShift action_36+action_169 (101) = happyShift action_37+action_169 (102) = happyShift action_38+action_169 (103) = happyShift action_39+action_169 (104) = happyShift action_40+action_169 (105) = happyShift action_41+action_169 (106) = happyShift action_42+action_169 (107) = happyShift action_43+action_169 (108) = happyShift action_44+action_169 (109) = happyShift action_45+action_169 (110) = happyShift action_46+action_169 (111) = happyShift action_47+action_169 (133) = happyShift action_48+action_169 (134) = happyShift action_49+action_169 (136) = happyShift action_50+action_169 (13) = happyGoto action_157+action_169 (15) = happyGoto action_9+action_169 (16) = happyGoto action_10+action_169 (17) = happyGoto action_11+action_169 (20) = happyGoto action_12+action_169 (21) = happyGoto action_13+action_169 (22) = happyGoto action_14+action_169 (28) = happyGoto action_15+action_169 (56) = happyGoto action_16+action_169 (61) = happyGoto action_17+action_169 (74) = happyGoto action_18+action_169 (76) = happyGoto action_67+action_169 _ = happyFail++action_170 (133) = happyShift action_48+action_170 (61) = happyGoto action_274+action_170 _ = happyFail++action_171 _ = happyReduce_187++action_172 _ = happyReduce_185++action_173 (116) = happyShift action_137+action_173 (75) = happyGoto action_273+action_173 _ = happyFail++action_174 _ = happyReduce_40++action_175 _ = happyReduce_39++action_176 (78) = happyShift action_272+action_176 (119) = happyShift action_93+action_176 (120) = happyShift action_94+action_176 (121) = happyShift action_95+action_176 (122) = happyShift action_96+action_176 (123) = happyShift action_97+action_176 (124) = happyShift action_98+action_176 (125) = happyShift action_99+action_176 (127) = happyShift action_100+action_176 (128) = happyShift action_101+action_176 (129) = happyShift action_102+action_176 (130) = happyShift action_103+action_176 (131) = happyShift action_104+action_176 (132) = happyShift action_105+action_176 (55) = happyGoto action_92+action_176 _ = happyFail++action_177 _ = happyReduce_42++action_178 (78) = happyShift action_270+action_178 (79) = happyShift action_271+action_178 _ = happyFail++action_179 (77) = happyShift action_59+action_179 (80) = happyShift action_60+action_179 (116) = happyShift action_61+action_179 (118) = happyShift action_62+action_179 (119) = happyShift action_63+action_179 (120) = happyShift action_64+action_179 (126) = happyShift action_65+action_179 (133) = happyShift action_48+action_179 (135) = happyShift action_209+action_179 (53) = happyGoto action_267+action_179 (54) = happyGoto action_268+action_179 (56) = happyGoto action_52+action_179 (58) = happyGoto action_53+action_179 (61) = happyGoto action_54+action_179 (63) = happyGoto action_55+action_179 (65) = happyGoto action_56+action_179 (69) = happyGoto action_57+action_179 (70) = happyGoto action_58+action_179 (71) = happyGoto action_269+action_179 _ = happyReduce_131++action_180 _ = happyReduce_31++action_181 (79) = happyShift action_266+action_181 _ = happyFail++action_182 (78) = happyShift action_264+action_182 (79) = happyShift action_265+action_182 _ = happyFail++action_183 (123) = happyShift action_263+action_183 _ = happyFail++action_184 (133) = happyShift action_48+action_184 (41) = happyGoto action_262+action_184 (42) = happyGoto action_112+action_184 (56) = happyGoto action_113+action_184 (61) = happyGoto action_114+action_184 _ = happyFail++action_185 (133) = happyShift action_48+action_185 (42) = happyGoto action_261+action_185 (56) = happyGoto action_113+action_185 (61) = happyGoto action_114+action_185 _ = happyFail++action_186 (79) = happyShift action_185+action_186 _ = happyReduce_107++action_187 _ = happyReduce_103++action_188 (133) = happyShift action_48+action_188 (41) = happyGoto action_260+action_188 (42) = happyGoto action_112+action_188 (56) = happyGoto action_113+action_188 (61) = happyGoto action_114+action_188 _ = happyFail++action_189 (123) = happyShift action_259+action_189 (133) = happyShift action_48+action_189 (61) = happyGoto action_183+action_189 _ = happyFail++action_190 (78) = happyShift action_258+action_190 (79) = happyShift action_185+action_190 _ = happyFail++action_191 (77) = happyShift action_257+action_191 _ = happyFail++action_192 (133) = happyShift action_48+action_192 (61) = happyGoto action_256+action_192 _ = happyFail++action_193 (77) = happyShift action_59+action_193 (80) = happyShift action_60+action_193 (116) = happyShift action_61+action_193 (118) = happyShift action_62+action_193 (119) = happyShift action_63+action_193 (120) = happyShift action_64+action_193 (126) = happyShift action_65+action_193 (133) = happyShift action_48+action_193 (47) = happyGoto action_253+action_193 (48) = happyGoto action_254+action_193 (54) = happyGoto action_255+action_193 (56) = happyGoto action_52+action_193 (58) = happyGoto action_53+action_193 (61) = happyGoto action_54+action_193 (63) = happyGoto action_55+action_193 (65) = happyGoto action_56+action_193 (69) = happyGoto action_57+action_193 (70) = happyGoto action_58+action_193 _ = happyFail++action_194 (133) = happyShift action_48+action_194 (46) = happyGoto action_252+action_194 (61) = happyGoto action_117+action_194 _ = happyFail++action_195 (77) = happyShift action_251+action_195 (80) = happyShift action_60+action_195 (116) = happyShift action_61+action_195 (118) = happyShift action_62+action_195 (119) = happyShift action_63+action_195 (120) = happyShift action_64+action_195 (135) = happyShift action_209+action_195 (33) = happyGoto action_243+action_195 (34) = happyGoto action_244+action_195 (35) = happyGoto action_245+action_195 (58) = happyGoto action_232+action_195 (62) = happyGoto action_85+action_195 (63) = happyGoto action_246+action_195 (64) = happyGoto action_87+action_195 (65) = happyGoto action_234+action_195 (68) = happyGoto action_247+action_195 (69) = happyGoto action_248+action_195 (70) = happyGoto action_249+action_195 (71) = happyGoto action_250+action_195 _ = happyFail++action_196 (133) = happyShift action_48+action_196 (41) = happyGoto action_242+action_196 (42) = happyGoto action_112+action_196 (56) = happyGoto action_113+action_196 (61) = happyGoto action_114+action_196 _ = happyFail++action_197 (77) = happyShift action_109+action_197 (78) = happyShift action_241+action_197 (79) = happyShift action_202+action_197 (112) = happyShift action_203+action_197 (113) = happyShift action_204+action_197 (114) = happyShift action_205+action_197 (115) = happyShift action_206+action_197 (116) = happyShift action_207+action_197 (123) = happyShift action_208+action_197 (135) = happyShift action_209+action_197 (29) = happyGoto action_197+action_197 (30) = happyGoto action_198+action_197 (31) = happyGoto action_199+action_197 (71) = happyGoto action_200+action_197 _ = happyFail++action_198 _ = happyReduce_81++action_199 _ = happyReduce_80++action_200 _ = happyReduce_86++action_201 _ = happyReduce_61++action_202 (77) = happyShift action_109+action_202 (112) = happyShift action_203+action_202 (113) = happyShift action_204+action_202 (114) = happyShift action_205+action_202 (115) = happyShift action_206+action_202 (116) = happyShift action_207+action_202 (123) = happyShift action_208+action_202 (135) = happyShift action_209+action_202 (29) = happyGoto action_197+action_202 (30) = happyGoto action_239+action_202 (31) = happyGoto action_240+action_202 (71) = happyGoto action_200+action_202 _ = happyFail++action_203 _ = happyReduce_87++action_204 _ = happyReduce_88++action_205 _ = happyReduce_89++action_206 _ = happyReduce_90++action_207 (77) = happyShift action_109+action_207 (29) = happyGoto action_238+action_207 _ = happyFail++action_208 _ = happyReduce_83++action_209 _ = happyReduce_184++action_210 (119) = happyShift action_93+action_210 (120) = happyShift action_94+action_210 (121) = happyShift action_95+action_210 (122) = happyShift action_96+action_210 (123) = happyShift action_97+action_210 (127) = happyShift action_100+action_210 (128) = happyShift action_101+action_210 (129) = happyShift action_102+action_210 (130) = happyShift action_103+action_210 (131) = happyShift action_104+action_210 (132) = happyShift action_105+action_210 (55) = happyGoto action_92+action_210 _ = happyReduce_141++action_211 (119) = happyShift action_93+action_211 (120) = happyShift action_94+action_211 (121) = happyShift action_95+action_211 (122) = happyShift action_96+action_211 (123) = happyShift action_97+action_211 (125) = happyShift action_99+action_211 (127) = happyShift action_100+action_211 (128) = happyShift action_101+action_211 (129) = happyShift action_102+action_211 (130) = happyShift action_103+action_211 (131) = happyShift action_104+action_211 (132) = happyShift action_105+action_211 (55) = happyGoto action_92+action_211 _ = happyReduce_140++action_212 (121) = happyShift action_95+action_212 (55) = happyGoto action_92+action_212 _ = happyReduce_137++action_213 (121) = happyShift action_95+action_213 (55) = happyGoto action_92+action_213 _ = happyReduce_136++action_214 (121) = happyShift action_95+action_214 (55) = happyGoto action_92+action_214 _ = happyReduce_138++action_215 (121) = happyShift action_95+action_215 (122) = happyShift action_96+action_215 (123) = happyShift action_97+action_215 (55) = happyGoto action_92+action_215 _ = happyReduce_135++action_216 (121) = happyShift action_95+action_216 (122) = happyShift action_96+action_216 (123) = happyShift action_97+action_216 (55) = happyGoto action_92+action_216 _ = happyReduce_134++action_217 (119) = happyShift action_93+action_217 (120) = happyShift action_94+action_217 (121) = happyShift action_95+action_217 (122) = happyShift action_96+action_217 (123) = happyShift action_97+action_217 (55) = happyGoto action_92+action_217 _ = happyReduce_143++action_218 (119) = happyShift action_93+action_218 (120) = happyShift action_94+action_218 (121) = happyShift action_95+action_218 (122) = happyShift action_96+action_218 (123) = happyShift action_97+action_218 (124) = happyShift action_98+action_218 (125) = happyShift action_99+action_218 (127) = happyShift action_100+action_218 (128) = happyShift action_101+action_218 (129) = happyShift action_102+action_218 (130) = happyShift action_103+action_218 (131) = happyShift action_104+action_218 (132) = happyShift action_105+action_218 (55) = happyGoto action_92+action_218 _ = happyReduce_160++action_219 (78) = happyShift action_236+action_219 (79) = happyShift action_237+action_219 _ = happyFail++action_220 _ = happyReduce_157++action_221 (80) = happyShift action_60+action_221 (116) = happyShift action_61+action_221 (119) = happyShift action_63+action_221 (120) = happyShift action_64+action_221 (58) = happyGoto action_232+action_221 (62) = happyGoto action_85+action_221 (63) = happyGoto action_233+action_221 (64) = happyGoto action_87+action_221 (65) = happyGoto action_234+action_221 (68) = happyGoto action_235+action_221 _ = happyFail++action_222 (79) = happyReduce_168+action_222 _ = happyReduce_145++action_223 (79) = happyReduce_171+action_223 _ = happyReduce_146++action_224 _ = happyReduce_144++action_225 _ = happyReduce_175++action_226 _ = happyReduce_177++action_227 _ = happyReduce_174++action_228 (117) = happyShift action_81+action_228 (66) = happyGoto action_231+action_228 (67) = happyGoto action_226+action_228 _ = happyReduce_178++action_229 (133) = happyShift action_48+action_229 (44) = happyGoto action_230+action_229 (46) = happyGoto action_75+action_229 (49) = happyGoto action_76+action_229 (61) = happyGoto action_77+action_229 _ = happyFail++action_230 _ = happyReduce_115++action_231 _ = happyReduce_176++action_232 (80) = happyShift action_60+action_232 (116) = happyShift action_61+action_232 (63) = happyGoto action_314+action_232 (65) = happyGoto action_315+action_232 _ = happyFail++action_233 _ = happyReduce_169++action_234 _ = happyReduce_172++action_235 (78) = happyShift action_313+action_235 _ = happyFail++action_236 _ = happyReduce_158++action_237 (77) = happyShift action_59+action_237 (80) = happyShift action_60+action_237 (116) = happyShift action_61+action_237 (118) = happyShift action_62+action_237 (119) = happyShift action_63+action_237 (120) = happyShift action_64+action_237 (126) = happyShift action_65+action_237 (133) = happyShift action_48+action_237 (54) = happyGoto action_312+action_237 (56) = happyGoto action_52+action_237 (58) = happyGoto action_53+action_237 (61) = happyGoto action_54+action_237 (63) = happyGoto action_55+action_237 (65) = happyGoto action_56+action_237 (69) = happyGoto action_57+action_237 (70) = happyGoto action_58+action_237 _ = happyFail++action_238 (77) = happyShift action_109+action_238 (78) = happyShift action_311+action_238 (79) = happyShift action_202+action_238 (112) = happyShift action_203+action_238 (113) = happyShift action_204+action_238 (114) = happyShift action_205+action_238 (115) = happyShift action_206+action_238 (116) = happyShift action_207+action_238 (123) = happyShift action_208+action_238 (135) = happyShift action_209+action_238 (29) = happyGoto action_197+action_238 (30) = happyGoto action_198+action_238 (31) = happyGoto action_199+action_238 (71) = happyGoto action_200+action_238 _ = happyFail++action_239 _ = happyReduce_79++action_240 _ = happyReduce_78++action_241 _ = happyReduce_85++action_242 (79) = happyShift action_185+action_242 (123) = happyShift action_310+action_242 _ = happyFail++action_243 (79) = happyShift action_308+action_243 (123) = happyShift action_309+action_243 _ = happyFail++action_244 _ = happyReduce_94++action_245 _ = happyReduce_96++action_246 (122) = happyShift action_307+action_246 _ = happyReduce_169++action_247 _ = happyReduce_97++action_248 _ = happyReduce_98++action_249 _ = happyReduce_99++action_250 _ = happyReduce_100++action_251 (80) = happyShift action_60+action_251 (116) = happyShift action_61+action_251 (119) = happyShift action_63+action_251 (120) = happyShift action_64+action_251 (58) = happyGoto action_232+action_251 (62) = happyGoto action_85+action_251 (63) = happyGoto action_233+action_251 (64) = happyGoto action_87+action_251 (65) = happyGoto action_234+action_251 (68) = happyGoto action_89+action_251 _ = happyFail++action_252 _ = happyReduce_119++action_253 (78) = happyShift action_305+action_253 (79) = happyShift action_306+action_253 _ = happyFail++action_254 _ = happyReduce_123++action_255 (119) = happyShift action_93+action_255 (120) = happyShift action_94+action_255 (121) = happyShift action_95+action_255 (122) = happyShift action_96+action_255 (123) = happyShift action_97+action_255 (124) = happyShift action_98+action_255 (125) = happyShift action_99+action_255 (127) = happyShift action_100+action_255 (128) = happyShift action_101+action_255 (129) = happyShift action_102+action_255 (130) = happyShift action_103+action_255 (131) = happyShift action_104+action_255 (132) = happyShift action_105+action_255 (55) = happyGoto action_92+action_255 _ = happyReduce_124++action_256 _ = happyReduce_126++action_257 (133) = happyShift action_48+action_257 (41) = happyGoto action_304+action_257 (42) = happyGoto action_112+action_257 (56) = happyGoto action_113+action_257 (61) = happyGoto action_114+action_257 _ = happyFail++action_258 _ = happyReduce_102++action_259 (133) = happyShift action_48+action_259 (41) = happyGoto action_303+action_259 (42) = happyGoto action_112+action_259 (56) = happyGoto action_113+action_259 (61) = happyGoto action_114+action_259 _ = happyFail++action_260 (79) = happyShift action_185+action_260 _ = happyReduce_105++action_261 _ = happyReduce_111++action_262 (79) = happyShift action_185+action_262 _ = happyReduce_108++action_263 _ = happyReduce_110++action_264 (77) = happyShift action_302+action_264 (133) = happyShift action_48+action_264 (26) = happyGoto action_298+action_264 (27) = happyGoto action_299+action_264 (56) = happyGoto action_300+action_264 (61) = happyGoto action_301+action_264 _ = happyReduce_65++action_265 (116) = happyShift action_137+action_265 (133) = happyShift action_48+action_265 (25) = happyGoto action_295+action_265 (61) = happyGoto action_296+action_265 (75) = happyGoto action_297+action_265 _ = happyFail++action_266 (116) = happyShift action_130+action_266 (133) = happyShift action_48+action_266 (19) = happyGoto action_292+action_266 (61) = happyGoto action_293+action_266 (63) = happyGoto action_294+action_266 _ = happyFail++action_267 _ = happyReduce_130++action_268 (119) = happyShift action_93+action_268 (120) = happyShift action_94+action_268 (121) = happyShift action_95+action_268 (122) = happyShift action_96+action_268 (123) = happyShift action_97+action_268 (124) = happyShift action_98+action_268 (125) = happyShift action_99+action_268 (127) = happyShift action_100+action_268 (128) = happyShift action_101+action_268 (129) = happyShift action_102+action_268 (130) = happyShift action_103+action_268 (131) = happyShift action_104+action_268 (132) = happyShift action_105+action_268 (55) = happyGoto action_92+action_268 _ = happyReduce_133++action_269 _ = happyReduce_132++action_270 _ = happyReduce_128++action_271 (77) = happyShift action_59+action_271 (80) = happyShift action_60+action_271 (116) = happyShift action_61+action_271 (118) = happyShift action_62+action_271 (119) = happyShift action_63+action_271 (120) = happyShift action_64+action_271 (126) = happyShift action_65+action_271 (133) = happyShift action_48+action_271 (135) = happyShift action_209+action_271 (53) = happyGoto action_291+action_271 (54) = happyGoto action_268+action_271 (56) = happyGoto action_52+action_271 (58) = happyGoto action_53+action_271 (61) = happyGoto action_54+action_271 (63) = happyGoto action_55+action_271 (65) = happyGoto action_56+action_271 (69) = happyGoto action_57+action_271 (70) = happyGoto action_58+action_271 (71) = happyGoto action_269+action_271 _ = happyFail++action_272 (86) = happyShift action_23+action_272 (88) = happyShift action_24+action_272 (89) = happyShift action_290+action_272 (90) = happyShift action_26+action_272 (91) = happyShift action_27+action_272 (92) = happyShift action_28+action_272 (93) = happyShift action_29+action_272 (94) = happyShift action_30+action_272 (96) = happyShift action_32+action_272 (97) = happyShift action_33+action_272 (98) = happyShift action_34+action_272 (99) = happyShift action_35+action_272 (100) = happyShift action_36+action_272 (116) = happyShift action_137+action_272 (133) = happyShift action_48+action_272 (20) = happyGoto action_288+action_272 (21) = happyGoto action_13+action_272 (28) = happyGoto action_15+action_272 (56) = happyGoto action_16+action_272 (61) = happyGoto action_17+action_272 (75) = happyGoto action_289+action_272 _ = happyFail++action_273 _ = happyReduce_186++action_274 _ = happyReduce_37++action_275 (137) = happyShift action_107+action_275 (14) = happyGoto action_287+action_275 _ = happyFail++action_276 (86) = happyShift action_23+action_276 (88) = happyShift action_24+action_276 (89) = happyShift action_25+action_276 (90) = happyShift action_26+action_276 (91) = happyShift action_27+action_276 (92) = happyShift action_28+action_276 (93) = happyShift action_29+action_276 (94) = happyShift action_30+action_276 (95) = happyShift action_31+action_276 (96) = happyShift action_32+action_276 (97) = happyShift action_33+action_276 (98) = happyShift action_34+action_276 (99) = happyShift action_35+action_276 (100) = happyShift action_36+action_276 (101) = happyShift action_37+action_276 (102) = happyShift action_38+action_276 (103) = happyShift action_39+action_276 (104) = happyShift action_40+action_276 (105) = happyShift action_41+action_276 (106) = happyShift action_42+action_276 (107) = happyShift action_43+action_276 (108) = happyShift action_44+action_276 (109) = happyShift action_45+action_276 (110) = happyShift action_46+action_276 (111) = happyShift action_47+action_276 (133) = happyShift action_48+action_276 (134) = happyShift action_49+action_276 (136) = happyShift action_50+action_276 (137) = happyShift action_162+action_276 (12) = happyGoto action_286+action_276 (13) = happyGoto action_8+action_276 (15) = happyGoto action_9+action_276 (16) = happyGoto action_10+action_276 (17) = happyGoto action_11+action_276 (20) = happyGoto action_12+action_276 (21) = happyGoto action_13+action_276 (22) = happyGoto action_14+action_276 (28) = happyGoto action_15+action_276 (56) = happyGoto action_16+action_276 (61) = happyGoto action_17+action_276 (74) = happyGoto action_18+action_276 (76) = happyGoto action_67+action_276 _ = happyFail++action_277 (78) = happyShift action_285+action_277 _ = happyFail++action_278 (79) = happyShift action_284+action_278 _ = happyReduce_163++action_279 _ = happyReduce_166++action_280 (86) = happyShift action_23+action_280 (88) = happyShift action_24+action_280 (89) = happyShift action_25+action_280 (90) = happyShift action_26+action_280 (91) = happyShift action_27+action_280 (92) = happyShift action_28+action_280 (93) = happyShift action_29+action_280 (94) = happyShift action_30+action_280 (95) = happyShift action_31+action_280 (96) = happyShift action_32+action_280 (97) = happyShift action_33+action_280 (98) = happyShift action_34+action_280 (99) = happyShift action_35+action_280 (100) = happyShift action_36+action_280 (101) = happyShift action_37+action_280 (102) = happyShift action_38+action_280 (103) = happyShift action_39+action_280 (104) = happyShift action_40+action_280 (105) = happyShift action_41+action_280 (106) = happyShift action_42+action_280 (107) = happyShift action_43+action_280 (108) = happyShift action_44+action_280 (109) = happyShift action_45+action_280 (110) = happyShift action_46+action_280 (111) = happyShift action_47+action_280 (133) = happyShift action_48+action_280 (134) = happyShift action_49+action_280 (136) = happyShift action_50+action_280 (137) = happyShift action_162+action_280 (12) = happyGoto action_283+action_280 (13) = happyGoto action_8+action_280 (15) = happyGoto action_9+action_280 (16) = happyGoto action_10+action_280 (17) = happyGoto action_11+action_280 (20) = happyGoto action_12+action_280 (21) = happyGoto action_13+action_280 (22) = happyGoto action_14+action_280 (28) = happyGoto action_15+action_280 (56) = happyGoto action_16+action_280 (61) = happyGoto action_17+action_280 (74) = happyGoto action_18+action_280 (76) = happyGoto action_67+action_280 _ = happyFail++action_281 (137) = happyShift action_107+action_281 (14) = happyGoto action_282+action_281 _ = happyFail++action_282 (86) = happyShift action_23+action_282 (88) = happyShift action_24+action_282 (89) = happyShift action_25+action_282 (90) = happyShift action_26+action_282 (91) = happyShift action_27+action_282 (92) = happyShift action_28+action_282 (93) = happyShift action_29+action_282 (94) = happyShift action_30+action_282 (95) = happyShift action_31+action_282 (96) = happyShift action_32+action_282 (97) = happyShift action_33+action_282 (98) = happyShift action_34+action_282 (99) = happyShift action_35+action_282 (100) = happyShift action_36+action_282 (101) = happyShift action_37+action_282 (102) = happyShift action_38+action_282 (103) = happyShift action_39+action_282 (104) = happyShift action_40+action_282 (105) = happyShift action_41+action_282 (106) = happyShift action_42+action_282 (107) = happyShift action_43+action_282 (108) = happyShift action_44+action_282 (109) = happyShift action_45+action_282 (110) = happyShift action_46+action_282 (111) = happyShift action_47+action_282 (133) = happyShift action_48+action_282 (134) = happyShift action_49+action_282 (136) = happyShift action_50+action_282 (137) = happyShift action_162+action_282 (12) = happyGoto action_330+action_282 (13) = happyGoto action_8+action_282 (15) = happyGoto action_9+action_282 (16) = happyGoto action_10+action_282 (17) = happyGoto action_11+action_282 (20) = happyGoto action_12+action_282 (21) = happyGoto action_13+action_282 (22) = happyGoto action_14+action_282 (28) = happyGoto action_15+action_282 (56) = happyGoto action_16+action_282 (61) = happyGoto action_17+action_282 (74) = happyGoto action_18+action_282 (76) = happyGoto action_67+action_282 _ = happyFail++action_283 (84) = happyShift action_329+action_283 (86) = happyShift action_23+action_283 (88) = happyShift action_24+action_283 (89) = happyShift action_25+action_283 (90) = happyShift action_26+action_283 (91) = happyShift action_27+action_283 (92) = happyShift action_28+action_283 (93) = happyShift action_29+action_283 (94) = happyShift action_30+action_283 (95) = happyShift action_31+action_283 (96) = happyShift action_32+action_283 (97) = happyShift action_33+action_283 (98) = happyShift action_34+action_283 (99) = happyShift action_35+action_283 (100) = happyShift action_36+action_283 (101) = happyShift action_37+action_283 (102) = happyShift action_38+action_283 (103) = happyShift action_39+action_283 (104) = happyShift action_40+action_283 (105) = happyShift action_41+action_283 (106) = happyShift action_42+action_283 (107) = happyShift action_43+action_283 (108) = happyShift action_44+action_283 (109) = happyShift action_45+action_283 (110) = happyShift action_46+action_283 (111) = happyShift action_47+action_283 (133) = happyShift action_48+action_283 (134) = happyShift action_49+action_283 (136) = happyShift action_50+action_283 (13) = happyGoto action_157+action_283 (15) = happyGoto action_9+action_283 (16) = happyGoto action_10+action_283 (17) = happyGoto action_11+action_283 (20) = happyGoto action_12+action_283 (21) = happyGoto action_13+action_283 (22) = happyGoto action_14+action_283 (28) = happyGoto action_15+action_283 (56) = happyGoto action_16+action_283 (61) = happyGoto action_17+action_283 (74) = happyGoto action_18+action_283 (76) = happyGoto action_67+action_283 _ = happyFail++action_284 (133) = happyShift action_48+action_284 (61) = happyGoto action_328+action_284 _ = happyFail++action_285 _ = happyReduce_16++action_286 (84) = happyShift action_327+action_286 (86) = happyShift action_23+action_286 (88) = happyShift action_24+action_286 (89) = happyShift action_25+action_286 (90) = happyShift action_26+action_286 (91) = happyShift action_27+action_286 (92) = happyShift action_28+action_286 (93) = happyShift action_29+action_286 (94) = happyShift action_30+action_286 (95) = happyShift action_31+action_286 (96) = happyShift action_32+action_286 (97) = happyShift action_33+action_286 (98) = happyShift action_34+action_286 (99) = happyShift action_35+action_286 (100) = happyShift action_36+action_286 (101) = happyShift action_37+action_286 (102) = happyShift action_38+action_286 (103) = happyShift action_39+action_286 (104) = happyShift action_40+action_286 (105) = happyShift action_41+action_286 (106) = happyShift action_42+action_286 (107) = happyShift action_43+action_286 (108) = happyShift action_44+action_286 (109) = happyShift action_45+action_286 (110) = happyShift action_46+action_286 (111) = happyShift action_47+action_286 (133) = happyShift action_48+action_286 (134) = happyShift action_49+action_286 (136) = happyShift action_50+action_286 (13) = happyGoto action_157+action_286 (15) = happyGoto action_9+action_286 (16) = happyGoto action_10+action_286 (17) = happyGoto action_11+action_286 (20) = happyGoto action_12+action_286 (21) = happyGoto action_13+action_286 (22) = happyGoto action_14+action_286 (28) = happyGoto action_15+action_286 (56) = happyGoto action_16+action_286 (61) = happyGoto action_17+action_286 (74) = happyGoto action_18+action_286 (76) = happyGoto action_67+action_286 _ = happyFail++action_287 (137) = happyShift action_162+action_287 _ = happyReduce_15++action_288 _ = happyReduce_30++action_289 (79) = happyShift action_326+action_289 _ = happyFail++action_290 (77) = happyShift action_325+action_290 _ = happyFail++action_291 _ = happyReduce_129++action_292 (79) = happyShift action_324+action_292 _ = happyReduce_33++action_293 _ = happyReduce_35++action_294 _ = happyReduce_34++action_295 (78) = happyShift action_323+action_295 _ = happyFail++action_296 _ = happyReduce_69++action_297 _ = happyReduce_70++action_298 (79) = happyShift action_322+action_298 _ = happyReduce_63++action_299 _ = happyReduce_72++action_300 _ = happyReduce_74++action_301 (77) = happyShift action_90+action_301 _ = happyReduce_73++action_302 (77) = happyShift action_302+action_302 (133) = happyShift action_48+action_302 (26) = happyGoto action_321+action_302 (27) = happyGoto action_299+action_302 (56) = happyGoto action_300+action_302 (61) = happyGoto action_301+action_302 _ = happyFail++action_303 (79) = happyShift action_185+action_303 _ = happyReduce_106++action_304 (78) = happyShift action_320+action_304 (79) = happyShift action_185+action_304 _ = happyFail++action_305 _ = happyReduce_121++action_306 (77) = happyShift action_59+action_306 (80) = happyShift action_60+action_306 (116) = happyShift action_61+action_306 (118) = happyShift action_62+action_306 (119) = happyShift action_63+action_306 (120) = happyShift action_64+action_306 (126) = happyShift action_65+action_306 (133) = happyShift action_48+action_306 (48) = happyGoto action_319+action_306 (54) = happyGoto action_255+action_306 (56) = happyGoto action_52+action_306 (58) = happyGoto action_53+action_306 (61) = happyGoto action_54+action_306 (63) = happyGoto action_55+action_306 (65) = happyGoto action_56+action_306 (69) = happyGoto action_57+action_306 (70) = happyGoto action_58+action_306 _ = happyFail++action_307 (77) = happyShift action_251+action_307 (80) = happyShift action_60+action_307 (116) = happyShift action_61+action_307 (118) = happyShift action_62+action_307 (119) = happyShift action_63+action_307 (120) = happyShift action_64+action_307 (135) = happyShift action_209+action_307 (35) = happyGoto action_318+action_307 (58) = happyGoto action_232+action_307 (62) = happyGoto action_85+action_307 (63) = happyGoto action_233+action_307 (64) = happyGoto action_87+action_307 (65) = happyGoto action_234+action_307 (68) = happyGoto action_247+action_307 (69) = happyGoto action_248+action_307 (70) = happyGoto action_249+action_307 (71) = happyGoto action_250+action_307 _ = happyFail++action_308 (77) = happyShift action_251+action_308 (80) = happyShift action_60+action_308 (116) = happyShift action_61+action_308 (118) = happyShift action_62+action_308 (119) = happyShift action_63+action_308 (120) = happyShift action_64+action_308 (135) = happyShift action_209+action_308 (34) = happyGoto action_317+action_308 (35) = happyGoto action_245+action_308 (58) = happyGoto action_232+action_308 (62) = happyGoto action_85+action_308 (63) = happyGoto action_246+action_308 (64) = happyGoto action_87+action_308 (65) = happyGoto action_234+action_308 (68) = happyGoto action_247+action_308 (69) = happyGoto action_248+action_308 (70) = happyGoto action_249+action_308 (71) = happyGoto action_250+action_308 _ = happyFail++action_309 _ = happyReduce_92++action_310 (77) = happyShift action_251+action_310 (80) = happyShift action_60+action_310 (116) = happyShift action_61+action_310 (118) = happyShift action_62+action_310 (119) = happyShift action_63+action_310 (120) = happyShift action_64+action_310 (135) = happyShift action_209+action_310 (33) = happyGoto action_316+action_310 (34) = happyGoto action_244+action_310 (35) = happyGoto action_245+action_310 (58) = happyGoto action_232+action_310 (62) = happyGoto action_85+action_310 (63) = happyGoto action_246+action_310 (64) = happyGoto action_87+action_310 (65) = happyGoto action_234+action_310 (68) = happyGoto action_247+action_310 (69) = happyGoto action_248+action_310 (70) = happyGoto action_249+action_310 (71) = happyGoto action_250+action_310 _ = happyFail++action_311 _ = happyReduce_84++action_312 (119) = happyShift action_93+action_312 (120) = happyShift action_94+action_312 (121) = happyShift action_95+action_312 (122) = happyShift action_96+action_312 (123) = happyShift action_97+action_312 (124) = happyShift action_98+action_312 (125) = happyShift action_99+action_312 (127) = happyShift action_100+action_312 (128) = happyShift action_101+action_312 (129) = happyShift action_102+action_312 (130) = happyShift action_103+action_312 (131) = happyShift action_104+action_312 (132) = happyShift action_105+action_312 (55) = happyGoto action_92+action_312 _ = happyReduce_159++action_313 _ = happyReduce_182++action_314 _ = happyReduce_168++action_315 _ = happyReduce_171++action_316 (79) = happyShift action_308+action_316 (123) = happyShift action_340+action_316 _ = happyFail++action_317 _ = happyReduce_93++action_318 _ = happyReduce_95++action_319 _ = happyReduce_122++action_320 _ = happyReduce_101++action_321 (79) = happyShift action_339+action_321 _ = happyFail++action_322 (77) = happyShift action_302+action_322 (133) = happyShift action_48+action_322 (27) = happyGoto action_338+action_322 (56) = happyGoto action_300+action_322 (61) = happyGoto action_301+action_322 _ = happyFail++action_323 (77) = happyShift action_302+action_323 (133) = happyShift action_48+action_323 (26) = happyGoto action_337+action_323 (27) = happyGoto action_299+action_323 (56) = happyGoto action_300+action_323 (61) = happyGoto action_301+action_323 _ = happyReduce_66++action_324 (116) = happyShift action_130+action_324 (133) = happyShift action_48+action_324 (19) = happyGoto action_336+action_324 (61) = happyGoto action_293+action_324 (63) = happyGoto action_294+action_324 _ = happyFail++action_325 (77) = happyShift action_59+action_325 (80) = happyShift action_60+action_325 (116) = happyShift action_61+action_325 (118) = happyShift action_62+action_325 (119) = happyShift action_63+action_325 (120) = happyShift action_64+action_325 (126) = happyShift action_65+action_325 (133) = happyShift action_48+action_325 (54) = happyGoto action_335+action_325 (56) = happyGoto action_52+action_325 (58) = happyGoto action_53+action_325 (61) = happyGoto action_54+action_325 (63) = happyGoto action_55+action_325 (65) = happyGoto action_56+action_325 (69) = happyGoto action_57+action_325 (70) = happyGoto action_58+action_325 _ = happyFail++action_326 (116) = happyShift action_137+action_326 (75) = happyGoto action_334+action_326 _ = happyFail++action_327 (137) = happyShift action_107+action_327 (14) = happyGoto action_333+action_327 _ = happyFail++action_328 _ = happyReduce_165++action_329 (137) = happyShift action_107+action_329 (14) = happyGoto action_332+action_329 _ = happyFail++action_330 (84) = happyShift action_331+action_330 (86) = happyShift action_23+action_330 (88) = happyShift action_24+action_330 (89) = happyShift action_25+action_330 (90) = happyShift action_26+action_330 (91) = happyShift action_27+action_330 (92) = happyShift action_28+action_330 (93) = happyShift action_29+action_330 (94) = happyShift action_30+action_330 (95) = happyShift action_31+action_330 (96) = happyShift action_32+action_330 (97) = happyShift action_33+action_330 (98) = happyShift action_34+action_330 (99) = happyShift action_35+action_330 (100) = happyShift action_36+action_330 (101) = happyShift action_37+action_330 (102) = happyShift action_38+action_330 (103) = happyShift action_39+action_330 (104) = happyShift action_40+action_330 (105) = happyShift action_41+action_330 (106) = happyShift action_42+action_330 (107) = happyShift action_43+action_330 (108) = happyShift action_44+action_330 (109) = happyShift action_45+action_330 (110) = happyShift action_46+action_330 (111) = happyShift action_47+action_330 (133) = happyShift action_48+action_330 (134) = happyShift action_49+action_330 (136) = happyShift action_50+action_330 (13) = happyGoto action_157+action_330 (15) = happyGoto action_9+action_330 (16) = happyGoto action_10+action_330 (17) = happyGoto action_11+action_330 (20) = happyGoto action_12+action_330 (21) = happyGoto action_13+action_330 (22) = happyGoto action_14+action_330 (28) = happyGoto action_15+action_330 (56) = happyGoto action_16+action_330 (61) = happyGoto action_17+action_330 (74) = happyGoto action_18+action_330 (76) = happyGoto action_67+action_330 _ = happyFail++action_331 (137) = happyShift action_107+action_331 (14) = happyGoto action_346+action_331 _ = happyFail++action_332 (137) = happyShift action_162+action_332 _ = happyReduce_13++action_333 (137) = happyShift action_162+action_333 _ = happyReduce_14++action_334 (79) = happyShift action_345+action_334 _ = happyFail++action_335 (78) = happyShift action_344+action_335 (119) = happyShift action_93+action_335 (120) = happyShift action_94+action_335 (121) = happyShift action_95+action_335 (122) = happyShift action_96+action_335 (123) = happyShift action_97+action_335 (124) = happyShift action_98+action_335 (125) = happyShift action_99+action_335 (127) = happyShift action_100+action_335 (128) = happyShift action_101+action_335 (129) = happyShift action_102+action_335 (130) = happyShift action_103+action_335 (131) = happyShift action_104+action_335 (132) = happyShift action_105+action_335 (55) = happyGoto action_92+action_335 _ = happyFail++action_336 _ = happyReduce_32++action_337 (79) = happyShift action_322+action_337 _ = happyReduce_64++action_338 _ = happyReduce_71++action_339 (77) = happyShift action_302+action_339 (133) = happyShift action_48+action_339 (18) = happyGoto action_341+action_339 (21) = happyGoto action_181+action_339 (27) = happyGoto action_338+action_339 (28) = happyGoto action_15+action_339 (56) = happyGoto action_342+action_339 (61) = happyGoto action_343+action_339 _ = happyFail++action_340 _ = happyReduce_91++action_341 (78) = happyShift action_348+action_341 _ = happyFail++action_342 (85) = happyReduce_77+action_342 _ = happyReduce_74++action_343 (77) = happyShift action_90+action_343 (85) = happyReduce_76+action_343 _ = happyReduce_73++action_344 (116) = happyShift action_137+action_344 (75) = happyGoto action_289+action_344 _ = happyFail++action_345 (116) = happyShift action_137+action_345 (75) = happyGoto action_347+action_345 _ = happyFail++action_346 (137) = happyShift action_162+action_346 _ = happyReduce_12++action_347 _ = happyReduce_41++action_348 _ = happyReduce_75++happyReduce_3 = happySpecReduce_1  6 happyReduction_3+happyReduction_3 (HappyAbsSyn7  happy_var_1)+	 =  HappyAbsSyn6+		 (ProgramFile (reverse happy_var_1) [ ]+	)+happyReduction_3 _  = notHappyAtAll ++happyReduce_4 = happySpecReduce_2  6 happyReduction_4+happyReduction_4 (HappyAbsSyn12  happy_var_2)+	(HappyAbsSyn7  happy_var_1)+	 =  HappyAbsSyn6+		 (ProgramFile (reverse happy_var_1) (reverse happy_var_2)+	)+happyReduction_4 _ _  = notHappyAtAll ++happyReduce_5 = happySpecReduce_2  7 happyReduction_5+happyReduction_5 (HappyAbsSyn8  happy_var_2)+	(HappyAbsSyn7  happy_var_1)+	 =  HappyAbsSyn7+		 (([ ], happy_var_2) : happy_var_1+	)+happyReduction_5 _ _  = notHappyAtAll ++happyReduce_6 = happySpecReduce_2  7 happyReduction_6+happyReduction_6 (HappyAbsSyn8  happy_var_2)+	(HappyAbsSyn7  happy_var_1)+	 =  HappyAbsSyn7+		 (([ ], happy_var_2) : happy_var_1+	)+happyReduction_6 _ _  = notHappyAtAll ++happyReduce_7 = happySpecReduce_3  7 happyReduction_7+happyReduction_7 (HappyAbsSyn8  happy_var_3)+	(HappyAbsSyn12  happy_var_2)+	(HappyAbsSyn7  happy_var_1)+	 =  HappyAbsSyn7+		 ((reverse happy_var_2, happy_var_3) : happy_var_1+	)+happyReduction_7 _ _ _  = notHappyAtAll ++happyReduce_8 = happySpecReduce_1  7 happyReduction_8+happyReduction_8 (HappyAbsSyn8  happy_var_1)+	 =  HappyAbsSyn7+		 ([ ([ ], happy_var_1) ]+	)+happyReduction_8 _  = notHappyAtAll ++happyReduce_9 = happySpecReduce_1  7 happyReduction_9+happyReduction_9 (HappyAbsSyn8  happy_var_1)+	 =  HappyAbsSyn7+		 ([ ([ ], happy_var_1) ]+	)+happyReduction_9 _  = notHappyAtAll ++happyReduce_10 = happySpecReduce_2  7 happyReduction_10+happyReduction_10 (HappyAbsSyn8  happy_var_2)+	(HappyAbsSyn12  happy_var_1)+	 =  HappyAbsSyn7+		 ([ (reverse happy_var_1, happy_var_2) ]+	)+happyReduction_10 _ _  = notHappyAtAll ++happyReduce_11 = happySpecReduce_3  8 happyReduction_11+happyReduction_11 _+	(HappyTerminal happy_var_2)+	(HappyAbsSyn12  happy_var_1)+	 =  HappyAbsSyn8+		 (let blocks = reverse happy_var_1+    in PUMain () (getTransSpan happy_var_1 happy_var_2) Nothing blocks Nothing+	)+happyReduction_11 _ _ _  = notHappyAtAll ++happyReduce_12 = happyReduce 8 9 happyReduction_12+happyReduction_12 (_ `HappyStk`+	(HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn12  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn10  happy_var_4) `HappyStk`+	(HappyAbsSyn11  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn76  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn8+		 (PUFunction () (getTransSpan happy_var_1 happy_var_7) (Just happy_var_1) False happy_var_3 happy_var_4 Nothing (reverse happy_var_6) Nothing+	) `HappyStk` happyRest++happyReduce_13 = happyReduce 7 9 happyReduction_13+happyReduction_13 (_ `HappyStk`+	(HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn12  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn10  happy_var_3) `HappyStk`+	(HappyAbsSyn11  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn8+		 (PUFunction () (getTransSpan happy_var_1 happy_var_6) Nothing False happy_var_2 happy_var_3 Nothing (reverse happy_var_5) Nothing+	) `HappyStk` happyRest++happyReduce_14 = happyReduce 7 9 happyReduction_14+happyReduction_14 (_ `HappyStk`+	(HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn12  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn10  happy_var_3) `HappyStk`+	(HappyAbsSyn11  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn8+		 (PUSubroutine () (getTransSpan happy_var_1 happy_var_6) False happy_var_2 happy_var_3 (reverse happy_var_5) Nothing+	) `HappyStk` happyRest++happyReduce_15 = happyReduce 5 9 happyReduction_15+happyReduction_15 (_ `HappyStk`+	(HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn12  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn8+		 (PUBlockData () (getTransSpan happy_var_1 happy_var_4) Nothing (reverse happy_var_3)+	) `HappyStk` happyRest++happyReduce_16 = happySpecReduce_3  10 happyReduction_16+happyReduction_16 _+	(HappyAbsSyn10  happy_var_2)+	_+	 =  HappyAbsSyn10+		 (happy_var_2+	)+happyReduction_16 _ _ _  = notHappyAtAll ++happyReduce_17 = happySpecReduce_0  10 happyReduction_17+happyReduction_17  =  HappyAbsSyn10+		 (Nothing+	)++happyReduce_18 = happySpecReduce_1  11 happyReduction_18+happyReduction_18 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn11+		 (let (TId _ name) = happy_var_1 in name+	)+happyReduction_18 _  = notHappyAtAll ++happyReduce_19 = happySpecReduce_2  12 happyReduction_19+happyReduction_19 (HappyAbsSyn13  happy_var_2)+	(HappyAbsSyn12  happy_var_1)+	 =  HappyAbsSyn12+		 (happy_var_2 : happy_var_1+	)+happyReduction_19 _ _  = notHappyAtAll ++happyReduce_20 = happySpecReduce_1  12 happyReduction_20+happyReduction_20 (HappyAbsSyn13  happy_var_1)+	 =  HappyAbsSyn12+		 ([ happy_var_1 ]+	)+happyReduction_20 _  = notHappyAtAll ++happyReduce_21 = happySpecReduce_3  13 happyReduction_21+happyReduction_21 _+	(HappyAbsSyn15  happy_var_2)+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn13+		 (BlStatement () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) happy_var_2+	)+happyReduction_21 _ _ _  = notHappyAtAll ++happyReduce_22 = happySpecReduce_2  13 happyReduction_22+happyReduction_22 _+	(HappyAbsSyn15  happy_var_1)+	 =  HappyAbsSyn13+		 (BlStatement () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_22 _ _  = notHappyAtAll ++happyReduce_23 = happySpecReduce_2  13 happyReduction_23+happyReduction_23 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (let (TComment s c) = happy_var_1 in BlComment () s c+	)+happyReduction_23 _ _  = notHappyAtAll ++happyReduce_24 = happySpecReduce_2  14 happyReduction_24+happyReduction_24 _+	(HappyAbsSyn14  happy_var_1)+	 =  HappyAbsSyn14+		 (happy_var_1+	)+happyReduction_24 _ _  = notHappyAtAll ++happyReduce_25 = happySpecReduce_1  14 happyReduction_25+happyReduction_25 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn14+		 (happy_var_1+	)+happyReduction_25 _  = notHappyAtAll ++happyReduce_26 = happySpecReduce_1  15 happyReduction_26+happyReduction_26 (HappyAbsSyn15  happy_var_1)+	 =  HappyAbsSyn15+		 (happy_var_1+	)+happyReduction_26 _  = notHappyAtAll ++happyReduce_27 = happySpecReduce_1  15 happyReduction_27+happyReduction_27 (HappyAbsSyn15  happy_var_1)+	 =  HappyAbsSyn15+		 (happy_var_1+	)+happyReduction_27 _  = notHappyAtAll ++happyReduce_28 = happySpecReduce_1  15 happyReduction_28+happyReduction_28 (HappyAbsSyn15  happy_var_1)+	 =  HappyAbsSyn15+		 (happy_var_1+	)+happyReduction_28 _  = notHappyAtAll ++happyReduce_29 = happySpecReduce_1  15 happyReduction_29+happyReduction_29 (HappyAbsSyn15  happy_var_1)+	 =  HappyAbsSyn15+		 (happy_var_1+	)+happyReduction_29 _  = notHappyAtAll ++happyReduce_30 = happyReduce 5 16 happyReduction_30+happyReduction_30 ((HappyAbsSyn15  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn15+		 (StIfLogical () (getTransSpan happy_var_1 happy_var_5) happy_var_3 happy_var_5+	) `HappyStk` happyRest++happyReduce_31 = happySpecReduce_3  17 happyReduction_31+happyReduction_31 (HappyAbsSyn18  happy_var_3)+	(HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StDo () (getTransSpan happy_var_1 happy_var_3) Nothing (Just happy_var_2) (Just happy_var_3)+	)+happyReduction_31 _ _ _  = notHappyAtAll ++happyReduce_32 = happyReduce 5 18 happyReduction_32+happyReduction_32 ((HappyAbsSyn19  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn15  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (DoSpecification () (getTransSpan happy_var_1 happy_var_5) happy_var_1 happy_var_3 (Just happy_var_5)+	) `HappyStk` happyRest++happyReduce_33 = happySpecReduce_3  18 happyReduction_33+happyReduction_33 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn15  happy_var_1)+	 =  HappyAbsSyn18+		 (DoSpecification () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3 Nothing+	)+happyReduction_33 _ _ _  = notHappyAtAll ++happyReduce_34 = happySpecReduce_1  19 happyReduction_34+happyReduction_34 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_34 _  = notHappyAtAll ++happyReduce_35 = happySpecReduce_1  19 happyReduction_35+happyReduction_35 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_35 _  = notHappyAtAll ++happyReduce_36 = happySpecReduce_1  20 happyReduction_36+happyReduction_36 (HappyAbsSyn15  happy_var_1)+	 =  HappyAbsSyn15+		 (happy_var_1+	)+happyReduction_36 _  = notHappyAtAll ++happyReduce_37 = happyReduce 4 20 happyReduction_37+happyReduction_37 ((HappyAbsSyn19  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn15+		 (StLabelAssign () (getTransSpan happy_var_1 happy_var_4) happy_var_2 happy_var_4+	) `HappyStk` happyRest++happyReduce_38 = happySpecReduce_2  20 happyReduction_38+happyReduction_38 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StGotoUnconditional () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_38 _ _  = notHappyAtAll ++happyReduce_39 = happySpecReduce_3  20 happyReduction_39+happyReduction_39 (HappyAbsSyn26  happy_var_3)+	(HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StGotoAssigned () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_3+	)+happyReduction_39 _ _ _  = notHappyAtAll ++happyReduce_40 = happySpecReduce_3  20 happyReduction_40+happyReduction_40 (HappyAbsSyn19  happy_var_3)+	(HappyAbsSyn26  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StGotoComputed () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_3+	)+happyReduction_40 _ _ _  = notHappyAtAll ++happyReduce_41 = happyReduce 9 20 happyReduction_41+happyReduction_41 ((HappyAbsSyn19  happy_var_9) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn15+		 (StIfArithmetic () (getTransSpan happy_var_1 happy_var_9) happy_var_3 happy_var_5 happy_var_7 happy_var_9+	) `HappyStk` happyRest++happyReduce_42 = happySpecReduce_3  20 happyReduction_42+happyReduction_42 (HappyAbsSyn51  happy_var_3)+	(HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StCall () (getTransSpan happy_var_1 happy_var_3) happy_var_2 (Just happy_var_3)+	)+happyReduction_42 _ _ _  = notHappyAtAll ++happyReduce_43 = happySpecReduce_2  20 happyReduction_43+happyReduction_43 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StCall () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_43 _ _  = notHappyAtAll ++happyReduce_44 = happySpecReduce_1  20 happyReduction_44+happyReduction_44 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StReturn () (getSpan happy_var_1) Nothing+	)+happyReduction_44 _  = notHappyAtAll ++happyReduce_45 = happySpecReduce_1  20 happyReduction_45+happyReduction_45 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StContinue () $ getSpan happy_var_1+	)+happyReduction_45 _  = notHappyAtAll ++happyReduce_46 = happySpecReduce_2  20 happyReduction_46+happyReduction_46 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StStop () (getTransSpan happy_var_1 happy_var_2) $ Just happy_var_2+	)+happyReduction_46 _ _  = notHappyAtAll ++happyReduce_47 = happySpecReduce_1  20 happyReduction_47+happyReduction_47 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StStop () (getSpan happy_var_1) Nothing+	)+happyReduction_47 _  = notHappyAtAll ++happyReduce_48 = happySpecReduce_2  20 happyReduction_48+happyReduction_48 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StPause () (getTransSpan happy_var_1 happy_var_2) $ Just happy_var_2+	)+happyReduction_48 _ _  = notHappyAtAll ++happyReduce_49 = happySpecReduce_1  20 happyReduction_49+happyReduction_49 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StPause () (getSpan happy_var_1) Nothing+	)+happyReduction_49 _  = notHappyAtAll ++happyReduce_50 = happySpecReduce_2  20 happyReduction_50+happyReduction_50 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StRewind2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_50 _ _  = notHappyAtAll ++happyReduce_51 = happySpecReduce_2  20 happyReduction_51+happyReduction_51 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StBackspace2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_51 _ _  = notHappyAtAll ++happyReduce_52 = happySpecReduce_2  20 happyReduction_52+happyReduction_52 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StEndfile2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_52 _ _  = notHappyAtAll ++happyReduce_53 = happySpecReduce_2  20 happyReduction_53+happyReduction_53 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (let (cilist, iolist) = happy_var_2 in StWrite () (getTransSpan happy_var_1 happy_var_2) cilist iolist+	)+happyReduction_53 _ _  = notHappyAtAll ++happyReduce_54 = happySpecReduce_2  20 happyReduction_54+happyReduction_54 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (let (cilist, iolist) = happy_var_2 in StRead () (getTransSpan happy_var_1 happy_var_2) cilist iolist+	)+happyReduction_54 _ _  = notHappyAtAll ++happyReduce_55 = happySpecReduce_3  21 happyReduction_55+happyReduction_55 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn15+		 (StExpressionAssign () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3+	)+happyReduction_55 _ _ _  = notHappyAtAll ++happyReduce_56 = happySpecReduce_2  22 happyReduction_56+happyReduction_56 (HappyAbsSyn26  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StExternal () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_56 _ _  = notHappyAtAll ++happyReduce_57 = happySpecReduce_2  22 happyReduction_57+happyReduction_57 (HappyAbsSyn43  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StDimension () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_57 _ _  = notHappyAtAll ++happyReduce_58 = happySpecReduce_2  22 happyReduction_58+happyReduction_58 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StCommon () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_58 _ _  = notHappyAtAll ++happyReduce_59 = happySpecReduce_2  22 happyReduction_59+happyReduction_59 (HappyAbsSyn36  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StEquivalence () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_59 _ _  = notHappyAtAll ++happyReduce_60 = happySpecReduce_2  22 happyReduction_60+happyReduction_60 (HappyAbsSyn32  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StData () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_60 _ _  = notHappyAtAll ++happyReduce_61 = happySpecReduce_3  22 happyReduction_61+happyReduction_61 (HappyTerminal happy_var_3)+	(HappyAbsSyn29  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn15+		 (StFormat () (getTransSpan happy_var_1 happy_var_3) (aReverse happy_var_2)+	)+happyReduction_61 _ _ _  = notHappyAtAll ++happyReduce_62 = happySpecReduce_2  22 happyReduction_62+happyReduction_62 (HappyAbsSyn43  happy_var_2)+	(HappyAbsSyn76  happy_var_1)+	 =  HappyAbsSyn15+		 (StDeclaration () (getTransSpan happy_var_1 happy_var_2) happy_var_1 Nothing (aReverse happy_var_2)+	)+happyReduction_62 _ _  = notHappyAtAll ++happyReduce_63 = happyReduce 4 23 happyReduction_63+happyReduction_63 ((HappyAbsSyn26  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_2) `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 ((AList () (getSpan happy_var_2) [ ControlPair () (getSpan happy_var_2) Nothing happy_var_2 ], Just (aReverse happy_var_4))+	) `HappyStk` happyRest++happyReduce_64 = happyReduce 6 23 happyReduction_64+happyReduction_64 ((HappyAbsSyn26  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_2) `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 ((AList () (getTransSpan happy_var_2 happy_var_4) [ ControlPair () (getSpan happy_var_2) Nothing happy_var_2, ControlPair () (getSpan happy_var_4) Nothing happy_var_4 ], Just (aReverse happy_var_6))+	) `HappyStk` happyRest++happyReduce_65 = happySpecReduce_3  23 happyReduction_65+happyReduction_65 _+	(HappyAbsSyn19  happy_var_2)+	_+	 =  HappyAbsSyn23+		 ((AList () (getSpan happy_var_2) [ ControlPair () (getSpan happy_var_2) Nothing happy_var_2 ], Nothing)+	)+happyReduction_65 _ _ _  = notHappyAtAll ++happyReduce_66 = happyReduce 5 23 happyReduction_66+happyReduction_66 (_ `HappyStk`+	(HappyAbsSyn19  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_2) `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 ((AList () (getTransSpan happy_var_2 happy_var_4) [ ControlPair () (getSpan happy_var_2) Nothing happy_var_2, ControlPair () (getSpan happy_var_4) Nothing happy_var_4 ], Nothing)+	) `HappyStk` happyRest++happyReduce_67 = happySpecReduce_1  24 happyReduction_67+happyReduction_67 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_67 _  = notHappyAtAll ++happyReduce_68 = happySpecReduce_1  24 happyReduction_68+happyReduction_68 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_68 _  = notHappyAtAll ++happyReduce_69 = happySpecReduce_1  25 happyReduction_69+happyReduction_69 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_69 _  = notHappyAtAll ++happyReduce_70 = happySpecReduce_1  25 happyReduction_70+happyReduction_70 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_70 _  = notHappyAtAll ++happyReduce_71 = happySpecReduce_3  26 happyReduction_71+happyReduction_71 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn26+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_71 _ _ _  = notHappyAtAll ++happyReduce_72 = happySpecReduce_1  26 happyReduction_72+happyReduction_72 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn26+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_72 _  = notHappyAtAll ++happyReduce_73 = happySpecReduce_1  27 happyReduction_73+happyReduction_73 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_73 _  = notHappyAtAll ++happyReduce_74 = happySpecReduce_1  27 happyReduction_74+happyReduction_74 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_74 _  = notHappyAtAll ++happyReduce_75 = happyReduce 5 27 happyReduction_75+happyReduction_75 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn18  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn26  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn19+		 (ExpImpliedDo () (getTransSpan happy_var_1 happy_var_5) happy_var_2 happy_var_4+	) `HappyStk` happyRest++happyReduce_76 = happySpecReduce_1  28 happyReduction_76+happyReduction_76 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_76 _  = notHappyAtAll ++happyReduce_77 = happySpecReduce_1  28 happyReduction_77+happyReduction_77 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_77 _  = notHappyAtAll ++happyReduce_78 = happySpecReduce_3  29 happyReduction_78+happyReduction_78 (HappyAbsSyn30  happy_var_3)+	_+	(HappyAbsSyn29  happy_var_1)+	 =  HappyAbsSyn29+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_78 _ _ _  = notHappyAtAll ++happyReduce_79 = happySpecReduce_3  29 happyReduction_79+happyReduction_79 (HappyAbsSyn30  happy_var_3)+	_+	(HappyAbsSyn29  happy_var_1)+	 =  HappyAbsSyn29+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_79 _ _ _  = notHappyAtAll ++happyReduce_80 = happySpecReduce_2  29 happyReduction_80+happyReduction_80 (HappyAbsSyn30  happy_var_2)+	(HappyAbsSyn29  happy_var_1)+	 =  HappyAbsSyn29+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ happy_var_2 `aCons` happy_var_1+	)+happyReduction_80 _ _  = notHappyAtAll ++happyReduce_81 = happySpecReduce_2  29 happyReduction_81+happyReduction_81 (HappyAbsSyn30  happy_var_2)+	(HappyAbsSyn29  happy_var_1)+	 =  HappyAbsSyn29+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ happy_var_2 `aCons` happy_var_1+	)+happyReduction_81 _ _  = notHappyAtAll ++happyReduce_82 = happySpecReduce_1  29 happyReduction_82+happyReduction_82 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn29+		 (AList () (getSpan happy_var_1) [ ]+	)+happyReduction_82 _  = notHappyAtAll ++happyReduce_83 = happySpecReduce_1  30 happyReduction_83+happyReduction_83 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (FIDelimiter () (getSpan happy_var_1)+	)+happyReduction_83 _  = notHappyAtAll ++happyReduce_84 = happySpecReduce_3  31 happyReduction_84+happyReduction_84 (HappyTerminal happy_var_3)+	(HappyAbsSyn29  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (FIFormatList () (getTransSpan happy_var_1 happy_var_3) (let (TInt _ s) = happy_var_1 in Just s) (aReverse happy_var_2)+	)+happyReduction_84 _ _ _  = notHappyAtAll ++happyReduce_85 = happySpecReduce_2  31 happyReduction_85+happyReduction_85 (HappyTerminal happy_var_2)+	(HappyAbsSyn29  happy_var_1)+	 =  HappyAbsSyn30+		 (FIFormatList () (getTransSpan happy_var_1 happy_var_2) Nothing (aReverse happy_var_1)+	)+happyReduction_85 _ _  = notHappyAtAll ++happyReduce_86 = happySpecReduce_1  31 happyReduction_86+happyReduction_86 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn30+		 (let (ExpValue _ s val) = happy_var_1 in FIHollerith () s val+	)+happyReduction_86 _  = notHappyAtAll ++happyReduce_87 = happySpecReduce_1  31 happyReduction_87+happyReduction_87 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (let (TFieldDescriptorDEFG s a b c d) = happy_var_1 in FIFieldDescriptorDEFG () s a b c d+	)+happyReduction_87 _  = notHappyAtAll ++happyReduce_88 = happySpecReduce_1  31 happyReduction_88+happyReduction_88 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (let (TFieldDescriptorAIL s a b c) = happy_var_1 in FIFieldDescriptorAIL () s a b c+	)+happyReduction_88 _  = notHappyAtAll ++happyReduce_89 = happySpecReduce_1  31 happyReduction_89+happyReduction_89 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (let (TBlankDescriptor s w) = happy_var_1 in FIBlankDescriptor () s w+	)+happyReduction_89 _  = notHappyAtAll ++happyReduce_90 = happySpecReduce_1  31 happyReduction_90+happyReduction_90 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (let (TScaleFactor s sf) = happy_var_1 in FIScaleFactor () s sf+	)+happyReduction_90 _  = notHappyAtAll ++happyReduce_91 = happyReduce 6 32 happyReduction_91+happyReduction_91 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn26  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn26  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn32  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn32+		 (setSpan (getTransSpan happy_var_1 happy_var_6) $ (DataGroup () (getTransSpan happy_var_3 happy_var_6) (aReverse happy_var_3) (aReverse happy_var_5)) `aCons` happy_var_1+	) `HappyStk` happyRest++happyReduce_92 = happyReduce 4 32 happyReduction_92+happyReduction_92 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn26  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn26  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn32+		 (AList () (getTransSpan happy_var_1 happy_var_4) [ DataGroup () (getTransSpan happy_var_1 happy_var_4) (aReverse happy_var_1) (aReverse happy_var_3) ]+	) `HappyStk` happyRest++happyReduce_93 = happySpecReduce_3  33 happyReduction_93+happyReduction_93 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn26+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_93 _ _ _  = notHappyAtAll ++happyReduce_94 = happySpecReduce_1  33 happyReduction_94+happyReduction_94 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn26+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_94 _  = notHappyAtAll ++happyReduce_95 = happySpecReduce_3  34 happyReduction_95+happyReduction_95 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_95 _ _ _  = notHappyAtAll ++happyReduce_96 = happySpecReduce_1  34 happyReduction_96+happyReduction_96 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_96 _  = notHappyAtAll ++happyReduce_97 = happySpecReduce_1  35 happyReduction_97+happyReduction_97 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_97 _  = notHappyAtAll ++happyReduce_98 = happySpecReduce_1  35 happyReduction_98+happyReduction_98 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_98 _  = notHappyAtAll ++happyReduce_99 = happySpecReduce_1  35 happyReduction_99+happyReduction_99 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_99 _  = notHappyAtAll ++happyReduce_100 = happySpecReduce_1  35 happyReduction_100+happyReduction_100 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_100 _  = notHappyAtAll ++happyReduce_101 = happyReduce 5 36 happyReduction_101+happyReduction_101 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn26  happy_var_4) `HappyStk`+	(HappyTerminal happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn36  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn36+		 (setSpan (getTransSpan happy_var_1 happy_var_5) $ (setSpan (getTransSpan happy_var_3 happy_var_5) $ aReverse happy_var_4) `aCons` happy_var_1+	) `HappyStk` happyRest++happyReduce_102 = happySpecReduce_3  36 happyReduction_102+happyReduction_102 (HappyTerminal happy_var_3)+	(HappyAbsSyn26  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn36+		 (let s = (getTransSpan happy_var_1 happy_var_3) in AList () s [ setSpan s $ aReverse happy_var_2 ]+	)+happyReduction_102 _ _ _  = notHappyAtAll ++happyReduce_103 = happySpecReduce_2  37 happyReduction_103+happyReduction_103 (HappyAbsSyn38  happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ happy_var_2 `aCons` happy_var_1+	)+happyReduction_103 _ _  = notHappyAtAll ++happyReduce_104 = happySpecReduce_1  37 happyReduction_104+happyReduction_104 (HappyAbsSyn38  happy_var_1)+	 =  HappyAbsSyn37+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_104 _  = notHappyAtAll ++happyReduce_105 = happySpecReduce_2  38 happyReduction_105+happyReduction_105 (HappyAbsSyn26  happy_var_2)+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn38+		 (CommonGroup () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) $ aReverse happy_var_2+	)+happyReduction_105 _ _  = notHappyAtAll ++happyReduce_106 = happySpecReduce_3  38 happyReduction_106+happyReduction_106 (HappyAbsSyn26  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn38+		 (CommonGroup () (getTransSpan happy_var_1 happy_var_3) Nothing $ aReverse happy_var_3+	)+happyReduction_106 _ _ _  = notHappyAtAll ++happyReduce_107 = happySpecReduce_2  39 happyReduction_107+happyReduction_107 (HappyAbsSyn26  happy_var_2)+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn38+		 (CommonGroup () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) $ aReverse happy_var_2+	)+happyReduction_107 _ _  = notHappyAtAll ++happyReduce_108 = happySpecReduce_3  39 happyReduction_108+happyReduction_108 (HappyAbsSyn26  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn38+		 (CommonGroup () (getTransSpan happy_var_1 happy_var_3) Nothing $ aReverse happy_var_3+	)+happyReduction_108 _ _ _  = notHappyAtAll ++happyReduce_109 = happySpecReduce_1  39 happyReduction_109+happyReduction_109 (HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn38+		 (CommonGroup () (getSpan happy_var_1) Nothing $ aReverse happy_var_1+	)+happyReduction_109 _  = notHappyAtAll ++happyReduce_110 = happySpecReduce_3  40 happyReduction_110+happyReduction_110 (HappyTerminal happy_var_3)+	(HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_110 _ _ _  = notHappyAtAll ++happyReduce_111 = happySpecReduce_3  41 happyReduction_111+happyReduction_111 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn26+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_111 _ _ _  = notHappyAtAll ++happyReduce_112 = happySpecReduce_1  41 happyReduction_112+happyReduction_112 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn26+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_112 _  = notHappyAtAll ++happyReduce_113 = happySpecReduce_1  42 happyReduction_113+happyReduction_113 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_113 _  = notHappyAtAll ++happyReduce_114 = happySpecReduce_1  42 happyReduction_114+happyReduction_114 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_114 _  = notHappyAtAll ++happyReduce_115 = happySpecReduce_3  43 happyReduction_115+happyReduction_115 (HappyAbsSyn44  happy_var_3)+	_+	(HappyAbsSyn43  happy_var_1)+	 =  HappyAbsSyn43+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_115 _ _ _  = notHappyAtAll ++happyReduce_116 = happySpecReduce_1  43 happyReduction_116+happyReduction_116 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn43+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_116 _  = notHappyAtAll ++happyReduce_117 = happySpecReduce_1  44 happyReduction_117+happyReduction_117 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_1+	)+happyReduction_117 _  = notHappyAtAll ++happyReduce_118 = happySpecReduce_1  44 happyReduction_118+happyReduction_118 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_1+	)+happyReduction_118 _  = notHappyAtAll ++happyReduce_119 = happySpecReduce_3  45 happyReduction_119+happyReduction_119 (HappyAbsSyn44  happy_var_3)+	_+	(HappyAbsSyn43  happy_var_1)+	 =  HappyAbsSyn43+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_119 _ _ _  = notHappyAtAll ++happyReduce_120 = happySpecReduce_1  45 happyReduction_120+happyReduction_120 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn43+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_120 _  = notHappyAtAll ++happyReduce_121 = happyReduce 4 46 happyReduction_121+happyReduction_121 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn47  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn44+		 (DeclArray () (getTransSpan happy_var_1 happy_var_4) happy_var_1 (aReverse happy_var_3) Nothing Nothing+	) `HappyStk` happyRest++happyReduce_122 = happySpecReduce_3  47 happyReduction_122+happyReduction_122 (HappyAbsSyn48  happy_var_3)+	_+	(HappyAbsSyn47  happy_var_1)+	 =  HappyAbsSyn47+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_122 _ _ _  = notHappyAtAll ++happyReduce_123 = happySpecReduce_1  47 happyReduction_123+happyReduction_123 (HappyAbsSyn48  happy_var_1)+	 =  HappyAbsSyn47+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_123 _  = notHappyAtAll ++happyReduce_124 = happySpecReduce_1  48 happyReduction_124+happyReduction_124 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn48+		 (DimensionDeclarator () (getSpan happy_var_1) Nothing (Just happy_var_1)+	)+happyReduction_124 _  = notHappyAtAll ++happyReduce_125 = happySpecReduce_1  49 happyReduction_125+happyReduction_125 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn44+		 (DeclVariable () (getSpan happy_var_1) happy_var_1 Nothing Nothing+	)+happyReduction_125 _  = notHappyAtAll ++happyReduce_126 = happySpecReduce_3  50 happyReduction_126+happyReduction_126 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn26+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_126 _ _ _  = notHappyAtAll ++happyReduce_127 = happySpecReduce_1  50 happyReduction_127+happyReduction_127 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn26+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_127 _  = notHappyAtAll ++happyReduce_128 = happySpecReduce_2  51 happyReduction_128+happyReduction_128 (HappyTerminal happy_var_2)+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn51+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ aReverse happy_var_1+	)+happyReduction_128 _ _  = notHappyAtAll ++happyReduce_129 = happySpecReduce_3  52 happyReduction_129+happyReduction_129 (HappyAbsSyn53  happy_var_3)+	_+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn51+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_129 _ _ _  = notHappyAtAll ++happyReduce_130 = happySpecReduce_2  52 happyReduction_130+happyReduction_130 (HappyAbsSyn53  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn51+		 (AList () (getTransSpan happy_var_1 happy_var_2) [ happy_var_2 ]+	)+happyReduction_130 _ _  = notHappyAtAll ++happyReduce_131 = happySpecReduce_1  52 happyReduction_131+happyReduction_131 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn51+		 (AList () (getSpan happy_var_1) [ ]+	)+happyReduction_131 _  = notHappyAtAll ++happyReduce_132 = happySpecReduce_1  53 happyReduction_132+happyReduction_132 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn53+		 (Argument () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_132 _  = notHappyAtAll ++happyReduce_133 = happySpecReduce_1  53 happyReduction_133+happyReduction_133 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn53+		 (Argument () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_133 _  = notHappyAtAll ++happyReduce_134 = happySpecReduce_3  54 happyReduction_134+happyReduction_134 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Addition happy_var_1 happy_var_3+	)+happyReduction_134 _ _ _  = notHappyAtAll ++happyReduce_135 = happySpecReduce_3  54 happyReduction_135+happyReduction_135 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Subtraction happy_var_1 happy_var_3+	)+happyReduction_135 _ _ _  = notHappyAtAll ++happyReduce_136 = happySpecReduce_3  54 happyReduction_136+happyReduction_136 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_136 _ _ _  = notHappyAtAll ++happyReduce_137 = happySpecReduce_3  54 happyReduction_137+happyReduction_137 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Division happy_var_1 happy_var_3+	)+happyReduction_137 _ _ _  = notHappyAtAll ++happyReduce_138 = happySpecReduce_3  54 happyReduction_138+happyReduction_138 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Exponentiation happy_var_1 happy_var_3+	)+happyReduction_138 _ _ _  = notHappyAtAll ++happyReduce_139 = happySpecReduce_2  54 happyReduction_139+happyReduction_139 (HappyAbsSyn19  happy_var_2)+	(HappyAbsSyn58  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_139 _ _  = notHappyAtAll ++happyReduce_140 = happySpecReduce_3  54 happyReduction_140+happyReduction_140 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Or happy_var_1 happy_var_3+	)+happyReduction_140 _ _ _  = notHappyAtAll ++happyReduce_141 = happySpecReduce_3  54 happyReduction_141+happyReduction_141 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) And happy_var_1 happy_var_3+	)+happyReduction_141 _ _ _  = notHappyAtAll ++happyReduce_142 = happySpecReduce_2  54 happyReduction_142+happyReduction_142 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (ExpUnary () (getTransSpan happy_var_1 happy_var_2) Not happy_var_2+	)+happyReduction_142 _ _  = notHappyAtAll ++happyReduce_143 = happySpecReduce_3  54 happyReduction_143+happyReduction_143 (HappyAbsSyn19  happy_var_3)+	(HappyAbsSyn55  happy_var_2)+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_1 happy_var_3+	)+happyReduction_143 _ _ _  = notHappyAtAll ++happyReduce_144 = happySpecReduce_3  54 happyReduction_144+happyReduction_144 (HappyTerminal happy_var_3)+	(HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_144 _ _ _  = notHappyAtAll ++happyReduce_145 = happySpecReduce_1  54 happyReduction_145+happyReduction_145 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_145 _  = notHappyAtAll ++happyReduce_146 = happySpecReduce_1  54 happyReduction_146+happyReduction_146 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_146 _  = notHappyAtAll ++happyReduce_147 = happySpecReduce_1  54 happyReduction_147+happyReduction_147 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_147 _  = notHappyAtAll ++happyReduce_148 = happySpecReduce_1  54 happyReduction_148+happyReduction_148 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_148 _  = notHappyAtAll ++happyReduce_149 = happySpecReduce_1  54 happyReduction_149+happyReduction_149 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_149 _  = notHappyAtAll ++happyReduce_150 = happySpecReduce_1  54 happyReduction_150+happyReduction_150 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_150 _  = notHappyAtAll ++happyReduce_151 = happySpecReduce_1  55 happyReduction_151+happyReduction_151 _+	 =  HappyAbsSyn55+		 (EQ+	)++happyReduce_152 = happySpecReduce_1  55 happyReduction_152+happyReduction_152 _+	 =  HappyAbsSyn55+		 (NE+	)++happyReduce_153 = happySpecReduce_1  55 happyReduction_153+happyReduction_153 _+	 =  HappyAbsSyn55+		 (GT+	)++happyReduce_154 = happySpecReduce_1  55 happyReduction_154+happyReduction_154 _+	 =  HappyAbsSyn55+		 (GTE+	)++happyReduce_155 = happySpecReduce_1  55 happyReduction_155+happyReduction_155 _+	 =  HappyAbsSyn55+		 (LT+	)++happyReduce_156 = happySpecReduce_1  55 happyReduction_156+happyReduction_156 _+	 =  HappyAbsSyn55+		 (LTE+	)++happyReduce_157 = happySpecReduce_3  56 happyReduction_157+happyReduction_157 (HappyTerminal happy_var_3)+	_+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpFunctionCall () (getTransSpan happy_var_1 happy_var_3) happy_var_1 Nothing+	)+happyReduction_157 _ _ _  = notHappyAtAll ++happyReduce_158 = happyReduce 4 56 happyReduction_158+happyReduction_158 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn57  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn19+		 (ExpSubscript () (getTransSpan happy_var_1 happy_var_4) happy_var_1 (fromReverseList happy_var_3)+	) `HappyStk` happyRest++happyReduce_159 = happySpecReduce_3  57 happyReduction_159+happyReduction_159 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn57  happy_var_1)+	 =  HappyAbsSyn57+		 (IxSingle () (getSpan happy_var_3) Nothing happy_var_3 : happy_var_1+	)+happyReduction_159 _ _ _  = notHappyAtAll ++happyReduce_160 = happySpecReduce_1  57 happyReduction_160+happyReduction_160 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn57+		 ([ IxSingle () (getSpan happy_var_1) Nothing happy_var_1 ]+	)+happyReduction_160 _  = notHappyAtAll ++happyReduce_161 = happySpecReduce_1  58 happyReduction_161+happyReduction_161 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn58+		 ((getSpan happy_var_1, Minus)+	)+happyReduction_161 _  = notHappyAtAll ++happyReduce_162 = happySpecReduce_1  58 happyReduction_162+happyReduction_162 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn58+		 ((getSpan happy_var_1, Plus)+	)+happyReduction_162 _  = notHappyAtAll ++happyReduce_163 = happySpecReduce_1  59 happyReduction_163+happyReduction_163 (HappyAbsSyn60  happy_var_1)+	 =  HappyAbsSyn10+		 (Just $ fromReverseList happy_var_1+	)+happyReduction_163 _  = notHappyAtAll ++happyReduce_164 = happySpecReduce_0  59 happyReduction_164+happyReduction_164  =  HappyAbsSyn10+		 (Nothing+	)++happyReduce_165 = happySpecReduce_3  60 happyReduction_165+happyReduction_165 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn60  happy_var_1)+	 =  HappyAbsSyn60+		 (happy_var_3 : happy_var_1+	)+happyReduction_165 _ _ _  = notHappyAtAll ++happyReduce_166 = happySpecReduce_1  60 happyReduction_166+happyReduction_166 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn60+		 ([ happy_var_1 ]+	)+happyReduction_166 _  = notHappyAtAll ++happyReduce_167 = happySpecReduce_1  61 happyReduction_167+happyReduction_167 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (ExpValue () (getSpan happy_var_1) $ let (TId _ s) = happy_var_1 in ValVariable () s+	)+happyReduction_167 _  = notHappyAtAll ++happyReduce_168 = happySpecReduce_2  62 happyReduction_168+happyReduction_168 (HappyAbsSyn19  happy_var_2)+	(HappyAbsSyn58  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_168 _ _  = notHappyAtAll ++happyReduce_169 = happySpecReduce_1  62 happyReduction_169+happyReduction_169 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_169 _  = notHappyAtAll ++happyReduce_170 = happySpecReduce_1  63 happyReduction_170+happyReduction_170 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (ExpValue () (getSpan happy_var_1) $ let (TInt _ i) = happy_var_1 in ValInteger i+	)+happyReduction_170 _  = notHappyAtAll ++happyReduce_171 = happySpecReduce_2  64 happyReduction_171+happyReduction_171 (HappyAbsSyn19  happy_var_2)+	(HappyAbsSyn58  happy_var_1)+	 =  HappyAbsSyn19+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_171 _ _  = notHappyAtAll ++happyReduce_172 = happySpecReduce_1  64 happyReduction_172+happyReduction_172 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_172 _  = notHappyAtAll ++happyReduce_173 = happySpecReduce_2  65 happyReduction_173+happyReduction_173 (HappyAbsSyn67  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (makeReal (Just happy_var_1) Nothing Nothing (Just happy_var_2)+	)+happyReduction_173 _ _  = notHappyAtAll ++happyReduce_174 = happySpecReduce_3  65 happyReduction_174+happyReduction_174 (HappyAbsSyn66  happy_var_3)+	(HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (makeReal (Just happy_var_1) (Just happy_var_2) Nothing happy_var_3+	)+happyReduction_174 _ _ _  = notHappyAtAll ++happyReduce_175 = happySpecReduce_3  65 happyReduction_175+happyReduction_175 (HappyAbsSyn66  happy_var_3)+	(HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (makeReal Nothing (Just happy_var_1) (Just happy_var_2) happy_var_3+	)+happyReduction_175 _ _ _  = notHappyAtAll ++happyReduce_176 = happyReduce 4 65 happyReduction_176+happyReduction_176 ((HappyAbsSyn66  happy_var_4) `HappyStk`+	(HappyTerminal happy_var_3) `HappyStk`+	(HappyTerminal happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn19+		 (makeReal (Just happy_var_1) (Just happy_var_2) (Just happy_var_3) happy_var_4+	) `HappyStk` happyRest++happyReduce_177 = happySpecReduce_1  66 happyReduction_177+happyReduction_177 (HappyAbsSyn67  happy_var_1)+	 =  HappyAbsSyn66+		 (Just happy_var_1+	)+happyReduction_177 _  = notHappyAtAll ++happyReduce_178 = happySpecReduce_0  66 happyReduction_178+happyReduction_178  =  HappyAbsSyn66+		 (Nothing+	)++happyReduce_179 = happySpecReduce_1  67 happyReduction_179+happyReduction_179 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn67+		 (let (TExponent s exp) = happy_var_1 in (s, exp)+	)+happyReduction_179 _  = notHappyAtAll ++happyReduce_180 = happySpecReduce_1  68 happyReduction_180+happyReduction_180 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_180 _  = notHappyAtAll ++happyReduce_181 = happySpecReduce_1  68 happyReduction_181+happyReduction_181 (HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_1+	)+happyReduction_181 _  = notHappyAtAll ++happyReduce_182 = happyReduce 5 69 happyReduction_182+happyReduction_182 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn19  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn19+		 (ExpValue () (getTransSpan happy_var_1 happy_var_5) (ValComplex happy_var_2 happy_var_4)+	) `HappyStk` happyRest++happyReduce_183 = happySpecReduce_1  70 happyReduction_183+happyReduction_183 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (let TBool s b = happy_var_1 in ExpValue () s $ ValLogical b+	)+happyReduction_183 _  = notHappyAtAll ++happyReduce_184 = happySpecReduce_1  71 happyReduction_184+happyReduction_184 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (ExpValue () (getSpan happy_var_1) $ let (THollerith _ h) = happy_var_1 in ValHollerith h+	)+happyReduction_184 _  = notHappyAtAll ++happyReduce_185 = happySpecReduce_2  72 happyReduction_185+happyReduction_185 (HappyTerminal happy_var_2)+	(HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn26+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ aReverse happy_var_1+	)+happyReduction_185 _ _  = notHappyAtAll ++happyReduce_186 = happySpecReduce_3  73 happyReduction_186+happyReduction_186 (HappyAbsSyn19  happy_var_3)+	_+	(HappyAbsSyn26  happy_var_1)+	 =  HappyAbsSyn26+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_186 _ _ _  = notHappyAtAll ++happyReduce_187 = happySpecReduce_2  73 happyReduction_187+happyReduction_187 (HappyAbsSyn19  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn26+		 (AList () (getTransSpan happy_var_1 happy_var_2) [ happy_var_2 ]+	)+happyReduction_187 _ _  = notHappyAtAll ++happyReduce_188 = happySpecReduce_1  74 happyReduction_188+happyReduction_188 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (ExpValue () (getSpan happy_var_1) (let (TLabel _ l) = happy_var_1 in ValLabel l)+	)+happyReduction_188 _  = notHappyAtAll ++happyReduce_189 = happySpecReduce_1  75 happyReduction_189+happyReduction_189 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn19+		 (ExpValue () (getSpan happy_var_1) (let (TInt _ l) = happy_var_1 in ValLabel l)+	)+happyReduction_189 _  = notHappyAtAll ++happyReduce_190 = happySpecReduce_1  76 happyReduction_190+happyReduction_190 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn76+		 (TypeSpec () (getSpan happy_var_1) TypeInteger Nothing+	)+happyReduction_190 _  = notHappyAtAll ++happyReduce_191 = happySpecReduce_1  76 happyReduction_191+happyReduction_191 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn76+		 (TypeSpec () (getSpan happy_var_1) TypeReal Nothing+	)+happyReduction_191 _  = notHappyAtAll ++happyReduce_192 = happySpecReduce_1  76 happyReduction_192+happyReduction_192 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn76+		 (TypeSpec () (getSpan happy_var_1) TypeDoublePrecision Nothing+	)+happyReduction_192 _  = notHappyAtAll ++happyReduce_193 = happySpecReduce_1  76 happyReduction_193+happyReduction_193 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn76+		 (TypeSpec () (getSpan happy_var_1) TypeLogical Nothing+	)+happyReduction_193 _  = notHappyAtAll ++happyReduce_194 = happySpecReduce_1  76 happyReduction_194+happyReduction_194 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn76+		 (TypeSpec () (getSpan happy_var_1) TypeComplex Nothing+	)+happyReduction_194 _  = notHappyAtAll ++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = action i i tk (HappyState action) sts stk in+	case tk of {+	TEOF _ -> action 138 138 tk (HappyState action) sts stk;+	TLeftPar _ -> cont 77;+	TRightPar _ -> cont 78;+	TComma _ -> cont 79;+	TDot _ -> cont 80;+	TFunction _ -> cont 81;+	TSubroutine _ -> cont 82;+	TBlockData _ -> cont 83;+	TEnd _ -> cont 84;+	TOpAssign _ -> cont 85;+	TAssign _ -> cont 86;+	TTo _ -> cont 87;+	TGoto _ -> cont 88;+	TIf _ -> cont 89;+	TCall _ -> cont 90;+	TReturn _ -> cont 91;+	TContinue _ -> cont 92;+	TStop _ -> cont 93;+	TPause _ -> cont 94;+	TDo _ -> cont 95;+	TRead _ -> cont 96;+	TWrite _ -> cont 97;+	TRewind _ -> cont 98;+	TBackspace _ -> cont 99;+	TEndfile _ -> cont 100;+	TCommon _ -> cont 101;+	TEquivalence _ -> cont 102;+	TExternal _ -> cont 103;+	TDimension _ -> cont 104;+	TType _ "integer" -> cont 105;+	TType _ "real" -> cont 106;+	TType _ "doubleprecision" -> cont 107;+	TType _ "logical" -> cont 108;+	TType _ "complex" -> cont 109;+	TData _ -> cont 110;+	TFormat _ -> cont 111;+	TFieldDescriptorDEFG _ _ _ _ _ -> cont 112;+	TFieldDescriptorAIL _ _ _ _ -> cont 113;+	TBlankDescriptor _ _ -> cont 114;+	TScaleFactor _ _ -> cont 115;+	TInt _ _ -> cont 116;+	TExponent _ _ -> cont 117;+	TBool _ _ -> cont 118;+	TOpPlus _ -> cont 119;+	TOpMinus _ -> cont 120;+	TOpExp _ -> cont 121;+	TStar _ -> cont 122;+	TSlash _ -> cont 123;+	TOpOr _ -> cont 124;+	TOpAnd _ -> cont 125;+	TOpNot _ -> cont 126;+	TOpLT _ -> cont 127;+	TOpLE _ -> cont 128;+	TOpGT _ -> cont 129;+	TOpGE _ -> cont 130;+	TOpEQ _ -> cont 131;+	TOpNE _ -> cont 132;+	TId _ _ -> cont 133;+	TComment _ _ -> cont 134;+	THollerith _ _ -> cont 135;+	TLabel _ _ -> cont 136;+	TNewline _ -> cont 137;+	_ -> happyError' tk+	})++happyError_ 138 tk = happyError' tk+happyError_ _ tk = happyError' tk++happyThen :: () => LexAction a -> (a -> LexAction b) -> LexAction b+happyThen = (>>=)+happyReturn :: () => a -> LexAction a+happyReturn = (return)+happyThen1 = happyThen+happyReturn1 :: () => a -> LexAction a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> LexAction a+happyError' tk = parseError tk++programParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_0) (\x -> case x of {HappyAbsSyn6 z -> happyReturn z; _other -> notHappyAtAll })++statementParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_1) (\x -> case x of {HappyAbsSyn15 z -> happyReturn z; _other -> notHappyAtAll })++expressionParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_2) (\x -> case x of {HappyAbsSyn19 z -> happyReturn z; _other -> notHappyAtAll })++happySeq = happyDontSeq+++makeReal :: Maybe Token -> Maybe Token -> Maybe Token -> Maybe (SrcSpan, String) -> Expression A0+makeReal i1 dot i2 exp =+  let span1   = getSpan (i1, dot, i2)+      span2   = case exp of+                  Just e -> getTransSpan span1 (fst e)+                  Nothing -> span1+      i1Str   = case i1 of { Just (TInt _ s) -> s ; _ -> "" }+      dotStr  = case dot of { Just (TDot _) -> "." ; _ -> "" }+      i2Str   = case i2 of { Just (TInt _ s) -> s ; _ -> "" }+      expStr  = case exp of { Just (_, s) -> s ; _ -> "" } in+    ExpValue () span2 (ValReal $ i1Str ++ dotStr ++ i2Str ++ expStr)++transformations66 =+  [ GroupLabeledDo+  , DisambiguateFunction+  ]++fortran66Parser :: String -> String -> ProgramFile A0+fortran66Parser sourceCode filename =+    transform transformations66 $ parse parseState+  where+    parse = evalParse programParser+    parseState = initParseState sourceCode Fortran66 filename++parseError :: Token -> LexAction a+parseError _ = fail "Parsing failed."+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 16 "<built-in>" #-}+{-# LINE 1 "/usr/local/lib/ghc-7.10.2/include/ghcversion.h" #-}+++++++++++++++++++{-# LINE 17 "<built-in>" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp +++{-# LINE 13 "templates/GenericTemplate.hs" #-}+++{-# LINE 46 "templates/GenericTemplate.hs" #-}++++++++++{-# LINE 67 "templates/GenericTemplate.hs" #-}+++{-# LINE 77 "templates/GenericTemplate.hs" #-}+++++++++++infixr 9 `HappyStk`+data HappyStk a = HappyStk a (HappyStk a)++-----------------------------------------------------------------------------+-- starting the parse++happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll++-----------------------------------------------------------------------------+-- Accepting the parse++-- If the current token is (1), it means we've just accepted a partial+-- parse (a %partial parser).  We must ignore the saved token on the top of+-- the stack in this case.+happyAccept (1) tk st sts (_ `HappyStk` ans `HappyStk` _) =+        happyReturn1 ans+happyAccept j tk st sts (HappyStk ans _) = +         (happyReturn1 ans)++-----------------------------------------------------------------------------+-- Arrays only: do the next action+++{-# LINE 155 "templates/GenericTemplate.hs" #-}++-----------------------------------------------------------------------------+-- HappyState data type (not arrays)++++newtype HappyState b c = HappyState+        (Int ->                    -- token number+         Int ->                    -- token number (yes, again)+         b ->                           -- token semantic value+         HappyState b c ->              -- current state+         [HappyState b c] ->            -- state stack+         c)++++-----------------------------------------------------------------------------+-- Shifting a token++happyShift new_state (1) tk st sts stk@(x `HappyStk` _) =+     let i = (case x of { HappyErrorToken (i) -> i }) in+--     trace "shifting the error token" $+     new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk)++happyShift new_state i tk st sts stk =+     happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk)++-- happyReduce is specialised for the common cases.++happySpecReduce_0 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk+     = action nt j tk st ((st):(sts)) (fn `HappyStk` stk)++happySpecReduce_1 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk')+     = let r = fn v1 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_2 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk')+     = let r = fn v1 v2 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_3 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')+     = let r = fn v1 v2 v3 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happyReduce k i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyReduce k nt fn j tk st sts stk+     = case happyDrop (k - ((1) :: Int)) sts of+         sts1@(((st1@(HappyState (action))):(_))) ->+                let r = fn stk in  -- it doesn't hurt to always seq here...+                happyDoSeq r (action nt j tk st1 sts1 r)++happyMonadReduce k nt fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyMonadReduce k nt fn j tk st sts stk =+      case happyDrop k ((st):(sts)) of+        sts1@(((st1@(HappyState (action))):(_))) ->+          let drop_stk = happyDropStk k stk in+          happyThen1 (fn stk tk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk))++happyMonad2Reduce k nt fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyMonad2Reduce k nt fn j tk st sts stk =+      case happyDrop k ((st):(sts)) of+        sts1@(((st1@(HappyState (action))):(_))) ->+         let drop_stk = happyDropStk k stk++++++             new_state = action++          in+          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))++happyDrop (0) l = l+happyDrop n ((_):(t)) = happyDrop (n - ((1) :: Int)) t++happyDropStk (0) l = l+happyDropStk n (x `HappyStk` xs) = happyDropStk (n - ((1)::Int)) xs++-----------------------------------------------------------------------------+-- Moving to a new state after a reduction++++++++++happyGoto action j tk st = action j j tk (HappyState action)+++-----------------------------------------------------------------------------+-- Error recovery ((1) is the error token)++-- parse error if we are in recovery and we fail again+happyFail (1) tk old_st _ stk@(x `HappyStk` _) =+     let i = (case x of { HappyErrorToken (i) -> i }) in+--      trace "failing" $ +        happyError_ i tk++{-  We don't need state discarding for our restricted implementation of+    "error".  In fact, it can cause some bogus parses, so I've disabled it+    for now --SDM++-- discard a state+happyFail  (1) tk old_st (((HappyState (action))):(sts)) +                                                (saved_tok `HappyStk` _ `HappyStk` stk) =+--      trace ("discarding state, depth " ++ show (length stk))  $+        action (1) (1) tk (HappyState (action)) sts ((saved_tok`HappyStk`stk))+-}++-- Enter error recovery: generate an error token,+--                       save the old token and carry on.+happyFail  i tk (HappyState (action)) sts stk =+--      trace "entering error recovery" $+        action (1) (1) tk (HappyState (action)) sts ( (HappyErrorToken (i)) `HappyStk` stk)++-- Internal happy errors:++notHappyAtAll :: a+notHappyAtAll = error "Internal Happy error\n"++-----------------------------------------------------------------------------+-- Hack to get the typechecker to accept our action functions++++++++-----------------------------------------------------------------------------+-- Seq-ing.  If the --strict flag is given, then Happy emits +--      happySeq = happyDoSeq+-- otherwise it emits+--      happySeq = happyDontSeq++happyDoSeq, happyDontSeq :: a -> b -> b+happyDoSeq   a b = a `seq` b+happyDontSeq a b = b++-----------------------------------------------------------------------------+-- Don't inline any functions from the template.  GHC has a nasty habit+-- of deciding to inline happyGoto everywhere, which increases the size of+-- the generated parser quite a bit.++++++++++{-# NOINLINE happyShift #-}+{-# NOINLINE happySpecReduce_0 #-}+{-# NOINLINE happySpecReduce_1 #-}+{-# NOINLINE happySpecReduce_2 #-}+{-# NOINLINE happySpecReduce_3 #-}+{-# NOINLINE happyReduce #-}+{-# NOINLINE happyMonadReduce #-}+{-# NOINLINE happyGoto #-}+{-# NOINLINE happyFail #-}++-- end of Happy Template.+
+ src/Language/Fortran/Parser/Fortran77.hs view
@@ -0,0 +1,9532 @@+{-# OPTIONS_GHC -w #-}+module Language.Fortran.Parser.Fortran77 ( expressionParser+                               , statementParser+                               , fortran77Parser+                               , extended77Parser+                               ) where++import Prelude hiding (EQ,LT,GT) -- Same constructors exist in the AST++import Data.Maybe (isNothing, fromJust)+import qualified Data.ByteString.Char8 as B+import Language.Fortran.Util.Position+import Language.Fortran.ParserMonad+import Language.Fortran.Lexer.FixedForm+import Language.Fortran.Transformer (transform, Transformation(..))+import Language.Fortran.AST++import Debug.Trace+import Control.Applicative(Applicative(..))+import Control.Monad (ap)++-- parser produced by Happy Version 1.19.5++data HappyAbsSyn +	= HappyTerminal (Token)+	| HappyErrorToken Int+	| HappyAbsSyn6 (ProgramFile A0)+	| HappyAbsSyn8 ([ ([ Block A0 ], ProgramUnit A0) ])+	| HappyAbsSyn9 (ProgramUnit A0)+	| HappyAbsSyn10 (Maybe (AList Expression A0))+	| HappyAbsSyn11 (Name)+	| HappyAbsSyn12 ([ Block A0 ])+	| HappyAbsSyn13 (Block A0)+	| HappyAbsSyn16 (Maybe Token)+	| HappyAbsSyn17 (Token)+	| HappyAbsSyn18 (Statement A0)+	| HappyAbsSyn21 (DoSpecification A0)+	| HappyAbsSyn23 (Expression A0)+	| HappyAbsSyn25 (AList ControlPair A0)+	| HappyAbsSyn27 (ControlPair A0)+	| HappyAbsSyn30 (AList Expression A0)+	| HappyAbsSyn34 ([ Expression A0 ])+	| HappyAbsSyn43 ([ Declarator A0 ])+	| HappyAbsSyn44 (Declarator A0)+	| HappyAbsSyn46 (AList ImpList A0)+	| HappyAbsSyn47 (ImpList A0)+	| HappyAbsSyn48 (AList ImpElement A0)+	| HappyAbsSyn49 (ImpElement A0)+	| HappyAbsSyn51 (AList FormatItem A0)+	| HappyAbsSyn52 (FormatItem A0)+	| HappyAbsSyn54 (AList DataGroup A0)+	| HappyAbsSyn58 (AList (AList Expression) A0)+	| HappyAbsSyn59 (AList CommonGroup A0)+	| HappyAbsSyn60 (CommonGroup A0)+	| HappyAbsSyn64 (AList Declarator A0)+	| HappyAbsSyn69 (AList DimensionDeclarator A0)+	| HappyAbsSyn70 (DimensionDeclarator A0)+	| HappyAbsSyn72 (AList Argument A0)+	| HappyAbsSyn74 (Argument A0)+	| HappyAbsSyn81 (BinaryOp)+	| HappyAbsSyn83 ([ Index A0 ])+	| HappyAbsSyn84 (Index A0)+	| HappyAbsSyn86 ((SrcSpan, UnaryOp))+	| HappyAbsSyn92 (Maybe (SrcSpan, String))+	| HappyAbsSyn93 ((SrcSpan, String))+	| HappyAbsSyn102 (TypeSpec A0)+	| HappyAbsSyn103 (Maybe (Selector A0))++{- to allow type-synonyms as our monads (likely+ - with explicitly-specified bind and return)+ - in Haskell98, it seems that with+ - /type M a = .../, then /(HappyReduction M)/+ - is not allowed.  But Happy is a+ - code-generator that can just substitute it.+type HappyReduction m = +	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> m HappyAbsSyn+-}++action_0,+ action_1,+ action_2,+ action_3,+ action_4,+ action_5,+ action_6,+ action_7,+ action_8,+ action_9,+ action_10,+ action_11,+ action_12,+ action_13,+ action_14,+ action_15,+ action_16,+ action_17,+ action_18,+ action_19,+ action_20,+ action_21,+ action_22,+ action_23,+ action_24,+ action_25,+ action_26,+ action_27,+ action_28,+ action_29,+ action_30,+ action_31,+ action_32,+ action_33,+ action_34,+ action_35,+ action_36,+ action_37,+ action_38,+ action_39,+ action_40,+ action_41,+ action_42,+ action_43,+ action_44,+ action_45,+ action_46,+ action_47,+ action_48,+ action_49,+ action_50,+ action_51,+ action_52,+ action_53,+ action_54,+ action_55,+ action_56,+ action_57,+ action_58,+ action_59,+ action_60,+ action_61,+ action_62,+ action_63,+ action_64,+ action_65,+ action_66,+ action_67,+ action_68,+ action_69,+ action_70,+ action_71,+ action_72,+ action_73,+ action_74,+ action_75,+ action_76,+ action_77,+ action_78,+ action_79,+ action_80,+ action_81,+ action_82,+ action_83,+ action_84,+ action_85,+ action_86,+ action_87,+ action_88,+ action_89,+ action_90,+ action_91,+ action_92,+ action_93,+ action_94,+ action_95,+ action_96,+ action_97,+ action_98,+ action_99,+ action_100,+ action_101,+ action_102,+ action_103,+ action_104,+ action_105,+ action_106,+ action_107,+ action_108,+ action_109,+ action_110,+ action_111,+ action_112,+ action_113,+ action_114,+ action_115,+ action_116,+ action_117,+ action_118,+ action_119,+ action_120,+ action_121,+ action_122,+ action_123,+ action_124,+ action_125,+ action_126,+ action_127,+ action_128,+ action_129,+ action_130,+ action_131,+ action_132,+ action_133,+ action_134,+ action_135,+ action_136,+ action_137,+ action_138,+ action_139,+ action_140,+ action_141,+ action_142,+ action_143,+ action_144,+ action_145,+ action_146,+ action_147,+ action_148,+ action_149,+ action_150,+ action_151,+ action_152,+ action_153,+ action_154,+ action_155,+ action_156,+ action_157,+ action_158,+ action_159,+ action_160,+ action_161,+ action_162,+ action_163,+ action_164,+ action_165,+ action_166,+ action_167,+ action_168,+ action_169,+ action_170,+ action_171,+ action_172,+ action_173,+ action_174,+ action_175,+ action_176,+ action_177,+ action_178,+ action_179,+ action_180,+ action_181,+ action_182,+ action_183,+ action_184,+ action_185,+ action_186,+ action_187,+ action_188,+ action_189,+ action_190,+ action_191,+ action_192,+ action_193,+ action_194,+ action_195,+ action_196,+ action_197,+ action_198,+ action_199,+ action_200,+ action_201,+ action_202,+ action_203,+ action_204,+ action_205,+ action_206,+ action_207,+ action_208,+ action_209,+ action_210,+ action_211,+ action_212,+ action_213,+ action_214,+ action_215,+ action_216,+ action_217,+ action_218,+ action_219,+ action_220,+ action_221,+ action_222,+ action_223,+ action_224,+ action_225,+ action_226,+ action_227,+ action_228,+ action_229,+ action_230,+ action_231,+ action_232,+ action_233,+ action_234,+ action_235,+ action_236,+ action_237,+ action_238,+ action_239,+ action_240,+ action_241,+ action_242,+ action_243,+ action_244,+ action_245,+ action_246,+ action_247,+ action_248,+ action_249,+ action_250,+ action_251,+ action_252,+ action_253,+ action_254,+ action_255,+ action_256,+ action_257,+ action_258,+ action_259,+ action_260,+ action_261,+ action_262,+ action_263,+ action_264,+ action_265,+ action_266,+ action_267,+ action_268,+ action_269,+ action_270,+ action_271,+ action_272,+ action_273,+ action_274,+ action_275,+ action_276,+ action_277,+ action_278,+ action_279,+ action_280,+ action_281,+ action_282,+ action_283,+ action_284,+ action_285,+ action_286,+ action_287,+ action_288,+ action_289,+ action_290,+ action_291,+ action_292,+ action_293,+ action_294,+ action_295,+ action_296,+ action_297,+ action_298,+ action_299,+ action_300,+ action_301,+ action_302,+ action_303,+ action_304,+ action_305,+ action_306,+ action_307,+ action_308,+ action_309,+ action_310,+ action_311,+ action_312,+ action_313,+ action_314,+ action_315,+ action_316,+ action_317,+ action_318,+ action_319,+ action_320,+ action_321,+ action_322,+ action_323,+ action_324,+ action_325,+ action_326,+ action_327,+ action_328,+ action_329,+ action_330,+ action_331,+ action_332,+ action_333,+ action_334,+ action_335,+ action_336,+ action_337,+ action_338,+ action_339,+ action_340,+ action_341,+ action_342,+ action_343,+ action_344,+ action_345,+ action_346,+ action_347,+ action_348,+ action_349,+ action_350,+ action_351,+ action_352,+ action_353,+ action_354,+ action_355,+ action_356,+ action_357,+ action_358,+ action_359,+ action_360,+ action_361,+ action_362,+ action_363,+ action_364,+ action_365,+ action_366,+ action_367,+ action_368,+ action_369,+ action_370,+ action_371,+ action_372,+ action_373,+ action_374,+ action_375,+ action_376,+ action_377,+ action_378,+ action_379,+ action_380,+ action_381,+ action_382,+ action_383,+ action_384,+ action_385,+ action_386,+ action_387,+ action_388,+ action_389,+ action_390,+ action_391,+ action_392,+ action_393,+ action_394,+ action_395,+ action_396,+ action_397,+ action_398,+ action_399,+ action_400,+ action_401,+ action_402,+ action_403,+ action_404,+ action_405,+ action_406,+ action_407,+ action_408,+ action_409,+ action_410,+ action_411,+ action_412,+ action_413,+ action_414,+ action_415,+ action_416,+ action_417,+ action_418,+ action_419,+ action_420,+ action_421,+ action_422,+ action_423,+ action_424,+ action_425,+ action_426,+ action_427,+ action_428,+ action_429,+ action_430,+ action_431,+ action_432,+ action_433,+ action_434,+ action_435,+ action_436,+ action_437,+ action_438,+ action_439,+ action_440,+ action_441,+ action_442,+ action_443,+ action_444,+ action_445,+ action_446,+ action_447,+ action_448,+ action_449,+ action_450,+ action_451,+ action_452,+ action_453,+ action_454,+ action_455,+ action_456,+ action_457,+ action_458,+ action_459,+ action_460,+ action_461,+ action_462,+ action_463,+ action_464,+ action_465,+ action_466,+ action_467,+ action_468,+ action_469,+ action_470,+ action_471,+ action_472,+ action_473,+ action_474,+ action_475,+ action_476,+ action_477,+ action_478,+ action_479,+ action_480,+ action_481,+ action_482,+ action_483,+ action_484,+ action_485,+ action_486,+ action_487,+ action_488,+ action_489,+ action_490,+ action_491,+ action_492,+ action_493,+ action_494,+ action_495,+ action_496,+ action_497,+ action_498,+ action_499,+ action_500,+ action_501,+ action_502,+ action_503,+ action_504,+ action_505,+ action_506,+ action_507,+ action_508,+ action_509,+ action_510,+ action_511,+ action_512,+ action_513,+ action_514,+ action_515,+ action_516,+ action_517,+ action_518,+ action_519,+ action_520,+ action_521,+ action_522,+ action_523,+ action_524,+ action_525,+ action_526,+ action_527,+ action_528,+ action_529,+ action_530,+ action_531,+ action_532,+ action_533,+ action_534,+ action_535,+ action_536,+ action_537,+ action_538,+ action_539,+ action_540,+ action_541,+ action_542,+ action_543,+ action_544,+ action_545,+ action_546,+ action_547,+ action_548,+ action_549,+ action_550,+ action_551,+ action_552,+ action_553,+ action_554,+ action_555,+ action_556,+ action_557,+ action_558,+ action_559,+ action_560,+ action_561,+ action_562,+ action_563,+ action_564,+ action_565,+ action_566,+ action_567,+ action_568,+ action_569,+ action_570,+ action_571,+ action_572,+ action_573,+ action_574,+ action_575,+ action_576,+ action_577,+ action_578,+ action_579,+ action_580,+ action_581,+ action_582,+ action_583,+ action_584,+ action_585,+ action_586,+ action_587,+ action_588,+ action_589,+ action_590,+ action_591,+ action_592,+ action_593,+ action_594,+ action_595,+ action_596,+ action_597,+ action_598,+ action_599,+ action_600,+ action_601,+ action_602,+ action_603,+ action_604,+ action_605,+ action_606,+ action_607,+ action_608,+ action_609,+ action_610,+ action_611,+ action_612,+ action_613,+ action_614,+ action_615,+ action_616,+ action_617,+ action_618,+ action_619,+ action_620,+ action_621,+ action_622,+ action_623 :: () => Int -> ({-HappyReduction (LexAction) = -}+	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> (LexAction) HappyAbsSyn)++happyReduce_3,+ happyReduce_4,+ happyReduce_5,+ happyReduce_6,+ happyReduce_7,+ happyReduce_8,+ happyReduce_9,+ happyReduce_10,+ happyReduce_11,+ happyReduce_12,+ happyReduce_13,+ happyReduce_14,+ happyReduce_15,+ happyReduce_16,+ happyReduce_17,+ happyReduce_18,+ happyReduce_19,+ happyReduce_20,+ happyReduce_21,+ happyReduce_22,+ happyReduce_23,+ happyReduce_24,+ happyReduce_25,+ happyReduce_26,+ happyReduce_27,+ happyReduce_28,+ happyReduce_29,+ happyReduce_30,+ happyReduce_31,+ happyReduce_32,+ happyReduce_33,+ happyReduce_34,+ happyReduce_35,+ happyReduce_36,+ happyReduce_37,+ happyReduce_38,+ happyReduce_39,+ happyReduce_40,+ happyReduce_41,+ happyReduce_42,+ happyReduce_43,+ happyReduce_44,+ happyReduce_45,+ happyReduce_46,+ happyReduce_47,+ happyReduce_48,+ happyReduce_49,+ happyReduce_50,+ happyReduce_51,+ happyReduce_52,+ happyReduce_53,+ happyReduce_54,+ happyReduce_55,+ happyReduce_56,+ happyReduce_57,+ happyReduce_58,+ happyReduce_59,+ happyReduce_60,+ happyReduce_61,+ happyReduce_62,+ happyReduce_63,+ happyReduce_64,+ happyReduce_65,+ happyReduce_66,+ happyReduce_67,+ happyReduce_68,+ happyReduce_69,+ happyReduce_70,+ happyReduce_71,+ happyReduce_72,+ happyReduce_73,+ happyReduce_74,+ happyReduce_75,+ happyReduce_76,+ happyReduce_77,+ happyReduce_78,+ happyReduce_79,+ happyReduce_80,+ happyReduce_81,+ happyReduce_82,+ happyReduce_83,+ happyReduce_84,+ happyReduce_85,+ happyReduce_86,+ happyReduce_87,+ happyReduce_88,+ happyReduce_89,+ happyReduce_90,+ happyReduce_91,+ happyReduce_92,+ happyReduce_93,+ happyReduce_94,+ happyReduce_95,+ happyReduce_96,+ happyReduce_97,+ happyReduce_98,+ happyReduce_99,+ happyReduce_100,+ happyReduce_101,+ happyReduce_102,+ happyReduce_103,+ happyReduce_104,+ happyReduce_105,+ happyReduce_106,+ happyReduce_107,+ happyReduce_108,+ happyReduce_109,+ happyReduce_110,+ happyReduce_111,+ happyReduce_112,+ happyReduce_113,+ happyReduce_114,+ happyReduce_115,+ happyReduce_116,+ happyReduce_117,+ happyReduce_118,+ happyReduce_119,+ happyReduce_120,+ happyReduce_121,+ happyReduce_122,+ happyReduce_123,+ happyReduce_124,+ happyReduce_125,+ happyReduce_126,+ happyReduce_127,+ happyReduce_128,+ happyReduce_129,+ happyReduce_130,+ happyReduce_131,+ happyReduce_132,+ happyReduce_133,+ happyReduce_134,+ happyReduce_135,+ happyReduce_136,+ happyReduce_137,+ happyReduce_138,+ happyReduce_139,+ happyReduce_140,+ happyReduce_141,+ happyReduce_142,+ happyReduce_143,+ happyReduce_144,+ happyReduce_145,+ happyReduce_146,+ happyReduce_147,+ happyReduce_148,+ happyReduce_149,+ happyReduce_150,+ happyReduce_151,+ happyReduce_152,+ happyReduce_153,+ happyReduce_154,+ happyReduce_155,+ happyReduce_156,+ happyReduce_157,+ happyReduce_158,+ happyReduce_159,+ happyReduce_160,+ happyReduce_161,+ happyReduce_162,+ happyReduce_163,+ happyReduce_164,+ happyReduce_165,+ happyReduce_166,+ happyReduce_167,+ happyReduce_168,+ happyReduce_169,+ happyReduce_170,+ happyReduce_171,+ happyReduce_172,+ happyReduce_173,+ happyReduce_174,+ happyReduce_175,+ happyReduce_176,+ happyReduce_177,+ happyReduce_178,+ happyReduce_179,+ happyReduce_180,+ happyReduce_181,+ happyReduce_182,+ happyReduce_183,+ happyReduce_184,+ happyReduce_185,+ happyReduce_186,+ happyReduce_187,+ happyReduce_188,+ happyReduce_189,+ happyReduce_190,+ happyReduce_191,+ happyReduce_192,+ happyReduce_193,+ happyReduce_194,+ happyReduce_195,+ happyReduce_196,+ happyReduce_197,+ happyReduce_198,+ happyReduce_199,+ happyReduce_200,+ happyReduce_201,+ happyReduce_202,+ happyReduce_203,+ happyReduce_204,+ happyReduce_205,+ happyReduce_206,+ happyReduce_207,+ happyReduce_208,+ happyReduce_209,+ happyReduce_210,+ happyReduce_211,+ happyReduce_212,+ happyReduce_213,+ happyReduce_214,+ happyReduce_215,+ happyReduce_216,+ happyReduce_217,+ happyReduce_218,+ happyReduce_219,+ happyReduce_220,+ happyReduce_221,+ happyReduce_222,+ happyReduce_223,+ happyReduce_224,+ happyReduce_225,+ happyReduce_226,+ happyReduce_227,+ happyReduce_228,+ happyReduce_229,+ happyReduce_230,+ happyReduce_231,+ happyReduce_232,+ happyReduce_233,+ happyReduce_234,+ happyReduce_235,+ happyReduce_236,+ happyReduce_237,+ happyReduce_238,+ happyReduce_239,+ happyReduce_240,+ happyReduce_241,+ happyReduce_242,+ happyReduce_243,+ happyReduce_244,+ happyReduce_245,+ happyReduce_246,+ happyReduce_247,+ happyReduce_248,+ happyReduce_249,+ happyReduce_250,+ happyReduce_251,+ happyReduce_252,+ happyReduce_253,+ happyReduce_254,+ happyReduce_255,+ happyReduce_256,+ happyReduce_257,+ happyReduce_258,+ happyReduce_259,+ happyReduce_260,+ happyReduce_261,+ happyReduce_262,+ happyReduce_263,+ happyReduce_264,+ happyReduce_265,+ happyReduce_266,+ happyReduce_267,+ happyReduce_268,+ happyReduce_269,+ happyReduce_270,+ happyReduce_271,+ happyReduce_272,+ happyReduce_273,+ happyReduce_274,+ happyReduce_275,+ happyReduce_276,+ happyReduce_277,+ happyReduce_278,+ happyReduce_279,+ happyReduce_280,+ happyReduce_281,+ happyReduce_282,+ happyReduce_283,+ happyReduce_284,+ happyReduce_285,+ happyReduce_286,+ happyReduce_287,+ happyReduce_288,+ happyReduce_289,+ happyReduce_290,+ happyReduce_291,+ happyReduce_292,+ happyReduce_293,+ happyReduce_294,+ happyReduce_295,+ happyReduce_296,+ happyReduce_297,+ happyReduce_298,+ happyReduce_299,+ happyReduce_300,+ happyReduce_301,+ happyReduce_302,+ happyReduce_303,+ happyReduce_304,+ happyReduce_305,+ happyReduce_306,+ happyReduce_307,+ happyReduce_308,+ happyReduce_309,+ happyReduce_310,+ happyReduce_311,+ happyReduce_312,+ happyReduce_313,+ happyReduce_314,+ happyReduce_315,+ happyReduce_316,+ happyReduce_317,+ happyReduce_318,+ happyReduce_319,+ happyReduce_320,+ happyReduce_321,+ happyReduce_322,+ happyReduce_323,+ happyReduce_324,+ happyReduce_325,+ happyReduce_326,+ happyReduce_327,+ happyReduce_328,+ happyReduce_329,+ happyReduce_330,+ happyReduce_331,+ happyReduce_332,+ happyReduce_333,+ happyReduce_334,+ happyReduce_335,+ happyReduce_336,+ happyReduce_337,+ happyReduce_338,+ happyReduce_339,+ happyReduce_340,+ happyReduce_341,+ happyReduce_342,+ happyReduce_343,+ happyReduce_344,+ happyReduce_345,+ happyReduce_346,+ happyReduce_347,+ happyReduce_348,+ happyReduce_349,+ happyReduce_350 :: () => ({-HappyReduction (LexAction) = -}+	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> (LexAction) HappyAbsSyn)++action_0 (116) = happyShift action_88+action_0 (117) = happyShift action_89+action_0 (118) = happyShift action_90+action_0 (119) = happyShift action_91+action_0 (153) = happyShift action_68+action_0 (154) = happyShift action_69+action_0 (155) = happyShift action_70+action_0 (156) = happyShift action_71+action_0 (157) = happyShift action_72+action_0 (158) = happyShift action_73+action_0 (159) = happyShift action_74+action_0 (191) = happyShift action_92+action_0 (195) = happyShift action_5+action_0 (6) = happyGoto action_81+action_0 (7) = happyGoto action_82+action_0 (8) = happyGoto action_83+action_0 (9) = happyGoto action_84+action_0 (14) = happyGoto action_85+action_0 (15) = happyGoto action_86+action_0 (17) = happyGoto action_4+action_0 (102) = happyGoto action_87+action_0 _ = happyFail++action_1 (115) = happyShift action_38+action_1 (122) = happyShift action_39+action_1 (124) = happyShift action_40+action_1 (125) = happyShift action_41+action_1 (127) = happyShift action_42+action_1 (128) = happyShift action_43+action_1 (129) = happyShift action_44+action_1 (130) = happyShift action_45+action_1 (131) = happyShift action_46+action_1 (132) = happyShift action_47+action_1 (133) = happyShift action_48+action_1 (134) = happyShift action_49+action_1 (135) = happyShift action_50+action_1 (136) = happyShift action_51+action_1 (137) = happyShift action_52+action_1 (138) = happyShift action_53+action_1 (139) = happyShift action_54+action_1 (140) = happyShift action_55+action_1 (141) = happyShift action_56+action_1 (142) = happyShift action_57+action_1 (143) = happyShift action_58+action_1 (144) = happyShift action_59+action_1 (145) = happyShift action_60+action_1 (146) = happyShift action_61+action_1 (147) = happyShift action_62+action_1 (148) = happyShift action_63+action_1 (149) = happyShift action_64+action_1 (150) = happyShift action_65+action_1 (151) = happyShift action_66+action_1 (152) = happyShift action_67+action_1 (153) = happyShift action_68+action_1 (154) = happyShift action_69+action_1 (155) = happyShift action_70+action_1 (156) = happyShift action_71+action_1 (157) = happyShift action_72+action_1 (158) = happyShift action_73+action_1 (159) = happyShift action_74+action_1 (160) = happyShift action_75+action_1 (161) = happyShift action_76+action_1 (162) = happyShift action_77+action_1 (163) = happyShift action_78+action_1 (165) = happyShift action_79+action_1 (166) = happyShift action_80+action_1 (190) = happyShift action_24+action_1 (18) = happyGoto action_26+action_1 (19) = happyGoto action_27+action_1 (20) = happyGoto action_28+action_1 (22) = happyGoto action_29+action_1 (37) = happyGoto action_30+action_1 (38) = happyGoto action_31+action_1 (39) = happyGoto action_32+action_1 (45) = happyGoto action_33+action_1 (50) = happyGoto action_34+action_1 (82) = happyGoto action_35+action_1 (89) = happyGoto action_36+action_1 (102) = happyGoto action_37+action_1 _ = happyFail++action_2 (108) = happyShift action_16+action_2 (110) = happyShift action_17+action_2 (113) = happyShift action_18+action_2 (171) = happyShift action_19+action_2 (173) = happyShift action_20+action_2 (174) = happyShift action_21+action_2 (175) = happyShift action_22+action_2 (183) = happyShift action_23+action_2 (190) = happyShift action_24+action_2 (193) = happyShift action_25+action_2 (75) = happyGoto action_6+action_2 (76) = happyGoto action_7+action_2 (78) = happyGoto action_8+action_2 (82) = happyGoto action_9+action_2 (86) = happyGoto action_10+action_2 (89) = happyGoto action_11+action_2 (90) = happyGoto action_12+action_2 (91) = happyGoto action_13+action_2 (95) = happyGoto action_14+action_2 (96) = happyGoto action_15+action_2 _ = happyFail++action_3 (195) = happyShift action_5+action_3 (17) = happyGoto action_4+action_3 _ = happyFail++action_4 (116) = happyShift action_88+action_4 (117) = happyShift action_89+action_4 (118) = happyShift action_90+action_4 (119) = happyShift action_91+action_4 (153) = happyShift action_68+action_4 (154) = happyShift action_69+action_4 (155) = happyShift action_70+action_4 (156) = happyShift action_71+action_4 (157) = happyShift action_72+action_4 (158) = happyShift action_73+action_4 (159) = happyShift action_74+action_4 (191) = happyShift action_92+action_4 (195) = happyShift action_232+action_4 (7) = happyGoto action_231+action_4 (8) = happyGoto action_83+action_4 (9) = happyGoto action_84+action_4 (14) = happyGoto action_85+action_4 (15) = happyGoto action_86+action_4 (102) = happyGoto action_87+action_4 _ = happyFail++action_5 _ = happyReduce_31++action_6 (174) = happyShift action_216+action_6 (175) = happyShift action_217+action_6 (176) = happyShift action_218+action_6 (177) = happyShift action_219+action_6 (178) = happyShift action_220+action_6 (179) = happyShift action_221+action_6 (180) = happyShift action_222+action_6 (181) = happyShift action_223+action_6 (182) = happyShift action_224+action_6 (184) = happyShift action_225+action_6 (185) = happyShift action_226+action_6 (186) = happyShift action_227+action_6 (187) = happyShift action_228+action_6 (188) = happyShift action_229+action_6 (189) = happyShift action_230+action_6 (196) = happyAccept+action_6 (81) = happyGoto action_215+action_6 _ = happyFail++action_7 _ = happyReduce_250++action_8 _ = happyReduce_247++action_9 _ = happyReduce_248++action_10 (108) = happyShift action_16+action_10 (110) = happyShift action_17+action_10 (113) = happyShift action_18+action_10 (171) = happyShift action_19+action_10 (173) = happyShift action_20+action_10 (174) = happyShift action_21+action_10 (175) = happyShift action_22+action_10 (183) = happyShift action_23+action_10 (190) = happyShift action_24+action_10 (193) = happyShift action_25+action_10 (75) = happyGoto action_214+action_10 (76) = happyGoto action_7+action_10 (78) = happyGoto action_8+action_10 (82) = happyGoto action_9+action_10 (86) = happyGoto action_10+action_10 (89) = happyGoto action_11+action_10 (90) = happyGoto action_12+action_10 (91) = happyGoto action_13+action_10 (95) = happyGoto action_14+action_10 (96) = happyGoto action_15+action_10 _ = happyFail++action_11 (108) = happyShift action_204+action_11 _ = happyReduce_249++action_12 _ = happyReduce_319++action_13 _ = happyReduce_320++action_14 _ = happyReduce_244++action_15 _ = happyReduce_246++action_16 (108) = happyShift action_16+action_16 (110) = happyShift action_17+action_16 (113) = happyShift action_18+action_16 (171) = happyShift action_19+action_16 (173) = happyShift action_20+action_16 (174) = happyShift action_21+action_16 (175) = happyShift action_22+action_16 (183) = happyShift action_23+action_16 (190) = happyShift action_24+action_16 (193) = happyShift action_25+action_16 (75) = happyGoto action_213+action_16 (76) = happyGoto action_7+action_16 (78) = happyGoto action_8+action_16 (82) = happyGoto action_9+action_16 (86) = happyGoto action_10+action_16 (89) = happyGoto action_11+action_16 (90) = happyGoto action_12+action_16 (91) = happyGoto action_13+action_16 (95) = happyGoto action_14+action_16 (96) = happyGoto action_15+action_16 _ = happyFail++action_17 (108) = happyShift action_16+action_17 (110) = happyShift action_17+action_17 (113) = happyShift action_18+action_17 (171) = happyShift action_19+action_17 (173) = happyShift action_20+action_17 (174) = happyShift action_21+action_17 (175) = happyShift action_22+action_17 (183) = happyShift action_23+action_17 (190) = happyShift action_24+action_17 (193) = happyShift action_25+action_17 (75) = happyGoto action_211+action_17 (76) = happyGoto action_7+action_17 (77) = happyGoto action_212+action_17 (78) = happyGoto action_8+action_17 (82) = happyGoto action_9+action_17 (86) = happyGoto action_10+action_17 (89) = happyGoto action_11+action_17 (90) = happyGoto action_12+action_17 (91) = happyGoto action_13+action_17 (95) = happyGoto action_14+action_17 (96) = happyGoto action_15+action_17 _ = happyFail++action_18 (171) = happyShift action_210+action_18 _ = happyFail++action_19 (113) = happyShift action_208+action_19 (172) = happyShift action_209+action_19 (93) = happyGoto action_207+action_19 _ = happyReduce_309++action_20 _ = happyReduce_321++action_21 _ = happyReduce_303++action_22 _ = happyReduce_302++action_23 (108) = happyShift action_16+action_23 (110) = happyShift action_17+action_23 (113) = happyShift action_18+action_23 (171) = happyShift action_19+action_23 (173) = happyShift action_20+action_23 (174) = happyShift action_21+action_23 (175) = happyShift action_22+action_23 (183) = happyShift action_23+action_23 (190) = happyShift action_24+action_23 (193) = happyShift action_25+action_23 (75) = happyGoto action_206+action_23 (76) = happyGoto action_7+action_23 (78) = happyGoto action_8+action_23 (82) = happyGoto action_9+action_23 (86) = happyGoto action_10+action_23 (89) = happyGoto action_11+action_23 (90) = happyGoto action_12+action_23 (91) = happyGoto action_13+action_23 (95) = happyGoto action_14+action_23 (96) = happyGoto action_15+action_23 _ = happyFail++action_24 _ = happyReduce_308++action_25 _ = happyReduce_257++action_26 (196) = happyAccept+action_26 _ = happyFail++action_27 _ = happyReduce_32++action_28 _ = happyReduce_33++action_29 _ = happyReduce_34++action_30 _ = happyReduce_44++action_31 _ = happyReduce_42++action_32 _ = happyReduce_35++action_33 _ = happyReduce_147++action_34 (121) = happyShift action_205+action_34 _ = happyFail++action_35 _ = happyReduce_172++action_36 (108) = happyShift action_204+action_36 _ = happyReduce_171++action_37 (190) = happyShift action_24+action_37 (64) = happyGoto action_199+action_37 (65) = happyGoto action_200+action_37 (67) = happyGoto action_201+action_37 (68) = happyGoto action_202+action_37 (89) = happyGoto action_203+action_37 _ = happyFail++action_38 (193) = happyShift action_25+action_38 (78) = happyGoto action_198+action_38 _ = happyFail++action_39 (171) = happyShift action_177+action_39 (101) = happyGoto action_197+action_39 _ = happyFail++action_40 (108) = happyShift action_196+action_40 (171) = happyShift action_177+action_40 (190) = happyShift action_24+action_40 (89) = happyGoto action_192+action_40 (98) = happyGoto action_193+action_40 (99) = happyGoto action_194+action_40 (101) = happyGoto action_195+action_40 _ = happyFail++action_41 (108) = happyShift action_191+action_41 _ = happyFail++action_42 _ = happyReduce_48++action_43 (108) = happyShift action_190+action_43 _ = happyFail++action_44 _ = happyReduce_49++action_45 (190) = happyShift action_24+action_45 (89) = happyGoto action_189+action_45 _ = happyFail++action_46 (108) = happyShift action_16+action_46 (110) = happyShift action_17+action_46 (113) = happyShift action_18+action_46 (171) = happyShift action_19+action_46 (173) = happyShift action_20+action_46 (174) = happyShift action_21+action_46 (175) = happyShift action_22+action_46 (183) = happyShift action_23+action_46 (190) = happyShift action_24+action_46 (193) = happyShift action_25+action_46 (75) = happyGoto action_188+action_46 (76) = happyGoto action_7+action_46 (78) = happyGoto action_8+action_46 (82) = happyGoto action_9+action_46 (86) = happyGoto action_10+action_46 (89) = happyGoto action_11+action_46 (90) = happyGoto action_12+action_46 (91) = happyGoto action_13+action_46 (95) = happyGoto action_14+action_46 (96) = happyGoto action_15+action_46 _ = happyReduce_54++action_47 (178) = happyShift action_187+action_47 (190) = happyShift action_24+action_47 (33) = happyGoto action_182+action_47 (34) = happyGoto action_183+action_47 (35) = happyGoto action_184+action_47 (62) = happyGoto action_185+action_47 (89) = happyGoto action_186+action_47 _ = happyReduce_127++action_48 _ = happyReduce_57++action_49 (171) = happyShift action_155+action_49 (193) = happyShift action_25+action_49 (36) = happyGoto action_181+action_49 (78) = happyGoto action_179+action_49 (90) = happyGoto action_180+action_49 _ = happyReduce_59++action_50 _ = happyReduce_60++action_51 (171) = happyShift action_155+action_51 (193) = happyShift action_25+action_51 (36) = happyGoto action_178+action_51 (78) = happyGoto action_179+action_51 (90) = happyGoto action_180+action_51 _ = happyReduce_62++action_52 (171) = happyShift action_177+action_52 (190) = happyShift action_24+action_52 (21) = happyGoto action_174+action_52 (38) = happyGoto action_175+action_52 (50) = happyGoto action_34+action_52 (82) = happyGoto action_35+action_52 (89) = happyGoto action_36+action_52 (101) = happyGoto action_176+action_52 _ = happyFail++action_53 (108) = happyShift action_173+action_53 _ = happyFail++action_54 _ = happyReduce_51++action_55 (108) = happyShift action_154+action_55 (171) = happyShift action_155+action_55 (177) = happyShift action_169+action_55 (190) = happyShift action_24+action_55 (193) = happyShift action_25+action_55 (23) = happyGoto action_171+action_55 (25) = happyGoto action_172+action_55 (78) = happyGoto action_165+action_55 (82) = happyGoto action_166+action_55 (89) = happyGoto action_167+action_55 (90) = happyGoto action_168+action_55 _ = happyFail++action_56 (108) = happyShift action_154+action_56 (25) = happyGoto action_170+action_56 _ = happyFail++action_57 (171) = happyShift action_155+action_57 (177) = happyShift action_169+action_57 (190) = happyShift action_24+action_57 (193) = happyShift action_25+action_57 (23) = happyGoto action_164+action_57 (78) = happyGoto action_165+action_57 (82) = happyGoto action_166+action_57 (89) = happyGoto action_167+action_57 (90) = happyGoto action_168+action_57 _ = happyFail++action_58 (108) = happyShift action_154+action_58 (25) = happyGoto action_163+action_58 _ = happyFail++action_59 (108) = happyShift action_154+action_59 (25) = happyGoto action_162+action_59 _ = happyFail++action_60 (108) = happyShift action_154+action_60 (25) = happyGoto action_161+action_60 _ = happyFail++action_61 (108) = happyShift action_154+action_61 (171) = happyShift action_155+action_61 (177) = happyShift action_156+action_61 (190) = happyShift action_24+action_61 (24) = happyGoto action_159+action_61 (25) = happyGoto action_160+action_61 (82) = happyGoto action_151+action_61 (89) = happyGoto action_152+action_61 (90) = happyGoto action_153+action_61 _ = happyFail++action_62 (108) = happyShift action_154+action_62 (171) = happyShift action_155+action_62 (177) = happyShift action_156+action_62 (190) = happyShift action_24+action_62 (24) = happyGoto action_157+action_62 (25) = happyGoto action_158+action_62 (82) = happyGoto action_151+action_62 (89) = happyGoto action_152+action_62 (90) = happyGoto action_153+action_62 _ = happyFail++action_63 (108) = happyShift action_154+action_63 (171) = happyShift action_155+action_63 (177) = happyShift action_156+action_63 (190) = happyShift action_24+action_63 (24) = happyGoto action_149+action_63 (25) = happyGoto action_150+action_63 (82) = happyGoto action_151+action_63 (89) = happyGoto action_152+action_63 (90) = happyGoto action_153+action_63 _ = happyFail++action_64 (178) = happyShift action_148+action_64 (190) = happyShift action_24+action_64 (50) = happyGoto action_109+action_64 (59) = happyGoto action_144+action_64 (61) = happyGoto action_145+action_64 (62) = happyGoto action_146+action_64 (63) = happyGoto action_147+action_64 (82) = happyGoto action_35+action_64 (89) = happyGoto action_36+action_64 _ = happyFail++action_65 (108) = happyShift action_143+action_65 (58) = happyGoto action_142+action_65 _ = happyFail++action_66 (190) = happyShift action_24+action_66 (71) = happyGoto action_141+action_66 (89) = happyGoto action_126+action_66 _ = happyFail++action_67 (190) = happyShift action_24+action_67 (66) = happyGoto action_138+action_67 (67) = happyGoto action_139+action_67 (89) = happyGoto action_140+action_67 _ = happyFail++action_68 (108) = happyShift action_136+action_68 (177) = happyShift action_137+action_68 (104) = happyGoto action_134+action_68 (105) = happyGoto action_135+action_68 _ = happyReduce_342++action_69 (177) = happyShift action_128+action_69 (103) = happyGoto action_133+action_69 _ = happyReduce_337++action_70 (177) = happyShift action_128+action_70 (103) = happyGoto action_132+action_70 _ = happyReduce_337++action_71 (177) = happyShift action_128+action_71 (103) = happyGoto action_131+action_71 _ = happyReduce_337++action_72 (177) = happyShift action_128+action_72 (103) = happyGoto action_130+action_72 _ = happyReduce_337++action_73 (177) = happyShift action_128+action_73 (103) = happyGoto action_129+action_73 _ = happyReduce_337++action_74 (177) = happyShift action_128+action_74 (103) = happyGoto action_127+action_74 _ = happyReduce_337++action_75 (190) = happyShift action_24+action_75 (71) = happyGoto action_125+action_75 (89) = happyGoto action_126+action_75 _ = happyFail++action_76 (153) = happyShift action_117+action_76 (154) = happyShift action_118+action_76 (155) = happyShift action_119+action_76 (156) = happyShift action_120+action_76 (157) = happyShift action_121+action_76 (158) = happyShift action_122+action_76 (159) = happyShift action_123+action_76 (164) = happyShift action_124+action_76 (46) = happyGoto action_114+action_76 (47) = happyGoto action_115+action_76 (106) = happyGoto action_116+action_76 _ = happyFail++action_77 (108) = happyShift action_113+action_77 _ = happyFail++action_78 (190) = happyShift action_24+action_78 (89) = happyGoto action_112+action_78 _ = happyFail++action_79 (190) = happyShift action_24+action_79 (50) = happyGoto action_109+action_79 (54) = happyGoto action_110+action_79 (63) = happyGoto action_111+action_79 (82) = happyGoto action_35+action_79 (89) = happyGoto action_36+action_79 _ = happyFail++action_80 (108) = happyShift action_108+action_80 (51) = happyGoto action_107+action_80 _ = happyFail++action_81 (196) = happyAccept+action_81 _ = happyFail++action_82 _ = happyReduce_4++action_83 (116) = happyShift action_88+action_83 (117) = happyShift action_89+action_83 (118) = happyShift action_90+action_83 (119) = happyShift action_91+action_83 (153) = happyShift action_68+action_83 (154) = happyShift action_69+action_83 (155) = happyShift action_70+action_83 (156) = happyShift action_71+action_83 (157) = happyShift action_72+action_83 (158) = happyShift action_73+action_83 (159) = happyShift action_74+action_83 (191) = happyShift action_92+action_83 (9) = happyGoto action_105+action_83 (14) = happyGoto action_106+action_83 (15) = happyGoto action_86+action_83 (102) = happyGoto action_87+action_83 _ = happyReduce_5++action_84 (195) = happyShift action_5+action_84 (16) = happyGoto action_103+action_84 (17) = happyGoto action_104+action_84 _ = happyReduce_29++action_85 (116) = happyShift action_88+action_85 (117) = happyShift action_89+action_85 (118) = happyShift action_90+action_85 (119) = happyShift action_91+action_85 (153) = happyShift action_68+action_85 (154) = happyShift action_69+action_85 (155) = happyShift action_70+action_85 (156) = happyShift action_71+action_85 (157) = happyShift action_72+action_85 (158) = happyShift action_73+action_85 (159) = happyShift action_74+action_85 (191) = happyShift action_92+action_85 (9) = happyGoto action_101+action_85 (15) = happyGoto action_102+action_85 (102) = happyGoto action_87+action_85 _ = happyFail++action_86 _ = happyReduce_26++action_87 (117) = happyShift action_100+action_87 _ = happyFail++action_88 (190) = happyShift action_96+action_88 (11) = happyGoto action_99+action_88 _ = happyFail++action_89 (190) = happyShift action_96+action_89 (11) = happyGoto action_98+action_89 _ = happyFail++action_90 (190) = happyShift action_96+action_90 (11) = happyGoto action_97+action_90 _ = happyFail++action_91 (190) = happyShift action_96+action_91 (195) = happyShift action_5+action_91 (11) = happyGoto action_94+action_91 (17) = happyGoto action_95+action_91 _ = happyFail++action_92 (195) = happyShift action_5+action_92 (17) = happyGoto action_93+action_92 _ = happyFail++action_93 (195) = happyShift action_232+action_93 _ = happyReduce_27++action_94 (195) = happyShift action_5+action_94 (17) = happyGoto action_351+action_94 _ = happyFail++action_95 (115) = happyShift action_38+action_95 (122) = happyShift action_39+action_95 (124) = happyShift action_40+action_95 (125) = happyShift action_41+action_95 (127) = happyShift action_42+action_95 (128) = happyShift action_43+action_95 (129) = happyShift action_44+action_95 (130) = happyShift action_45+action_95 (131) = happyShift action_46+action_95 (132) = happyShift action_47+action_95 (133) = happyShift action_48+action_95 (134) = happyShift action_49+action_95 (135) = happyShift action_50+action_95 (136) = happyShift action_51+action_95 (137) = happyShift action_52+action_95 (138) = happyShift action_53+action_95 (139) = happyShift action_54+action_95 (140) = happyShift action_55+action_95 (141) = happyShift action_56+action_95 (142) = happyShift action_57+action_95 (143) = happyShift action_58+action_95 (144) = happyShift action_59+action_95 (145) = happyShift action_60+action_95 (146) = happyShift action_61+action_95 (147) = happyShift action_62+action_95 (148) = happyShift action_63+action_95 (149) = happyShift action_64+action_95 (150) = happyShift action_65+action_95 (151) = happyShift action_66+action_95 (152) = happyShift action_67+action_95 (153) = happyShift action_68+action_95 (154) = happyShift action_69+action_95 (155) = happyShift action_70+action_95 (156) = happyShift action_71+action_95 (157) = happyShift action_72+action_95 (158) = happyShift action_73+action_95 (159) = happyShift action_74+action_95 (160) = happyShift action_75+action_95 (161) = happyShift action_76+action_95 (162) = happyShift action_77+action_95 (163) = happyShift action_78+action_95 (165) = happyShift action_79+action_95 (166) = happyShift action_80+action_95 (190) = happyShift action_24+action_95 (191) = happyShift action_92+action_95 (194) = happyShift action_350+action_95 (195) = happyShift action_232+action_95 (12) = happyGoto action_345+action_95 (13) = happyGoto action_346+action_95 (15) = happyGoto action_347+action_95 (18) = happyGoto action_348+action_95 (19) = happyGoto action_27+action_95 (20) = happyGoto action_28+action_95 (22) = happyGoto action_29+action_95 (37) = happyGoto action_30+action_95 (38) = happyGoto action_31+action_95 (39) = happyGoto action_32+action_95 (45) = happyGoto action_33+action_95 (50) = happyGoto action_34+action_95 (82) = happyGoto action_35+action_95 (89) = happyGoto action_36+action_95 (100) = happyGoto action_349+action_95 (102) = happyGoto action_37+action_95 _ = happyFail++action_96 _ = happyReduce_19++action_97 (108) = happyShift action_343+action_97 (10) = happyGoto action_344+action_97 _ = happyReduce_18++action_98 (108) = happyShift action_343+action_98 (10) = happyGoto action_342+action_98 _ = happyReduce_18++action_99 (195) = happyShift action_5+action_99 (17) = happyGoto action_341+action_99 _ = happyFail++action_100 (190) = happyShift action_96+action_100 (11) = happyGoto action_340+action_100 _ = happyFail++action_101 (195) = happyShift action_5+action_101 (16) = happyGoto action_339+action_101 (17) = happyGoto action_104+action_101 _ = happyReduce_29++action_102 _ = happyReduce_25++action_103 _ = happyReduce_9++action_104 (195) = happyShift action_232+action_104 _ = happyReduce_28++action_105 (195) = happyShift action_5+action_105 (16) = happyGoto action_338+action_105 (17) = happyGoto action_104+action_105 _ = happyReduce_29++action_106 (116) = happyShift action_88+action_106 (117) = happyShift action_89+action_106 (118) = happyShift action_90+action_106 (119) = happyShift action_91+action_106 (153) = happyShift action_68+action_106 (154) = happyShift action_69+action_106 (155) = happyShift action_70+action_106 (156) = happyShift action_71+action_106 (157) = happyShift action_72+action_106 (158) = happyShift action_73+action_106 (159) = happyShift action_74+action_106 (191) = happyShift action_92+action_106 (9) = happyGoto action_337+action_106 (15) = happyGoto action_102+action_106 (102) = happyGoto action_87+action_106 _ = happyReduce_6++action_107 (108) = happyShift action_108+action_107 (109) = happyShift action_328+action_107 (112) = happyShift action_329+action_107 (167) = happyShift action_330+action_107 (168) = happyShift action_331+action_107 (169) = happyShift action_332+action_107 (170) = happyShift action_333+action_107 (171) = happyShift action_334+action_107 (178) = happyShift action_335+action_107 (192) = happyShift action_336+action_107 (51) = happyGoto action_324+action_107 (52) = happyGoto action_325+action_107 (53) = happyGoto action_326+action_107 (97) = happyGoto action_327+action_107 _ = happyFail++action_108 _ = happyReduce_177++action_109 _ = happyReduce_207++action_110 (112) = happyShift action_323+action_110 _ = happyReduce_145++action_111 (112) = happyShift action_295+action_111 (178) = happyShift action_322+action_111 _ = happyFail++action_112 (108) = happyShift action_321+action_112 (40) = happyGoto action_319+action_112 (41) = happyGoto action_320+action_112 _ = happyReduce_151++action_113 (190) = happyShift action_24+action_113 (43) = happyGoto action_316+action_113 (44) = happyGoto action_317+action_113 (89) = happyGoto action_318+action_113 _ = happyFail++action_114 (112) = happyShift action_315+action_114 _ = happyReduce_149++action_115 _ = happyReduce_165++action_116 (108) = happyShift action_314+action_116 _ = happyFail++action_117 (177) = happyShift action_137+action_117 (105) = happyGoto action_313+action_117 _ = happyReduce_342++action_118 _ = happyReduce_343++action_119 _ = happyReduce_344++action_120 _ = happyReduce_345++action_121 _ = happyReduce_346++action_122 _ = happyReduce_347++action_123 _ = happyReduce_348++action_124 _ = happyReduce_148++action_125 (112) = happyShift action_302+action_125 _ = happyReduce_141++action_126 _ = happyReduce_223++action_127 _ = happyReduce_333++action_128 (108) = happyShift action_312+action_128 (113) = happyShift action_18+action_128 (171) = happyShift action_19+action_128 (174) = happyShift action_21+action_128 (175) = happyShift action_22+action_128 (190) = happyShift action_24+action_128 (80) = happyGoto action_311+action_128 (86) = happyGoto action_305+action_128 (89) = happyGoto action_306+action_128 (90) = happyGoto action_12+action_128 (91) = happyGoto action_13+action_128 (95) = happyGoto action_307+action_128 _ = happyFail++action_129 _ = happyReduce_332++action_130 _ = happyReduce_331++action_131 _ = happyReduce_330++action_132 _ = happyReduce_329++action_133 _ = happyReduce_328++action_134 _ = happyReduce_334++action_135 _ = happyReduce_339++action_136 (108) = happyShift action_310+action_136 (113) = happyShift action_18+action_136 (171) = happyShift action_19+action_136 (174) = happyShift action_21+action_136 (175) = happyShift action_22+action_136 (190) = happyShift action_24+action_136 (80) = happyGoto action_309+action_136 (86) = happyGoto action_305+action_136 (89) = happyGoto action_306+action_136 (90) = happyGoto action_12+action_136 (91) = happyGoto action_13+action_136 (95) = happyGoto action_307+action_136 _ = happyFail++action_137 (108) = happyShift action_308+action_137 (113) = happyShift action_18+action_137 (171) = happyShift action_19+action_137 (174) = happyShift action_21+action_137 (175) = happyShift action_22+action_137 (190) = happyShift action_24+action_137 (80) = happyGoto action_304+action_137 (86) = happyGoto action_305+action_137 (89) = happyGoto action_306+action_137 (90) = happyGoto action_12+action_137 (91) = happyGoto action_13+action_137 (95) = happyGoto action_307+action_137 _ = happyFail++action_138 (112) = happyShift action_303+action_138 _ = happyReduce_142++action_139 _ = happyReduce_213++action_140 (108) = happyShift action_259+action_140 _ = happyFail++action_141 (112) = happyShift action_302+action_141 _ = happyReduce_140++action_142 (112) = happyShift action_301+action_142 _ = happyReduce_144++action_143 (190) = happyShift action_24+action_143 (50) = happyGoto action_109+action_143 (63) = happyGoto action_300+action_143 (82) = happyGoto action_35+action_143 (89) = happyGoto action_36+action_143 _ = happyFail++action_144 (178) = happyShift action_299+action_144 (60) = happyGoto action_297+action_144 (62) = happyGoto action_298+action_144 _ = happyReduce_143++action_145 _ = happyReduce_199++action_146 (190) = happyShift action_24+action_146 (50) = happyGoto action_109+action_146 (63) = happyGoto action_296+action_146 (82) = happyGoto action_35+action_146 (89) = happyGoto action_36+action_146 _ = happyFail++action_147 (112) = happyShift action_295+action_147 _ = happyReduce_204++action_148 (178) = happyShift action_294+action_148 (190) = happyShift action_24+action_148 (89) = happyGoto action_274+action_148 _ = happyFail++action_149 _ = happyReduce_77++action_150 _ = happyReduce_76++action_151 _ = happyReduce_88++action_152 (108) = happyShift action_204+action_152 _ = happyReduce_87++action_153 _ = happyReduce_86++action_154 (171) = happyShift action_155+action_154 (177) = happyShift action_156+action_154 (190) = happyShift action_293+action_154 (24) = happyGoto action_290+action_154 (26) = happyGoto action_291+action_154 (27) = happyGoto action_292+action_154 (82) = happyGoto action_151+action_154 (89) = happyGoto action_152+action_154 (90) = happyGoto action_153+action_154 _ = happyFail++action_155 _ = happyReduce_309++action_156 _ = happyReduce_89++action_157 _ = happyReduce_79++action_158 _ = happyReduce_78++action_159 _ = happyReduce_75++action_160 _ = happyReduce_74++action_161 _ = happyReduce_73++action_162 _ = happyReduce_72++action_163 _ = happyReduce_71++action_164 (112) = happyShift action_289+action_164 (178) = happyShift action_286+action_164 _ = happyReduce_70++action_165 _ = happyReduce_82++action_166 _ = happyReduce_83++action_167 (108) = happyShift action_204+action_167 _ = happyReduce_84++action_168 _ = happyReduce_81++action_169 _ = happyReduce_85++action_170 (108) = happyShift action_16+action_170 (110) = happyShift action_17+action_170 (113) = happyShift action_18+action_170 (171) = happyShift action_19+action_170 (173) = happyShift action_20+action_170 (174) = happyShift action_21+action_170 (175) = happyShift action_22+action_170 (183) = happyShift action_23+action_170 (190) = happyShift action_24+action_170 (193) = happyShift action_25+action_170 (32) = happyGoto action_287+action_170 (75) = happyGoto action_288+action_170 (76) = happyGoto action_7+action_170 (78) = happyGoto action_8+action_170 (82) = happyGoto action_9+action_170 (86) = happyGoto action_10+action_170 (89) = happyGoto action_11+action_170 (90) = happyGoto action_12+action_170 (91) = happyGoto action_13+action_170 (95) = happyGoto action_14+action_170 (96) = happyGoto action_15+action_170 _ = happyReduce_68++action_171 (112) = happyShift action_285+action_171 (178) = happyShift action_286+action_171 _ = happyReduce_66++action_172 (108) = happyShift action_284+action_172 (190) = happyShift action_24+action_172 (30) = happyGoto action_280+action_172 (31) = happyGoto action_281+action_172 (82) = happyGoto action_282+action_172 (89) = happyGoto action_283+action_172 _ = happyReduce_64++action_173 (108) = happyShift action_16+action_173 (110) = happyShift action_17+action_173 (113) = happyShift action_18+action_173 (171) = happyShift action_19+action_173 (173) = happyShift action_20+action_173 (174) = happyShift action_21+action_173 (175) = happyShift action_22+action_173 (183) = happyShift action_23+action_173 (190) = happyShift action_24+action_173 (193) = happyShift action_25+action_173 (75) = happyGoto action_279+action_173 (76) = happyGoto action_7+action_173 (78) = happyGoto action_8+action_173 (82) = happyGoto action_9+action_173 (86) = happyGoto action_10+action_173 (89) = happyGoto action_11+action_173 (90) = happyGoto action_12+action_173 (91) = happyGoto action_13+action_173 (95) = happyGoto action_14+action_173 (96) = happyGoto action_15+action_173 _ = happyFail++action_174 _ = happyReduce_39++action_175 (112) = happyShift action_278+action_175 _ = happyFail++action_176 (112) = happyShift action_277+action_176 (190) = happyShift action_24+action_176 (21) = happyGoto action_276+action_176 (38) = happyGoto action_175+action_176 (50) = happyGoto action_34+action_176 (82) = happyGoto action_35+action_176 (89) = happyGoto action_36+action_176 _ = happyFail++action_177 _ = happyReduce_327++action_178 _ = happyReduce_61++action_179 _ = happyReduce_132++action_180 _ = happyReduce_133++action_181 _ = happyReduce_58++action_182 _ = happyReduce_56++action_183 (112) = happyShift action_275+action_183 _ = happyReduce_126++action_184 _ = happyReduce_129++action_185 _ = happyReduce_130++action_186 _ = happyReduce_131++action_187 (190) = happyShift action_24+action_187 (89) = happyGoto action_274+action_187 _ = happyFail++action_188 (174) = happyShift action_216+action_188 (175) = happyShift action_217+action_188 (176) = happyShift action_218+action_188 (177) = happyShift action_219+action_188 (178) = happyShift action_220+action_188 (179) = happyShift action_221+action_188 (180) = happyShift action_222+action_188 (181) = happyShift action_223+action_188 (182) = happyShift action_224+action_188 (184) = happyShift action_225+action_188 (185) = happyShift action_226+action_188 (186) = happyShift action_227+action_188 (187) = happyShift action_228+action_188 (188) = happyShift action_229+action_188 (189) = happyShift action_230+action_188 (81) = happyGoto action_215+action_188 _ = happyReduce_55++action_189 (108) = happyShift action_273+action_189 (72) = happyGoto action_271+action_189 (73) = happyGoto action_272+action_189 _ = happyReduce_53++action_190 (108) = happyShift action_16+action_190 (110) = happyShift action_17+action_190 (113) = happyShift action_18+action_190 (171) = happyShift action_19+action_190 (173) = happyShift action_20+action_190 (174) = happyShift action_21+action_190 (175) = happyShift action_22+action_190 (183) = happyShift action_23+action_190 (190) = happyShift action_24+action_190 (193) = happyShift action_25+action_190 (75) = happyGoto action_270+action_190 (76) = happyGoto action_7+action_190 (78) = happyGoto action_8+action_190 (82) = happyGoto action_9+action_190 (86) = happyGoto action_10+action_190 (89) = happyGoto action_11+action_190 (90) = happyGoto action_12+action_190 (91) = happyGoto action_13+action_190 (95) = happyGoto action_14+action_190 (96) = happyGoto action_15+action_190 _ = happyFail++action_191 (108) = happyShift action_16+action_191 (110) = happyShift action_17+action_191 (113) = happyShift action_18+action_191 (171) = happyShift action_19+action_191 (173) = happyShift action_20+action_191 (174) = happyShift action_21+action_191 (175) = happyShift action_22+action_191 (183) = happyShift action_23+action_191 (190) = happyShift action_24+action_191 (193) = happyShift action_25+action_191 (75) = happyGoto action_269+action_191 (76) = happyGoto action_7+action_191 (78) = happyGoto action_8+action_191 (82) = happyGoto action_9+action_191 (86) = happyGoto action_10+action_191 (89) = happyGoto action_11+action_191 (90) = happyGoto action_12+action_191 (91) = happyGoto action_13+action_191 (95) = happyGoto action_14+action_191 (96) = happyGoto action_15+action_191 _ = happyFail++action_192 (108) = happyShift action_196+action_192 (112) = happyShift action_268+action_192 (98) = happyGoto action_267+action_192 (99) = happyGoto action_194+action_192 _ = happyFail++action_193 (108) = happyShift action_16+action_193 (110) = happyShift action_17+action_193 (112) = happyShift action_266+action_193 (113) = happyShift action_18+action_193 (171) = happyShift action_19+action_193 (173) = happyShift action_20+action_193 (174) = happyShift action_21+action_193 (175) = happyShift action_22+action_193 (183) = happyShift action_23+action_193 (190) = happyShift action_24+action_193 (193) = happyShift action_25+action_193 (75) = happyGoto action_265+action_193 (76) = happyGoto action_7+action_193 (78) = happyGoto action_8+action_193 (82) = happyGoto action_9+action_193 (86) = happyGoto action_10+action_193 (89) = happyGoto action_11+action_193 (90) = happyGoto action_12+action_193 (91) = happyGoto action_13+action_193 (95) = happyGoto action_14+action_193 (96) = happyGoto action_15+action_193 _ = happyFail++action_194 (109) = happyShift action_263+action_194 (112) = happyShift action_264+action_194 _ = happyFail++action_195 _ = happyReduce_134++action_196 (171) = happyShift action_177+action_196 (101) = happyGoto action_262+action_196 _ = happyFail++action_197 (123) = happyShift action_261+action_197 _ = happyFail++action_198 _ = happyReduce_153++action_199 (112) = happyShift action_260+action_199 _ = happyReduce_163++action_200 _ = happyReduce_209++action_201 _ = happyReduce_210++action_202 _ = happyReduce_211++action_203 (108) = happyShift action_259+action_203 _ = happyReduce_215++action_204 (108) = happyShift action_16+action_204 (109) = happyShift action_257+action_204 (110) = happyShift action_17+action_204 (113) = happyShift action_18+action_204 (114) = happyShift action_258+action_204 (171) = happyShift action_19+action_204 (173) = happyShift action_20+action_204 (174) = happyShift action_21+action_204 (175) = happyShift action_22+action_204 (183) = happyShift action_23+action_204 (190) = happyShift action_24+action_204 (193) = happyShift action_25+action_204 (75) = happyGoto action_253+action_204 (76) = happyGoto action_7+action_204 (78) = happyGoto action_8+action_204 (82) = happyGoto action_9+action_204 (83) = happyGoto action_254+action_204 (84) = happyGoto action_255+action_204 (85) = happyGoto action_256+action_204 (86) = happyGoto action_10+action_204 (89) = happyGoto action_11+action_204 (90) = happyGoto action_12+action_204 (91) = happyGoto action_13+action_204 (95) = happyGoto action_14+action_204 (96) = happyGoto action_15+action_204 _ = happyFail++action_205 (108) = happyShift action_16+action_205 (110) = happyShift action_17+action_205 (113) = happyShift action_18+action_205 (171) = happyShift action_19+action_205 (173) = happyShift action_20+action_205 (174) = happyShift action_21+action_205 (175) = happyShift action_22+action_205 (183) = happyShift action_23+action_205 (190) = happyShift action_24+action_205 (193) = happyShift action_25+action_205 (75) = happyGoto action_252+action_205 (76) = happyGoto action_7+action_205 (78) = happyGoto action_8+action_205 (82) = happyGoto action_9+action_205 (86) = happyGoto action_10+action_205 (89) = happyGoto action_11+action_205 (90) = happyGoto action_12+action_205 (91) = happyGoto action_13+action_205 (95) = happyGoto action_14+action_205 (96) = happyGoto action_15+action_205 _ = happyFail++action_206 (174) = happyShift action_216+action_206 (175) = happyShift action_217+action_206 (176) = happyShift action_218+action_206 (177) = happyShift action_219+action_206 (178) = happyShift action_220+action_206 (184) = happyShift action_225+action_206 (185) = happyShift action_226+action_206 (186) = happyShift action_227+action_206 (187) = happyShift action_228+action_206 (188) = happyShift action_229+action_206 (189) = happyShift action_230+action_206 (81) = happyGoto action_215+action_206 _ = happyReduce_239++action_207 _ = happyReduce_310++action_208 (171) = happyShift action_251+action_208 (172) = happyShift action_209+action_208 (92) = happyGoto action_250+action_208 (93) = happyGoto action_249+action_208 _ = happyReduce_315++action_209 _ = happyReduce_316++action_210 (172) = happyShift action_209+action_210 (92) = happyGoto action_248+action_210 (93) = happyGoto action_249+action_210 _ = happyReduce_315++action_211 (174) = happyShift action_216+action_211 (175) = happyShift action_217+action_211 (176) = happyShift action_218+action_211 (177) = happyShift action_219+action_211 (178) = happyShift action_220+action_211 (179) = happyShift action_221+action_211 (180) = happyShift action_222+action_211 (181) = happyShift action_223+action_211 (182) = happyShift action_224+action_211 (184) = happyShift action_225+action_211 (185) = happyShift action_226+action_211 (186) = happyShift action_227+action_211 (187) = happyShift action_228+action_211 (188) = happyShift action_229+action_211 (189) = happyShift action_230+action_211 (81) = happyGoto action_215+action_211 _ = happyReduce_256++action_212 (111) = happyShift action_246+action_212 (112) = happyShift action_247+action_212 _ = happyFail++action_213 (109) = happyShift action_244+action_213 (112) = happyShift action_245+action_213 (174) = happyShift action_216+action_213 (175) = happyShift action_217+action_213 (176) = happyShift action_218+action_213 (177) = happyShift action_219+action_213 (178) = happyShift action_220+action_213 (179) = happyShift action_221+action_213 (180) = happyShift action_222+action_213 (181) = happyShift action_223+action_213 (182) = happyShift action_224+action_213 (184) = happyShift action_225+action_213 (185) = happyShift action_226+action_213 (186) = happyShift action_227+action_213 (187) = happyShift action_228+action_213 (188) = happyShift action_229+action_213 (189) = happyShift action_230+action_213 (81) = happyGoto action_215+action_213 _ = happyFail++action_214 (176) = happyShift action_218+action_214 (81) = happyGoto action_215+action_214 _ = happyReduce_236++action_215 (108) = happyShift action_16+action_215 (110) = happyShift action_17+action_215 (113) = happyShift action_18+action_215 (171) = happyShift action_19+action_215 (173) = happyShift action_20+action_215 (174) = happyShift action_21+action_215 (175) = happyShift action_22+action_215 (183) = happyShift action_23+action_215 (190) = happyShift action_24+action_215 (193) = happyShift action_25+action_215 (75) = happyGoto action_243+action_215 (76) = happyGoto action_7+action_215 (78) = happyGoto action_8+action_215 (82) = happyGoto action_9+action_215 (86) = happyGoto action_10+action_215 (89) = happyGoto action_11+action_215 (90) = happyGoto action_12+action_215 (91) = happyGoto action_13+action_215 (95) = happyGoto action_14+action_215 (96) = happyGoto action_15+action_215 _ = happyFail++action_216 (108) = happyShift action_16+action_216 (110) = happyShift action_17+action_216 (113) = happyShift action_18+action_216 (171) = happyShift action_19+action_216 (173) = happyShift action_20+action_216 (174) = happyShift action_21+action_216 (175) = happyShift action_22+action_216 (183) = happyShift action_23+action_216 (190) = happyShift action_24+action_216 (193) = happyShift action_25+action_216 (75) = happyGoto action_242+action_216 (76) = happyGoto action_7+action_216 (78) = happyGoto action_8+action_216 (82) = happyGoto action_9+action_216 (86) = happyGoto action_10+action_216 (89) = happyGoto action_11+action_216 (90) = happyGoto action_12+action_216 (91) = happyGoto action_13+action_216 (95) = happyGoto action_14+action_216 (96) = happyGoto action_15+action_216 _ = happyFail++action_217 (108) = happyShift action_16+action_217 (110) = happyShift action_17+action_217 (113) = happyShift action_18+action_217 (171) = happyShift action_19+action_217 (173) = happyShift action_20+action_217 (174) = happyShift action_21+action_217 (175) = happyShift action_22+action_217 (183) = happyShift action_23+action_217 (190) = happyShift action_24+action_217 (193) = happyShift action_25+action_217 (75) = happyGoto action_241+action_217 (76) = happyGoto action_7+action_217 (78) = happyGoto action_8+action_217 (82) = happyGoto action_9+action_217 (86) = happyGoto action_10+action_217 (89) = happyGoto action_11+action_217 (90) = happyGoto action_12+action_217 (91) = happyGoto action_13+action_217 (95) = happyGoto action_14+action_217 (96) = happyGoto action_15+action_217 _ = happyFail++action_218 (108) = happyShift action_16+action_218 (110) = happyShift action_17+action_218 (113) = happyShift action_18+action_218 (171) = happyShift action_19+action_218 (173) = happyShift action_20+action_218 (174) = happyShift action_21+action_218 (175) = happyShift action_22+action_218 (183) = happyShift action_23+action_218 (190) = happyShift action_24+action_218 (193) = happyShift action_25+action_218 (75) = happyGoto action_240+action_218 (76) = happyGoto action_7+action_218 (78) = happyGoto action_8+action_218 (82) = happyGoto action_9+action_218 (86) = happyGoto action_10+action_218 (89) = happyGoto action_11+action_218 (90) = happyGoto action_12+action_218 (91) = happyGoto action_13+action_218 (95) = happyGoto action_14+action_218 (96) = happyGoto action_15+action_218 _ = happyFail++action_219 (108) = happyShift action_16+action_219 (110) = happyShift action_17+action_219 (113) = happyShift action_18+action_219 (171) = happyShift action_19+action_219 (173) = happyShift action_20+action_219 (174) = happyShift action_21+action_219 (175) = happyShift action_22+action_219 (183) = happyShift action_23+action_219 (190) = happyShift action_24+action_219 (193) = happyShift action_25+action_219 (75) = happyGoto action_239+action_219 (76) = happyGoto action_7+action_219 (78) = happyGoto action_8+action_219 (82) = happyGoto action_9+action_219 (86) = happyGoto action_10+action_219 (89) = happyGoto action_11+action_219 (90) = happyGoto action_12+action_219 (91) = happyGoto action_13+action_219 (95) = happyGoto action_14+action_219 (96) = happyGoto action_15+action_219 _ = happyFail++action_220 (108) = happyShift action_16+action_220 (110) = happyShift action_17+action_220 (113) = happyShift action_18+action_220 (171) = happyShift action_19+action_220 (173) = happyShift action_20+action_220 (174) = happyShift action_21+action_220 (175) = happyShift action_22+action_220 (178) = happyShift action_238+action_220 (183) = happyShift action_23+action_220 (190) = happyShift action_24+action_220 (193) = happyShift action_25+action_220 (75) = happyGoto action_237+action_220 (76) = happyGoto action_7+action_220 (78) = happyGoto action_8+action_220 (82) = happyGoto action_9+action_220 (86) = happyGoto action_10+action_220 (89) = happyGoto action_11+action_220 (90) = happyGoto action_12+action_220 (91) = happyGoto action_13+action_220 (95) = happyGoto action_14+action_220 (96) = happyGoto action_15+action_220 _ = happyFail++action_221 (108) = happyShift action_16+action_221 (110) = happyShift action_17+action_221 (113) = happyShift action_18+action_221 (171) = happyShift action_19+action_221 (173) = happyShift action_20+action_221 (174) = happyShift action_21+action_221 (175) = happyShift action_22+action_221 (183) = happyShift action_23+action_221 (190) = happyShift action_24+action_221 (193) = happyShift action_25+action_221 (75) = happyGoto action_236+action_221 (76) = happyGoto action_7+action_221 (78) = happyGoto action_8+action_221 (82) = happyGoto action_9+action_221 (86) = happyGoto action_10+action_221 (89) = happyGoto action_11+action_221 (90) = happyGoto action_12+action_221 (91) = happyGoto action_13+action_221 (95) = happyGoto action_14+action_221 (96) = happyGoto action_15+action_221 _ = happyFail++action_222 (108) = happyShift action_16+action_222 (110) = happyShift action_17+action_222 (113) = happyShift action_18+action_222 (171) = happyShift action_19+action_222 (173) = happyShift action_20+action_222 (174) = happyShift action_21+action_222 (175) = happyShift action_22+action_222 (183) = happyShift action_23+action_222 (190) = happyShift action_24+action_222 (193) = happyShift action_25+action_222 (75) = happyGoto action_235+action_222 (76) = happyGoto action_7+action_222 (78) = happyGoto action_8+action_222 (82) = happyGoto action_9+action_222 (86) = happyGoto action_10+action_222 (89) = happyGoto action_11+action_222 (90) = happyGoto action_12+action_222 (91) = happyGoto action_13+action_222 (95) = happyGoto action_14+action_222 (96) = happyGoto action_15+action_222 _ = happyFail++action_223 (108) = happyShift action_16+action_223 (110) = happyShift action_17+action_223 (113) = happyShift action_18+action_223 (171) = happyShift action_19+action_223 (173) = happyShift action_20+action_223 (174) = happyShift action_21+action_223 (175) = happyShift action_22+action_223 (183) = happyShift action_23+action_223 (190) = happyShift action_24+action_223 (193) = happyShift action_25+action_223 (75) = happyGoto action_234+action_223 (76) = happyGoto action_7+action_223 (78) = happyGoto action_8+action_223 (82) = happyGoto action_9+action_223 (86) = happyGoto action_10+action_223 (89) = happyGoto action_11+action_223 (90) = happyGoto action_12+action_223 (91) = happyGoto action_13+action_223 (95) = happyGoto action_14+action_223 (96) = happyGoto action_15+action_223 _ = happyFail++action_224 (108) = happyShift action_16+action_224 (110) = happyShift action_17+action_224 (113) = happyShift action_18+action_224 (171) = happyShift action_19+action_224 (173) = happyShift action_20+action_224 (174) = happyShift action_21+action_224 (175) = happyShift action_22+action_224 (183) = happyShift action_23+action_224 (190) = happyShift action_24+action_224 (193) = happyShift action_25+action_224 (75) = happyGoto action_233+action_224 (76) = happyGoto action_7+action_224 (78) = happyGoto action_8+action_224 (82) = happyGoto action_9+action_224 (86) = happyGoto action_10+action_224 (89) = happyGoto action_11+action_224 (90) = happyGoto action_12+action_224 (91) = happyGoto action_13+action_224 (95) = happyGoto action_14+action_224 (96) = happyGoto action_15+action_224 _ = happyFail++action_225 _ = happyReduce_289++action_226 _ = happyReduce_290++action_227 _ = happyReduce_287++action_228 _ = happyReduce_288++action_229 _ = happyReduce_285++action_230 _ = happyReduce_286++action_231 _ = happyReduce_3++action_232 _ = happyReduce_30++action_233 (174) = happyShift action_216+action_233 (175) = happyShift action_217+action_233 (176) = happyShift action_218+action_233 (177) = happyShift action_219+action_233 (178) = happyShift action_220+action_233 (184) = happyShift action_225+action_233 (185) = happyShift action_226+action_233 (186) = happyShift action_227+action_233 (187) = happyShift action_228+action_233 (188) = happyShift action_229+action_233 (189) = happyShift action_230+action_233 (81) = happyGoto action_215+action_233 _ = happyReduce_238++action_234 (174) = happyShift action_216+action_234 (175) = happyShift action_217+action_234 (176) = happyShift action_218+action_234 (177) = happyShift action_219+action_234 (178) = happyShift action_220+action_234 (182) = happyShift action_224+action_234 (184) = happyShift action_225+action_234 (185) = happyShift action_226+action_234 (186) = happyShift action_227+action_234 (187) = happyShift action_228+action_234 (188) = happyShift action_229+action_234 (189) = happyShift action_230+action_234 (81) = happyGoto action_215+action_234 _ = happyReduce_237++action_235 (174) = happyShift action_216+action_235 (175) = happyShift action_217+action_235 (176) = happyShift action_218+action_235 (177) = happyShift action_219+action_235 (178) = happyShift action_220+action_235 (181) = happyShift action_223+action_235 (182) = happyShift action_224+action_235 (184) = happyShift action_225+action_235 (185) = happyShift action_226+action_235 (186) = happyShift action_227+action_235 (187) = happyShift action_228+action_235 (188) = happyShift action_229+action_235 (189) = happyShift action_230+action_235 (81) = happyGoto action_215+action_235 _ = happyReduce_241++action_236 (174) = happyShift action_216+action_236 (175) = happyShift action_217+action_236 (176) = happyShift action_218+action_236 (177) = happyShift action_219+action_236 (178) = happyShift action_220+action_236 (181) = happyShift action_223+action_236 (182) = happyShift action_224+action_236 (184) = happyShift action_225+action_236 (185) = happyShift action_226+action_236 (186) = happyShift action_227+action_236 (187) = happyShift action_228+action_236 (188) = happyShift action_229+action_236 (189) = happyShift action_230+action_236 (81) = happyGoto action_215+action_236 _ = happyReduce_240++action_237 (176) = happyShift action_218+action_237 (81) = happyGoto action_215+action_237 _ = happyReduce_233++action_238 (108) = happyShift action_16+action_238 (110) = happyShift action_17+action_238 (113) = happyShift action_18+action_238 (171) = happyShift action_19+action_238 (173) = happyShift action_20+action_238 (174) = happyShift action_21+action_238 (175) = happyShift action_22+action_238 (183) = happyShift action_23+action_238 (190) = happyShift action_24+action_238 (193) = happyShift action_25+action_238 (75) = happyGoto action_453+action_238 (76) = happyGoto action_7+action_238 (78) = happyGoto action_8+action_238 (82) = happyGoto action_9+action_238 (86) = happyGoto action_10+action_238 (89) = happyGoto action_11+action_238 (90) = happyGoto action_12+action_238 (91) = happyGoto action_13+action_238 (95) = happyGoto action_14+action_238 (96) = happyGoto action_15+action_238 _ = happyFail++action_239 (176) = happyShift action_218+action_239 (81) = happyGoto action_215+action_239 _ = happyReduce_232++action_240 (176) = happyShift action_218+action_240 (81) = happyGoto action_215+action_240 _ = happyReduce_234++action_241 (176) = happyShift action_218+action_241 (177) = happyShift action_219+action_241 (178) = happyShift action_220+action_241 (81) = happyGoto action_215+action_241 _ = happyReduce_231++action_242 (176) = happyShift action_218+action_242 (177) = happyShift action_219+action_242 (178) = happyShift action_220+action_242 (81) = happyGoto action_215+action_242 _ = happyReduce_230++action_243 (174) = happyShift action_216+action_243 (175) = happyShift action_217+action_243 (176) = happyShift action_218+action_243 (177) = happyShift action_219+action_243 (178) = happyShift action_220+action_243 (81) = happyGoto action_215+action_243 _ = happyReduce_242++action_244 _ = happyReduce_243++action_245 (108) = happyShift action_16+action_245 (110) = happyShift action_17+action_245 (113) = happyShift action_18+action_245 (171) = happyShift action_19+action_245 (173) = happyShift action_20+action_245 (174) = happyShift action_21+action_245 (175) = happyShift action_22+action_245 (183) = happyShift action_23+action_245 (190) = happyShift action_24+action_245 (193) = happyShift action_25+action_245 (21) = happyGoto action_449+action_245 (38) = happyGoto action_175+action_245 (50) = happyGoto action_34+action_245 (75) = happyGoto action_450+action_245 (76) = happyGoto action_7+action_245 (78) = happyGoto action_8+action_245 (82) = happyGoto action_451+action_245 (86) = happyGoto action_10+action_245 (89) = happyGoto action_452+action_245 (90) = happyGoto action_12+action_245 (91) = happyGoto action_13+action_245 (95) = happyGoto action_14+action_245 (96) = happyGoto action_15+action_245 _ = happyFail++action_246 _ = happyReduce_251++action_247 (108) = happyShift action_16+action_247 (110) = happyShift action_17+action_247 (113) = happyShift action_18+action_247 (171) = happyShift action_19+action_247 (173) = happyShift action_20+action_247 (174) = happyShift action_21+action_247 (175) = happyShift action_22+action_247 (183) = happyShift action_23+action_247 (190) = happyShift action_24+action_247 (193) = happyShift action_25+action_247 (75) = happyGoto action_448+action_247 (76) = happyGoto action_7+action_247 (78) = happyGoto action_8+action_247 (82) = happyGoto action_9+action_247 (86) = happyGoto action_10+action_247 (89) = happyGoto action_11+action_247 (90) = happyGoto action_12+action_247 (91) = happyGoto action_13+action_247 (95) = happyGoto action_14+action_247 (96) = happyGoto action_15+action_247 _ = happyFail++action_248 _ = happyReduce_312++action_249 _ = happyReduce_314++action_250 _ = happyReduce_311++action_251 (172) = happyShift action_209+action_251 (92) = happyGoto action_447+action_251 (93) = happyGoto action_249+action_251 _ = happyReduce_315++action_252 (174) = happyShift action_216+action_252 (175) = happyShift action_217+action_252 (176) = happyShift action_218+action_252 (177) = happyShift action_219+action_252 (178) = happyShift action_220+action_252 (179) = happyShift action_221+action_252 (180) = happyShift action_222+action_252 (181) = happyShift action_223+action_252 (182) = happyShift action_224+action_252 (184) = happyShift action_225+action_252 (185) = happyShift action_226+action_252 (186) = happyShift action_227+action_252 (187) = happyShift action_228+action_252 (188) = happyShift action_229+action_252 (189) = happyShift action_230+action_252 (81) = happyGoto action_215+action_252 _ = happyReduce_139++action_253 (114) = happyShift action_446+action_253 (174) = happyShift action_216+action_253 (175) = happyShift action_217+action_253 (176) = happyShift action_218+action_253 (177) = happyShift action_219+action_253 (178) = happyShift action_220+action_253 (179) = happyShift action_221+action_253 (180) = happyShift action_222+action_253 (181) = happyShift action_223+action_253 (182) = happyShift action_224+action_253 (184) = happyShift action_225+action_253 (185) = happyShift action_226+action_253 (186) = happyShift action_227+action_253 (187) = happyShift action_228+action_253 (188) = happyShift action_229+action_253 (189) = happyShift action_230+action_253 (81) = happyGoto action_215+action_253 _ = happyReduce_297++action_254 (109) = happyShift action_444+action_254 (112) = happyShift action_445+action_254 _ = happyFail++action_255 _ = happyReduce_295++action_256 _ = happyReduce_296++action_257 _ = happyReduce_291++action_258 (108) = happyShift action_16+action_258 (110) = happyShift action_17+action_258 (113) = happyShift action_18+action_258 (171) = happyShift action_19+action_258 (173) = happyShift action_20+action_258 (174) = happyShift action_21+action_258 (175) = happyShift action_22+action_258 (183) = happyShift action_23+action_258 (190) = happyShift action_24+action_258 (193) = happyShift action_25+action_258 (75) = happyGoto action_443+action_258 (76) = happyGoto action_7+action_258 (78) = happyGoto action_8+action_258 (82) = happyGoto action_9+action_258 (86) = happyGoto action_10+action_258 (89) = happyGoto action_11+action_258 (90) = happyGoto action_12+action_258 (91) = happyGoto action_13+action_258 (95) = happyGoto action_14+action_258 (96) = happyGoto action_15+action_258 _ = happyReduce_298++action_259 (108) = happyShift action_16+action_259 (110) = happyShift action_17+action_259 (113) = happyShift action_18+action_259 (171) = happyShift action_19+action_259 (173) = happyShift action_20+action_259 (174) = happyShift action_21+action_259 (175) = happyShift action_22+action_259 (177) = happyShift action_442+action_259 (183) = happyShift action_23+action_259 (190) = happyShift action_24+action_259 (193) = happyShift action_25+action_259 (69) = happyGoto action_439+action_259 (70) = happyGoto action_440+action_259 (75) = happyGoto action_441+action_259 (76) = happyGoto action_7+action_259 (78) = happyGoto action_8+action_259 (82) = happyGoto action_9+action_259 (86) = happyGoto action_10+action_259 (89) = happyGoto action_11+action_259 (90) = happyGoto action_12+action_259 (91) = happyGoto action_13+action_259 (95) = happyGoto action_14+action_259 (96) = happyGoto action_15+action_259 _ = happyFail++action_260 (190) = happyShift action_24+action_260 (65) = happyGoto action_438+action_260 (67) = happyGoto action_201+action_260 (68) = happyGoto action_202+action_260 (89) = happyGoto action_203+action_260 _ = happyFail++action_261 (190) = happyShift action_24+action_261 (89) = happyGoto action_437+action_261 _ = happyFail++action_262 _ = happyReduce_325++action_263 _ = happyReduce_323++action_264 (171) = happyShift action_177+action_264 (101) = happyGoto action_436+action_264 _ = happyFail++action_265 (174) = happyShift action_216+action_265 (175) = happyShift action_217+action_265 (176) = happyShift action_218+action_265 (177) = happyShift action_219+action_265 (178) = happyShift action_220+action_265 (179) = happyShift action_221+action_265 (180) = happyShift action_222+action_265 (181) = happyShift action_223+action_265 (182) = happyShift action_224+action_265 (184) = happyShift action_225+action_265 (185) = happyShift action_226+action_265 (186) = happyShift action_227+action_265 (187) = happyShift action_228+action_265 (188) = happyShift action_229+action_265 (189) = happyShift action_230+action_265 (81) = happyGoto action_215+action_265 _ = happyReduce_137++action_266 (108) = happyShift action_16+action_266 (110) = happyShift action_17+action_266 (113) = happyShift action_18+action_266 (171) = happyShift action_19+action_266 (173) = happyShift action_20+action_266 (174) = happyShift action_21+action_266 (175) = happyShift action_22+action_266 (183) = happyShift action_23+action_266 (190) = happyShift action_24+action_266 (193) = happyShift action_25+action_266 (75) = happyGoto action_435+action_266 (76) = happyGoto action_7+action_266 (78) = happyGoto action_8+action_266 (82) = happyGoto action_9+action_266 (86) = happyGoto action_10+action_266 (89) = happyGoto action_11+action_266 (90) = happyGoto action_12+action_266 (91) = happyGoto action_13+action_266 (95) = happyGoto action_14+action_266 (96) = happyGoto action_15+action_266 _ = happyFail++action_267 _ = happyReduce_135++action_268 (108) = happyShift action_196+action_268 (98) = happyGoto action_434+action_268 (99) = happyGoto action_194+action_268 _ = happyFail++action_269 (109) = happyShift action_433+action_269 (174) = happyShift action_216+action_269 (175) = happyShift action_217+action_269 (176) = happyShift action_218+action_269 (177) = happyShift action_219+action_269 (178) = happyShift action_220+action_269 (179) = happyShift action_221+action_269 (180) = happyShift action_222+action_269 (181) = happyShift action_223+action_269 (182) = happyShift action_224+action_269 (184) = happyShift action_225+action_269 (185) = happyShift action_226+action_269 (186) = happyShift action_227+action_269 (187) = happyShift action_228+action_269 (188) = happyShift action_229+action_269 (189) = happyShift action_230+action_269 (81) = happyGoto action_215+action_269 _ = happyFail++action_270 (109) = happyShift action_432+action_270 (174) = happyShift action_216+action_270 (175) = happyShift action_217+action_270 (176) = happyShift action_218+action_270 (177) = happyShift action_219+action_270 (178) = happyShift action_220+action_270 (179) = happyShift action_221+action_270 (180) = happyShift action_222+action_270 (181) = happyShift action_223+action_270 (182) = happyShift action_224+action_270 (184) = happyShift action_225+action_270 (185) = happyShift action_226+action_270 (186) = happyShift action_227+action_270 (187) = happyShift action_228+action_270 (188) = happyShift action_229+action_270 (189) = happyShift action_230+action_270 (81) = happyGoto action_215+action_270 _ = happyFail++action_271 _ = happyReduce_52++action_272 (109) = happyShift action_430+action_272 (112) = happyShift action_431+action_272 _ = happyFail++action_273 (108) = happyShift action_16+action_273 (110) = happyShift action_17+action_273 (113) = happyShift action_18+action_273 (171) = happyShift action_19+action_273 (173) = happyShift action_20+action_273 (174) = happyShift action_21+action_273 (175) = happyShift action_22+action_273 (183) = happyShift action_23+action_273 (190) = happyShift action_24+action_273 (192) = happyShift action_336+action_273 (193) = happyShift action_25+action_273 (74) = happyGoto action_427+action_273 (75) = happyGoto action_428+action_273 (76) = happyGoto action_7+action_273 (78) = happyGoto action_8+action_273 (82) = happyGoto action_9+action_273 (86) = happyGoto action_10+action_273 (89) = happyGoto action_11+action_273 (90) = happyGoto action_12+action_273 (91) = happyGoto action_13+action_273 (95) = happyGoto action_14+action_273 (96) = happyGoto action_15+action_273 (97) = happyGoto action_429+action_273 _ = happyReduce_227++action_274 (178) = happyShift action_426+action_274 _ = happyFail++action_275 (178) = happyShift action_187+action_275 (190) = happyShift action_24+action_275 (35) = happyGoto action_425+action_275 (62) = happyGoto action_185+action_275 (89) = happyGoto action_186+action_275 _ = happyFail++action_276 _ = happyReduce_37++action_277 (190) = happyShift action_24+action_277 (21) = happyGoto action_424+action_277 (38) = happyGoto action_175+action_277 (50) = happyGoto action_34+action_277 (82) = happyGoto action_35+action_277 (89) = happyGoto action_36+action_277 _ = happyFail++action_278 (108) = happyShift action_16+action_278 (110) = happyShift action_17+action_278 (113) = happyShift action_18+action_278 (171) = happyShift action_19+action_278 (173) = happyShift action_20+action_278 (174) = happyShift action_21+action_278 (175) = happyShift action_22+action_278 (183) = happyShift action_23+action_278 (190) = happyShift action_24+action_278 (193) = happyShift action_25+action_278 (75) = happyGoto action_423+action_278 (76) = happyGoto action_7+action_278 (78) = happyGoto action_8+action_278 (82) = happyGoto action_9+action_278 (86) = happyGoto action_10+action_278 (89) = happyGoto action_11+action_278 (90) = happyGoto action_12+action_278 (91) = happyGoto action_13+action_278 (95) = happyGoto action_14+action_278 (96) = happyGoto action_15+action_278 _ = happyFail++action_279 (109) = happyShift action_422+action_279 (174) = happyShift action_216+action_279 (175) = happyShift action_217+action_279 (176) = happyShift action_218+action_279 (177) = happyShift action_219+action_279 (178) = happyShift action_220+action_279 (179) = happyShift action_221+action_279 (180) = happyShift action_222+action_279 (181) = happyShift action_223+action_279 (182) = happyShift action_224+action_279 (184) = happyShift action_225+action_279 (185) = happyShift action_226+action_279 (186) = happyShift action_227+action_279 (187) = happyShift action_228+action_279 (188) = happyShift action_229+action_279 (189) = happyShift action_230+action_279 (81) = happyGoto action_215+action_279 _ = happyFail++action_280 (112) = happyShift action_421+action_280 _ = happyReduce_63++action_281 _ = happyReduce_120++action_282 _ = happyReduce_122++action_283 (108) = happyShift action_204+action_283 _ = happyReduce_121++action_284 (108) = happyShift action_284+action_284 (190) = happyShift action_24+action_284 (30) = happyGoto action_420+action_284 (31) = happyGoto action_281+action_284 (82) = happyGoto action_282+action_284 (89) = happyGoto action_283+action_284 _ = happyFail++action_285 (108) = happyShift action_284+action_285 (190) = happyShift action_24+action_285 (30) = happyGoto action_419+action_285 (31) = happyGoto action_281+action_285 (82) = happyGoto action_282+action_285 (89) = happyGoto action_283+action_285 _ = happyFail++action_286 (178) = happyShift action_418+action_286 _ = happyFail++action_287 (112) = happyShift action_417+action_287 _ = happyReduce_67++action_288 (174) = happyShift action_216+action_288 (175) = happyShift action_217+action_288 (176) = happyShift action_218+action_288 (177) = happyShift action_219+action_288 (178) = happyShift action_220+action_288 (179) = happyShift action_221+action_288 (180) = happyShift action_222+action_288 (181) = happyShift action_223+action_288 (182) = happyShift action_224+action_288 (184) = happyShift action_225+action_288 (185) = happyShift action_226+action_288 (186) = happyShift action_227+action_288 (187) = happyShift action_228+action_288 (188) = happyShift action_229+action_288 (189) = happyShift action_230+action_288 (81) = happyGoto action_215+action_288 _ = happyReduce_125++action_289 (108) = happyShift action_16+action_289 (110) = happyShift action_17+action_289 (113) = happyShift action_18+action_289 (171) = happyShift action_19+action_289 (173) = happyShift action_20+action_289 (174) = happyShift action_21+action_289 (175) = happyShift action_22+action_289 (183) = happyShift action_23+action_289 (190) = happyShift action_24+action_289 (193) = happyShift action_25+action_289 (32) = happyGoto action_416+action_289 (75) = happyGoto action_288+action_289 (76) = happyGoto action_7+action_289 (78) = happyGoto action_8+action_289 (82) = happyGoto action_9+action_289 (86) = happyGoto action_10+action_289 (89) = happyGoto action_11+action_289 (90) = happyGoto action_12+action_289 (91) = happyGoto action_13+action_289 (95) = happyGoto action_14+action_289 (96) = happyGoto action_15+action_289 _ = happyFail++action_290 (109) = happyShift action_414+action_290 (112) = happyShift action_415+action_290 _ = happyFail++action_291 (109) = happyShift action_412+action_291 (112) = happyShift action_413+action_291 _ = happyFail++action_292 _ = happyReduce_96++action_293 (121) = happyShift action_411+action_293 _ = happyReduce_308++action_294 (190) = happyShift action_24+action_294 (50) = happyGoto action_109+action_294 (63) = happyGoto action_410+action_294 (82) = happyGoto action_35+action_294 (89) = happyGoto action_36+action_294 _ = happyFail++action_295 (190) = happyShift action_24+action_295 (50) = happyGoto action_409+action_295 (82) = happyGoto action_35+action_295 (89) = happyGoto action_36+action_295 _ = happyFail++action_296 (112) = happyShift action_295+action_296 _ = happyReduce_202++action_297 _ = happyReduce_198++action_298 (190) = happyShift action_24+action_298 (50) = happyGoto action_109+action_298 (63) = happyGoto action_408+action_298 (82) = happyGoto action_35+action_298 (89) = happyGoto action_36+action_298 _ = happyFail++action_299 (178) = happyShift action_407+action_299 (190) = happyShift action_24+action_299 (89) = happyGoto action_274+action_299 _ = happyFail++action_300 (109) = happyShift action_406+action_300 (112) = happyShift action_295+action_300 _ = happyFail++action_301 (108) = happyShift action_405+action_301 _ = happyFail++action_302 (190) = happyShift action_24+action_302 (89) = happyGoto action_404+action_302 _ = happyFail++action_303 (190) = happyShift action_24+action_303 (67) = happyGoto action_403+action_303 (89) = happyGoto action_140+action_303 _ = happyFail++action_304 (174) = happyShift action_395+action_304 (175) = happyShift action_396+action_304 (176) = happyShift action_397+action_304 (177) = happyShift action_398+action_304 (178) = happyShift action_399+action_304 _ = happyReduce_340++action_305 (108) = happyShift action_310+action_305 (113) = happyShift action_18+action_305 (171) = happyShift action_19+action_305 (174) = happyShift action_21+action_305 (175) = happyShift action_22+action_305 (190) = happyShift action_24+action_305 (80) = happyGoto action_402+action_305 (86) = happyGoto action_305+action_305 (89) = happyGoto action_306+action_305 (90) = happyGoto action_12+action_305 (91) = happyGoto action_13+action_305 (95) = happyGoto action_307+action_305 _ = happyFail++action_306 _ = happyReduce_284++action_307 _ = happyReduce_282++action_308 (108) = happyShift action_310+action_308 (113) = happyShift action_18+action_308 (171) = happyShift action_19+action_308 (174) = happyShift action_21+action_308 (175) = happyShift action_22+action_308 (177) = happyShift action_394+action_308 (190) = happyShift action_24+action_308 (80) = happyGoto action_392+action_308 (86) = happyGoto action_305+action_308 (89) = happyGoto action_306+action_308 (90) = happyGoto action_12+action_308 (91) = happyGoto action_13+action_308 (95) = happyGoto action_307+action_308 (107) = happyGoto action_401+action_308 _ = happyFail++action_309 (109) = happyShift action_400+action_309 (174) = happyShift action_395+action_309 (175) = happyShift action_396+action_309 (176) = happyShift action_397+action_309 (177) = happyShift action_398+action_309 (178) = happyShift action_399+action_309 _ = happyFail++action_310 (108) = happyShift action_310+action_310 (113) = happyShift action_18+action_310 (171) = happyShift action_19+action_310 (174) = happyShift action_21+action_310 (175) = happyShift action_22+action_310 (190) = happyShift action_24+action_310 (80) = happyGoto action_392+action_310 (86) = happyGoto action_305+action_310 (89) = happyGoto action_306+action_310 (90) = happyGoto action_12+action_310 (91) = happyGoto action_13+action_310 (95) = happyGoto action_307+action_310 _ = happyFail++action_311 (174) = happyShift action_395+action_311 (175) = happyShift action_396+action_311 (176) = happyShift action_397+action_311 (177) = happyShift action_398+action_311 (178) = happyShift action_399+action_311 _ = happyReduce_335++action_312 (108) = happyShift action_310+action_312 (113) = happyShift action_18+action_312 (171) = happyShift action_19+action_312 (174) = happyShift action_21+action_312 (175) = happyShift action_22+action_312 (177) = happyShift action_394+action_312 (190) = happyShift action_24+action_312 (80) = happyGoto action_392+action_312 (86) = happyGoto action_305+action_312 (89) = happyGoto action_306+action_312 (90) = happyGoto action_12+action_312 (91) = happyGoto action_13+action_312 (95) = happyGoto action_307+action_312 (107) = happyGoto action_393+action_312 _ = happyFail++action_313 _ = happyReduce_349++action_314 (190) = happyShift action_391+action_314 (48) = happyGoto action_389+action_314 (49) = happyGoto action_390+action_314 _ = happyFail++action_315 (153) = happyShift action_117+action_315 (154) = happyShift action_118+action_315 (155) = happyShift action_119+action_315 (156) = happyShift action_120+action_315 (157) = happyShift action_121+action_315 (158) = happyShift action_122+action_315 (159) = happyShift action_123+action_315 (47) = happyGoto action_388+action_315 (106) = happyGoto action_116+action_315 _ = happyFail++action_316 (109) = happyShift action_386+action_316 (112) = happyShift action_387+action_316 _ = happyFail++action_317 _ = happyReduce_161++action_318 (121) = happyShift action_385+action_318 _ = happyFail++action_319 _ = happyReduce_152++action_320 (109) = happyShift action_383+action_320 (112) = happyShift action_384+action_320 _ = happyFail++action_321 (177) = happyShift action_382+action_321 (190) = happyShift action_24+action_321 (42) = happyGoto action_380+action_321 (89) = happyGoto action_381+action_321 _ = happyReduce_157++action_322 (108) = happyShift action_379+action_322 (113) = happyShift action_18+action_322 (171) = happyShift action_19+action_322 (173) = happyShift action_20+action_322 (174) = happyShift action_21+action_322 (175) = happyShift action_22+action_322 (193) = happyShift action_25+action_322 (55) = happyGoto action_370+action_322 (56) = happyGoto action_371+action_322 (57) = happyGoto action_372+action_322 (78) = happyGoto action_373+action_322 (86) = happyGoto action_374+action_322 (90) = happyGoto action_375+action_322 (91) = happyGoto action_13+action_322 (94) = happyGoto action_376+action_322 (95) = happyGoto action_377+action_322 (96) = happyGoto action_378+action_322 _ = happyFail++action_323 (190) = happyShift action_24+action_323 (50) = happyGoto action_109+action_323 (63) = happyGoto action_369+action_323 (82) = happyGoto action_35+action_323 (89) = happyGoto action_36+action_323 _ = happyFail++action_324 (108) = happyShift action_108+action_324 (109) = happyShift action_368+action_324 (112) = happyShift action_329+action_324 (167) = happyShift action_330+action_324 (168) = happyShift action_331+action_324 (169) = happyShift action_332+action_324 (170) = happyShift action_333+action_324 (171) = happyShift action_334+action_324 (178) = happyShift action_335+action_324 (192) = happyShift action_336+action_324 (51) = happyGoto action_324+action_324 (52) = happyGoto action_325+action_324 (53) = happyGoto action_326+action_324 (97) = happyGoto action_327+action_324 _ = happyFail++action_325 _ = happyReduce_176++action_326 _ = happyReduce_175++action_327 _ = happyReduce_181++action_328 _ = happyReduce_146++action_329 (108) = happyShift action_108+action_329 (167) = happyShift action_330+action_329 (168) = happyShift action_331+action_329 (169) = happyShift action_332+action_329 (170) = happyShift action_333+action_329 (171) = happyShift action_334+action_329 (178) = happyShift action_335+action_329 (192) = happyShift action_336+action_329 (51) = happyGoto action_324+action_329 (52) = happyGoto action_366+action_329 (53) = happyGoto action_367+action_329 (97) = happyGoto action_327+action_329 _ = happyFail++action_330 _ = happyReduce_182++action_331 _ = happyReduce_183++action_332 _ = happyReduce_184++action_333 _ = happyReduce_185++action_334 (108) = happyShift action_108+action_334 (51) = happyGoto action_365+action_334 _ = happyFail++action_335 _ = happyReduce_178++action_336 _ = happyReduce_322++action_337 (195) = happyShift action_5+action_337 (16) = happyGoto action_364+action_337 (17) = happyGoto action_104+action_337 _ = happyReduce_29++action_338 _ = happyReduce_7++action_339 _ = happyReduce_10++action_340 (108) = happyShift action_343+action_340 (10) = happyGoto action_363+action_340 _ = happyReduce_18++action_341 (115) = happyShift action_38+action_341 (122) = happyShift action_39+action_341 (124) = happyShift action_40+action_341 (125) = happyShift action_41+action_341 (127) = happyShift action_42+action_341 (128) = happyShift action_43+action_341 (129) = happyShift action_44+action_341 (130) = happyShift action_45+action_341 (131) = happyShift action_46+action_341 (132) = happyShift action_47+action_341 (133) = happyShift action_48+action_341 (134) = happyShift action_49+action_341 (135) = happyShift action_50+action_341 (136) = happyShift action_51+action_341 (137) = happyShift action_52+action_341 (138) = happyShift action_53+action_341 (139) = happyShift action_54+action_341 (140) = happyShift action_55+action_341 (141) = happyShift action_56+action_341 (142) = happyShift action_57+action_341 (143) = happyShift action_58+action_341 (144) = happyShift action_59+action_341 (145) = happyShift action_60+action_341 (146) = happyShift action_61+action_341 (147) = happyShift action_62+action_341 (148) = happyShift action_63+action_341 (149) = happyShift action_64+action_341 (150) = happyShift action_65+action_341 (151) = happyShift action_66+action_341 (152) = happyShift action_67+action_341 (153) = happyShift action_68+action_341 (154) = happyShift action_69+action_341 (155) = happyShift action_70+action_341 (156) = happyShift action_71+action_341 (157) = happyShift action_72+action_341 (158) = happyShift action_73+action_341 (159) = happyShift action_74+action_341 (160) = happyShift action_75+action_341 (161) = happyShift action_76+action_341 (162) = happyShift action_77+action_341 (163) = happyShift action_78+action_341 (165) = happyShift action_79+action_341 (166) = happyShift action_80+action_341 (190) = happyShift action_24+action_341 (191) = happyShift action_92+action_341 (194) = happyShift action_350+action_341 (195) = happyShift action_232+action_341 (12) = happyGoto action_362+action_341 (13) = happyGoto action_346+action_341 (15) = happyGoto action_347+action_341 (18) = happyGoto action_348+action_341 (19) = happyGoto action_27+action_341 (20) = happyGoto action_28+action_341 (22) = happyGoto action_29+action_341 (37) = happyGoto action_30+action_341 (38) = happyGoto action_31+action_341 (39) = happyGoto action_32+action_341 (45) = happyGoto action_33+action_341 (50) = happyGoto action_34+action_341 (82) = happyGoto action_35+action_341 (89) = happyGoto action_36+action_341 (100) = happyGoto action_349+action_341 (102) = happyGoto action_37+action_341 _ = happyFail++action_342 (195) = happyShift action_5+action_342 (17) = happyGoto action_361+action_342 _ = happyFail++action_343 (190) = happyShift action_24+action_343 (87) = happyGoto action_358+action_343 (88) = happyGoto action_359+action_343 (89) = happyGoto action_360+action_343 _ = happyReduce_305++action_344 (195) = happyShift action_5+action_344 (17) = happyGoto action_357+action_344 _ = happyFail++action_345 (115) = happyShift action_38+action_345 (120) = happyShift action_356+action_345 (122) = happyShift action_39+action_345 (124) = happyShift action_40+action_345 (125) = happyShift action_41+action_345 (127) = happyShift action_42+action_345 (128) = happyShift action_43+action_345 (129) = happyShift action_44+action_345 (130) = happyShift action_45+action_345 (131) = happyShift action_46+action_345 (132) = happyShift action_47+action_345 (133) = happyShift action_48+action_345 (134) = happyShift action_49+action_345 (135) = happyShift action_50+action_345 (136) = happyShift action_51+action_345 (137) = happyShift action_52+action_345 (138) = happyShift action_53+action_345 (139) = happyShift action_54+action_345 (140) = happyShift action_55+action_345 (141) = happyShift action_56+action_345 (142) = happyShift action_57+action_345 (143) = happyShift action_58+action_345 (144) = happyShift action_59+action_345 (145) = happyShift action_60+action_345 (146) = happyShift action_61+action_345 (147) = happyShift action_62+action_345 (148) = happyShift action_63+action_345 (149) = happyShift action_64+action_345 (150) = happyShift action_65+action_345 (151) = happyShift action_66+action_345 (152) = happyShift action_67+action_345 (153) = happyShift action_68+action_345 (154) = happyShift action_69+action_345 (155) = happyShift action_70+action_345 (156) = happyShift action_71+action_345 (157) = happyShift action_72+action_345 (158) = happyShift action_73+action_345 (159) = happyShift action_74+action_345 (160) = happyShift action_75+action_345 (161) = happyShift action_76+action_345 (162) = happyShift action_77+action_345 (163) = happyShift action_78+action_345 (165) = happyShift action_79+action_345 (166) = happyShift action_80+action_345 (190) = happyShift action_24+action_345 (191) = happyShift action_92+action_345 (194) = happyShift action_350+action_345 (13) = happyGoto action_355+action_345 (15) = happyGoto action_347+action_345 (18) = happyGoto action_348+action_345 (19) = happyGoto action_27+action_345 (20) = happyGoto action_28+action_345 (22) = happyGoto action_29+action_345 (37) = happyGoto action_30+action_345 (38) = happyGoto action_31+action_345 (39) = happyGoto action_32+action_345 (45) = happyGoto action_33+action_345 (50) = happyGoto action_34+action_345 (82) = happyGoto action_35+action_345 (89) = happyGoto action_36+action_345 (100) = happyGoto action_349+action_345 (102) = happyGoto action_37+action_345 _ = happyFail++action_346 _ = happyReduce_21++action_347 _ = happyReduce_24++action_348 (195) = happyShift action_5+action_348 (17) = happyGoto action_354+action_348 _ = happyFail++action_349 (115) = happyShift action_38+action_349 (122) = happyShift action_39+action_349 (124) = happyShift action_40+action_349 (125) = happyShift action_41+action_349 (127) = happyShift action_42+action_349 (128) = happyShift action_43+action_349 (129) = happyShift action_44+action_349 (130) = happyShift action_45+action_349 (131) = happyShift action_46+action_349 (132) = happyShift action_47+action_349 (133) = happyShift action_48+action_349 (134) = happyShift action_49+action_349 (135) = happyShift action_50+action_349 (136) = happyShift action_51+action_349 (137) = happyShift action_52+action_349 (138) = happyShift action_53+action_349 (139) = happyShift action_54+action_349 (140) = happyShift action_55+action_349 (141) = happyShift action_56+action_349 (142) = happyShift action_57+action_349 (143) = happyShift action_58+action_349 (144) = happyShift action_59+action_349 (145) = happyShift action_60+action_349 (146) = happyShift action_61+action_349 (147) = happyShift action_62+action_349 (148) = happyShift action_63+action_349 (149) = happyShift action_64+action_349 (150) = happyShift action_65+action_349 (151) = happyShift action_66+action_349 (152) = happyShift action_67+action_349 (153) = happyShift action_68+action_349 (154) = happyShift action_69+action_349 (155) = happyShift action_70+action_349 (156) = happyShift action_71+action_349 (157) = happyShift action_72+action_349 (158) = happyShift action_73+action_349 (159) = happyShift action_74+action_349 (160) = happyShift action_75+action_349 (161) = happyShift action_76+action_349 (162) = happyShift action_77+action_349 (163) = happyShift action_78+action_349 (165) = happyShift action_79+action_349 (166) = happyShift action_80+action_349 (190) = happyShift action_24+action_349 (18) = happyGoto action_353+action_349 (19) = happyGoto action_27+action_349 (20) = happyGoto action_28+action_349 (22) = happyGoto action_29+action_349 (37) = happyGoto action_30+action_349 (38) = happyGoto action_31+action_349 (39) = happyGoto action_32+action_349 (45) = happyGoto action_33+action_349 (50) = happyGoto action_34+action_349 (82) = happyGoto action_35+action_349 (89) = happyGoto action_36+action_349 (102) = happyGoto action_37+action_349 _ = happyFail++action_350 _ = happyReduce_326++action_351 (115) = happyShift action_38+action_351 (122) = happyShift action_39+action_351 (124) = happyShift action_40+action_351 (125) = happyShift action_41+action_351 (127) = happyShift action_42+action_351 (128) = happyShift action_43+action_351 (129) = happyShift action_44+action_351 (130) = happyShift action_45+action_351 (131) = happyShift action_46+action_351 (132) = happyShift action_47+action_351 (133) = happyShift action_48+action_351 (134) = happyShift action_49+action_351 (135) = happyShift action_50+action_351 (136) = happyShift action_51+action_351 (137) = happyShift action_52+action_351 (138) = happyShift action_53+action_351 (139) = happyShift action_54+action_351 (140) = happyShift action_55+action_351 (141) = happyShift action_56+action_351 (142) = happyShift action_57+action_351 (143) = happyShift action_58+action_351 (144) = happyShift action_59+action_351 (145) = happyShift action_60+action_351 (146) = happyShift action_61+action_351 (147) = happyShift action_62+action_351 (148) = happyShift action_63+action_351 (149) = happyShift action_64+action_351 (150) = happyShift action_65+action_351 (151) = happyShift action_66+action_351 (152) = happyShift action_67+action_351 (153) = happyShift action_68+action_351 (154) = happyShift action_69+action_351 (155) = happyShift action_70+action_351 (156) = happyShift action_71+action_351 (157) = happyShift action_72+action_351 (158) = happyShift action_73+action_351 (159) = happyShift action_74+action_351 (160) = happyShift action_75+action_351 (161) = happyShift action_76+action_351 (162) = happyShift action_77+action_351 (163) = happyShift action_78+action_351 (165) = happyShift action_79+action_351 (166) = happyShift action_80+action_351 (190) = happyShift action_24+action_351 (191) = happyShift action_92+action_351 (194) = happyShift action_350+action_351 (195) = happyShift action_232+action_351 (12) = happyGoto action_352+action_351 (13) = happyGoto action_346+action_351 (15) = happyGoto action_347+action_351 (18) = happyGoto action_348+action_351 (19) = happyGoto action_27+action_351 (20) = happyGoto action_28+action_351 (22) = happyGoto action_29+action_351 (37) = happyGoto action_30+action_351 (38) = happyGoto action_31+action_351 (39) = happyGoto action_32+action_351 (45) = happyGoto action_33+action_351 (50) = happyGoto action_34+action_351 (82) = happyGoto action_35+action_351 (89) = happyGoto action_36+action_351 (100) = happyGoto action_349+action_351 (102) = happyGoto action_37+action_351 _ = happyFail++action_352 (115) = happyShift action_38+action_352 (120) = happyShift action_527+action_352 (122) = happyShift action_39+action_352 (124) = happyShift action_40+action_352 (125) = happyShift action_41+action_352 (127) = happyShift action_42+action_352 (128) = happyShift action_43+action_352 (129) = happyShift action_44+action_352 (130) = happyShift action_45+action_352 (131) = happyShift action_46+action_352 (132) = happyShift action_47+action_352 (133) = happyShift action_48+action_352 (134) = happyShift action_49+action_352 (135) = happyShift action_50+action_352 (136) = happyShift action_51+action_352 (137) = happyShift action_52+action_352 (138) = happyShift action_53+action_352 (139) = happyShift action_54+action_352 (140) = happyShift action_55+action_352 (141) = happyShift action_56+action_352 (142) = happyShift action_57+action_352 (143) = happyShift action_58+action_352 (144) = happyShift action_59+action_352 (145) = happyShift action_60+action_352 (146) = happyShift action_61+action_352 (147) = happyShift action_62+action_352 (148) = happyShift action_63+action_352 (149) = happyShift action_64+action_352 (150) = happyShift action_65+action_352 (151) = happyShift action_66+action_352 (152) = happyShift action_67+action_352 (153) = happyShift action_68+action_352 (154) = happyShift action_69+action_352 (155) = happyShift action_70+action_352 (156) = happyShift action_71+action_352 (157) = happyShift action_72+action_352 (158) = happyShift action_73+action_352 (159) = happyShift action_74+action_352 (160) = happyShift action_75+action_352 (161) = happyShift action_76+action_352 (162) = happyShift action_77+action_352 (163) = happyShift action_78+action_352 (165) = happyShift action_79+action_352 (166) = happyShift action_80+action_352 (190) = happyShift action_24+action_352 (191) = happyShift action_92+action_352 (194) = happyShift action_350+action_352 (13) = happyGoto action_355+action_352 (15) = happyGoto action_347+action_352 (18) = happyGoto action_348+action_352 (19) = happyGoto action_27+action_352 (20) = happyGoto action_28+action_352 (22) = happyGoto action_29+action_352 (37) = happyGoto action_30+action_352 (38) = happyGoto action_31+action_352 (39) = happyGoto action_32+action_352 (45) = happyGoto action_33+action_352 (50) = happyGoto action_34+action_352 (82) = happyGoto action_35+action_352 (89) = happyGoto action_36+action_352 (100) = happyGoto action_349+action_352 (102) = happyGoto action_37+action_352 _ = happyFail++action_353 (195) = happyShift action_5+action_353 (17) = happyGoto action_526+action_353 _ = happyFail++action_354 (195) = happyShift action_232+action_354 _ = happyReduce_23++action_355 _ = happyReduce_20++action_356 _ = happyReduce_15++action_357 (115) = happyShift action_38+action_357 (122) = happyShift action_39+action_357 (124) = happyShift action_40+action_357 (125) = happyShift action_41+action_357 (127) = happyShift action_42+action_357 (128) = happyShift action_43+action_357 (129) = happyShift action_44+action_357 (130) = happyShift action_45+action_357 (131) = happyShift action_46+action_357 (132) = happyShift action_47+action_357 (133) = happyShift action_48+action_357 (134) = happyShift action_49+action_357 (135) = happyShift action_50+action_357 (136) = happyShift action_51+action_357 (137) = happyShift action_52+action_357 (138) = happyShift action_53+action_357 (139) = happyShift action_54+action_357 (140) = happyShift action_55+action_357 (141) = happyShift action_56+action_357 (142) = happyShift action_57+action_357 (143) = happyShift action_58+action_357 (144) = happyShift action_59+action_357 (145) = happyShift action_60+action_357 (146) = happyShift action_61+action_357 (147) = happyShift action_62+action_357 (148) = happyShift action_63+action_357 (149) = happyShift action_64+action_357 (150) = happyShift action_65+action_357 (151) = happyShift action_66+action_357 (152) = happyShift action_67+action_357 (153) = happyShift action_68+action_357 (154) = happyShift action_69+action_357 (155) = happyShift action_70+action_357 (156) = happyShift action_71+action_357 (157) = happyShift action_72+action_357 (158) = happyShift action_73+action_357 (159) = happyShift action_74+action_357 (160) = happyShift action_75+action_357 (161) = happyShift action_76+action_357 (162) = happyShift action_77+action_357 (163) = happyShift action_78+action_357 (165) = happyShift action_79+action_357 (166) = happyShift action_80+action_357 (190) = happyShift action_24+action_357 (191) = happyShift action_92+action_357 (194) = happyShift action_350+action_357 (195) = happyShift action_232+action_357 (12) = happyGoto action_525+action_357 (13) = happyGoto action_346+action_357 (15) = happyGoto action_347+action_357 (18) = happyGoto action_348+action_357 (19) = happyGoto action_27+action_357 (20) = happyGoto action_28+action_357 (22) = happyGoto action_29+action_357 (37) = happyGoto action_30+action_357 (38) = happyGoto action_31+action_357 (39) = happyGoto action_32+action_357 (45) = happyGoto action_33+action_357 (50) = happyGoto action_34+action_357 (82) = happyGoto action_35+action_357 (89) = happyGoto action_36+action_357 (100) = happyGoto action_349+action_357 (102) = happyGoto action_37+action_357 _ = happyFail++action_358 (109) = happyShift action_524+action_358 _ = happyFail++action_359 (112) = happyShift action_523+action_359 _ = happyReduce_304++action_360 _ = happyReduce_307++action_361 (115) = happyShift action_38+action_361 (122) = happyShift action_39+action_361 (124) = happyShift action_40+action_361 (125) = happyShift action_41+action_361 (127) = happyShift action_42+action_361 (128) = happyShift action_43+action_361 (129) = happyShift action_44+action_361 (130) = happyShift action_45+action_361 (131) = happyShift action_46+action_361 (132) = happyShift action_47+action_361 (133) = happyShift action_48+action_361 (134) = happyShift action_49+action_361 (135) = happyShift action_50+action_361 (136) = happyShift action_51+action_361 (137) = happyShift action_52+action_361 (138) = happyShift action_53+action_361 (139) = happyShift action_54+action_361 (140) = happyShift action_55+action_361 (141) = happyShift action_56+action_361 (142) = happyShift action_57+action_361 (143) = happyShift action_58+action_361 (144) = happyShift action_59+action_361 (145) = happyShift action_60+action_361 (146) = happyShift action_61+action_361 (147) = happyShift action_62+action_361 (148) = happyShift action_63+action_361 (149) = happyShift action_64+action_361 (150) = happyShift action_65+action_361 (151) = happyShift action_66+action_361 (152) = happyShift action_67+action_361 (153) = happyShift action_68+action_361 (154) = happyShift action_69+action_361 (155) = happyShift action_70+action_361 (156) = happyShift action_71+action_361 (157) = happyShift action_72+action_361 (158) = happyShift action_73+action_361 (159) = happyShift action_74+action_361 (160) = happyShift action_75+action_361 (161) = happyShift action_76+action_361 (162) = happyShift action_77+action_361 (163) = happyShift action_78+action_361 (165) = happyShift action_79+action_361 (166) = happyShift action_80+action_361 (190) = happyShift action_24+action_361 (191) = happyShift action_92+action_361 (194) = happyShift action_350+action_361 (195) = happyShift action_232+action_361 (12) = happyGoto action_522+action_361 (13) = happyGoto action_346+action_361 (15) = happyGoto action_347+action_361 (18) = happyGoto action_348+action_361 (19) = happyGoto action_27+action_361 (20) = happyGoto action_28+action_361 (22) = happyGoto action_29+action_361 (37) = happyGoto action_30+action_361 (38) = happyGoto action_31+action_361 (39) = happyGoto action_32+action_361 (45) = happyGoto action_33+action_361 (50) = happyGoto action_34+action_361 (82) = happyGoto action_35+action_361 (89) = happyGoto action_36+action_361 (100) = happyGoto action_349+action_361 (102) = happyGoto action_37+action_361 _ = happyFail++action_362 (115) = happyShift action_38+action_362 (120) = happyShift action_521+action_362 (122) = happyShift action_39+action_362 (124) = happyShift action_40+action_362 (125) = happyShift action_41+action_362 (127) = happyShift action_42+action_362 (128) = happyShift action_43+action_362 (129) = happyShift action_44+action_362 (130) = happyShift action_45+action_362 (131) = happyShift action_46+action_362 (132) = happyShift action_47+action_362 (133) = happyShift action_48+action_362 (134) = happyShift action_49+action_362 (135) = happyShift action_50+action_362 (136) = happyShift action_51+action_362 (137) = happyShift action_52+action_362 (138) = happyShift action_53+action_362 (139) = happyShift action_54+action_362 (140) = happyShift action_55+action_362 (141) = happyShift action_56+action_362 (142) = happyShift action_57+action_362 (143) = happyShift action_58+action_362 (144) = happyShift action_59+action_362 (145) = happyShift action_60+action_362 (146) = happyShift action_61+action_362 (147) = happyShift action_62+action_362 (148) = happyShift action_63+action_362 (149) = happyShift action_64+action_362 (150) = happyShift action_65+action_362 (151) = happyShift action_66+action_362 (152) = happyShift action_67+action_362 (153) = happyShift action_68+action_362 (154) = happyShift action_69+action_362 (155) = happyShift action_70+action_362 (156) = happyShift action_71+action_362 (157) = happyShift action_72+action_362 (158) = happyShift action_73+action_362 (159) = happyShift action_74+action_362 (160) = happyShift action_75+action_362 (161) = happyShift action_76+action_362 (162) = happyShift action_77+action_362 (163) = happyShift action_78+action_362 (165) = happyShift action_79+action_362 (166) = happyShift action_80+action_362 (190) = happyShift action_24+action_362 (191) = happyShift action_92+action_362 (194) = happyShift action_350+action_362 (13) = happyGoto action_355+action_362 (15) = happyGoto action_347+action_362 (18) = happyGoto action_348+action_362 (19) = happyGoto action_27+action_362 (20) = happyGoto action_28+action_362 (22) = happyGoto action_29+action_362 (37) = happyGoto action_30+action_362 (38) = happyGoto action_31+action_362 (39) = happyGoto action_32+action_362 (45) = happyGoto action_33+action_362 (50) = happyGoto action_34+action_362 (82) = happyGoto action_35+action_362 (89) = happyGoto action_36+action_362 (100) = happyGoto action_349+action_362 (102) = happyGoto action_37+action_362 _ = happyFail++action_363 (195) = happyShift action_5+action_363 (17) = happyGoto action_520+action_363 _ = happyFail++action_364 _ = happyReduce_8++action_365 (108) = happyShift action_108+action_365 (109) = happyShift action_519+action_365 (112) = happyShift action_329+action_365 (167) = happyShift action_330+action_365 (168) = happyShift action_331+action_365 (169) = happyShift action_332+action_365 (170) = happyShift action_333+action_365 (171) = happyShift action_334+action_365 (178) = happyShift action_335+action_365 (192) = happyShift action_336+action_365 (51) = happyGoto action_324+action_365 (52) = happyGoto action_325+action_365 (53) = happyGoto action_326+action_365 (97) = happyGoto action_327+action_365 _ = happyFail++action_366 _ = happyReduce_174++action_367 _ = happyReduce_173++action_368 _ = happyReduce_180++action_369 (112) = happyShift action_295+action_369 (178) = happyShift action_518+action_369 _ = happyFail++action_370 (112) = happyShift action_516+action_370 (178) = happyShift action_517+action_370 _ = happyFail++action_371 _ = happyReduce_189++action_372 _ = happyReduce_191++action_373 _ = happyReduce_195++action_374 (113) = happyShift action_18+action_374 (171) = happyShift action_19+action_374 (90) = happyGoto action_12+action_374 (91) = happyGoto action_13+action_374 (95) = happyGoto action_515+action_374 _ = happyFail++action_375 (177) = happyShift action_514+action_375 _ = happyReduce_319++action_376 _ = happyReduce_192++action_377 _ = happyReduce_318++action_378 _ = happyReduce_194++action_379 (113) = happyShift action_18+action_379 (171) = happyShift action_19+action_379 (174) = happyShift action_21+action_379 (175) = happyShift action_22+action_379 (86) = happyGoto action_374+action_379 (90) = happyGoto action_12+action_379 (91) = happyGoto action_13+action_379 (94) = happyGoto action_513+action_379 (95) = happyGoto action_377+action_379 _ = happyFail++action_380 _ = happyReduce_156++action_381 _ = happyReduce_158++action_382 _ = happyReduce_159++action_383 _ = happyReduce_154++action_384 (177) = happyShift action_382+action_384 (190) = happyShift action_24+action_384 (42) = happyGoto action_512+action_384 (89) = happyGoto action_381+action_384 _ = happyFail++action_385 (108) = happyShift action_509+action_385 (113) = happyShift action_18+action_385 (171) = happyShift action_19+action_385 (173) = happyShift action_20+action_385 (174) = happyShift action_21+action_385 (175) = happyShift action_22+action_385 (183) = happyShift action_510+action_385 (190) = happyShift action_24+action_385 (193) = happyShift action_511+action_385 (79) = happyGoto action_504+action_385 (86) = happyGoto action_505+action_385 (89) = happyGoto action_506+action_385 (90) = happyGoto action_12+action_385 (91) = happyGoto action_13+action_385 (95) = happyGoto action_507+action_385 (96) = happyGoto action_508+action_385 _ = happyFail++action_386 _ = happyReduce_150++action_387 (190) = happyShift action_24+action_387 (44) = happyGoto action_503+action_387 (89) = happyGoto action_318+action_387 _ = happyFail++action_388 _ = happyReduce_164++action_389 (109) = happyShift action_501+action_389 (112) = happyShift action_502+action_389 _ = happyFail++action_390 _ = happyReduce_168++action_391 (175) = happyShift action_500+action_391 _ = happyReduce_169++action_392 (109) = happyShift action_498+action_392 (112) = happyShift action_499+action_392 (174) = happyShift action_395+action_392 (175) = happyShift action_396+action_392 (176) = happyShift action_397+action_392 (177) = happyShift action_398+action_392 (178) = happyShift action_399+action_392 _ = happyFail++action_393 (109) = happyShift action_497+action_393 _ = happyFail++action_394 _ = happyReduce_350++action_395 (108) = happyShift action_310+action_395 (113) = happyShift action_18+action_395 (171) = happyShift action_19+action_395 (174) = happyShift action_21+action_395 (175) = happyShift action_22+action_395 (190) = happyShift action_24+action_395 (80) = happyGoto action_496+action_395 (86) = happyGoto action_305+action_395 (89) = happyGoto action_306+action_395 (90) = happyGoto action_12+action_395 (91) = happyGoto action_13+action_395 (95) = happyGoto action_307+action_395 _ = happyFail++action_396 (108) = happyShift action_310+action_396 (113) = happyShift action_18+action_396 (171) = happyShift action_19+action_396 (174) = happyShift action_21+action_396 (175) = happyShift action_22+action_396 (190) = happyShift action_24+action_396 (80) = happyGoto action_495+action_396 (86) = happyGoto action_305+action_396 (89) = happyGoto action_306+action_396 (90) = happyGoto action_12+action_396 (91) = happyGoto action_13+action_396 (95) = happyGoto action_307+action_396 _ = happyFail++action_397 (108) = happyShift action_310+action_397 (113) = happyShift action_18+action_397 (171) = happyShift action_19+action_397 (174) = happyShift action_21+action_397 (175) = happyShift action_22+action_397 (190) = happyShift action_24+action_397 (80) = happyGoto action_494+action_397 (86) = happyGoto action_305+action_397 (89) = happyGoto action_306+action_397 (90) = happyGoto action_12+action_397 (91) = happyGoto action_13+action_397 (95) = happyGoto action_307+action_397 _ = happyFail++action_398 (108) = happyShift action_310+action_398 (113) = happyShift action_18+action_398 (171) = happyShift action_19+action_398 (174) = happyShift action_21+action_398 (175) = happyShift action_22+action_398 (190) = happyShift action_24+action_398 (80) = happyGoto action_493+action_398 (86) = happyGoto action_305+action_398 (89) = happyGoto action_306+action_398 (90) = happyGoto action_12+action_398 (91) = happyGoto action_13+action_398 (95) = happyGoto action_307+action_398 _ = happyFail++action_399 (108) = happyShift action_310+action_399 (113) = happyShift action_18+action_399 (171) = happyShift action_19+action_399 (174) = happyShift action_21+action_399 (175) = happyShift action_22+action_399 (190) = happyShift action_24+action_399 (80) = happyGoto action_492+action_399 (86) = happyGoto action_305+action_399 (89) = happyGoto action_306+action_399 (90) = happyGoto action_12+action_399 (91) = happyGoto action_13+action_399 (95) = happyGoto action_307+action_399 _ = happyFail++action_400 _ = happyReduce_338++action_401 (109) = happyShift action_491+action_401 _ = happyFail++action_402 (176) = happyShift action_397+action_402 _ = happyReduce_280++action_403 _ = happyReduce_212++action_404 _ = happyReduce_222++action_405 (190) = happyShift action_24+action_405 (50) = happyGoto action_109+action_405 (63) = happyGoto action_490+action_405 (82) = happyGoto action_35+action_405 (89) = happyGoto action_36+action_405 _ = happyFail++action_406 _ = happyReduce_197++action_407 (190) = happyShift action_24+action_407 (50) = happyGoto action_109+action_407 (63) = happyGoto action_489+action_407 (82) = happyGoto action_35+action_407 (89) = happyGoto action_36+action_407 _ = happyFail++action_408 (112) = happyShift action_295+action_408 _ = happyReduce_200++action_409 _ = happyReduce_206++action_410 (112) = happyShift action_295+action_410 _ = happyReduce_203++action_411 (108) = happyShift action_486+action_411 (171) = happyShift action_155+action_411 (173) = happyShift action_20+action_411 (174) = happyShift action_21+action_411 (175) = happyShift action_22+action_411 (177) = happyShift action_487+action_411 (183) = happyShift action_488+action_411 (190) = happyShift action_24+action_411 (193) = happyShift action_25+action_411 (28) = happyGoto action_478+action_411 (29) = happyGoto action_479+action_411 (78) = happyGoto action_480+action_411 (82) = happyGoto action_481+action_411 (86) = happyGoto action_482+action_411 (89) = happyGoto action_483+action_411 (90) = happyGoto action_484+action_411 (96) = happyGoto action_485+action_411 _ = happyFail++action_412 _ = happyReduce_94++action_413 (190) = happyShift action_477+action_413 (27) = happyGoto action_476+action_413 _ = happyFail++action_414 _ = happyReduce_93++action_415 (171) = happyShift action_155+action_415 (177) = happyShift action_169+action_415 (190) = happyShift action_293+action_415 (193) = happyShift action_25+action_415 (23) = happyGoto action_474+action_415 (26) = happyGoto action_475+action_415 (27) = happyGoto action_292+action_415 (78) = happyGoto action_165+action_415 (82) = happyGoto action_166+action_415 (89) = happyGoto action_167+action_415 (90) = happyGoto action_168+action_415 _ = happyFail++action_416 (112) = happyShift action_417+action_416 _ = happyReduce_69++action_417 (108) = happyShift action_16+action_417 (110) = happyShift action_17+action_417 (113) = happyShift action_18+action_417 (171) = happyShift action_19+action_417 (173) = happyShift action_20+action_417 (174) = happyShift action_21+action_417 (175) = happyShift action_22+action_417 (183) = happyShift action_23+action_417 (190) = happyShift action_24+action_417 (193) = happyShift action_25+action_417 (75) = happyGoto action_473+action_417 (76) = happyGoto action_7+action_417 (78) = happyGoto action_8+action_417 (82) = happyGoto action_9+action_417 (86) = happyGoto action_10+action_417 (89) = happyGoto action_11+action_417 (90) = happyGoto action_12+action_417 (91) = happyGoto action_13+action_417 (95) = happyGoto action_14+action_417 (96) = happyGoto action_15+action_417 _ = happyFail++action_418 (171) = happyShift action_155+action_418 (177) = happyShift action_169+action_418 (190) = happyShift action_24+action_418 (193) = happyShift action_25+action_418 (23) = happyGoto action_472+action_418 (78) = happyGoto action_165+action_418 (82) = happyGoto action_166+action_418 (89) = happyGoto action_167+action_418 (90) = happyGoto action_168+action_418 _ = happyFail++action_419 (112) = happyShift action_421+action_419 _ = happyReduce_65++action_420 (112) = happyShift action_471+action_420 _ = happyFail++action_421 (108) = happyShift action_284+action_421 (190) = happyShift action_24+action_421 (31) = happyGoto action_470+action_421 (82) = happyGoto action_282+action_421 (89) = happyGoto action_283+action_421 _ = happyFail++action_422 _ = happyReduce_50++action_423 (112) = happyShift action_469+action_423 (174) = happyShift action_216+action_423 (175) = happyShift action_217+action_423 (176) = happyShift action_218+action_423 (177) = happyShift action_219+action_423 (178) = happyShift action_220+action_423 (179) = happyShift action_221+action_423 (180) = happyShift action_222+action_423 (181) = happyShift action_223+action_423 (182) = happyShift action_224+action_423 (184) = happyShift action_225+action_423 (185) = happyShift action_226+action_423 (186) = happyShift action_227+action_423 (187) = happyShift action_228+action_423 (188) = happyShift action_229+action_423 (189) = happyShift action_230+action_423 (81) = happyGoto action_215+action_423 _ = happyReduce_41++action_424 _ = happyReduce_38++action_425 _ = happyReduce_128++action_426 _ = happyReduce_205++action_427 _ = happyReduce_226++action_428 (174) = happyShift action_216+action_428 (175) = happyShift action_217+action_428 (176) = happyShift action_218+action_428 (177) = happyShift action_219+action_428 (178) = happyShift action_220+action_428 (179) = happyShift action_221+action_428 (180) = happyShift action_222+action_428 (181) = happyShift action_223+action_428 (182) = happyShift action_224+action_428 (184) = happyShift action_225+action_428 (185) = happyShift action_226+action_428 (186) = happyShift action_227+action_428 (187) = happyShift action_228+action_428 (188) = happyShift action_229+action_428 (189) = happyShift action_230+action_428 (81) = happyGoto action_215+action_428 _ = happyReduce_229++action_429 _ = happyReduce_228++action_430 _ = happyReduce_224++action_431 (108) = happyShift action_16+action_431 (110) = happyShift action_17+action_431 (113) = happyShift action_18+action_431 (171) = happyShift action_19+action_431 (173) = happyShift action_20+action_431 (174) = happyShift action_21+action_431 (175) = happyShift action_22+action_431 (183) = happyShift action_23+action_431 (190) = happyShift action_24+action_431 (192) = happyShift action_336+action_431 (193) = happyShift action_25+action_431 (74) = happyGoto action_468+action_431 (75) = happyGoto action_428+action_431 (76) = happyGoto action_7+action_431 (78) = happyGoto action_8+action_431 (82) = happyGoto action_9+action_431 (86) = happyGoto action_10+action_431 (89) = happyGoto action_11+action_431 (90) = happyGoto action_12+action_431 (91) = happyGoto action_13+action_431 (95) = happyGoto action_14+action_431 (96) = happyGoto action_15+action_431 (97) = happyGoto action_429+action_431 _ = happyFail++action_432 (126) = happyShift action_467+action_432 _ = happyFail++action_433 (122) = happyShift action_39+action_433 (124) = happyShift action_40+action_433 (125) = happyShift action_465+action_433 (126) = happyShift action_466+action_433 (127) = happyShift action_42+action_433 (128) = happyShift action_43+action_433 (129) = happyShift action_44+action_433 (130) = happyShift action_45+action_433 (131) = happyShift action_46+action_433 (132) = happyShift action_47+action_433 (133) = happyShift action_48+action_433 (134) = happyShift action_49+action_433 (135) = happyShift action_50+action_433 (136) = happyShift action_51+action_433 (138) = happyShift action_53+action_433 (139) = happyShift action_54+action_433 (140) = happyShift action_55+action_433 (141) = happyShift action_56+action_433 (142) = happyShift action_57+action_433 (143) = happyShift action_58+action_433 (144) = happyShift action_59+action_433 (145) = happyShift action_60+action_433 (146) = happyShift action_61+action_433 (147) = happyShift action_62+action_433 (148) = happyShift action_63+action_433 (171) = happyShift action_177+action_433 (190) = happyShift action_24+action_433 (22) = happyGoto action_463+action_433 (37) = happyGoto action_30+action_433 (38) = happyGoto action_31+action_433 (50) = happyGoto action_34+action_433 (82) = happyGoto action_35+action_433 (89) = happyGoto action_36+action_433 (101) = happyGoto action_464+action_433 _ = happyFail++action_434 _ = happyReduce_136++action_435 (174) = happyShift action_216+action_435 (175) = happyShift action_217+action_435 (176) = happyShift action_218+action_435 (177) = happyShift action_219+action_435 (178) = happyShift action_220+action_435 (179) = happyShift action_221+action_435 (180) = happyShift action_222+action_435 (181) = happyShift action_223+action_435 (182) = happyShift action_224+action_435 (184) = happyShift action_225+action_435 (185) = happyShift action_226+action_435 (186) = happyShift action_227+action_435 (187) = happyShift action_228+action_435 (188) = happyShift action_229+action_435 (189) = happyShift action_230+action_435 (81) = happyGoto action_215+action_435 _ = happyReduce_138++action_436 _ = happyReduce_324++action_437 _ = happyReduce_43++action_438 _ = happyReduce_208++action_439 (109) = happyShift action_461+action_439 (112) = happyShift action_462+action_439 _ = happyFail++action_440 _ = happyReduce_217++action_441 (114) = happyShift action_460+action_441 (174) = happyShift action_216+action_441 (175) = happyShift action_217+action_441 (176) = happyShift action_218+action_441 (177) = happyShift action_219+action_441 (178) = happyShift action_220+action_441 (179) = happyShift action_221+action_441 (180) = happyShift action_222+action_441 (181) = happyShift action_223+action_441 (182) = happyShift action_224+action_441 (184) = happyShift action_225+action_441 (185) = happyShift action_226+action_441 (186) = happyShift action_227+action_441 (187) = happyShift action_228+action_441 (188) = happyShift action_229+action_441 (189) = happyShift action_230+action_441 (81) = happyGoto action_215+action_441 _ = happyReduce_219++action_442 _ = happyReduce_221++action_443 (174) = happyShift action_216+action_443 (175) = happyShift action_217+action_443 (176) = happyShift action_218+action_443 (177) = happyShift action_219+action_443 (178) = happyShift action_220+action_443 (179) = happyShift action_221+action_443 (180) = happyShift action_222+action_443 (181) = happyShift action_223+action_443 (182) = happyShift action_224+action_443 (184) = happyShift action_225+action_443 (185) = happyShift action_226+action_443 (186) = happyShift action_227+action_443 (187) = happyShift action_228+action_443 (188) = happyShift action_229+action_443 (189) = happyShift action_230+action_443 (81) = happyGoto action_215+action_443 _ = happyReduce_299++action_444 (108) = happyShift action_459+action_444 _ = happyReduce_292++action_445 (108) = happyShift action_16+action_445 (110) = happyShift action_17+action_445 (113) = happyShift action_18+action_445 (114) = happyShift action_258+action_445 (171) = happyShift action_19+action_445 (173) = happyShift action_20+action_445 (174) = happyShift action_21+action_445 (175) = happyShift action_22+action_445 (183) = happyShift action_23+action_445 (190) = happyShift action_24+action_445 (193) = happyShift action_25+action_445 (75) = happyGoto action_253+action_445 (76) = happyGoto action_7+action_445 (78) = happyGoto action_8+action_445 (82) = happyGoto action_9+action_445 (84) = happyGoto action_458+action_445 (85) = happyGoto action_256+action_445 (86) = happyGoto action_10+action_445 (89) = happyGoto action_11+action_445 (90) = happyGoto action_12+action_445 (91) = happyGoto action_13+action_445 (95) = happyGoto action_14+action_445 (96) = happyGoto action_15+action_445 _ = happyFail++action_446 (108) = happyShift action_16+action_446 (110) = happyShift action_17+action_446 (113) = happyShift action_18+action_446 (171) = happyShift action_19+action_446 (173) = happyShift action_20+action_446 (174) = happyShift action_21+action_446 (175) = happyShift action_22+action_446 (183) = happyShift action_23+action_446 (190) = happyShift action_24+action_446 (193) = happyShift action_25+action_446 (75) = happyGoto action_457+action_446 (76) = happyGoto action_7+action_446 (78) = happyGoto action_8+action_446 (82) = happyGoto action_9+action_446 (86) = happyGoto action_10+action_446 (89) = happyGoto action_11+action_446 (90) = happyGoto action_12+action_446 (91) = happyGoto action_13+action_446 (95) = happyGoto action_14+action_446 (96) = happyGoto action_15+action_446 _ = happyReduce_300++action_447 _ = happyReduce_313++action_448 (174) = happyShift action_216+action_448 (175) = happyShift action_217+action_448 (176) = happyShift action_218+action_448 (177) = happyShift action_219+action_448 (178) = happyShift action_220+action_448 (179) = happyShift action_221+action_448 (180) = happyShift action_222+action_448 (181) = happyShift action_223+action_448 (182) = happyShift action_224+action_448 (184) = happyShift action_225+action_448 (185) = happyShift action_226+action_448 (186) = happyShift action_227+action_448 (187) = happyShift action_228+action_448 (188) = happyShift action_229+action_448 (189) = happyShift action_230+action_448 (81) = happyGoto action_215+action_448 _ = happyReduce_255++action_449 (109) = happyShift action_456+action_449 _ = happyFail++action_450 (109) = happyShift action_454+action_450 (112) = happyShift action_455+action_450 (174) = happyShift action_216+action_450 (175) = happyShift action_217+action_450 (176) = happyShift action_218+action_450 (177) = happyShift action_219+action_450 (178) = happyShift action_220+action_450 (179) = happyShift action_221+action_450 (180) = happyShift action_222+action_450 (181) = happyShift action_223+action_450 (182) = happyShift action_224+action_450 (184) = happyShift action_225+action_450 (185) = happyShift action_226+action_450 (186) = happyShift action_227+action_450 (187) = happyShift action_228+action_450 (188) = happyShift action_229+action_450 (189) = happyShift action_230+action_450 (81) = happyGoto action_215+action_450 _ = happyFail++action_451 (121) = happyReduce_172+action_451 _ = happyReduce_248++action_452 (108) = happyShift action_204+action_452 (121) = happyReduce_171+action_452 _ = happyReduce_249++action_453 (174) = happyShift action_216+action_453 (175) = happyShift action_217+action_453 (176) = happyShift action_218+action_453 (177) = happyShift action_219+action_453 (178) = happyShift action_220+action_453 (81) = happyGoto action_215+action_453 _ = happyReduce_235++action_454 _ = happyReduce_245++action_455 (108) = happyShift action_16+action_455 (110) = happyShift action_17+action_455 (113) = happyShift action_18+action_455 (171) = happyShift action_19+action_455 (173) = happyShift action_20+action_455 (174) = happyShift action_21+action_455 (175) = happyShift action_22+action_455 (183) = happyShift action_23+action_455 (190) = happyShift action_24+action_455 (193) = happyShift action_25+action_455 (21) = happyGoto action_577+action_455 (38) = happyGoto action_175+action_455 (50) = happyGoto action_34+action_455 (75) = happyGoto action_211+action_455 (76) = happyGoto action_7+action_455 (77) = happyGoto action_578+action_455 (78) = happyGoto action_8+action_455 (82) = happyGoto action_451+action_455 (86) = happyGoto action_10+action_455 (89) = happyGoto action_452+action_455 (90) = happyGoto action_12+action_455 (91) = happyGoto action_13+action_455 (95) = happyGoto action_14+action_455 (96) = happyGoto action_15+action_455 _ = happyFail++action_456 _ = happyReduce_252++action_457 (174) = happyShift action_216+action_457 (175) = happyShift action_217+action_457 (176) = happyShift action_218+action_457 (177) = happyShift action_219+action_457 (178) = happyShift action_220+action_457 (179) = happyShift action_221+action_457 (180) = happyShift action_222+action_457 (181) = happyShift action_223+action_457 (182) = happyShift action_224+action_457 (184) = happyShift action_225+action_457 (185) = happyShift action_226+action_457 (186) = happyShift action_227+action_457 (187) = happyShift action_228+action_457 (188) = happyShift action_229+action_457 (189) = happyShift action_230+action_457 (81) = happyGoto action_215+action_457 _ = happyReduce_301++action_458 _ = happyReduce_294++action_459 (108) = happyShift action_16+action_459 (110) = happyShift action_17+action_459 (113) = happyShift action_18+action_459 (114) = happyShift action_258+action_459 (171) = happyShift action_19+action_459 (173) = happyShift action_20+action_459 (174) = happyShift action_21+action_459 (175) = happyShift action_22+action_459 (183) = happyShift action_23+action_459 (190) = happyShift action_24+action_459 (193) = happyShift action_25+action_459 (75) = happyGoto action_253+action_459 (76) = happyGoto action_7+action_459 (78) = happyGoto action_8+action_459 (82) = happyGoto action_9+action_459 (83) = happyGoto action_576+action_459 (84) = happyGoto action_255+action_459 (85) = happyGoto action_256+action_459 (86) = happyGoto action_10+action_459 (89) = happyGoto action_11+action_459 (90) = happyGoto action_12+action_459 (91) = happyGoto action_13+action_459 (95) = happyGoto action_14+action_459 (96) = happyGoto action_15+action_459 _ = happyFail++action_460 (108) = happyShift action_16+action_460 (110) = happyShift action_17+action_460 (113) = happyShift action_18+action_460 (171) = happyShift action_19+action_460 (173) = happyShift action_20+action_460 (174) = happyShift action_21+action_460 (175) = happyShift action_22+action_460 (177) = happyShift action_575+action_460 (183) = happyShift action_23+action_460 (190) = happyShift action_24+action_460 (193) = happyShift action_25+action_460 (75) = happyGoto action_574+action_460 (76) = happyGoto action_7+action_460 (78) = happyGoto action_8+action_460 (82) = happyGoto action_9+action_460 (86) = happyGoto action_10+action_460 (89) = happyGoto action_11+action_460 (90) = happyGoto action_12+action_460 (91) = happyGoto action_13+action_460 (95) = happyGoto action_14+action_460 (96) = happyGoto action_15+action_460 _ = happyFail++action_461 _ = happyReduce_214++action_462 (108) = happyShift action_16+action_462 (110) = happyShift action_17+action_462 (113) = happyShift action_18+action_462 (171) = happyShift action_19+action_462 (173) = happyShift action_20+action_462 (174) = happyShift action_21+action_462 (175) = happyShift action_22+action_462 (177) = happyShift action_442+action_462 (183) = happyShift action_23+action_462 (190) = happyShift action_24+action_462 (193) = happyShift action_25+action_462 (70) = happyGoto action_573+action_462 (75) = happyGoto action_441+action_462 (76) = happyGoto action_7+action_462 (78) = happyGoto action_8+action_462 (82) = happyGoto action_9+action_462 (86) = happyGoto action_10+action_462 (89) = happyGoto action_11+action_462 (90) = happyGoto action_12+action_462 (91) = happyGoto action_13+action_462 (95) = happyGoto action_14+action_462 (96) = happyGoto action_15+action_462 _ = happyFail++action_463 _ = happyReduce_36++action_464 (112) = happyShift action_572+action_464 _ = happyFail++action_465 (108) = happyShift action_571+action_465 _ = happyFail++action_466 _ = happyReduce_46++action_467 _ = happyReduce_47++action_468 _ = happyReduce_225++action_469 (108) = happyShift action_16+action_469 (110) = happyShift action_17+action_469 (113) = happyShift action_18+action_469 (171) = happyShift action_19+action_469 (173) = happyShift action_20+action_469 (174) = happyShift action_21+action_469 (175) = happyShift action_22+action_469 (183) = happyShift action_23+action_469 (190) = happyShift action_24+action_469 (193) = happyShift action_25+action_469 (75) = happyGoto action_570+action_469 (76) = happyGoto action_7+action_469 (78) = happyGoto action_8+action_469 (82) = happyGoto action_9+action_469 (86) = happyGoto action_10+action_469 (89) = happyGoto action_11+action_469 (90) = happyGoto action_12+action_469 (91) = happyGoto action_13+action_469 (95) = happyGoto action_14+action_469 (96) = happyGoto action_15+action_469 _ = happyFail++action_470 _ = happyReduce_119++action_471 (108) = happyShift action_284+action_471 (190) = happyShift action_24+action_471 (21) = happyGoto action_567+action_471 (31) = happyGoto action_470+action_471 (38) = happyGoto action_175+action_471 (50) = happyGoto action_34+action_471 (82) = happyGoto action_568+action_471 (89) = happyGoto action_569+action_471 _ = happyFail++action_472 (178) = happyShift action_286+action_472 _ = happyReduce_80++action_473 (174) = happyShift action_216+action_473 (175) = happyShift action_217+action_473 (176) = happyShift action_218+action_473 (177) = happyShift action_219+action_473 (178) = happyShift action_220+action_473 (179) = happyShift action_221+action_473 (180) = happyShift action_222+action_473 (181) = happyShift action_223+action_473 (182) = happyShift action_224+action_473 (184) = happyShift action_225+action_473 (185) = happyShift action_226+action_473 (186) = happyShift action_227+action_473 (187) = happyShift action_228+action_473 (188) = happyShift action_229+action_473 (189) = happyShift action_230+action_473 (81) = happyGoto action_215+action_473 _ = happyReduce_124++action_474 (109) = happyShift action_565+action_474 (112) = happyShift action_566+action_474 (178) = happyShift action_286+action_474 _ = happyFail++action_475 (109) = happyShift action_564+action_475 (112) = happyShift action_413+action_475 _ = happyFail++action_476 _ = happyReduce_95++action_477 (121) = happyShift action_411+action_477 _ = happyFail++action_478 _ = happyReduce_97++action_479 (174) = happyShift action_555+action_479 (175) = happyShift action_556+action_479 (176) = happyShift action_557+action_479 (177) = happyShift action_558+action_479 (178) = happyShift action_559+action_479 (179) = happyShift action_560+action_479 (180) = happyShift action_561+action_479 (181) = happyShift action_562+action_479 (182) = happyShift action_563+action_479 (184) = happyShift action_225+action_479 (185) = happyShift action_226+action_479 (186) = happyShift action_227+action_479 (187) = happyShift action_228+action_479 (188) = happyShift action_229+action_479 (189) = happyShift action_230+action_479 (81) = happyGoto action_554+action_479 _ = happyReduce_98++action_480 _ = happyReduce_116++action_481 _ = happyReduce_117++action_482 (108) = happyShift action_486+action_482 (171) = happyShift action_155+action_482 (173) = happyShift action_20+action_482 (174) = happyShift action_21+action_482 (175) = happyShift action_22+action_482 (183) = happyShift action_488+action_482 (190) = happyShift action_24+action_482 (193) = happyShift action_25+action_482 (29) = happyGoto action_553+action_482 (78) = happyGoto action_480+action_482 (82) = happyGoto action_481+action_482 (86) = happyGoto action_482+action_482 (89) = happyGoto action_483+action_482 (90) = happyGoto action_484+action_482 (96) = happyGoto action_485+action_482 _ = happyFail++action_483 (108) = happyShift action_204+action_483 _ = happyReduce_118++action_484 _ = happyReduce_114++action_485 _ = happyReduce_115++action_486 (108) = happyShift action_486+action_486 (171) = happyShift action_155+action_486 (173) = happyShift action_20+action_486 (174) = happyShift action_21+action_486 (175) = happyShift action_22+action_486 (183) = happyShift action_488+action_486 (190) = happyShift action_24+action_486 (193) = happyShift action_25+action_486 (29) = happyGoto action_552+action_486 (78) = happyGoto action_480+action_486 (82) = happyGoto action_481+action_486 (86) = happyGoto action_482+action_486 (89) = happyGoto action_483+action_486 (90) = happyGoto action_484+action_486 (96) = happyGoto action_485+action_486 _ = happyFail++action_487 _ = happyReduce_99++action_488 (108) = happyShift action_486+action_488 (171) = happyShift action_155+action_488 (173) = happyShift action_20+action_488 (174) = happyShift action_21+action_488 (175) = happyShift action_22+action_488 (183) = happyShift action_488+action_488 (190) = happyShift action_24+action_488 (193) = happyShift action_25+action_488 (29) = happyGoto action_551+action_488 (78) = happyGoto action_480+action_488 (82) = happyGoto action_481+action_488 (86) = happyGoto action_482+action_488 (89) = happyGoto action_483+action_488 (90) = happyGoto action_484+action_488 (96) = happyGoto action_485+action_488 _ = happyFail++action_489 (112) = happyShift action_295+action_489 _ = happyReduce_201++action_490 (109) = happyShift action_550+action_490 (112) = happyShift action_295+action_490 _ = happyFail++action_491 _ = happyReduce_341++action_492 (176) = happyShift action_397+action_492 _ = happyReduce_278++action_493 (176) = happyShift action_397+action_493 _ = happyReduce_277++action_494 (176) = happyShift action_397+action_494 _ = happyReduce_279++action_495 (176) = happyShift action_397+action_495 (177) = happyShift action_398+action_495 (178) = happyShift action_399+action_495 _ = happyReduce_276++action_496 (176) = happyShift action_397+action_496 (177) = happyShift action_398+action_496 (178) = happyShift action_399+action_496 _ = happyReduce_275++action_497 _ = happyReduce_336++action_498 _ = happyReduce_281++action_499 (108) = happyShift action_310+action_499 (113) = happyShift action_18+action_499 (171) = happyShift action_19+action_499 (174) = happyShift action_21+action_499 (175) = happyShift action_22+action_499 (190) = happyShift action_24+action_499 (80) = happyGoto action_549+action_499 (86) = happyGoto action_305+action_499 (89) = happyGoto action_306+action_499 (90) = happyGoto action_12+action_499 (91) = happyGoto action_13+action_499 (95) = happyGoto action_307+action_499 _ = happyFail++action_500 (190) = happyShift action_548+action_500 _ = happyFail++action_501 _ = happyReduce_166++action_502 (190) = happyShift action_391+action_502 (49) = happyGoto action_547+action_502 _ = happyFail++action_503 _ = happyReduce_160++action_504 (174) = happyShift action_540+action_504 (175) = happyShift action_541+action_504 (176) = happyShift action_542+action_504 (177) = happyShift action_543+action_504 (178) = happyShift action_544+action_504 (181) = happyShift action_545+action_504 (182) = happyShift action_546+action_504 (184) = happyShift action_225+action_504 (185) = happyShift action_226+action_504 (186) = happyShift action_227+action_504 (187) = happyShift action_228+action_504 (188) = happyShift action_229+action_504 (189) = happyShift action_230+action_504 (81) = happyGoto action_539+action_504 _ = happyReduce_162++action_505 (108) = happyShift action_509+action_505 (113) = happyShift action_18+action_505 (171) = happyShift action_19+action_505 (173) = happyShift action_20+action_505 (174) = happyShift action_21+action_505 (175) = happyShift action_22+action_505 (183) = happyShift action_510+action_505 (190) = happyShift action_24+action_505 (193) = happyShift action_511+action_505 (79) = happyGoto action_538+action_505 (86) = happyGoto action_505+action_505 (89) = happyGoto action_506+action_505 (90) = happyGoto action_12+action_505 (91) = happyGoto action_13+action_505 (95) = happyGoto action_507+action_505 (96) = happyGoto action_508+action_505 _ = happyFail++action_506 _ = happyReduce_274++action_507 _ = happyReduce_270++action_508 _ = happyReduce_272++action_509 (108) = happyShift action_509+action_509 (113) = happyShift action_18+action_509 (171) = happyShift action_19+action_509 (173) = happyShift action_20+action_509 (174) = happyShift action_21+action_509 (175) = happyShift action_22+action_509 (183) = happyShift action_510+action_509 (190) = happyShift action_24+action_509 (193) = happyShift action_511+action_509 (79) = happyGoto action_537+action_509 (86) = happyGoto action_505+action_509 (89) = happyGoto action_506+action_509 (90) = happyGoto action_12+action_509 (91) = happyGoto action_13+action_509 (95) = happyGoto action_507+action_509 (96) = happyGoto action_508+action_509 _ = happyFail++action_510 (108) = happyShift action_509+action_510 (113) = happyShift action_18+action_510 (171) = happyShift action_19+action_510 (173) = happyShift action_20+action_510 (174) = happyShift action_21+action_510 (175) = happyShift action_22+action_510 (183) = happyShift action_510+action_510 (190) = happyShift action_24+action_510 (193) = happyShift action_511+action_510 (79) = happyGoto action_536+action_510 (86) = happyGoto action_505+action_510 (89) = happyGoto action_506+action_510 (90) = happyGoto action_12+action_510 (91) = happyGoto action_13+action_510 (95) = happyGoto action_507+action_510 (96) = happyGoto action_508+action_510 _ = happyFail++action_511 _ = happyReduce_273++action_512 _ = happyReduce_155++action_513 (112) = happyShift action_535+action_513 _ = happyFail++action_514 (108) = happyShift action_379+action_514 (113) = happyShift action_18+action_514 (171) = happyShift action_19+action_514 (173) = happyShift action_20+action_514 (174) = happyShift action_21+action_514 (175) = happyShift action_22+action_514 (193) = happyShift action_25+action_514 (57) = happyGoto action_534+action_514 (78) = happyGoto action_373+action_514 (86) = happyGoto action_374+action_514 (90) = happyGoto action_12+action_514 (91) = happyGoto action_13+action_514 (94) = happyGoto action_376+action_514 (95) = happyGoto action_377+action_514 (96) = happyGoto action_378+action_514 _ = happyFail++action_515 _ = happyReduce_317++action_516 (108) = happyShift action_379+action_516 (113) = happyShift action_18+action_516 (171) = happyShift action_19+action_516 (173) = happyShift action_20+action_516 (174) = happyShift action_21+action_516 (175) = happyShift action_22+action_516 (193) = happyShift action_25+action_516 (56) = happyGoto action_533+action_516 (57) = happyGoto action_372+action_516 (78) = happyGoto action_373+action_516 (86) = happyGoto action_374+action_516 (90) = happyGoto action_375+action_516 (91) = happyGoto action_13+action_516 (94) = happyGoto action_376+action_516 (95) = happyGoto action_377+action_516 (96) = happyGoto action_378+action_516 _ = happyFail++action_517 _ = happyReduce_187++action_518 (108) = happyShift action_379+action_518 (113) = happyShift action_18+action_518 (171) = happyShift action_19+action_518 (173) = happyShift action_20+action_518 (174) = happyShift action_21+action_518 (175) = happyShift action_22+action_518 (193) = happyShift action_25+action_518 (55) = happyGoto action_532+action_518 (56) = happyGoto action_371+action_518 (57) = happyGoto action_372+action_518 (78) = happyGoto action_373+action_518 (86) = happyGoto action_374+action_518 (90) = happyGoto action_375+action_518 (91) = happyGoto action_13+action_518 (94) = happyGoto action_376+action_518 (95) = happyGoto action_377+action_518 (96) = happyGoto action_378+action_518 _ = happyFail++action_519 _ = happyReduce_179++action_520 (115) = happyShift action_38+action_520 (122) = happyShift action_39+action_520 (124) = happyShift action_40+action_520 (125) = happyShift action_41+action_520 (127) = happyShift action_42+action_520 (128) = happyShift action_43+action_520 (129) = happyShift action_44+action_520 (130) = happyShift action_45+action_520 (131) = happyShift action_46+action_520 (132) = happyShift action_47+action_520 (133) = happyShift action_48+action_520 (134) = happyShift action_49+action_520 (135) = happyShift action_50+action_520 (136) = happyShift action_51+action_520 (137) = happyShift action_52+action_520 (138) = happyShift action_53+action_520 (139) = happyShift action_54+action_520 (140) = happyShift action_55+action_520 (141) = happyShift action_56+action_520 (142) = happyShift action_57+action_520 (143) = happyShift action_58+action_520 (144) = happyShift action_59+action_520 (145) = happyShift action_60+action_520 (146) = happyShift action_61+action_520 (147) = happyShift action_62+action_520 (148) = happyShift action_63+action_520 (149) = happyShift action_64+action_520 (150) = happyShift action_65+action_520 (151) = happyShift action_66+action_520 (152) = happyShift action_67+action_520 (153) = happyShift action_68+action_520 (154) = happyShift action_69+action_520 (155) = happyShift action_70+action_520 (156) = happyShift action_71+action_520 (157) = happyShift action_72+action_520 (158) = happyShift action_73+action_520 (159) = happyShift action_74+action_520 (160) = happyShift action_75+action_520 (161) = happyShift action_76+action_520 (162) = happyShift action_77+action_520 (163) = happyShift action_78+action_520 (165) = happyShift action_79+action_520 (166) = happyShift action_80+action_520 (190) = happyShift action_24+action_520 (191) = happyShift action_92+action_520 (194) = happyShift action_350+action_520 (195) = happyShift action_232+action_520 (12) = happyGoto action_531+action_520 (13) = happyGoto action_346+action_520 (15) = happyGoto action_347+action_520 (18) = happyGoto action_348+action_520 (19) = happyGoto action_27+action_520 (20) = happyGoto action_28+action_520 (22) = happyGoto action_29+action_520 (37) = happyGoto action_30+action_520 (38) = happyGoto action_31+action_520 (39) = happyGoto action_32+action_520 (45) = happyGoto action_33+action_520 (50) = happyGoto action_34+action_520 (82) = happyGoto action_35+action_520 (89) = happyGoto action_36+action_520 (100) = happyGoto action_349+action_520 (102) = happyGoto action_37+action_520 _ = happyFail++action_521 _ = happyReduce_11++action_522 (115) = happyShift action_38+action_522 (120) = happyShift action_530+action_522 (122) = happyShift action_39+action_522 (124) = happyShift action_40+action_522 (125) = happyShift action_41+action_522 (127) = happyShift action_42+action_522 (128) = happyShift action_43+action_522 (129) = happyShift action_44+action_522 (130) = happyShift action_45+action_522 (131) = happyShift action_46+action_522 (132) = happyShift action_47+action_522 (133) = happyShift action_48+action_522 (134) = happyShift action_49+action_522 (135) = happyShift action_50+action_522 (136) = happyShift action_51+action_522 (137) = happyShift action_52+action_522 (138) = happyShift action_53+action_522 (139) = happyShift action_54+action_522 (140) = happyShift action_55+action_522 (141) = happyShift action_56+action_522 (142) = happyShift action_57+action_522 (143) = happyShift action_58+action_522 (144) = happyShift action_59+action_522 (145) = happyShift action_60+action_522 (146) = happyShift action_61+action_522 (147) = happyShift action_62+action_522 (148) = happyShift action_63+action_522 (149) = happyShift action_64+action_522 (150) = happyShift action_65+action_522 (151) = happyShift action_66+action_522 (152) = happyShift action_67+action_522 (153) = happyShift action_68+action_522 (154) = happyShift action_69+action_522 (155) = happyShift action_70+action_522 (156) = happyShift action_71+action_522 (157) = happyShift action_72+action_522 (158) = happyShift action_73+action_522 (159) = happyShift action_74+action_522 (160) = happyShift action_75+action_522 (161) = happyShift action_76+action_522 (162) = happyShift action_77+action_522 (163) = happyShift action_78+action_522 (165) = happyShift action_79+action_522 (166) = happyShift action_80+action_522 (190) = happyShift action_24+action_522 (191) = happyShift action_92+action_522 (194) = happyShift action_350+action_522 (13) = happyGoto action_355+action_522 (15) = happyGoto action_347+action_522 (18) = happyGoto action_348+action_522 (19) = happyGoto action_27+action_522 (20) = happyGoto action_28+action_522 (22) = happyGoto action_29+action_522 (37) = happyGoto action_30+action_522 (38) = happyGoto action_31+action_522 (39) = happyGoto action_32+action_522 (45) = happyGoto action_33+action_522 (50) = happyGoto action_34+action_522 (82) = happyGoto action_35+action_522 (89) = happyGoto action_36+action_522 (100) = happyGoto action_349+action_522 (102) = happyGoto action_37+action_522 _ = happyFail++action_523 (190) = happyShift action_24+action_523 (89) = happyGoto action_529+action_523 _ = happyFail++action_524 _ = happyReduce_17++action_525 (115) = happyShift action_38+action_525 (120) = happyShift action_528+action_525 (122) = happyShift action_39+action_525 (124) = happyShift action_40+action_525 (125) = happyShift action_41+action_525 (127) = happyShift action_42+action_525 (128) = happyShift action_43+action_525 (129) = happyShift action_44+action_525 (130) = happyShift action_45+action_525 (131) = happyShift action_46+action_525 (132) = happyShift action_47+action_525 (133) = happyShift action_48+action_525 (134) = happyShift action_49+action_525 (135) = happyShift action_50+action_525 (136) = happyShift action_51+action_525 (137) = happyShift action_52+action_525 (138) = happyShift action_53+action_525 (139) = happyShift action_54+action_525 (140) = happyShift action_55+action_525 (141) = happyShift action_56+action_525 (142) = happyShift action_57+action_525 (143) = happyShift action_58+action_525 (144) = happyShift action_59+action_525 (145) = happyShift action_60+action_525 (146) = happyShift action_61+action_525 (147) = happyShift action_62+action_525 (148) = happyShift action_63+action_525 (149) = happyShift action_64+action_525 (150) = happyShift action_65+action_525 (151) = happyShift action_66+action_525 (152) = happyShift action_67+action_525 (153) = happyShift action_68+action_525 (154) = happyShift action_69+action_525 (155) = happyShift action_70+action_525 (156) = happyShift action_71+action_525 (157) = happyShift action_72+action_525 (158) = happyShift action_73+action_525 (159) = happyShift action_74+action_525 (160) = happyShift action_75+action_525 (161) = happyShift action_76+action_525 (162) = happyShift action_77+action_525 (163) = happyShift action_78+action_525 (165) = happyShift action_79+action_525 (166) = happyShift action_80+action_525 (190) = happyShift action_24+action_525 (191) = happyShift action_92+action_525 (194) = happyShift action_350+action_525 (13) = happyGoto action_355+action_525 (15) = happyGoto action_347+action_525 (18) = happyGoto action_348+action_525 (19) = happyGoto action_27+action_525 (20) = happyGoto action_28+action_525 (22) = happyGoto action_29+action_525 (37) = happyGoto action_30+action_525 (38) = happyGoto action_31+action_525 (39) = happyGoto action_32+action_525 (45) = happyGoto action_33+action_525 (50) = happyGoto action_34+action_525 (82) = happyGoto action_35+action_525 (89) = happyGoto action_36+action_525 (100) = happyGoto action_349+action_525 (102) = happyGoto action_37+action_525 _ = happyFail++action_526 (195) = happyShift action_232+action_526 _ = happyReduce_22++action_527 _ = happyReduce_16++action_528 _ = happyReduce_14++action_529 _ = happyReduce_306++action_530 _ = happyReduce_13++action_531 (115) = happyShift action_38+action_531 (120) = happyShift action_612+action_531 (122) = happyShift action_39+action_531 (124) = happyShift action_40+action_531 (125) = happyShift action_41+action_531 (127) = happyShift action_42+action_531 (128) = happyShift action_43+action_531 (129) = happyShift action_44+action_531 (130) = happyShift action_45+action_531 (131) = happyShift action_46+action_531 (132) = happyShift action_47+action_531 (133) = happyShift action_48+action_531 (134) = happyShift action_49+action_531 (135) = happyShift action_50+action_531 (136) = happyShift action_51+action_531 (137) = happyShift action_52+action_531 (138) = happyShift action_53+action_531 (139) = happyShift action_54+action_531 (140) = happyShift action_55+action_531 (141) = happyShift action_56+action_531 (142) = happyShift action_57+action_531 (143) = happyShift action_58+action_531 (144) = happyShift action_59+action_531 (145) = happyShift action_60+action_531 (146) = happyShift action_61+action_531 (147) = happyShift action_62+action_531 (148) = happyShift action_63+action_531 (149) = happyShift action_64+action_531 (150) = happyShift action_65+action_531 (151) = happyShift action_66+action_531 (152) = happyShift action_67+action_531 (153) = happyShift action_68+action_531 (154) = happyShift action_69+action_531 (155) = happyShift action_70+action_531 (156) = happyShift action_71+action_531 (157) = happyShift action_72+action_531 (158) = happyShift action_73+action_531 (159) = happyShift action_74+action_531 (160) = happyShift action_75+action_531 (161) = happyShift action_76+action_531 (162) = happyShift action_77+action_531 (163) = happyShift action_78+action_531 (165) = happyShift action_79+action_531 (166) = happyShift action_80+action_531 (190) = happyShift action_24+action_531 (191) = happyShift action_92+action_531 (194) = happyShift action_350+action_531 (13) = happyGoto action_355+action_531 (15) = happyGoto action_347+action_531 (18) = happyGoto action_348+action_531 (19) = happyGoto action_27+action_531 (20) = happyGoto action_28+action_531 (22) = happyGoto action_29+action_531 (37) = happyGoto action_30+action_531 (38) = happyGoto action_31+action_531 (39) = happyGoto action_32+action_531 (45) = happyGoto action_33+action_531 (50) = happyGoto action_34+action_531 (82) = happyGoto action_35+action_531 (89) = happyGoto action_36+action_531 (100) = happyGoto action_349+action_531 (102) = happyGoto action_37+action_531 _ = happyFail++action_532 (112) = happyShift action_516+action_532 (178) = happyShift action_611+action_532 _ = happyFail++action_533 _ = happyReduce_188++action_534 _ = happyReduce_190++action_535 (113) = happyShift action_18+action_535 (171) = happyShift action_19+action_535 (174) = happyShift action_21+action_535 (175) = happyShift action_22+action_535 (86) = happyGoto action_374+action_535 (90) = happyGoto action_12+action_535 (91) = happyGoto action_13+action_535 (94) = happyGoto action_610+action_535 (95) = happyGoto action_377+action_535 _ = happyFail++action_536 (174) = happyShift action_540+action_536 (175) = happyShift action_541+action_536 (176) = happyShift action_542+action_536 (177) = happyShift action_543+action_536 (178) = happyShift action_544+action_536 (184) = happyShift action_225+action_536 (185) = happyShift action_226+action_536 (186) = happyShift action_227+action_536 (187) = happyShift action_228+action_536 (188) = happyShift action_229+action_536 (189) = happyShift action_230+action_536 (81) = happyGoto action_539+action_536 _ = happyReduce_267++action_537 (109) = happyShift action_608+action_537 (112) = happyShift action_609+action_537 (174) = happyShift action_540+action_537 (175) = happyShift action_541+action_537 (176) = happyShift action_542+action_537 (177) = happyShift action_543+action_537 (178) = happyShift action_544+action_537 (181) = happyShift action_545+action_537 (182) = happyShift action_546+action_537 (184) = happyShift action_225+action_537 (185) = happyShift action_226+action_537 (186) = happyShift action_227+action_537 (187) = happyShift action_228+action_537 (188) = happyShift action_229+action_537 (189) = happyShift action_230+action_537 (81) = happyGoto action_539+action_537 _ = happyFail++action_538 (176) = happyShift action_542+action_538 (81) = happyGoto action_539+action_538 _ = happyReduce_264++action_539 (108) = happyShift action_509+action_539 (113) = happyShift action_18+action_539 (171) = happyShift action_19+action_539 (173) = happyShift action_20+action_539 (174) = happyShift action_21+action_539 (175) = happyShift action_22+action_539 (183) = happyShift action_510+action_539 (190) = happyShift action_24+action_539 (193) = happyShift action_511+action_539 (79) = happyGoto action_607+action_539 (86) = happyGoto action_505+action_539 (89) = happyGoto action_506+action_539 (90) = happyGoto action_12+action_539 (91) = happyGoto action_13+action_539 (95) = happyGoto action_507+action_539 (96) = happyGoto action_508+action_539 _ = happyFail++action_540 (108) = happyShift action_509+action_540 (113) = happyShift action_18+action_540 (171) = happyShift action_19+action_540 (173) = happyShift action_20+action_540 (174) = happyShift action_21+action_540 (175) = happyShift action_22+action_540 (183) = happyShift action_510+action_540 (190) = happyShift action_24+action_540 (193) = happyShift action_511+action_540 (79) = happyGoto action_606+action_540 (86) = happyGoto action_505+action_540 (89) = happyGoto action_506+action_540 (90) = happyGoto action_12+action_540 (91) = happyGoto action_13+action_540 (95) = happyGoto action_507+action_540 (96) = happyGoto action_508+action_540 _ = happyFail++action_541 (108) = happyShift action_509+action_541 (113) = happyShift action_18+action_541 (171) = happyShift action_19+action_541 (173) = happyShift action_20+action_541 (174) = happyShift action_21+action_541 (175) = happyShift action_22+action_541 (183) = happyShift action_510+action_541 (190) = happyShift action_24+action_541 (193) = happyShift action_511+action_541 (79) = happyGoto action_605+action_541 (86) = happyGoto action_505+action_541 (89) = happyGoto action_506+action_541 (90) = happyGoto action_12+action_541 (91) = happyGoto action_13+action_541 (95) = happyGoto action_507+action_541 (96) = happyGoto action_508+action_541 _ = happyFail++action_542 (108) = happyShift action_509+action_542 (113) = happyShift action_18+action_542 (171) = happyShift action_19+action_542 (173) = happyShift action_20+action_542 (174) = happyShift action_21+action_542 (175) = happyShift action_22+action_542 (183) = happyShift action_510+action_542 (190) = happyShift action_24+action_542 (193) = happyShift action_511+action_542 (79) = happyGoto action_604+action_542 (86) = happyGoto action_505+action_542 (89) = happyGoto action_506+action_542 (90) = happyGoto action_12+action_542 (91) = happyGoto action_13+action_542 (95) = happyGoto action_507+action_542 (96) = happyGoto action_508+action_542 _ = happyFail++action_543 (108) = happyShift action_509+action_543 (113) = happyShift action_18+action_543 (171) = happyShift action_19+action_543 (173) = happyShift action_20+action_543 (174) = happyShift action_21+action_543 (175) = happyShift action_22+action_543 (183) = happyShift action_510+action_543 (190) = happyShift action_24+action_543 (193) = happyShift action_511+action_543 (79) = happyGoto action_603+action_543 (86) = happyGoto action_505+action_543 (89) = happyGoto action_506+action_543 (90) = happyGoto action_12+action_543 (91) = happyGoto action_13+action_543 (95) = happyGoto action_507+action_543 (96) = happyGoto action_508+action_543 _ = happyFail++action_544 (108) = happyShift action_509+action_544 (113) = happyShift action_18+action_544 (171) = happyShift action_19+action_544 (173) = happyShift action_20+action_544 (174) = happyShift action_21+action_544 (175) = happyShift action_22+action_544 (178) = happyShift action_602+action_544 (183) = happyShift action_510+action_544 (190) = happyShift action_24+action_544 (193) = happyShift action_511+action_544 (79) = happyGoto action_601+action_544 (86) = happyGoto action_505+action_544 (89) = happyGoto action_506+action_544 (90) = happyGoto action_12+action_544 (91) = happyGoto action_13+action_544 (95) = happyGoto action_507+action_544 (96) = happyGoto action_508+action_544 _ = happyFail++action_545 (108) = happyShift action_509+action_545 (113) = happyShift action_18+action_545 (171) = happyShift action_19+action_545 (173) = happyShift action_20+action_545 (174) = happyShift action_21+action_545 (175) = happyShift action_22+action_545 (183) = happyShift action_510+action_545 (190) = happyShift action_24+action_545 (193) = happyShift action_511+action_545 (79) = happyGoto action_600+action_545 (86) = happyGoto action_505+action_545 (89) = happyGoto action_506+action_545 (90) = happyGoto action_12+action_545 (91) = happyGoto action_13+action_545 (95) = happyGoto action_507+action_545 (96) = happyGoto action_508+action_545 _ = happyFail++action_546 (108) = happyShift action_509+action_546 (113) = happyShift action_18+action_546 (171) = happyShift action_19+action_546 (173) = happyShift action_20+action_546 (174) = happyShift action_21+action_546 (175) = happyShift action_22+action_546 (183) = happyShift action_510+action_546 (190) = happyShift action_24+action_546 (193) = happyShift action_511+action_546 (79) = happyGoto action_599+action_546 (86) = happyGoto action_505+action_546 (89) = happyGoto action_506+action_546 (90) = happyGoto action_12+action_546 (91) = happyGoto action_13+action_546 (95) = happyGoto action_507+action_546 (96) = happyGoto action_508+action_546 _ = happyFail++action_547 _ = happyReduce_167++action_548 _ = happyReduce_170++action_549 (109) = happyShift action_598+action_549 (174) = happyShift action_395+action_549 (175) = happyShift action_396+action_549 (176) = happyShift action_397+action_549 (177) = happyShift action_398+action_549 (178) = happyShift action_399+action_549 _ = happyFail++action_550 _ = happyReduce_196++action_551 (174) = happyShift action_555+action_551 (175) = happyShift action_556+action_551 (176) = happyShift action_557+action_551 (177) = happyShift action_558+action_551 (178) = happyShift action_559+action_551 (184) = happyShift action_225+action_551 (185) = happyShift action_226+action_551 (186) = happyShift action_227+action_551 (187) = happyShift action_228+action_551 (188) = happyShift action_229+action_551 (189) = happyShift action_230+action_551 (81) = happyGoto action_554+action_551 _ = happyReduce_109++action_552 (109) = happyShift action_597+action_552 (174) = happyShift action_555+action_552 (175) = happyShift action_556+action_552 (176) = happyShift action_557+action_552 (177) = happyShift action_558+action_552 (178) = happyShift action_559+action_552 (179) = happyShift action_560+action_552 (180) = happyShift action_561+action_552 (181) = happyShift action_562+action_552 (182) = happyShift action_563+action_552 (184) = happyShift action_225+action_552 (185) = happyShift action_226+action_552 (186) = happyShift action_227+action_552 (187) = happyShift action_228+action_552 (188) = happyShift action_229+action_552 (189) = happyShift action_230+action_552 (81) = happyGoto action_554+action_552 _ = happyFail++action_553 (176) = happyShift action_557+action_553 (81) = happyGoto action_554+action_553 _ = happyReduce_106++action_554 (108) = happyShift action_486+action_554 (171) = happyShift action_155+action_554 (173) = happyShift action_20+action_554 (174) = happyShift action_21+action_554 (175) = happyShift action_22+action_554 (183) = happyShift action_488+action_554 (190) = happyShift action_24+action_554 (193) = happyShift action_25+action_554 (29) = happyGoto action_596+action_554 (78) = happyGoto action_480+action_554 (82) = happyGoto action_481+action_554 (86) = happyGoto action_482+action_554 (89) = happyGoto action_483+action_554 (90) = happyGoto action_484+action_554 (96) = happyGoto action_485+action_554 _ = happyFail++action_555 (108) = happyShift action_486+action_555 (171) = happyShift action_155+action_555 (173) = happyShift action_20+action_555 (174) = happyShift action_21+action_555 (175) = happyShift action_22+action_555 (183) = happyShift action_488+action_555 (190) = happyShift action_24+action_555 (193) = happyShift action_25+action_555 (29) = happyGoto action_595+action_555 (78) = happyGoto action_480+action_555 (82) = happyGoto action_481+action_555 (86) = happyGoto action_482+action_555 (89) = happyGoto action_483+action_555 (90) = happyGoto action_484+action_555 (96) = happyGoto action_485+action_555 _ = happyFail++action_556 (108) = happyShift action_486+action_556 (171) = happyShift action_155+action_556 (173) = happyShift action_20+action_556 (174) = happyShift action_21+action_556 (175) = happyShift action_22+action_556 (183) = happyShift action_488+action_556 (190) = happyShift action_24+action_556 (193) = happyShift action_25+action_556 (29) = happyGoto action_594+action_556 (78) = happyGoto action_480+action_556 (82) = happyGoto action_481+action_556 (86) = happyGoto action_482+action_556 (89) = happyGoto action_483+action_556 (90) = happyGoto action_484+action_556 (96) = happyGoto action_485+action_556 _ = happyFail++action_557 (108) = happyShift action_486+action_557 (171) = happyShift action_155+action_557 (173) = happyShift action_20+action_557 (174) = happyShift action_21+action_557 (175) = happyShift action_22+action_557 (183) = happyShift action_488+action_557 (190) = happyShift action_24+action_557 (193) = happyShift action_25+action_557 (29) = happyGoto action_593+action_557 (78) = happyGoto action_480+action_557 (82) = happyGoto action_481+action_557 (86) = happyGoto action_482+action_557 (89) = happyGoto action_483+action_557 (90) = happyGoto action_484+action_557 (96) = happyGoto action_485+action_557 _ = happyFail++action_558 (108) = happyShift action_486+action_558 (171) = happyShift action_155+action_558 (173) = happyShift action_20+action_558 (174) = happyShift action_21+action_558 (175) = happyShift action_22+action_558 (183) = happyShift action_488+action_558 (190) = happyShift action_24+action_558 (193) = happyShift action_25+action_558 (29) = happyGoto action_592+action_558 (78) = happyGoto action_480+action_558 (82) = happyGoto action_481+action_558 (86) = happyGoto action_482+action_558 (89) = happyGoto action_483+action_558 (90) = happyGoto action_484+action_558 (96) = happyGoto action_485+action_558 _ = happyFail++action_559 (108) = happyShift action_486+action_559 (171) = happyShift action_155+action_559 (173) = happyShift action_20+action_559 (174) = happyShift action_21+action_559 (175) = happyShift action_22+action_559 (178) = happyShift action_591+action_559 (183) = happyShift action_488+action_559 (190) = happyShift action_24+action_559 (193) = happyShift action_25+action_559 (29) = happyGoto action_590+action_559 (78) = happyGoto action_480+action_559 (82) = happyGoto action_481+action_559 (86) = happyGoto action_482+action_559 (89) = happyGoto action_483+action_559 (90) = happyGoto action_484+action_559 (96) = happyGoto action_485+action_559 _ = happyFail++action_560 (108) = happyShift action_486+action_560 (171) = happyShift action_155+action_560 (173) = happyShift action_20+action_560 (174) = happyShift action_21+action_560 (175) = happyShift action_22+action_560 (183) = happyShift action_488+action_560 (190) = happyShift action_24+action_560 (193) = happyShift action_25+action_560 (29) = happyGoto action_589+action_560 (78) = happyGoto action_480+action_560 (82) = happyGoto action_481+action_560 (86) = happyGoto action_482+action_560 (89) = happyGoto action_483+action_560 (90) = happyGoto action_484+action_560 (96) = happyGoto action_485+action_560 _ = happyFail++action_561 (108) = happyShift action_486+action_561 (171) = happyShift action_155+action_561 (173) = happyShift action_20+action_561 (174) = happyShift action_21+action_561 (175) = happyShift action_22+action_561 (183) = happyShift action_488+action_561 (190) = happyShift action_24+action_561 (193) = happyShift action_25+action_561 (29) = happyGoto action_588+action_561 (78) = happyGoto action_480+action_561 (82) = happyGoto action_481+action_561 (86) = happyGoto action_482+action_561 (89) = happyGoto action_483+action_561 (90) = happyGoto action_484+action_561 (96) = happyGoto action_485+action_561 _ = happyFail++action_562 (108) = happyShift action_486+action_562 (171) = happyShift action_155+action_562 (173) = happyShift action_20+action_562 (174) = happyShift action_21+action_562 (175) = happyShift action_22+action_562 (183) = happyShift action_488+action_562 (190) = happyShift action_24+action_562 (193) = happyShift action_25+action_562 (29) = happyGoto action_587+action_562 (78) = happyGoto action_480+action_562 (82) = happyGoto action_481+action_562 (86) = happyGoto action_482+action_562 (89) = happyGoto action_483+action_562 (90) = happyGoto action_484+action_562 (96) = happyGoto action_485+action_562 _ = happyFail++action_563 (108) = happyShift action_486+action_563 (171) = happyShift action_155+action_563 (173) = happyShift action_20+action_563 (174) = happyShift action_21+action_563 (175) = happyShift action_22+action_563 (183) = happyShift action_488+action_563 (190) = happyShift action_24+action_563 (193) = happyShift action_25+action_563 (29) = happyGoto action_586+action_563 (78) = happyGoto action_480+action_563 (82) = happyGoto action_481+action_563 (86) = happyGoto action_482+action_563 (89) = happyGoto action_483+action_563 (90) = happyGoto action_484+action_563 (96) = happyGoto action_485+action_563 _ = happyFail++action_564 _ = happyReduce_92++action_565 _ = happyReduce_91++action_566 (190) = happyShift action_477+action_566 (26) = happyGoto action_585+action_566 (27) = happyGoto action_292+action_566 _ = happyFail++action_567 (109) = happyShift action_584+action_567 _ = happyFail++action_568 (121) = happyReduce_172+action_568 _ = happyReduce_122++action_569 (108) = happyShift action_204+action_569 (121) = happyReduce_171+action_569 _ = happyReduce_121++action_570 (174) = happyShift action_216+action_570 (175) = happyShift action_217+action_570 (176) = happyShift action_218+action_570 (177) = happyShift action_219+action_570 (178) = happyShift action_220+action_570 (179) = happyShift action_221+action_570 (180) = happyShift action_222+action_570 (181) = happyShift action_223+action_570 (182) = happyShift action_224+action_570 (184) = happyShift action_225+action_570 (185) = happyShift action_226+action_570 (186) = happyShift action_227+action_570 (187) = happyShift action_228+action_570 (188) = happyShift action_229+action_570 (189) = happyShift action_230+action_570 (81) = happyGoto action_215+action_570 _ = happyReduce_40++action_571 (108) = happyShift action_16+action_571 (110) = happyShift action_17+action_571 (113) = happyShift action_18+action_571 (171) = happyShift action_19+action_571 (173) = happyShift action_20+action_571 (174) = happyShift action_21+action_571 (175) = happyShift action_22+action_571 (183) = happyShift action_23+action_571 (190) = happyShift action_24+action_571 (193) = happyShift action_25+action_571 (75) = happyGoto action_583+action_571 (76) = happyGoto action_7+action_571 (78) = happyGoto action_8+action_571 (82) = happyGoto action_9+action_571 (86) = happyGoto action_10+action_571 (89) = happyGoto action_11+action_571 (90) = happyGoto action_12+action_571 (91) = happyGoto action_13+action_571 (95) = happyGoto action_14+action_571 (96) = happyGoto action_15+action_571 _ = happyFail++action_572 (171) = happyShift action_177+action_572 (101) = happyGoto action_582+action_572 _ = happyFail++action_573 _ = happyReduce_216++action_574 (174) = happyShift action_216+action_574 (175) = happyShift action_217+action_574 (176) = happyShift action_218+action_574 (177) = happyShift action_219+action_574 (178) = happyShift action_220+action_574 (179) = happyShift action_221+action_574 (180) = happyShift action_222+action_574 (181) = happyShift action_223+action_574 (182) = happyShift action_224+action_574 (184) = happyShift action_225+action_574 (185) = happyShift action_226+action_574 (186) = happyShift action_227+action_574 (187) = happyShift action_228+action_574 (188) = happyShift action_229+action_574 (189) = happyShift action_230+action_574 (81) = happyGoto action_215+action_574 _ = happyReduce_218++action_575 _ = happyReduce_220++action_576 (109) = happyShift action_581+action_576 (112) = happyShift action_445+action_576 _ = happyFail++action_577 (109) = happyShift action_580+action_577 _ = happyFail++action_578 (112) = happyShift action_579+action_578 _ = happyFail++action_579 (108) = happyShift action_16+action_579 (110) = happyShift action_17+action_579 (113) = happyShift action_18+action_579 (171) = happyShift action_19+action_579 (173) = happyShift action_20+action_579 (174) = happyShift action_21+action_579 (175) = happyShift action_22+action_579 (183) = happyShift action_23+action_579 (190) = happyShift action_24+action_579 (193) = happyShift action_25+action_579 (21) = happyGoto action_620+action_579 (38) = happyGoto action_175+action_579 (50) = happyGoto action_34+action_579 (75) = happyGoto action_448+action_579 (76) = happyGoto action_7+action_579 (78) = happyGoto action_8+action_579 (82) = happyGoto action_451+action_579 (86) = happyGoto action_10+action_579 (89) = happyGoto action_452+action_579 (90) = happyGoto action_12+action_579 (91) = happyGoto action_13+action_579 (95) = happyGoto action_14+action_579 (96) = happyGoto action_15+action_579 _ = happyFail++action_580 _ = happyReduce_253++action_581 _ = happyReduce_293++action_582 (112) = happyShift action_619+action_582 _ = happyFail++action_583 (109) = happyShift action_618+action_583 (174) = happyShift action_216+action_583 (175) = happyShift action_217+action_583 (176) = happyShift action_218+action_583 (177) = happyShift action_219+action_583 (178) = happyShift action_220+action_583 (179) = happyShift action_221+action_583 (180) = happyShift action_222+action_583 (181) = happyShift action_223+action_583 (182) = happyShift action_224+action_583 (184) = happyShift action_225+action_583 (185) = happyShift action_226+action_583 (186) = happyShift action_227+action_583 (187) = happyShift action_228+action_583 (188) = happyShift action_229+action_583 (189) = happyShift action_230+action_583 (81) = happyGoto action_215+action_583 _ = happyFail++action_584 _ = happyReduce_123++action_585 (109) = happyShift action_617+action_585 (112) = happyShift action_413+action_585 _ = happyFail++action_586 (174) = happyShift action_555+action_586 (175) = happyShift action_556+action_586 (176) = happyShift action_557+action_586 (177) = happyShift action_558+action_586 (178) = happyShift action_559+action_586 (184) = happyShift action_225+action_586 (185) = happyShift action_226+action_586 (186) = happyShift action_227+action_586 (187) = happyShift action_228+action_586 (188) = happyShift action_229+action_586 (189) = happyShift action_230+action_586 (81) = happyGoto action_554+action_586 _ = happyReduce_108++action_587 (174) = happyShift action_555+action_587 (175) = happyShift action_556+action_587 (176) = happyShift action_557+action_587 (177) = happyShift action_558+action_587 (178) = happyShift action_559+action_587 (182) = happyShift action_563+action_587 (184) = happyShift action_225+action_587 (185) = happyShift action_226+action_587 (186) = happyShift action_227+action_587 (187) = happyShift action_228+action_587 (188) = happyShift action_229+action_587 (189) = happyShift action_230+action_587 (81) = happyGoto action_554+action_587 _ = happyReduce_107++action_588 (174) = happyShift action_555+action_588 (175) = happyShift action_556+action_588 (176) = happyShift action_557+action_588 (177) = happyShift action_558+action_588 (178) = happyShift action_559+action_588 (181) = happyShift action_562+action_588 (182) = happyShift action_563+action_588 (184) = happyShift action_225+action_588 (185) = happyShift action_226+action_588 (186) = happyShift action_227+action_588 (187) = happyShift action_228+action_588 (188) = happyShift action_229+action_588 (189) = happyShift action_230+action_588 (81) = happyGoto action_554+action_588 _ = happyReduce_111++action_589 (174) = happyShift action_555+action_589 (175) = happyShift action_556+action_589 (176) = happyShift action_557+action_589 (177) = happyShift action_558+action_589 (178) = happyShift action_559+action_589 (181) = happyShift action_562+action_589 (182) = happyShift action_563+action_589 (184) = happyShift action_225+action_589 (185) = happyShift action_226+action_589 (186) = happyShift action_227+action_589 (187) = happyShift action_228+action_589 (188) = happyShift action_229+action_589 (189) = happyShift action_230+action_589 (81) = happyGoto action_554+action_589 _ = happyReduce_110++action_590 (176) = happyShift action_557+action_590 (81) = happyGoto action_554+action_590 _ = happyReduce_103++action_591 (108) = happyShift action_486+action_591 (171) = happyShift action_155+action_591 (173) = happyShift action_20+action_591 (174) = happyShift action_21+action_591 (175) = happyShift action_22+action_591 (183) = happyShift action_488+action_591 (190) = happyShift action_24+action_591 (193) = happyShift action_25+action_591 (29) = happyGoto action_616+action_591 (78) = happyGoto action_480+action_591 (82) = happyGoto action_481+action_591 (86) = happyGoto action_482+action_591 (89) = happyGoto action_483+action_591 (90) = happyGoto action_484+action_591 (96) = happyGoto action_485+action_591 _ = happyFail++action_592 (176) = happyShift action_557+action_592 (81) = happyGoto action_554+action_592 _ = happyReduce_102++action_593 (176) = happyShift action_557+action_593 (81) = happyGoto action_554+action_593 _ = happyReduce_104++action_594 (176) = happyShift action_557+action_594 (177) = happyShift action_558+action_594 (178) = happyShift action_559+action_594 (81) = happyGoto action_554+action_594 _ = happyReduce_101++action_595 (176) = happyShift action_557+action_595 (177) = happyShift action_558+action_595 (178) = happyShift action_559+action_595 (81) = happyGoto action_554+action_595 _ = happyReduce_100++action_596 (174) = happyShift action_555+action_596 (175) = happyShift action_556+action_596 (176) = happyShift action_557+action_596 (177) = happyShift action_558+action_596 (178) = happyShift action_559+action_596 (81) = happyGoto action_554+action_596 _ = happyReduce_112++action_597 _ = happyReduce_113++action_598 _ = happyReduce_283++action_599 (174) = happyShift action_540+action_599 (175) = happyShift action_541+action_599 (176) = happyShift action_542+action_599 (177) = happyShift action_543+action_599 (178) = happyShift action_544+action_599 (184) = happyShift action_225+action_599 (185) = happyShift action_226+action_599 (186) = happyShift action_227+action_599 (187) = happyShift action_228+action_599 (188) = happyShift action_229+action_599 (189) = happyShift action_230+action_599 (81) = happyGoto action_539+action_599 _ = happyReduce_266++action_600 (174) = happyShift action_540+action_600 (175) = happyShift action_541+action_600 (176) = happyShift action_542+action_600 (177) = happyShift action_543+action_600 (178) = happyShift action_544+action_600 (182) = happyShift action_546+action_600 (184) = happyShift action_225+action_600 (185) = happyShift action_226+action_600 (186) = happyShift action_227+action_600 (187) = happyShift action_228+action_600 (188) = happyShift action_229+action_600 (189) = happyShift action_230+action_600 (81) = happyGoto action_539+action_600 _ = happyReduce_265++action_601 (176) = happyShift action_542+action_601 (81) = happyGoto action_539+action_601 _ = happyReduce_261++action_602 (108) = happyShift action_509+action_602 (113) = happyShift action_18+action_602 (171) = happyShift action_19+action_602 (173) = happyShift action_20+action_602 (174) = happyShift action_21+action_602 (175) = happyShift action_22+action_602 (183) = happyShift action_510+action_602 (190) = happyShift action_24+action_602 (193) = happyShift action_511+action_602 (79) = happyGoto action_615+action_602 (86) = happyGoto action_505+action_602 (89) = happyGoto action_506+action_602 (90) = happyGoto action_12+action_602 (91) = happyGoto action_13+action_602 (95) = happyGoto action_507+action_602 (96) = happyGoto action_508+action_602 _ = happyFail++action_603 (176) = happyShift action_542+action_603 (81) = happyGoto action_539+action_603 _ = happyReduce_260++action_604 (176) = happyShift action_542+action_604 (81) = happyGoto action_539+action_604 _ = happyReduce_262++action_605 (176) = happyShift action_542+action_605 (177) = happyShift action_543+action_605 (178) = happyShift action_544+action_605 (81) = happyGoto action_539+action_605 _ = happyReduce_259++action_606 (176) = happyShift action_542+action_606 (177) = happyShift action_543+action_606 (178) = happyShift action_544+action_606 (81) = happyGoto action_539+action_606 _ = happyReduce_258++action_607 (174) = happyShift action_540+action_607 (175) = happyShift action_541+action_607 (176) = happyShift action_542+action_607 (177) = happyShift action_543+action_607 (178) = happyShift action_544+action_607 (81) = happyGoto action_539+action_607 _ = happyReduce_268++action_608 _ = happyReduce_269++action_609 (108) = happyShift action_509+action_609 (113) = happyShift action_18+action_609 (171) = happyShift action_19+action_609 (173) = happyShift action_20+action_609 (174) = happyShift action_21+action_609 (175) = happyShift action_22+action_609 (183) = happyShift action_510+action_609 (190) = happyShift action_24+action_609 (193) = happyShift action_511+action_609 (79) = happyGoto action_614+action_609 (86) = happyGoto action_505+action_609 (89) = happyGoto action_506+action_609 (90) = happyGoto action_12+action_609 (91) = happyGoto action_13+action_609 (95) = happyGoto action_507+action_609 (96) = happyGoto action_508+action_609 _ = happyFail++action_610 (109) = happyShift action_613+action_610 _ = happyFail++action_611 _ = happyReduce_186++action_612 _ = happyReduce_12++action_613 _ = happyReduce_193++action_614 (109) = happyShift action_623+action_614 (174) = happyShift action_540+action_614 (175) = happyShift action_541+action_614 (176) = happyShift action_542+action_614 (177) = happyShift action_543+action_614 (178) = happyShift action_544+action_614 (181) = happyShift action_545+action_614 (182) = happyShift action_546+action_614 (184) = happyShift action_225+action_614 (185) = happyShift action_226+action_614 (186) = happyShift action_227+action_614 (187) = happyShift action_228+action_614 (188) = happyShift action_229+action_614 (189) = happyShift action_230+action_614 (81) = happyGoto action_539+action_614 _ = happyFail++action_615 (174) = happyShift action_540+action_615 (175) = happyShift action_541+action_615 (176) = happyShift action_542+action_615 (177) = happyShift action_543+action_615 (178) = happyShift action_544+action_615 (81) = happyGoto action_539+action_615 _ = happyReduce_263++action_616 (174) = happyShift action_555+action_616 (175) = happyShift action_556+action_616 (176) = happyShift action_557+action_616 (177) = happyShift action_558+action_616 (178) = happyShift action_559+action_616 (81) = happyGoto action_554+action_616 _ = happyReduce_105++action_617 _ = happyReduce_90++action_618 (126) = happyShift action_466+action_618 (171) = happyShift action_177+action_618 (101) = happyGoto action_464+action_618 _ = happyFail++action_619 (171) = happyShift action_177+action_619 (101) = happyGoto action_622+action_619 _ = happyFail++action_620 (109) = happyShift action_621+action_620 _ = happyFail++action_621 _ = happyReduce_254++action_622 _ = happyReduce_45++action_623 _ = happyReduce_271++happyReduce_3 = happySpecReduce_2  6 happyReduction_3+happyReduction_3 (HappyAbsSyn6  happy_var_2)+	_+	 =  HappyAbsSyn6+		 (happy_var_2+	)+happyReduction_3 _ _  = notHappyAtAll ++happyReduce_4 = happySpecReduce_1  6 happyReduction_4+happyReduction_4 (HappyAbsSyn6  happy_var_1)+	 =  HappyAbsSyn6+		 (happy_var_1+	)+happyReduction_4 _  = notHappyAtAll ++happyReduce_5 = happySpecReduce_1  7 happyReduction_5+happyReduction_5 (HappyAbsSyn8  happy_var_1)+	 =  HappyAbsSyn6+		 (ProgramFile (reverse happy_var_1) [ ]+	)+happyReduction_5 _  = notHappyAtAll ++happyReduce_6 = happySpecReduce_2  7 happyReduction_6+happyReduction_6 (HappyAbsSyn12  happy_var_2)+	(HappyAbsSyn8  happy_var_1)+	 =  HappyAbsSyn6+		 (ProgramFile (reverse happy_var_1) (reverse happy_var_2)+	)+happyReduction_6 _ _  = notHappyAtAll ++happyReduce_7 = happySpecReduce_3  8 happyReduction_7+happyReduction_7 _+	(HappyAbsSyn9  happy_var_2)+	(HappyAbsSyn8  happy_var_1)+	 =  HappyAbsSyn8+		 (([ ], happy_var_2) : happy_var_1+	)+happyReduction_7 _ _ _  = notHappyAtAll ++happyReduce_8 = happyReduce 4 8 happyReduction_8+happyReduction_8 (_ `HappyStk`+	(HappyAbsSyn9  happy_var_3) `HappyStk`+	(HappyAbsSyn12  happy_var_2) `HappyStk`+	(HappyAbsSyn8  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn8+		 ((reverse happy_var_2, happy_var_3) : happy_var_1+	) `HappyStk` happyRest++happyReduce_9 = happySpecReduce_2  8 happyReduction_9+happyReduction_9 _+	(HappyAbsSyn9  happy_var_1)+	 =  HappyAbsSyn8+		 ([ ([ ], happy_var_1) ]+	)+happyReduction_9 _ _  = notHappyAtAll ++happyReduce_10 = happySpecReduce_3  8 happyReduction_10+happyReduction_10 _+	(HappyAbsSyn9  happy_var_2)+	(HappyAbsSyn12  happy_var_1)+	 =  HappyAbsSyn8+		 ([ (reverse happy_var_1, happy_var_2) ]+	)+happyReduction_10 _ _ _  = notHappyAtAll ++happyReduce_11 = happyReduce 5 9 happyReduction_11+happyReduction_11 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn12  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn11  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn9+		 (PUMain () (getTransSpan happy_var_1 happy_var_5) (Just happy_var_2) (reverse happy_var_4) Nothing+	) `HappyStk` happyRest++happyReduce_12 = happyReduce 7 9 happyReduction_12+happyReduction_12 ((HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn12  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn10  happy_var_4) `HappyStk`+	(HappyAbsSyn11  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn102  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn9+		 (PUFunction () (getTransSpan happy_var_1 happy_var_7) (Just happy_var_1) False happy_var_3 happy_var_4 Nothing (reverse happy_var_6) Nothing+	) `HappyStk` happyRest++happyReduce_13 = happyReduce 6 9 happyReduction_13+happyReduction_13 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn12  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn10  happy_var_3) `HappyStk`+	(HappyAbsSyn11  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn9+		 (PUFunction () (getTransSpan happy_var_1 happy_var_6) Nothing False happy_var_2 happy_var_3 Nothing (reverse happy_var_5) Nothing+	) `HappyStk` happyRest++happyReduce_14 = happyReduce 6 9 happyReduction_14+happyReduction_14 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn12  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn10  happy_var_3) `HappyStk`+	(HappyAbsSyn11  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn9+		 (PUSubroutine () (getTransSpan happy_var_1 happy_var_6) False happy_var_2 happy_var_3 (reverse happy_var_5) Nothing+	) `HappyStk` happyRest++happyReduce_15 = happyReduce 4 9 happyReduction_15+happyReduction_15 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn12  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn9+		 (PUBlockData () (getTransSpan happy_var_1 happy_var_4) Nothing (reverse happy_var_3)+	) `HappyStk` happyRest++happyReduce_16 = happyReduce 5 9 happyReduction_16+happyReduction_16 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn12  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn11  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn9+		 (PUBlockData () (getTransSpan happy_var_1 happy_var_5) (Just happy_var_2) (reverse happy_var_4)+	) `HappyStk` happyRest++happyReduce_17 = happySpecReduce_3  10 happyReduction_17+happyReduction_17 _+	(HappyAbsSyn10  happy_var_2)+	_+	 =  HappyAbsSyn10+		 (happy_var_2+	)+happyReduction_17 _ _ _  = notHappyAtAll ++happyReduce_18 = happySpecReduce_0  10 happyReduction_18+happyReduction_18  =  HappyAbsSyn10+		 (Nothing+	)++happyReduce_19 = happySpecReduce_1  11 happyReduction_19+happyReduction_19 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn11+		 (let (TId _ name) = happy_var_1 in name+	)+happyReduction_19 _  = notHappyAtAll ++happyReduce_20 = happySpecReduce_2  12 happyReduction_20+happyReduction_20 (HappyAbsSyn13  happy_var_2)+	(HappyAbsSyn12  happy_var_1)+	 =  HappyAbsSyn12+		 (happy_var_2 : happy_var_1+	)+happyReduction_20 _ _  = notHappyAtAll ++happyReduce_21 = happySpecReduce_1  12 happyReduction_21+happyReduction_21 (HappyAbsSyn13  happy_var_1)+	 =  HappyAbsSyn12+		 ([ happy_var_1 ]+	)+happyReduction_21 _  = notHappyAtAll ++happyReduce_22 = happySpecReduce_3  13 happyReduction_22+happyReduction_22 _+	(HappyAbsSyn18  happy_var_2)+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn13+		 (BlStatement () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) happy_var_2+	)+happyReduction_22 _ _ _  = notHappyAtAll ++happyReduce_23 = happySpecReduce_2  13 happyReduction_23+happyReduction_23 _+	(HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn13+		 (BlStatement () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_23 _ _  = notHappyAtAll ++happyReduce_24 = happySpecReduce_1  13 happyReduction_24+happyReduction_24 (HappyAbsSyn13  happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_24 _  = notHappyAtAll ++happyReduce_25 = happySpecReduce_2  14 happyReduction_25+happyReduction_25 (HappyAbsSyn13  happy_var_2)+	(HappyAbsSyn12  happy_var_1)+	 =  HappyAbsSyn12+		 (happy_var_2 : happy_var_1+	)+happyReduction_25 _ _  = notHappyAtAll ++happyReduce_26 = happySpecReduce_1  14 happyReduction_26+happyReduction_26 (HappyAbsSyn13  happy_var_1)+	 =  HappyAbsSyn12+		 ([ happy_var_1 ]+	)+happyReduction_26 _  = notHappyAtAll ++happyReduce_27 = happySpecReduce_2  15 happyReduction_27+happyReduction_27 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (let (TComment s c) = happy_var_1 in BlComment () s c+	)+happyReduction_27 _ _  = notHappyAtAll ++happyReduce_28 = happySpecReduce_1  16 happyReduction_28+happyReduction_28 (HappyAbsSyn17  happy_var_1)+	 =  HappyAbsSyn16+		 (Just happy_var_1+	)+happyReduction_28 _  = notHappyAtAll ++happyReduce_29 = happySpecReduce_0  16 happyReduction_29+happyReduction_29  =  HappyAbsSyn16+		 (Nothing+	)++happyReduce_30 = happySpecReduce_2  17 happyReduction_30+happyReduction_30 _+	(HappyAbsSyn17  happy_var_1)+	 =  HappyAbsSyn17+		 (happy_var_1+	)+happyReduction_30 _ _  = notHappyAtAll ++happyReduce_31 = happySpecReduce_1  17 happyReduction_31+happyReduction_31 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn17+		 (happy_var_1+	)+happyReduction_31 _  = notHappyAtAll ++happyReduce_32 = happySpecReduce_1  18 happyReduction_32+happyReduction_32 (HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn18+		 (happy_var_1+	)+happyReduction_32 _  = notHappyAtAll ++happyReduce_33 = happySpecReduce_1  18 happyReduction_33+happyReduction_33 (HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn18+		 (happy_var_1+	)+happyReduction_33 _  = notHappyAtAll ++happyReduce_34 = happySpecReduce_1  18 happyReduction_34+happyReduction_34 (HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn18+		 (happy_var_1+	)+happyReduction_34 _  = notHappyAtAll ++happyReduce_35 = happySpecReduce_1  18 happyReduction_35+happyReduction_35 (HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn18+		 (happy_var_1+	)+happyReduction_35 _  = notHappyAtAll ++happyReduce_36 = happyReduce 5 19 happyReduction_36+happyReduction_36 ((HappyAbsSyn18  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StIfLogical () (getTransSpan happy_var_1 happy_var_5) happy_var_3 happy_var_5+	) `HappyStk` happyRest++happyReduce_37 = happySpecReduce_3  20 happyReduction_37+happyReduction_37 (HappyAbsSyn21  happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StDo () (getTransSpan happy_var_1 happy_var_3) Nothing (Just happy_var_2) (Just happy_var_3)+	)+happyReduction_37 _ _ _  = notHappyAtAll ++happyReduce_38 = happyReduce 4 20 happyReduction_38+happyReduction_38 ((HappyAbsSyn21  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StDo () (getTransSpan happy_var_1 happy_var_4) Nothing (Just happy_var_2) (Just happy_var_4)+	) `HappyStk` happyRest++happyReduce_39 = happySpecReduce_2  20 happyReduction_39+happyReduction_39 (HappyAbsSyn21  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StDo () (getTransSpan happy_var_1 happy_var_2) Nothing Nothing (Just happy_var_2)+	)+happyReduction_39 _ _  = notHappyAtAll ++happyReduce_40 = happyReduce 5 21 happyReduction_40+happyReduction_40 ((HappyAbsSyn23  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn18  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn21+		 (DoSpecification () (getTransSpan happy_var_1 happy_var_5) happy_var_1 happy_var_3 (Just happy_var_5)+	) `HappyStk` happyRest++happyReduce_41 = happySpecReduce_3  21 happyReduction_41+happyReduction_41 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn21+		 (DoSpecification () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3 Nothing+	)+happyReduction_41 _ _ _  = notHappyAtAll ++happyReduce_42 = happySpecReduce_1  22 happyReduction_42+happyReduction_42 (HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn18+		 (happy_var_1+	)+happyReduction_42 _  = notHappyAtAll ++happyReduce_43 = happyReduce 4 22 happyReduction_43+happyReduction_43 ((HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StLabelAssign () (getTransSpan happy_var_1 happy_var_4) happy_var_2 happy_var_4+	) `HappyStk` happyRest++happyReduce_44 = happySpecReduce_1  22 happyReduction_44+happyReduction_44 (HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn18+		 (happy_var_1+	)+happyReduction_44 _  = notHappyAtAll ++happyReduce_45 = happyReduce 9 22 happyReduction_45+happyReduction_45 ((HappyAbsSyn23  happy_var_9) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StIfArithmetic () (getTransSpan happy_var_1 happy_var_9) happy_var_3 happy_var_5 happy_var_7 happy_var_9+	) `HappyStk` happyRest++happyReduce_46 = happyReduce 5 22 happyReduction_46+happyReduction_46 ((HappyTerminal happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StIfThen () (getTransSpan happy_var_1 happy_var_5) Nothing happy_var_3+	) `HappyStk` happyRest++happyReduce_47 = happyReduce 5 22 happyReduction_47+happyReduction_47 ((HappyTerminal happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StElsif () (getTransSpan happy_var_1 happy_var_5) Nothing happy_var_3+	) `HappyStk` happyRest++happyReduce_48 = happySpecReduce_1  22 happyReduction_48+happyReduction_48 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StElse () (getSpan happy_var_1) Nothing+	)+happyReduction_48 _  = notHappyAtAll ++happyReduce_49 = happySpecReduce_1  22 happyReduction_49+happyReduction_49 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StEndif () (getSpan happy_var_1) Nothing+	)+happyReduction_49 _  = notHappyAtAll ++happyReduce_50 = happyReduce 4 22 happyReduction_50+happyReduction_50 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn23  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StDoWhile () (getTransSpan happy_var_1 happy_var_4) Nothing Nothing happy_var_3+	) `HappyStk` happyRest++happyReduce_51 = happySpecReduce_1  22 happyReduction_51+happyReduction_51 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StEnddo () (getSpan happy_var_1) Nothing+	)+happyReduction_51 _  = notHappyAtAll ++happyReduce_52 = happySpecReduce_3  22 happyReduction_52+happyReduction_52 (HappyAbsSyn72  happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StCall () (getTransSpan happy_var_1 happy_var_3) happy_var_2 $ Just happy_var_3+	)+happyReduction_52 _ _ _  = notHappyAtAll ++happyReduce_53 = happySpecReduce_2  22 happyReduction_53+happyReduction_53 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StCall () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_53 _ _  = notHappyAtAll ++happyReduce_54 = happySpecReduce_1  22 happyReduction_54+happyReduction_54 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StReturn () (getSpan happy_var_1) Nothing+	)+happyReduction_54 _  = notHappyAtAll ++happyReduce_55 = happySpecReduce_2  22 happyReduction_55+happyReduction_55 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StReturn () (getTransSpan happy_var_1 happy_var_2) $ Just happy_var_2+	)+happyReduction_55 _ _  = notHappyAtAll ++happyReduce_56 = happySpecReduce_2  22 happyReduction_56+happyReduction_56 (HappyAbsSyn10  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StSave () (getSpan (happy_var_1, happy_var_2)) happy_var_2+	)+happyReduction_56 _ _  = notHappyAtAll ++happyReduce_57 = happySpecReduce_1  22 happyReduction_57+happyReduction_57 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StContinue () $ getSpan happy_var_1+	)+happyReduction_57 _  = notHappyAtAll ++happyReduce_58 = happySpecReduce_2  22 happyReduction_58+happyReduction_58 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StStop () (getTransSpan happy_var_1 happy_var_2) $ Just happy_var_2+	)+happyReduction_58 _ _  = notHappyAtAll ++happyReduce_59 = happySpecReduce_1  22 happyReduction_59+happyReduction_59 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StStop () (getSpan happy_var_1) Nothing+	)+happyReduction_59 _  = notHappyAtAll ++happyReduce_60 = happySpecReduce_1  22 happyReduction_60+happyReduction_60 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StExit () (getSpan happy_var_1) Nothing+	)+happyReduction_60 _  = notHappyAtAll ++happyReduce_61 = happySpecReduce_2  22 happyReduction_61+happyReduction_61 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StPause () (getTransSpan happy_var_1 happy_var_2) $ Just happy_var_2+	)+happyReduction_61 _ _  = notHappyAtAll ++happyReduce_62 = happySpecReduce_1  22 happyReduction_62+happyReduction_62 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StPause () (getSpan happy_var_1) Nothing+	)+happyReduction_62 _  = notHappyAtAll ++happyReduce_63 = happySpecReduce_3  22 happyReduction_63+happyReduction_63 (HappyAbsSyn30  happy_var_3)+	(HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StRead () (getTransSpan happy_var_1 happy_var_3) happy_var_2 (Just $ aReverse happy_var_3)+	)+happyReduction_63 _ _ _  = notHappyAtAll ++happyReduce_64 = happySpecReduce_2  22 happyReduction_64+happyReduction_64 (HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StRead () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_64 _ _  = notHappyAtAll ++happyReduce_65 = happyReduce 4 22 happyReduction_65+happyReduction_65 ((HappyAbsSyn30  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StRead2 () (getTransSpan happy_var_1 happy_var_4) happy_var_2 (Just $ aReverse happy_var_4)+	) `HappyStk` happyRest++happyReduce_66 = happySpecReduce_2  22 happyReduction_66+happyReduction_66 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StRead2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_66 _ _  = notHappyAtAll ++happyReduce_67 = happySpecReduce_3  22 happyReduction_67+happyReduction_67 (HappyAbsSyn30  happy_var_3)+	(HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StWrite () (getTransSpan happy_var_1 happy_var_3) happy_var_2 (Just $ aReverse happy_var_3)+	)+happyReduction_67 _ _ _  = notHappyAtAll ++happyReduce_68 = happySpecReduce_2  22 happyReduction_68+happyReduction_68 (HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StWrite () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_68 _ _  = notHappyAtAll ++happyReduce_69 = happyReduce 4 22 happyReduction_69+happyReduction_69 ((HappyAbsSyn30  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StPrint () (getTransSpan happy_var_1 happy_var_4) happy_var_2 (Just $ aReverse happy_var_4)+	) `HappyStk` happyRest++happyReduce_70 = happySpecReduce_2  22 happyReduction_70+happyReduction_70 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StPrint () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_70 _ _  = notHappyAtAll ++happyReduce_71 = happySpecReduce_2  22 happyReduction_71+happyReduction_71 (HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StOpen () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_71 _ _  = notHappyAtAll ++happyReduce_72 = happySpecReduce_2  22 happyReduction_72+happyReduction_72 (HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StClose () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_72 _ _  = notHappyAtAll ++happyReduce_73 = happySpecReduce_2  22 happyReduction_73+happyReduction_73 (HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StInquire () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_73 _ _  = notHappyAtAll ++happyReduce_74 = happySpecReduce_2  22 happyReduction_74+happyReduction_74 (HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StRewind () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_74 _ _  = notHappyAtAll ++happyReduce_75 = happySpecReduce_2  22 happyReduction_75+happyReduction_75 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StRewind2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_75 _ _  = notHappyAtAll ++happyReduce_76 = happySpecReduce_2  22 happyReduction_76+happyReduction_76 (HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StEndfile () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_76 _ _  = notHappyAtAll ++happyReduce_77 = happySpecReduce_2  22 happyReduction_77+happyReduction_77 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StEndfile2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_77 _ _  = notHappyAtAll ++happyReduce_78 = happySpecReduce_2  22 happyReduction_78+happyReduction_78 (HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StBackspace () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_78 _ _  = notHappyAtAll ++happyReduce_79 = happySpecReduce_2  22 happyReduction_79+happyReduction_79 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StBackspace2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_79 _ _  = notHappyAtAll ++happyReduce_80 = happyReduce 4 23 happyReduction_80+happyReduction_80 ((HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_4) Concatenation happy_var_1 happy_var_4+	) `HappyStk` happyRest++happyReduce_81 = happySpecReduce_1  23 happyReduction_81+happyReduction_81 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_81 _  = notHappyAtAll ++happyReduce_82 = happySpecReduce_1  23 happyReduction_82+happyReduction_82 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_82 _  = notHappyAtAll ++happyReduce_83 = happySpecReduce_1  23 happyReduction_83+happyReduction_83 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_83 _  = notHappyAtAll ++happyReduce_84 = happySpecReduce_1  23 happyReduction_84+happyReduction_84 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_84 _  = notHappyAtAll ++happyReduce_85 = happySpecReduce_1  23 happyReduction_85+happyReduction_85 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_85 _  = notHappyAtAll ++happyReduce_86 = happySpecReduce_1  24 happyReduction_86+happyReduction_86 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_86 _  = notHappyAtAll ++happyReduce_87 = happySpecReduce_1  24 happyReduction_87+happyReduction_87 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_87 _  = notHappyAtAll ++happyReduce_88 = happySpecReduce_1  24 happyReduction_88+happyReduction_88 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_88 _  = notHappyAtAll ++happyReduce_89 = happySpecReduce_1  24 happyReduction_89+happyReduction_89 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_89 _  = notHappyAtAll ++happyReduce_90 = happyReduce 7 25 happyReduction_90+happyReduction_90 ((HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn25  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (let { cp1 = ControlPair () (getSpan happy_var_2) Nothing happy_var_2;+        cp2 = ControlPair () (getSpan happy_var_4) Nothing happy_var_4 }+  in setSpan (getTransSpan happy_var_1 happy_var_7) $ cp1 `aCons` cp2 `aCons` aReverse happy_var_6+	) `HappyStk` happyRest++happyReduce_91 = happyReduce 5 25 happyReduction_91+happyReduction_91 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (let { cp1 = ControlPair () (getSpan happy_var_2) Nothing happy_var_2;+        cp2 = ControlPair () (getSpan happy_var_4) Nothing happy_var_4 }+        in AList () (getTransSpan happy_var_1 happy_var_5) [ cp1,  cp2 ]+	) `HappyStk` happyRest++happyReduce_92 = happyReduce 5 25 happyReduction_92+happyReduction_92 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn25  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn25+		 (let cp1 = ControlPair () (getSpan happy_var_2) Nothing happy_var_2+        in setSpan (getTransSpan happy_var_1 happy_var_5) $ cp1 `aCons` aReverse happy_var_4+	) `HappyStk` happyRest++happyReduce_93 = happySpecReduce_3  25 happyReduction_93+happyReduction_93 (HappyTerminal happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn25+		 (let cp1 = ControlPair () (getSpan happy_var_2) Nothing happy_var_2+  in AList () (getTransSpan happy_var_1 happy_var_3) [ cp1 ]+	)+happyReduction_93 _ _ _  = notHappyAtAll ++happyReduce_94 = happySpecReduce_3  25 happyReduction_94+happyReduction_94 (HappyTerminal happy_var_3)+	(HappyAbsSyn25  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn25+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ aReverse happy_var_2+	)+happyReduction_94 _ _ _  = notHappyAtAll ++happyReduce_95 = happySpecReduce_3  26 happyReduction_95+happyReduction_95 (HappyAbsSyn27  happy_var_3)+	_+	(HappyAbsSyn25  happy_var_1)+	 =  HappyAbsSyn25+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_95 _ _ _  = notHappyAtAll ++happyReduce_96 = happySpecReduce_1  26 happyReduction_96+happyReduction_96 (HappyAbsSyn27  happy_var_1)+	 =  HappyAbsSyn25+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_96 _  = notHappyAtAll ++happyReduce_97 = happySpecReduce_3  27 happyReduction_97+happyReduction_97 (HappyAbsSyn23  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn27+		 (let (TId s id) = happy_var_1 in ControlPair () (getTransSpan s happy_var_3) (Just id) happy_var_3+	)+happyReduction_97 _ _ _  = notHappyAtAll ++happyReduce_98 = happySpecReduce_1  28 happyReduction_98+happyReduction_98 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_98 _  = notHappyAtAll ++happyReduce_99 = happySpecReduce_1  28 happyReduction_99+happyReduction_99 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_99 _  = notHappyAtAll ++happyReduce_100 = happySpecReduce_3  29 happyReduction_100+happyReduction_100 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Addition happy_var_1 happy_var_3+	)+happyReduction_100 _ _ _  = notHappyAtAll ++happyReduce_101 = happySpecReduce_3  29 happyReduction_101+happyReduction_101 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Subtraction happy_var_1 happy_var_3+	)+happyReduction_101 _ _ _  = notHappyAtAll ++happyReduce_102 = happySpecReduce_3  29 happyReduction_102+happyReduction_102 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_102 _ _ _  = notHappyAtAll ++happyReduce_103 = happySpecReduce_3  29 happyReduction_103+happyReduction_103 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Division happy_var_1 happy_var_3+	)+happyReduction_103 _ _ _  = notHappyAtAll ++happyReduce_104 = happySpecReduce_3  29 happyReduction_104+happyReduction_104 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Exponentiation happy_var_1 happy_var_3+	)+happyReduction_104 _ _ _  = notHappyAtAll ++happyReduce_105 = happyReduce 4 29 happyReduction_105+happyReduction_105 ((HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_4) Concatenation happy_var_1 happy_var_4+	) `HappyStk` happyRest++happyReduce_106 = happySpecReduce_2  29 happyReduction_106+happyReduction_106 (HappyAbsSyn23  happy_var_2)+	(HappyAbsSyn86  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_106 _ _  = notHappyAtAll ++happyReduce_107 = happySpecReduce_3  29 happyReduction_107+happyReduction_107 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Or happy_var_1 happy_var_3+	)+happyReduction_107 _ _ _  = notHappyAtAll ++happyReduce_108 = happySpecReduce_3  29 happyReduction_108+happyReduction_108 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) And happy_var_1 happy_var_3+	)+happyReduction_108 _ _ _  = notHappyAtAll ++happyReduce_109 = happySpecReduce_2  29 happyReduction_109+happyReduction_109 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpUnary () (getTransSpan happy_var_1 happy_var_2) Not happy_var_2+	)+happyReduction_109 _ _  = notHappyAtAll ++happyReduce_110 = happySpecReduce_3  29 happyReduction_110+happyReduction_110 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Equivalent happy_var_1 happy_var_3+	)+happyReduction_110 _ _ _  = notHappyAtAll ++happyReduce_111 = happySpecReduce_3  29 happyReduction_111+happyReduction_111 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) NotEquivalent happy_var_1 happy_var_3+	)+happyReduction_111 _ _ _  = notHappyAtAll ++happyReduce_112 = happySpecReduce_3  29 happyReduction_112+happyReduction_112 (HappyAbsSyn23  happy_var_3)+	(HappyAbsSyn81  happy_var_2)+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_1 happy_var_3+	)+happyReduction_112 _ _ _  = notHappyAtAll ++happyReduce_113 = happySpecReduce_3  29 happyReduction_113+happyReduction_113 (HappyTerminal happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_113 _ _ _  = notHappyAtAll ++happyReduce_114 = happySpecReduce_1  29 happyReduction_114+happyReduction_114 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_114 _  = notHappyAtAll ++happyReduce_115 = happySpecReduce_1  29 happyReduction_115+happyReduction_115 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_115 _  = notHappyAtAll ++happyReduce_116 = happySpecReduce_1  29 happyReduction_116+happyReduction_116 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_116 _  = notHappyAtAll ++happyReduce_117 = happySpecReduce_1  29 happyReduction_117+happyReduction_117 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_117 _  = notHappyAtAll ++happyReduce_118 = happySpecReduce_1  29 happyReduction_118+happyReduction_118 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_118 _  = notHappyAtAll ++happyReduce_119 = happySpecReduce_3  30 happyReduction_119+happyReduction_119 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_119 _ _ _  = notHappyAtAll ++happyReduce_120 = happySpecReduce_1  30 happyReduction_120+happyReduction_120 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn30+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_120 _  = notHappyAtAll ++happyReduce_121 = happySpecReduce_1  31 happyReduction_121+happyReduction_121 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_121 _  = notHappyAtAll ++happyReduce_122 = happySpecReduce_1  31 happyReduction_122+happyReduction_122 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_122 _  = notHappyAtAll ++happyReduce_123 = happyReduce 5 31 happyReduction_123+happyReduction_123 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn21  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn30  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpImpliedDo () (getTransSpan happy_var_1 happy_var_5) (aReverse happy_var_2) happy_var_4+	) `HappyStk` happyRest++happyReduce_124 = happySpecReduce_3  32 happyReduction_124+happyReduction_124 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_124 _ _ _  = notHappyAtAll ++happyReduce_125 = happySpecReduce_1  32 happyReduction_125+happyReduction_125 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn30+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_125 _  = notHappyAtAll ++happyReduce_126 = happySpecReduce_1  33 happyReduction_126+happyReduction_126 (HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn10+		 (Just $ fromReverseList happy_var_1+	)+happyReduction_126 _  = notHappyAtAll ++happyReduce_127 = happySpecReduce_0  33 happyReduction_127+happyReduction_127  =  HappyAbsSyn10+		 (Nothing+	)++happyReduce_128 = happySpecReduce_3  34 happyReduction_128+happyReduction_128 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (happy_var_3 : happy_var_1+	)+happyReduction_128 _ _ _  = notHappyAtAll ++happyReduce_129 = happySpecReduce_1  34 happyReduction_129+happyReduction_129 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn34+		 ([ happy_var_1 ]+	)+happyReduction_129 _  = notHappyAtAll ++happyReduce_130 = happySpecReduce_1  35 happyReduction_130+happyReduction_130 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_130 _  = notHappyAtAll ++happyReduce_131 = happySpecReduce_1  35 happyReduction_131+happyReduction_131 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_131 _  = notHappyAtAll ++happyReduce_132 = happySpecReduce_1  36 happyReduction_132+happyReduction_132 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_132 _  = notHappyAtAll ++happyReduce_133 = happySpecReduce_1  36 happyReduction_133+happyReduction_133 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_133 _  = notHappyAtAll ++happyReduce_134 = happySpecReduce_2  37 happyReduction_134+happyReduction_134 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StGotoUnconditional () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_134 _ _  = notHappyAtAll ++happyReduce_135 = happySpecReduce_3  37 happyReduction_135+happyReduction_135 (HappyAbsSyn30  happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StGotoAssigned () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_3+	)+happyReduction_135 _ _ _  = notHappyAtAll ++happyReduce_136 = happyReduce 4 37 happyReduction_136+happyReduction_136 ((HappyAbsSyn30  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StGotoAssigned () (getTransSpan happy_var_1 happy_var_4) happy_var_2 happy_var_4+	) `HappyStk` happyRest++happyReduce_137 = happySpecReduce_3  37 happyReduction_137+happyReduction_137 (HappyAbsSyn23  happy_var_3)+	(HappyAbsSyn30  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StGotoComputed () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_3+	)+happyReduction_137 _ _ _  = notHappyAtAll ++happyReduce_138 = happyReduce 4 37 happyReduction_138+happyReduction_138 ((HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn30  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StGotoComputed () (getTransSpan happy_var_1 happy_var_4) happy_var_2 happy_var_4+	) `HappyStk` happyRest++happyReduce_139 = happySpecReduce_3  38 happyReduction_139+happyReduction_139 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn18+		 (StExpressionAssign () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3+	)+happyReduction_139 _ _ _  = notHappyAtAll ++happyReduce_140 = happySpecReduce_2  39 happyReduction_140+happyReduction_140 (HappyAbsSyn30  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StExternal () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_140 _ _  = notHappyAtAll ++happyReduce_141 = happySpecReduce_2  39 happyReduction_141+happyReduction_141 (HappyAbsSyn30  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StIntrinsic () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_141 _ _  = notHappyAtAll ++happyReduce_142 = happySpecReduce_2  39 happyReduction_142+happyReduction_142 (HappyAbsSyn64  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StDimension () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_142 _ _  = notHappyAtAll ++happyReduce_143 = happySpecReduce_2  39 happyReduction_143+happyReduction_143 (HappyAbsSyn59  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StCommon () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_143 _ _  = notHappyAtAll ++happyReduce_144 = happySpecReduce_2  39 happyReduction_144+happyReduction_144 (HappyAbsSyn58  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StEquivalence () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_144 _ _  = notHappyAtAll ++happyReduce_145 = happySpecReduce_2  39 happyReduction_145+happyReduction_145 (HappyAbsSyn54  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StData () (getTransSpan happy_var_1 happy_var_2) (aReverse happy_var_2)+	)+happyReduction_145 _ _  = notHappyAtAll ++happyReduce_146 = happySpecReduce_3  39 happyReduction_146+happyReduction_146 (HappyTerminal happy_var_3)+	(HappyAbsSyn51  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StFormat () (getTransSpan happy_var_1 happy_var_3) (aReverse happy_var_2)+	)+happyReduction_146 _ _ _  = notHappyAtAll ++happyReduce_147 = happySpecReduce_1  39 happyReduction_147+happyReduction_147 (HappyAbsSyn18  happy_var_1)+	 =  HappyAbsSyn18+		 (happy_var_1+	)+happyReduction_147 _  = notHappyAtAll ++happyReduce_148 = happySpecReduce_2  39 happyReduction_148+happyReduction_148 (HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StImplicit () (getTransSpan happy_var_1 happy_var_2) Nothing+	)+happyReduction_148 _ _  = notHappyAtAll ++happyReduce_149 = happySpecReduce_2  39 happyReduction_149+happyReduction_149 (HappyAbsSyn46  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StImplicit () (getTransSpan happy_var_1 happy_var_2) $ Just $ aReverse happy_var_2+	)+happyReduction_149 _ _  = notHappyAtAll ++happyReduce_150 = happyReduce 4 39 happyReduction_150+happyReduction_150 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn43  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn18+		 (StParameter () (getTransSpan happy_var_1 happy_var_4) $ fromReverseList happy_var_3+	) `HappyStk` happyRest++happyReduce_151 = happySpecReduce_2  39 happyReduction_151+happyReduction_151 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StEntry () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing Nothing+	)+happyReduction_151 _ _  = notHappyAtAll ++happyReduce_152 = happySpecReduce_3  39 happyReduction_152+happyReduction_152 (HappyAbsSyn30  happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StEntry () (getTransSpan happy_var_1 happy_var_3) happy_var_2 (Just happy_var_3) Nothing+	)+happyReduction_152 _ _ _  = notHappyAtAll ++happyReduce_153 = happySpecReduce_2  39 happyReduction_153+happyReduction_153 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (StInclude () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_153 _ _  = notHappyAtAll ++happyReduce_154 = happySpecReduce_2  40 happyReduction_154+happyReduction_154 (HappyTerminal happy_var_2)+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ aReverse happy_var_1+	)+happyReduction_154 _ _  = notHappyAtAll ++happyReduce_155 = happySpecReduce_3  41 happyReduction_155+happyReduction_155 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_155 _ _ _  = notHappyAtAll ++happyReduce_156 = happySpecReduce_2  41 happyReduction_156+happyReduction_156 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (AList () (getTransSpan happy_var_1 happy_var_2) [ happy_var_2 ]+	)+happyReduction_156 _ _  = notHappyAtAll ++happyReduce_157 = happySpecReduce_1  41 happyReduction_157+happyReduction_157 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (AList () (getSpan happy_var_1) [ ]+	)+happyReduction_157 _  = notHappyAtAll ++happyReduce_158 = happySpecReduce_1  42 happyReduction_158+happyReduction_158 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_158 _  = notHappyAtAll ++happyReduce_159 = happySpecReduce_1  42 happyReduction_159+happyReduction_159 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_159 _  = notHappyAtAll ++happyReduce_160 = happySpecReduce_3  43 happyReduction_160+happyReduction_160 (HappyAbsSyn44  happy_var_3)+	_+	(HappyAbsSyn43  happy_var_1)+	 =  HappyAbsSyn43+		 (happy_var_3 : happy_var_1+	)+happyReduction_160 _ _ _  = notHappyAtAll ++happyReduce_161 = happySpecReduce_1  43 happyReduction_161+happyReduction_161 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn43+		 ([ happy_var_1 ]+	)+happyReduction_161 _  = notHappyAtAll ++happyReduce_162 = happySpecReduce_3  44 happyReduction_162+happyReduction_162 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn44+		 (DeclVariable () (getTransSpan happy_var_1 happy_var_3) happy_var_1 Nothing (Just happy_var_3)+	)+happyReduction_162 _ _ _  = notHappyAtAll ++happyReduce_163 = happySpecReduce_2  45 happyReduction_163+happyReduction_163 (HappyAbsSyn64  happy_var_2)+	(HappyAbsSyn102  happy_var_1)+	 =  HappyAbsSyn18+		 (StDeclaration () (getTransSpan happy_var_1 happy_var_2) happy_var_1 Nothing happy_var_2+	)+happyReduction_163 _ _  = notHappyAtAll ++happyReduce_164 = happySpecReduce_3  46 happyReduction_164+happyReduction_164 (HappyAbsSyn47  happy_var_3)+	_+	(HappyAbsSyn46  happy_var_1)+	 =  HappyAbsSyn46+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_164 _ _ _  = notHappyAtAll ++happyReduce_165 = happySpecReduce_1  46 happyReduction_165+happyReduction_165 (HappyAbsSyn47  happy_var_1)+	 =  HappyAbsSyn46+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_165 _  = notHappyAtAll ++happyReduce_166 = happyReduce 4 47 happyReduction_166+happyReduction_166 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn48  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn102  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn47+		 (ImpList () (getTransSpan happy_var_1 happy_var_4) happy_var_1 $ aReverse happy_var_3+	) `HappyStk` happyRest++happyReduce_167 = happySpecReduce_3  48 happyReduction_167+happyReduction_167 (HappyAbsSyn49  happy_var_3)+	_+	(HappyAbsSyn48  happy_var_1)+	 =  HappyAbsSyn48+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_167 _ _ _  = notHappyAtAll ++happyReduce_168 = happySpecReduce_1  48 happyReduction_168+happyReduction_168 (HappyAbsSyn49  happy_var_1)+	 =  HappyAbsSyn48+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_168 _  = notHappyAtAll ++happyReduce_169 = happyMonadReduce 1 49 happyReduction_169+happyReduction_169 ((HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do+      let (TId s id) = happy_var_1+      if length id /= 1+      then fail "Implicit argument must be a character."+      else return $ ImpCharacter () s id)+	) (\r -> happyReturn (HappyAbsSyn49 r))++happyReduce_170 = happyMonadReduce 3 49 happyReduction_170+happyReduction_170 ((HappyTerminal happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do+             let (TId _ id1) = happy_var_1+             let (TId _ id2) = happy_var_3+             if length id1 /= 1 || length id2 /= 1+             then fail "Implicit argument must be a character."+             else return $ ImpRange () (getTransSpan happy_var_1 happy_var_3) id1 id2)+	) (\r -> happyReturn (HappyAbsSyn49 r))++happyReduce_171 = happySpecReduce_1  50 happyReduction_171+happyReduction_171 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_171 _  = notHappyAtAll ++happyReduce_172 = happySpecReduce_1  50 happyReduction_172+happyReduction_172 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_172 _  = notHappyAtAll ++happyReduce_173 = happySpecReduce_3  51 happyReduction_173+happyReduction_173 (HappyAbsSyn52  happy_var_3)+	_+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn51+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_173 _ _ _  = notHappyAtAll ++happyReduce_174 = happySpecReduce_3  51 happyReduction_174+happyReduction_174 (HappyAbsSyn52  happy_var_3)+	_+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn51+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_174 _ _ _  = notHappyAtAll ++happyReduce_175 = happySpecReduce_2  51 happyReduction_175+happyReduction_175 (HappyAbsSyn52  happy_var_2)+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn51+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ happy_var_2 `aCons` happy_var_1+	)+happyReduction_175 _ _  = notHappyAtAll ++happyReduce_176 = happySpecReduce_2  51 happyReduction_176+happyReduction_176 (HappyAbsSyn52  happy_var_2)+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn51+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ happy_var_2 `aCons` happy_var_1+	)+happyReduction_176 _ _  = notHappyAtAll ++happyReduce_177 = happySpecReduce_1  51 happyReduction_177+happyReduction_177 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn51+		 (AList () (getSpan happy_var_1) [ ]+	)+happyReduction_177 _  = notHappyAtAll ++happyReduce_178 = happySpecReduce_1  52 happyReduction_178+happyReduction_178 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn52+		 (FIDelimiter () (getSpan happy_var_1)+	)+happyReduction_178 _  = notHappyAtAll ++happyReduce_179 = happySpecReduce_3  53 happyReduction_179+happyReduction_179 (HappyTerminal happy_var_3)+	(HappyAbsSyn51  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn52+		 (FIFormatList () (getTransSpan happy_var_1 happy_var_3) (let (TInt _ s) = happy_var_1 in Just s) (aReverse happy_var_2)+	)+happyReduction_179 _ _ _  = notHappyAtAll ++happyReduce_180 = happySpecReduce_2  53 happyReduction_180+happyReduction_180 (HappyTerminal happy_var_2)+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn52+		 (FIFormatList () (getTransSpan happy_var_1 happy_var_2) Nothing (aReverse happy_var_1)+	)+happyReduction_180 _ _  = notHappyAtAll ++happyReduce_181 = happySpecReduce_1  53 happyReduction_181+happyReduction_181 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn52+		 (let (ExpValue _ s val) = happy_var_1 in FIHollerith () s val+	)+happyReduction_181 _  = notHappyAtAll ++happyReduce_182 = happySpecReduce_1  53 happyReduction_182+happyReduction_182 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn52+		 (let (TFieldDescriptorDEFG s a b c d) = happy_var_1 in FIFieldDescriptorDEFG () s a b c d+	)+happyReduction_182 _  = notHappyAtAll ++happyReduce_183 = happySpecReduce_1  53 happyReduction_183+happyReduction_183 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn52+		 (let (TFieldDescriptorAIL s a b c) = happy_var_1 in FIFieldDescriptorAIL () s a b c+	)+happyReduction_183 _  = notHappyAtAll ++happyReduce_184 = happySpecReduce_1  53 happyReduction_184+happyReduction_184 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn52+		 (let (TBlankDescriptor s w) = happy_var_1 in FIBlankDescriptor () s w+	)+happyReduction_184 _  = notHappyAtAll ++happyReduce_185 = happySpecReduce_1  53 happyReduction_185+happyReduction_185 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn52+		 (let (TScaleFactor s sf) = happy_var_1 in FIScaleFactor () s sf+	)+happyReduction_185 _  = notHappyAtAll ++happyReduce_186 = happyReduce 6 54 happyReduction_186+happyReduction_186 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn30  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn30  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn54  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn54+		 (setSpan (getTransSpan happy_var_1 happy_var_6) $ (DataGroup () (getTransSpan happy_var_3 happy_var_6) (aReverse happy_var_3) (aReverse happy_var_5)) `aCons` happy_var_1+	) `HappyStk` happyRest++happyReduce_187 = happyReduce 4 54 happyReduction_187+happyReduction_187 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn30  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn30  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn54+		 (AList () (getTransSpan happy_var_1 happy_var_4) [ DataGroup () (getTransSpan happy_var_1 happy_var_4) (aReverse happy_var_1) (aReverse happy_var_3) ]+	) `HappyStk` happyRest++happyReduce_188 = happySpecReduce_3  55 happyReduction_188+happyReduction_188 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_188 _ _ _  = notHappyAtAll ++happyReduce_189 = happySpecReduce_1  55 happyReduction_189+happyReduction_189 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn30+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_189 _  = notHappyAtAll ++happyReduce_190 = happySpecReduce_3  56 happyReduction_190+happyReduction_190 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_190 _ _ _  = notHappyAtAll ++happyReduce_191 = happySpecReduce_1  56 happyReduction_191+happyReduction_191 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_191 _  = notHappyAtAll ++happyReduce_192 = happySpecReduce_1  57 happyReduction_192+happyReduction_192 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_192 _  = notHappyAtAll ++happyReduce_193 = happyReduce 5 57 happyReduction_193+happyReduction_193 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpValue () (getTransSpan happy_var_1 happy_var_5) (ValComplex happy_var_2 happy_var_4)+	) `HappyStk` happyRest++happyReduce_194 = happySpecReduce_1  57 happyReduction_194+happyReduction_194 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_194 _  = notHappyAtAll ++happyReduce_195 = happySpecReduce_1  57 happyReduction_195+happyReduction_195 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_195 _  = notHappyAtAll ++happyReduce_196 = happyReduce 5 58 happyReduction_196+happyReduction_196 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn30  happy_var_4) `HappyStk`+	(HappyTerminal happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn58  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn58+		 (setSpan (getTransSpan happy_var_1 happy_var_5) $ (setSpan (getTransSpan happy_var_3 happy_var_5) $ aReverse happy_var_4) `aCons` happy_var_1+	) `HappyStk` happyRest++happyReduce_197 = happySpecReduce_3  58 happyReduction_197+happyReduction_197 (HappyTerminal happy_var_3)+	(HappyAbsSyn30  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn58+		 (let s = (getTransSpan happy_var_1 happy_var_3) in AList () s [ setSpan s $ aReverse happy_var_2 ]+	)+happyReduction_197 _ _ _  = notHappyAtAll ++happyReduce_198 = happySpecReduce_2  59 happyReduction_198+happyReduction_198 (HappyAbsSyn60  happy_var_2)+	(HappyAbsSyn59  happy_var_1)+	 =  HappyAbsSyn59+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ happy_var_2 `aCons` happy_var_1+	)+happyReduction_198 _ _  = notHappyAtAll ++happyReduce_199 = happySpecReduce_1  59 happyReduction_199+happyReduction_199 (HappyAbsSyn60  happy_var_1)+	 =  HappyAbsSyn59+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_199 _  = notHappyAtAll ++happyReduce_200 = happySpecReduce_2  60 happyReduction_200+happyReduction_200 (HappyAbsSyn30  happy_var_2)+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn60+		 (CommonGroup () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) $ aReverse happy_var_2+	)+happyReduction_200 _ _  = notHappyAtAll ++happyReduce_201 = happySpecReduce_3  60 happyReduction_201+happyReduction_201 (HappyAbsSyn30  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn60+		 (CommonGroup () (getTransSpan happy_var_1 happy_var_3) Nothing $ aReverse happy_var_3+	)+happyReduction_201 _ _ _  = notHappyAtAll ++happyReduce_202 = happySpecReduce_2  61 happyReduction_202+happyReduction_202 (HappyAbsSyn30  happy_var_2)+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn60+		 (CommonGroup () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) $ aReverse happy_var_2+	)+happyReduction_202 _ _  = notHappyAtAll ++happyReduce_203 = happySpecReduce_3  61 happyReduction_203+happyReduction_203 (HappyAbsSyn30  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn60+		 (CommonGroup () (getTransSpan happy_var_1 happy_var_3) Nothing $ aReverse happy_var_3+	)+happyReduction_203 _ _ _  = notHappyAtAll ++happyReduce_204 = happySpecReduce_1  61 happyReduction_204+happyReduction_204 (HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn60+		 (CommonGroup () (getSpan happy_var_1) Nothing $ aReverse happy_var_1+	)+happyReduction_204 _  = notHappyAtAll ++happyReduce_205 = happySpecReduce_3  62 happyReduction_205+happyReduction_205 (HappyTerminal happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_205 _ _ _  = notHappyAtAll ++happyReduce_206 = happySpecReduce_3  63 happyReduction_206+happyReduction_206 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_206 _ _ _  = notHappyAtAll ++happyReduce_207 = happySpecReduce_1  63 happyReduction_207+happyReduction_207 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn30+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_207 _  = notHappyAtAll ++happyReduce_208 = happySpecReduce_3  64 happyReduction_208+happyReduction_208 (HappyAbsSyn44  happy_var_3)+	_+	(HappyAbsSyn64  happy_var_1)+	 =  HappyAbsSyn64+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_208 _ _ _  = notHappyAtAll ++happyReduce_209 = happySpecReduce_1  64 happyReduction_209+happyReduction_209 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn64+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_209 _  = notHappyAtAll ++happyReduce_210 = happySpecReduce_1  65 happyReduction_210+happyReduction_210 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_1+	)+happyReduction_210 _  = notHappyAtAll ++happyReduce_211 = happySpecReduce_1  65 happyReduction_211+happyReduction_211 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_1+	)+happyReduction_211 _  = notHappyAtAll ++happyReduce_212 = happySpecReduce_3  66 happyReduction_212+happyReduction_212 (HappyAbsSyn44  happy_var_3)+	_+	(HappyAbsSyn64  happy_var_1)+	 =  HappyAbsSyn64+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_212 _ _ _  = notHappyAtAll ++happyReduce_213 = happySpecReduce_1  66 happyReduction_213+happyReduction_213 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn64+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_213 _  = notHappyAtAll ++happyReduce_214 = happyReduce 4 67 happyReduction_214+happyReduction_214 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn69  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn44+		 (DeclArray () (getTransSpan happy_var_1 happy_var_4) happy_var_1 (aReverse happy_var_3) Nothing Nothing+	) `HappyStk` happyRest++happyReduce_215 = happySpecReduce_1  68 happyReduction_215+happyReduction_215 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn44+		 (DeclVariable () (getSpan happy_var_1) happy_var_1 Nothing Nothing+	)+happyReduction_215 _  = notHappyAtAll ++happyReduce_216 = happySpecReduce_3  69 happyReduction_216+happyReduction_216 (HappyAbsSyn70  happy_var_3)+	_+	(HappyAbsSyn69  happy_var_1)+	 =  HappyAbsSyn69+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_216 _ _ _  = notHappyAtAll ++happyReduce_217 = happySpecReduce_1  69 happyReduction_217+happyReduction_217 (HappyAbsSyn70  happy_var_1)+	 =  HappyAbsSyn69+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_217 _  = notHappyAtAll ++happyReduce_218 = happySpecReduce_3  70 happyReduction_218+happyReduction_218 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn70+		 (DimensionDeclarator () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_1) (Just happy_var_3)+	)+happyReduction_218 _ _ _  = notHappyAtAll ++happyReduce_219 = happySpecReduce_1  70 happyReduction_219+happyReduction_219 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn70+		 (DimensionDeclarator () (getSpan happy_var_1) Nothing (Just happy_var_1)+	)+happyReduction_219 _  = notHappyAtAll ++happyReduce_220 = happySpecReduce_3  70 happyReduction_220+happyReduction_220 (HappyTerminal happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn70+		 (DimensionDeclarator () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_1) (Just $ ExpValue () (getSpan happy_var_3) ValStar)+	)+happyReduction_220 _ _ _  = notHappyAtAll ++happyReduce_221 = happySpecReduce_1  70 happyReduction_221+happyReduction_221 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn70+		 (DimensionDeclarator () (getSpan happy_var_1) Nothing (Just $ ExpValue () (getSpan happy_var_1) ValStar)+	)+happyReduction_221 _  = notHappyAtAll ++happyReduce_222 = happySpecReduce_3  71 happyReduction_222+happyReduction_222 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_222 _ _ _  = notHappyAtAll ++happyReduce_223 = happySpecReduce_1  71 happyReduction_223+happyReduction_223 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn30+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_223 _  = notHappyAtAll ++happyReduce_224 = happySpecReduce_2  72 happyReduction_224+happyReduction_224 (HappyTerminal happy_var_2)+	(HappyAbsSyn72  happy_var_1)+	 =  HappyAbsSyn72+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ aReverse happy_var_1+	)+happyReduction_224 _ _  = notHappyAtAll ++happyReduce_225 = happySpecReduce_3  73 happyReduction_225+happyReduction_225 (HappyAbsSyn74  happy_var_3)+	_+	(HappyAbsSyn72  happy_var_1)+	 =  HappyAbsSyn72+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_225 _ _ _  = notHappyAtAll ++happyReduce_226 = happySpecReduce_2  73 happyReduction_226+happyReduction_226 (HappyAbsSyn74  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn72+		 (AList () (getTransSpan happy_var_1 happy_var_2) [ happy_var_2 ]+	)+happyReduction_226 _ _  = notHappyAtAll ++happyReduce_227 = happySpecReduce_1  73 happyReduction_227+happyReduction_227 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn72+		 (AList () (getSpan happy_var_1) [ ]+	)+happyReduction_227 _  = notHappyAtAll ++happyReduce_228 = happySpecReduce_1  74 happyReduction_228+happyReduction_228 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn74+		 (Argument () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_228 _  = notHappyAtAll ++happyReduce_229 = happySpecReduce_1  74 happyReduction_229+happyReduction_229 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn74+		 (Argument () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_229 _  = notHappyAtAll ++happyReduce_230 = happySpecReduce_3  75 happyReduction_230+happyReduction_230 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Addition happy_var_1 happy_var_3+	)+happyReduction_230 _ _ _  = notHappyAtAll ++happyReduce_231 = happySpecReduce_3  75 happyReduction_231+happyReduction_231 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Subtraction happy_var_1 happy_var_3+	)+happyReduction_231 _ _ _  = notHappyAtAll ++happyReduce_232 = happySpecReduce_3  75 happyReduction_232+happyReduction_232 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_232 _ _ _  = notHappyAtAll ++happyReduce_233 = happySpecReduce_3  75 happyReduction_233+happyReduction_233 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Division happy_var_1 happy_var_3+	)+happyReduction_233 _ _ _  = notHappyAtAll ++happyReduce_234 = happySpecReduce_3  75 happyReduction_234+happyReduction_234 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Exponentiation happy_var_1 happy_var_3+	)+happyReduction_234 _ _ _  = notHappyAtAll ++happyReduce_235 = happyReduce 4 75 happyReduction_235+happyReduction_235 ((HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_4) Concatenation happy_var_1 happy_var_4+	) `HappyStk` happyRest++happyReduce_236 = happySpecReduce_2  75 happyReduction_236+happyReduction_236 (HappyAbsSyn23  happy_var_2)+	(HappyAbsSyn86  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_236 _ _  = notHappyAtAll ++happyReduce_237 = happySpecReduce_3  75 happyReduction_237+happyReduction_237 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Or happy_var_1 happy_var_3+	)+happyReduction_237 _ _ _  = notHappyAtAll ++happyReduce_238 = happySpecReduce_3  75 happyReduction_238+happyReduction_238 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) And happy_var_1 happy_var_3+	)+happyReduction_238 _ _ _  = notHappyAtAll ++happyReduce_239 = happySpecReduce_2  75 happyReduction_239+happyReduction_239 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpUnary () (getTransSpan happy_var_1 happy_var_2) Not happy_var_2+	)+happyReduction_239 _ _  = notHappyAtAll ++happyReduce_240 = happySpecReduce_3  75 happyReduction_240+happyReduction_240 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Equivalent happy_var_1 happy_var_3+	)+happyReduction_240 _ _ _  = notHappyAtAll ++happyReduce_241 = happySpecReduce_3  75 happyReduction_241+happyReduction_241 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) NotEquivalent happy_var_1 happy_var_3+	)+happyReduction_241 _ _ _  = notHappyAtAll ++happyReduce_242 = happySpecReduce_3  75 happyReduction_242+happyReduction_242 (HappyAbsSyn23  happy_var_3)+	(HappyAbsSyn81  happy_var_2)+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_1 happy_var_3+	)+happyReduction_242 _ _ _  = notHappyAtAll ++happyReduce_243 = happySpecReduce_3  75 happyReduction_243+happyReduction_243 (HappyTerminal happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_243 _ _ _  = notHappyAtAll ++happyReduce_244 = happySpecReduce_1  75 happyReduction_244+happyReduction_244 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_244 _  = notHappyAtAll ++happyReduce_245 = happyReduce 5 75 happyReduction_245+happyReduction_245 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpValue () (getTransSpan happy_var_1 happy_var_5) (ValComplex happy_var_2 happy_var_4)+	) `HappyStk` happyRest++happyReduce_246 = happySpecReduce_1  75 happyReduction_246+happyReduction_246 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_246 _  = notHappyAtAll ++happyReduce_247 = happySpecReduce_1  75 happyReduction_247+happyReduction_247 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_247 _  = notHappyAtAll ++happyReduce_248 = happySpecReduce_1  75 happyReduction_248+happyReduction_248 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_248 _  = notHappyAtAll ++happyReduce_249 = happySpecReduce_1  75 happyReduction_249+happyReduction_249 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_249 _  = notHappyAtAll ++happyReduce_250 = happySpecReduce_1  75 happyReduction_250+happyReduction_250 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_250 _  = notHappyAtAll ++happyReduce_251 = happySpecReduce_3  75 happyReduction_251+happyReduction_251 (HappyTerminal happy_var_3)+	(HappyAbsSyn34  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (let { exps = reverse happy_var_2;+          expList = AList () (getSpan exps) exps }+    in ExpInitialisation () (getTransSpan happy_var_1 happy_var_3) expList+	)+happyReduction_251 _ _ _  = notHappyAtAll ++happyReduce_252 = happyReduce 5 76 happyReduction_252+happyReduction_252 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn21  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (let expList = AList () (getSpan happy_var_2) [ happy_var_2 ]+          in ExpImpliedDo () (getTransSpan happy_var_1 happy_var_5) expList happy_var_4+	) `HappyStk` happyRest++happyReduce_253 = happyReduce 7 76 happyReduction_253+happyReduction_253 (_ `HappyStk`+	(HappyAbsSyn21  happy_var_6) `HappyStk`+	(HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (let expList = AList () (getTransSpan happy_var_2 happy_var_4) [ happy_var_2, happy_var_4 ]+          in ExpImpliedDo () (getTransSpan happy_var_1 happy_var_5) expList happy_var_6+	) `HappyStk` happyRest++happyReduce_254 = happyReduce 9 76 happyReduction_254+happyReduction_254 ((HappyTerminal happy_var_9) `HappyStk`+	(HappyAbsSyn21  happy_var_8) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn34  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (let { exps =  reverse happy_var_6;+          expList = AList () (getTransSpan happy_var_2 exps) (happy_var_2 : happy_var_4 : reverse happy_var_6) }+    in ExpImpliedDo () (getTransSpan happy_var_1 happy_var_9) expList happy_var_8+	) `HappyStk` happyRest++happyReduce_255 = happySpecReduce_3  77 happyReduction_255+happyReduction_255 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (happy_var_3 : happy_var_1+	)+happyReduction_255 _ _ _  = notHappyAtAll ++happyReduce_256 = happySpecReduce_1  77 happyReduction_256+happyReduction_256 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn34+		 ([ happy_var_1 ]+	)+happyReduction_256 _  = notHappyAtAll ++happyReduce_257 = happySpecReduce_1  78 happyReduction_257+happyReduction_257 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (let (TString s cs) = happy_var_1 in ExpValue () s (ValString cs)+	)+happyReduction_257 _  = notHappyAtAll ++happyReduce_258 = happySpecReduce_3  79 happyReduction_258+happyReduction_258 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Addition happy_var_1 happy_var_3+	)+happyReduction_258 _ _ _  = notHappyAtAll ++happyReduce_259 = happySpecReduce_3  79 happyReduction_259+happyReduction_259 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Subtraction happy_var_1 happy_var_3+	)+happyReduction_259 _ _ _  = notHappyAtAll ++happyReduce_260 = happySpecReduce_3  79 happyReduction_260+happyReduction_260 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_260 _ _ _  = notHappyAtAll ++happyReduce_261 = happySpecReduce_3  79 happyReduction_261+happyReduction_261 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Division happy_var_1 happy_var_3+	)+happyReduction_261 _ _ _  = notHappyAtAll ++happyReduce_262 = happySpecReduce_3  79 happyReduction_262+happyReduction_262 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Exponentiation happy_var_1 happy_var_3+	)+happyReduction_262 _ _ _  = notHappyAtAll ++happyReduce_263 = happyReduce 4 79 happyReduction_263+happyReduction_263 ((HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_4) Concatenation happy_var_1 happy_var_4+	) `HappyStk` happyRest++happyReduce_264 = happySpecReduce_2  79 happyReduction_264+happyReduction_264 (HappyAbsSyn23  happy_var_2)+	(HappyAbsSyn86  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_264 _ _  = notHappyAtAll ++happyReduce_265 = happySpecReduce_3  79 happyReduction_265+happyReduction_265 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Or happy_var_1 happy_var_3+	)+happyReduction_265 _ _ _  = notHappyAtAll ++happyReduce_266 = happySpecReduce_3  79 happyReduction_266+happyReduction_266 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) And happy_var_1 happy_var_3+	)+happyReduction_266 _ _ _  = notHappyAtAll ++happyReduce_267 = happySpecReduce_2  79 happyReduction_267+happyReduction_267 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpUnary () (getTransSpan happy_var_1 happy_var_2) Not happy_var_2+	)+happyReduction_267 _ _  = notHappyAtAll ++happyReduce_268 = happySpecReduce_3  79 happyReduction_268+happyReduction_268 (HappyAbsSyn23  happy_var_3)+	(HappyAbsSyn81  happy_var_2)+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_1 happy_var_3+	)+happyReduction_268 _ _ _  = notHappyAtAll ++happyReduce_269 = happySpecReduce_3  79 happyReduction_269+happyReduction_269 (HappyTerminal happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_269 _ _ _  = notHappyAtAll ++happyReduce_270 = happySpecReduce_1  79 happyReduction_270+happyReduction_270 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_270 _  = notHappyAtAll ++happyReduce_271 = happyReduce 5 79 happyReduction_271+happyReduction_271 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpValue () (getTransSpan happy_var_1 happy_var_5) (ValComplex happy_var_2 happy_var_4)+	) `HappyStk` happyRest++happyReduce_272 = happySpecReduce_1  79 happyReduction_272+happyReduction_272 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_272 _  = notHappyAtAll ++happyReduce_273 = happySpecReduce_1  79 happyReduction_273+happyReduction_273 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (let (TString s cs) = happy_var_1 in ExpValue () s (ValString cs)+	)+happyReduction_273 _  = notHappyAtAll ++happyReduce_274 = happySpecReduce_1  79 happyReduction_274+happyReduction_274 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_274 _  = notHappyAtAll ++happyReduce_275 = happySpecReduce_3  80 happyReduction_275+happyReduction_275 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Addition happy_var_1 happy_var_3+	)+happyReduction_275 _ _ _  = notHappyAtAll ++happyReduce_276 = happySpecReduce_3  80 happyReduction_276+happyReduction_276 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Subtraction happy_var_1 happy_var_3+	)+happyReduction_276 _ _ _  = notHappyAtAll ++happyReduce_277 = happySpecReduce_3  80 happyReduction_277+happyReduction_277 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_277 _ _ _  = notHappyAtAll ++happyReduce_278 = happySpecReduce_3  80 happyReduction_278+happyReduction_278 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Division happy_var_1 happy_var_3+	)+happyReduction_278 _ _ _  = notHappyAtAll ++happyReduce_279 = happySpecReduce_3  80 happyReduction_279+happyReduction_279 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Exponentiation happy_var_1 happy_var_3+	)+happyReduction_279 _ _ _  = notHappyAtAll ++happyReduce_280 = happySpecReduce_2  80 happyReduction_280+happyReduction_280 (HappyAbsSyn23  happy_var_2)+	(HappyAbsSyn86  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_280 _ _  = notHappyAtAll ++happyReduce_281 = happySpecReduce_3  80 happyReduction_281+happyReduction_281 (HappyTerminal happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_281 _ _ _  = notHappyAtAll ++happyReduce_282 = happySpecReduce_1  80 happyReduction_282+happyReduction_282 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_282 _  = notHappyAtAll ++happyReduce_283 = happyReduce 5 80 happyReduction_283+happyReduction_283 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn23  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpValue () (getTransSpan happy_var_1 happy_var_5) (ValComplex happy_var_2 happy_var_4)+	) `HappyStk` happyRest++happyReduce_284 = happySpecReduce_1  80 happyReduction_284+happyReduction_284 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_284 _  = notHappyAtAll ++happyReduce_285 = happySpecReduce_1  81 happyReduction_285+happyReduction_285 _+	 =  HappyAbsSyn81+		 (EQ+	)++happyReduce_286 = happySpecReduce_1  81 happyReduction_286+happyReduction_286 _+	 =  HappyAbsSyn81+		 (NE+	)++happyReduce_287 = happySpecReduce_1  81 happyReduction_287+happyReduction_287 _+	 =  HappyAbsSyn81+		 (GT+	)++happyReduce_288 = happySpecReduce_1  81 happyReduction_288+happyReduction_288 _+	 =  HappyAbsSyn81+		 (GTE+	)++happyReduce_289 = happySpecReduce_1  81 happyReduction_289+happyReduction_289 _+	 =  HappyAbsSyn81+		 (LT+	)++happyReduce_290 = happySpecReduce_1  81 happyReduction_290+happyReduction_290 _+	 =  HappyAbsSyn81+		 (LTE+	)++happyReduce_291 = happySpecReduce_3  82 happyReduction_291+happyReduction_291 (HappyTerminal happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpFunctionCall () (getTransSpan happy_var_1 happy_var_3) happy_var_1 Nothing+	)+happyReduction_291 _ _ _  = notHappyAtAll ++happyReduce_292 = happyReduce 4 82 happyReduction_292+happyReduction_292 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn83  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (ExpSubscript () (getTransSpan happy_var_1 happy_var_4) happy_var_1 (fromReverseList happy_var_3)+	) `HappyStk` happyRest++happyReduce_293 = happyReduce 7 82 happyReduction_293+happyReduction_293 ((HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn83  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn83  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn23  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (let innerSub = ExpSubscript () (getTransSpan happy_var_1 happy_var_4) happy_var_1 (fromReverseList happy_var_3)+    in ExpSubscript () (getTransSpan happy_var_1 happy_var_7) innerSub (fromReverseList happy_var_6)+	) `HappyStk` happyRest++happyReduce_294 = happySpecReduce_3  83 happyReduction_294+happyReduction_294 (HappyAbsSyn84  happy_var_3)+	_+	(HappyAbsSyn83  happy_var_1)+	 =  HappyAbsSyn83+		 (happy_var_3 : happy_var_1+	)+happyReduction_294 _ _ _  = notHappyAtAll ++happyReduce_295 = happySpecReduce_1  83 happyReduction_295+happyReduction_295 (HappyAbsSyn84  happy_var_1)+	 =  HappyAbsSyn83+		 ([ happy_var_1 ]+	)+happyReduction_295 _  = notHappyAtAll ++happyReduce_296 = happySpecReduce_1  84 happyReduction_296+happyReduction_296 (HappyAbsSyn84  happy_var_1)+	 =  HappyAbsSyn84+		 (happy_var_1+	)+happyReduction_296 _  = notHappyAtAll ++happyReduce_297 = happySpecReduce_1  84 happyReduction_297+happyReduction_297 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn84+		 (IxSingle () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_297 _  = notHappyAtAll ++happyReduce_298 = happySpecReduce_1  85 happyReduction_298+happyReduction_298 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn84+		 (IxRange () (getSpan happy_var_1) Nothing Nothing Nothing+	)+happyReduction_298 _  = notHappyAtAll ++happyReduce_299 = happySpecReduce_2  85 happyReduction_299+happyReduction_299 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn84+		 (IxRange () (getTransSpan happy_var_1 happy_var_2) Nothing (Just happy_var_2) Nothing+	)+happyReduction_299 _ _  = notHappyAtAll ++happyReduce_300 = happySpecReduce_2  85 happyReduction_300+happyReduction_300 (HappyTerminal happy_var_2)+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn84+		 (IxRange () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) Nothing Nothing+	)+happyReduction_300 _ _  = notHappyAtAll ++happyReduce_301 = happySpecReduce_3  85 happyReduction_301+happyReduction_301 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn84+		 (IxRange () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_1) (Just happy_var_3) Nothing+	)+happyReduction_301 _ _ _  = notHappyAtAll ++happyReduce_302 = happySpecReduce_1  86 happyReduction_302+happyReduction_302 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn86+		 ((getSpan happy_var_1, Minus)+	)+happyReduction_302 _  = notHappyAtAll ++happyReduce_303 = happySpecReduce_1  86 happyReduction_303+happyReduction_303 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn86+		 ((getSpan happy_var_1, Plus)+	)+happyReduction_303 _  = notHappyAtAll ++happyReduce_304 = happySpecReduce_1  87 happyReduction_304+happyReduction_304 (HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn10+		 (Just $ fromReverseList happy_var_1+	)+happyReduction_304 _  = notHappyAtAll ++happyReduce_305 = happySpecReduce_0  87 happyReduction_305+happyReduction_305  =  HappyAbsSyn10+		 (Nothing+	)++happyReduce_306 = happySpecReduce_3  88 happyReduction_306+happyReduction_306 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (happy_var_3 : happy_var_1+	)+happyReduction_306 _ _ _  = notHappyAtAll ++happyReduce_307 = happySpecReduce_1  88 happyReduction_307+happyReduction_307 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn34+		 ([ happy_var_1 ]+	)+happyReduction_307 _  = notHappyAtAll ++happyReduce_308 = happySpecReduce_1  89 happyReduction_308+happyReduction_308 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) $ let (TId _ s) = happy_var_1 in ValVariable s+	)+happyReduction_308 _  = notHappyAtAll ++happyReduce_309 = happySpecReduce_1  90 happyReduction_309+happyReduction_309 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) $ let (TInt _ i) = happy_var_1 in ValInteger i+	)+happyReduction_309 _  = notHappyAtAll ++happyReduce_310 = happySpecReduce_2  91 happyReduction_310+happyReduction_310 (HappyAbsSyn93  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (makeReal (Just happy_var_1) Nothing Nothing (Just happy_var_2)+	)+happyReduction_310 _ _  = notHappyAtAll ++happyReduce_311 = happySpecReduce_3  91 happyReduction_311+happyReduction_311 (HappyAbsSyn92  happy_var_3)+	(HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (makeReal (Just happy_var_1) (Just happy_var_2) Nothing happy_var_3+	)+happyReduction_311 _ _ _  = notHappyAtAll ++happyReduce_312 = happySpecReduce_3  91 happyReduction_312+happyReduction_312 (HappyAbsSyn92  happy_var_3)+	(HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (makeReal Nothing (Just happy_var_1) (Just happy_var_2) happy_var_3+	)+happyReduction_312 _ _ _  = notHappyAtAll ++happyReduce_313 = happyReduce 4 91 happyReduction_313+happyReduction_313 ((HappyAbsSyn92  happy_var_4) `HappyStk`+	(HappyTerminal happy_var_3) `HappyStk`+	(HappyTerminal happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn23+		 (makeReal (Just happy_var_1) (Just happy_var_2) (Just happy_var_3) happy_var_4+	) `HappyStk` happyRest++happyReduce_314 = happySpecReduce_1  92 happyReduction_314+happyReduction_314 (HappyAbsSyn93  happy_var_1)+	 =  HappyAbsSyn92+		 (Just happy_var_1+	)+happyReduction_314 _  = notHappyAtAll ++happyReduce_315 = happySpecReduce_0  92 happyReduction_315+happyReduction_315  =  HappyAbsSyn92+		 (Nothing+	)++happyReduce_316 = happySpecReduce_1  93 happyReduction_316+happyReduction_316 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn93+		 (let (TExponent s exp) = happy_var_1 in (s, exp)+	)+happyReduction_316 _  = notHappyAtAll ++happyReduce_317 = happySpecReduce_2  94 happyReduction_317+happyReduction_317 (HappyAbsSyn23  happy_var_2)+	(HappyAbsSyn86  happy_var_1)+	 =  HappyAbsSyn23+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) Minus happy_var_2+	)+happyReduction_317 _ _  = notHappyAtAll ++happyReduce_318 = happySpecReduce_1  94 happyReduction_318+happyReduction_318 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_318 _  = notHappyAtAll ++happyReduce_319 = happySpecReduce_1  95 happyReduction_319+happyReduction_319 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_319 _  = notHappyAtAll ++happyReduce_320 = happySpecReduce_1  95 happyReduction_320+happyReduction_320 (HappyAbsSyn23  happy_var_1)+	 =  HappyAbsSyn23+		 (happy_var_1+	)+happyReduction_320 _  = notHappyAtAll ++happyReduce_321 = happySpecReduce_1  96 happyReduction_321+happyReduction_321 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (let TBool s b = happy_var_1 in ExpValue () s $ ValLogical b+	)+happyReduction_321 _  = notHappyAtAll ++happyReduce_322 = happySpecReduce_1  97 happyReduction_322+happyReduction_322 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) $ let (THollerith _ h) = happy_var_1 in ValHollerith h+	)+happyReduction_322 _  = notHappyAtAll ++happyReduce_323 = happySpecReduce_2  98 happyReduction_323+happyReduction_323 (HappyTerminal happy_var_2)+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_2) $ aReverse happy_var_1+	)+happyReduction_323 _ _  = notHappyAtAll ++happyReduce_324 = happySpecReduce_3  99 happyReduction_324+happyReduction_324 (HappyAbsSyn23  happy_var_3)+	_+	(HappyAbsSyn30  happy_var_1)+	 =  HappyAbsSyn30+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_324 _ _ _  = notHappyAtAll ++happyReduce_325 = happySpecReduce_2  99 happyReduction_325+happyReduction_325 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn30+		 (AList () (getTransSpan happy_var_1 happy_var_2) [ happy_var_2 ]+	)+happyReduction_325 _ _  = notHappyAtAll ++happyReduce_326 = happySpecReduce_1  100 happyReduction_326+happyReduction_326 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) (let (TLabel _ l) = happy_var_1 in ValInteger l)+	)+happyReduction_326 _  = notHappyAtAll ++happyReduce_327 = happySpecReduce_1  101 happyReduction_327+happyReduction_327 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) (let (TInt _ l) = happy_var_1 in ValInteger l)+	)+happyReduction_327 _  = notHappyAtAll ++happyReduce_328 = happySpecReduce_2  102 happyReduction_328+happyReduction_328 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeInteger Nothing+	)+happyReduction_328 _ _  = notHappyAtAll ++happyReduce_329 = happySpecReduce_2  102 happyReduction_329+happyReduction_329 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeReal Nothing+	)+happyReduction_329 _ _  = notHappyAtAll ++happyReduce_330 = happySpecReduce_2  102 happyReduction_330+happyReduction_330 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeDoublePrecision Nothing+	)+happyReduction_330 _ _  = notHappyAtAll ++happyReduce_331 = happySpecReduce_2  102 happyReduction_331+happyReduction_331 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeLogical Nothing+	)+happyReduction_331 _ _  = notHappyAtAll ++happyReduce_332 = happySpecReduce_2  102 happyReduction_332+happyReduction_332 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeComplex Nothing+	)+happyReduction_332 _ _  = notHappyAtAll ++happyReduce_333 = happySpecReduce_2  102 happyReduction_333+happyReduction_333 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeDoubleComplex Nothing+	)+happyReduction_333 _ _  = notHappyAtAll ++happyReduce_334 = happySpecReduce_2  102 happyReduction_334+happyReduction_334 (HappyAbsSyn103  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan (happy_var_1, happy_var_2)) TypeCharacter happy_var_2+	)+happyReduction_334 _ _  = notHappyAtAll ++happyReduce_335 = happySpecReduce_2  103 happyReduction_335+happyReduction_335 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn103+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_2) Nothing (Just happy_var_2)+	)+happyReduction_335 _ _  = notHappyAtAll ++happyReduce_336 = happyReduce 4 103 happyReduction_336+happyReduction_336 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn23  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn103+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_4) Nothing (Just happy_var_3)+	) `HappyStk` happyRest++happyReduce_337 = happySpecReduce_0  103 happyReduction_337+happyReduction_337  =  HappyAbsSyn103+		 (Nothing+	)++happyReduce_338 = happySpecReduce_3  104 happyReduction_338+happyReduction_338 (HappyTerminal happy_var_3)+	(HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn103+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_2) Nothing+	)+happyReduction_338 _ _ _  = notHappyAtAll ++happyReduce_339 = happySpecReduce_1  104 happyReduction_339+happyReduction_339 (HappyAbsSyn103  happy_var_1)+	 =  HappyAbsSyn103+		 (happy_var_1+	)+happyReduction_339 _  = notHappyAtAll ++happyReduce_340 = happySpecReduce_2  105 happyReduction_340+happyReduction_340 (HappyAbsSyn23  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn103+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2) Nothing+	)+happyReduction_340 _ _  = notHappyAtAll ++happyReduce_341 = happyReduce 4 105 happyReduction_341+happyReduction_341 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn23  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn103+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_4) (Just happy_var_3) Nothing+	) `HappyStk` happyRest++happyReduce_342 = happySpecReduce_0  105 happyReduction_342+happyReduction_342  =  HappyAbsSyn103+		 (Nothing+	)++happyReduce_343 = happySpecReduce_1  106 happyReduction_343+happyReduction_343 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeInteger Nothing+	)+happyReduction_343 _  = notHappyAtAll ++happyReduce_344 = happySpecReduce_1  106 happyReduction_344+happyReduction_344 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeReal Nothing+	)+happyReduction_344 _  = notHappyAtAll ++happyReduce_345 = happySpecReduce_1  106 happyReduction_345+happyReduction_345 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeDoublePrecision Nothing+	)+happyReduction_345 _  = notHappyAtAll ++happyReduce_346 = happySpecReduce_1  106 happyReduction_346+happyReduction_346 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeLogical Nothing+	)+happyReduction_346 _  = notHappyAtAll ++happyReduce_347 = happySpecReduce_1  106 happyReduction_347+happyReduction_347 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeComplex Nothing+	)+happyReduction_347 _  = notHappyAtAll ++happyReduce_348 = happySpecReduce_1  106 happyReduction_348+happyReduction_348 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan happy_var_1) TypeDoubleComplex Nothing+	)+happyReduction_348 _  = notHappyAtAll ++happyReduce_349 = happySpecReduce_2  106 happyReduction_349+happyReduction_349 (HappyAbsSyn103  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn102+		 (TypeSpec () (getSpan (happy_var_1, happy_var_2)) TypeCharacter happy_var_2+	)+happyReduction_349 _ _  = notHappyAtAll ++happyReduce_350 = happySpecReduce_1  107 happyReduction_350+happyReduction_350 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn23+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_350 _  = notHappyAtAll ++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = action i i tk (HappyState action) sts stk in+	case tk of {+	TEOF _ -> action 196 196 tk (HappyState action) sts stk;+	TLeftPar _ -> cont 108;+	TRightPar _ -> cont 109;+	TLeftArrayPar _ -> cont 110;+	TRightArrayPar _ -> cont 111;+	TComma _ -> cont 112;+	TDot _ -> cont 113;+	TColon _ -> cont 114;+	TInclude _ -> cont 115;+	TProgram _ -> cont 116;+	TFunction _ -> cont 117;+	TSubroutine _ -> cont 118;+	TBlockData _ -> cont 119;+	TEnd _ -> cont 120;+	TOpAssign _ -> cont 121;+	TAssign _ -> cont 122;+	TTo _ -> cont 123;+	TGoto _ -> cont 124;+	TIf _ -> cont 125;+	TThen _ -> cont 126;+	TElse _ -> cont 127;+	TElsif _ -> cont 128;+	TEndif _ -> cont 129;+	TCall _ -> cont 130;+	TReturn _ -> cont 131;+	TSave _ -> cont 132;+	TContinue _ -> cont 133;+	TStop _ -> cont 134;+	TExit _ -> cont 135;+	TPause _ -> cont 136;+	TDo _ -> cont 137;+	TDoWhile _ -> cont 138;+	TEndDo _ -> cont 139;+	TRead _ -> cont 140;+	TWrite _ -> cont 141;+	TPrint _ -> cont 142;+	TOpen _ -> cont 143;+	TClose _ -> cont 144;+	TInquire _ -> cont 145;+	TRewind _ -> cont 146;+	TBackspace _ -> cont 147;+	TEndfile _ -> cont 148;+	TCommon _ -> cont 149;+	TEquivalence _ -> cont 150;+	TExternal _ -> cont 151;+	TDimension _ -> cont 152;+	TType _ "character" -> cont 153;+	TType _ "integer" -> cont 154;+	TType _ "real" -> cont 155;+	TType _ "doubleprecision" -> cont 156;+	TType _ "logical" -> cont 157;+	TType _ "complex" -> cont 158;+	TType _ "doublecomplex" -> cont 159;+	TIntrinsic _ -> cont 160;+	TImplicit _ -> cont 161;+	TParameter _ -> cont 162;+	TEntry _ -> cont 163;+	TNone _ -> cont 164;+	TData _ -> cont 165;+	TFormat _ -> cont 166;+	TFieldDescriptorDEFG _ _ _ _ _ -> cont 167;+	TFieldDescriptorAIL _ _ _ _ -> cont 168;+	TBlankDescriptor _ _ -> cont 169;+	TScaleFactor _ _ -> cont 170;+	TInt _ _ -> cont 171;+	TExponent _ _ -> cont 172;+	TBool _ _ -> cont 173;+	TOpPlus _ -> cont 174;+	TOpMinus _ -> cont 175;+	TOpExp _ -> cont 176;+	TStar _ -> cont 177;+	TSlash _ -> cont 178;+	TOpEquivalent _ -> cont 179;+	TOpNotEquivalent _ -> cont 180;+	TOpOr _ -> cont 181;+	TOpAnd _ -> cont 182;+	TOpNot _ -> cont 183;+	TOpLT _ -> cont 184;+	TOpLE _ -> cont 185;+	TOpGT _ -> cont 186;+	TOpGE _ -> cont 187;+	TOpEQ _ -> cont 188;+	TOpNE _ -> cont 189;+	TId _ _ -> cont 190;+	TComment _ _ -> cont 191;+	THollerith _ _ -> cont 192;+	TString _ _ -> cont 193;+	TLabel _ _ -> cont 194;+	TNewline _ -> cont 195;+	_ -> happyError' tk+	})++happyError_ 196 tk = happyError' tk+happyError_ _ tk = happyError' tk++happyThen :: () => LexAction a -> (a -> LexAction b) -> LexAction b+happyThen = (>>=)+happyReturn :: () => a -> LexAction a+happyReturn = (return)+happyThen1 = happyThen+happyReturn1 :: () => a -> LexAction a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> LexAction a+happyError' tk = parseError tk++programParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_0) (\x -> case x of {HappyAbsSyn6 z -> happyReturn z; _other -> notHappyAtAll })++statementParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_1) (\x -> case x of {HappyAbsSyn18 z -> happyReturn z; _other -> notHappyAtAll })++expressionParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_2) (\x -> case x of {HappyAbsSyn23 z -> happyReturn z; _other -> notHappyAtAll })++happySeq = happyDontSeq+++makeReal :: Maybe Token -> Maybe Token -> Maybe Token -> Maybe (SrcSpan, String) -> Expression A0+makeReal i1 dot i2 exp =+  let span1   = getSpan (i1, dot, i2)+      span2   = case exp of+                  Just e -> getTransSpan span1 (fst e)+                  Nothing -> span1+      i1Str   = case i1 of { Just (TInt _ s) -> s ; _ -> "" }+      dotStr  = case dot of { Just (TDot _) -> "." ; _ -> "" }+      i2Str   = case i2 of { Just (TInt _ s) -> s ; _ -> "" }+      expStr  = case exp of { Just (_, s) -> s ; _ -> "" } in+    ExpValue () span2 (ValReal $ i1Str ++ dotStr ++ i2Str ++ expStr)++parse = evalParse programParser++transformations77 =+  [ GroupLabeledDo+  , GroupIf+  , DisambiguateFunction+  ]+fortran77Parser :: B.ByteString -> String -> ProgramFile A0+fortran77Parser sourceCode filename =+    transform transformations77 $ parse parseState+  where+    parseState = initParseState sourceCode Fortran77Extended filename++transformations77Extended =+  [ GroupLabeledDo+  , GroupDo+  , GroupIf+  , DisambiguateFunction+  ]+extended77Parser :: B.ByteString -> String -> ProgramFile A0+extended77Parser sourceCode filename =+    transform transformations77Extended $ parse parseState+  where+    parseState = initParseState sourceCode Fortran77Extended filename++parseError :: Token -> LexAction a+parseError _ = fail "Parsing failed."+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 16 "<built-in>" #-}+{-# LINE 1 "/usr/local/lib/ghc-7.10.2/include/ghcversion.h" #-}+++++++++++++++++++{-# LINE 17 "<built-in>" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp +++{-# LINE 13 "templates/GenericTemplate.hs" #-}+++{-# LINE 46 "templates/GenericTemplate.hs" #-}++++++++++{-# LINE 67 "templates/GenericTemplate.hs" #-}+++{-# LINE 77 "templates/GenericTemplate.hs" #-}+++++++++++infixr 9 `HappyStk`+data HappyStk a = HappyStk a (HappyStk a)++-----------------------------------------------------------------------------+-- starting the parse++happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll++-----------------------------------------------------------------------------+-- Accepting the parse++-- If the current token is (1), it means we've just accepted a partial+-- parse (a %partial parser).  We must ignore the saved token on the top of+-- the stack in this case.+happyAccept (1) tk st sts (_ `HappyStk` ans `HappyStk` _) =+        happyReturn1 ans+happyAccept j tk st sts (HappyStk ans _) = +         (happyReturn1 ans)++-----------------------------------------------------------------------------+-- Arrays only: do the next action+++{-# LINE 155 "templates/GenericTemplate.hs" #-}++-----------------------------------------------------------------------------+-- HappyState data type (not arrays)++++newtype HappyState b c = HappyState+        (Int ->                    -- token number+         Int ->                    -- token number (yes, again)+         b ->                           -- token semantic value+         HappyState b c ->              -- current state+         [HappyState b c] ->            -- state stack+         c)++++-----------------------------------------------------------------------------+-- Shifting a token++happyShift new_state (1) tk st sts stk@(x `HappyStk` _) =+     let i = (case x of { HappyErrorToken (i) -> i }) in+--     trace "shifting the error token" $+     new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk)++happyShift new_state i tk st sts stk =+     happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk)++-- happyReduce is specialised for the common cases.++happySpecReduce_0 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk+     = action nt j tk st ((st):(sts)) (fn `HappyStk` stk)++happySpecReduce_1 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk')+     = let r = fn v1 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_2 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk')+     = let r = fn v1 v2 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_3 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')+     = let r = fn v1 v2 v3 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happyReduce k i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyReduce k nt fn j tk st sts stk+     = case happyDrop (k - ((1) :: Int)) sts of+         sts1@(((st1@(HappyState (action))):(_))) ->+                let r = fn stk in  -- it doesn't hurt to always seq here...+                happyDoSeq r (action nt j tk st1 sts1 r)++happyMonadReduce k nt fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyMonadReduce k nt fn j tk st sts stk =+      case happyDrop k ((st):(sts)) of+        sts1@(((st1@(HappyState (action))):(_))) ->+          let drop_stk = happyDropStk k stk in+          happyThen1 (fn stk tk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk))++happyMonad2Reduce k nt fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyMonad2Reduce k nt fn j tk st sts stk =+      case happyDrop k ((st):(sts)) of+        sts1@(((st1@(HappyState (action))):(_))) ->+         let drop_stk = happyDropStk k stk++++++             new_state = action++          in+          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))++happyDrop (0) l = l+happyDrop n ((_):(t)) = happyDrop (n - ((1) :: Int)) t++happyDropStk (0) l = l+happyDropStk n (x `HappyStk` xs) = happyDropStk (n - ((1)::Int)) xs++-----------------------------------------------------------------------------+-- Moving to a new state after a reduction++++++++++happyGoto action j tk st = action j j tk (HappyState action)+++-----------------------------------------------------------------------------+-- Error recovery ((1) is the error token)++-- parse error if we are in recovery and we fail again+happyFail (1) tk old_st _ stk@(x `HappyStk` _) =+     let i = (case x of { HappyErrorToken (i) -> i }) in+--      trace "failing" $ +        happyError_ i tk++{-  We don't need state discarding for our restricted implementation of+    "error".  In fact, it can cause some bogus parses, so I've disabled it+    for now --SDM++-- discard a state+happyFail  (1) tk old_st (((HappyState (action))):(sts)) +                                                (saved_tok `HappyStk` _ `HappyStk` stk) =+--      trace ("discarding state, depth " ++ show (length stk))  $+        action (1) (1) tk (HappyState (action)) sts ((saved_tok`HappyStk`stk))+-}++-- Enter error recovery: generate an error token,+--                       save the old token and carry on.+happyFail  i tk (HappyState (action)) sts stk =+--      trace "entering error recovery" $+        action (1) (1) tk (HappyState (action)) sts ( (HappyErrorToken (i)) `HappyStk` stk)++-- Internal happy errors:++notHappyAtAll :: a+notHappyAtAll = error "Internal Happy error\n"++-----------------------------------------------------------------------------+-- Hack to get the typechecker to accept our action functions++++++++-----------------------------------------------------------------------------+-- Seq-ing.  If the --strict flag is given, then Happy emits +--      happySeq = happyDoSeq+-- otherwise it emits+--      happySeq = happyDontSeq++happyDoSeq, happyDontSeq :: a -> b -> b+happyDoSeq   a b = a `seq` b+happyDontSeq a b = b++-----------------------------------------------------------------------------+-- Don't inline any functions from the template.  GHC has a nasty habit+-- of deciding to inline happyGoto everywhere, which increases the size of+-- the generated parser quite a bit.++++++++++{-# NOINLINE happyShift #-}+{-# NOINLINE happySpecReduce_0 #-}+{-# NOINLINE happySpecReduce_1 #-}+{-# NOINLINE happySpecReduce_2 #-}+{-# NOINLINE happySpecReduce_3 #-}+{-# NOINLINE happyReduce #-}+{-# NOINLINE happyMonadReduce #-}+{-# NOINLINE happyGoto #-}+{-# NOINLINE happyFail #-}++-- end of Happy Template.+
+ src/Language/Fortran/Parser/Fortran90.hs view
@@ -0,0 +1,13263 @@+{-# OPTIONS_GHC -w #-}+module Language.Fortran.Parser.Fortran90 ( statementParser+                               , fortran90Parser+                               ) where++import Prelude hiding (EQ,LT,GT) -- Same constructors exist in the AST+import Control.Monad.State (get)+import Data.Maybe (fromMaybe)++#ifdef DEBUG+import Data.Data (toConstr)+#endif++import Language.Fortran.Util.Position+import Language.Fortran.ParserMonad+import Language.Fortran.Lexer.FreeForm+import Language.Fortran.AST++import Debug.Trace+import Control.Applicative(Applicative(..))+import Control.Monad (ap)++-- parser produced by Happy Version 1.19.5++data HappyAbsSyn +	= HappyTerminal (Token)+	| HappyErrorToken Int+	| HappyAbsSyn5 (ProgramFile A0)+	| HappyAbsSyn6 ([ ([ Block A0 ], ProgramUnit A0) ])+	| HappyAbsSyn7 (ProgramUnit A0)+	| HappyAbsSyn8 (Maybe [ ProgramUnit A0 ])+	| HappyAbsSyn9 ([ ProgramUnit A0 ])+	| HappyAbsSyn11 (Maybe (AList Expression A0))+	| HappyAbsSyn12 (Maybe (Expression a))+	| HappyAbsSyn13 (Token)+	| HappyAbsSyn18 (Name)+	| HappyAbsSyn19 ([ Block A0 ])+	| HappyAbsSyn20 (Block A0)+	| HappyAbsSyn21 (Maybe Token)+	| HappyAbsSyn28 (Statement A0)+	| HappyAbsSyn32 ([ Argument A0 ])+	| HappyAbsSyn33 (Argument A0)+	| HappyAbsSyn34 ([ Use A0 ])+	| HappyAbsSyn35 (Use A0)+	| HappyAbsSyn36 (())+	| HappyAbsSyn37 (Expression A0)+	| HappyAbsSyn39 (AList ControlPair A0)+	| HappyAbsSyn40 ([ ControlPair A0 ])+	| HappyAbsSyn41 (ControlPair A0)+	| HappyAbsSyn44 ([ Expression A0 ])+	| HappyAbsSyn47 ([ CommonGroup A0 ])+	| HappyAbsSyn48 (CommonGroup A0)+	| HappyAbsSyn50 ([ AList Expression A0 ])+	| HappyAbsSyn51 ([ Namelist A0 ])+	| HappyAbsSyn52 (Namelist A0)+	| HappyAbsSyn55 ([ ImpList A0 ])+	| HappyAbsSyn56 (ImpList A0)+	| HappyAbsSyn57 (AList ImpElement A0)+	| HappyAbsSyn58 (ImpElement A0)+	| HappyAbsSyn59 ([ Declarator A0 ])+	| HappyAbsSyn60 (Declarator A0)+	| HappyAbsSyn62 ([ Attribute A0 ])+	| HappyAbsSyn63 (Attribute A0)+	| HappyAbsSyn64 (Intent)+	| HappyAbsSyn65 ([ DataGroup A0 ])+	| HappyAbsSyn75 (AList DimensionDeclarator A0)+	| HappyAbsSyn76 (DimensionDeclarator A0)+	| HappyAbsSyn77 (TypeSpec A0)+	| HappyAbsSyn78 (Maybe (Selector A0))+	| HappyAbsSyn86 ([ Index A0 ])+	| HappyAbsSyn87 (Index A0)+	| HappyAbsSyn89 (DoSpecification A0)+	| HappyAbsSyn92 ((SrcSpan, UnaryOp))+	| HappyAbsSyn93 (BinaryOp)++{- to allow type-synonyms as our monads (likely+ - with explicitly-specified bind and return)+ - in Haskell98, it seems that with+ - /type M a = .../, then /(HappyReduction M)/+ - is not allowed.  But Happy is a+ - code-generator that can just substitute it.+type HappyReduction m = +	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> m HappyAbsSyn+-}++action_0,+ action_1,+ action_2,+ action_3,+ action_4,+ action_5,+ action_6,+ action_7,+ action_8,+ action_9,+ action_10,+ action_11,+ action_12,+ action_13,+ action_14,+ action_15,+ action_16,+ action_17,+ action_18,+ action_19,+ action_20,+ action_21,+ action_22,+ action_23,+ action_24,+ action_25,+ action_26,+ action_27,+ action_28,+ action_29,+ action_30,+ action_31,+ action_32,+ action_33,+ action_34,+ action_35,+ action_36,+ action_37,+ action_38,+ action_39,+ action_40,+ action_41,+ action_42,+ action_43,+ action_44,+ action_45,+ action_46,+ action_47,+ action_48,+ action_49,+ action_50,+ action_51,+ action_52,+ action_53,+ action_54,+ action_55,+ action_56,+ action_57,+ action_58,+ action_59,+ action_60,+ action_61,+ action_62,+ action_63,+ action_64,+ action_65,+ action_66,+ action_67,+ action_68,+ action_69,+ action_70,+ action_71,+ action_72,+ action_73,+ action_74,+ action_75,+ action_76,+ action_77,+ action_78,+ action_79,+ action_80,+ action_81,+ action_82,+ action_83,+ action_84,+ action_85,+ action_86,+ action_87,+ action_88,+ action_89,+ action_90,+ action_91,+ action_92,+ action_93,+ action_94,+ action_95,+ action_96,+ action_97,+ action_98,+ action_99,+ action_100,+ action_101,+ action_102,+ action_103,+ action_104,+ action_105,+ action_106,+ action_107,+ action_108,+ action_109,+ action_110,+ action_111,+ action_112,+ action_113,+ action_114,+ action_115,+ action_116,+ action_117,+ action_118,+ action_119,+ action_120,+ action_121,+ action_122,+ action_123,+ action_124,+ action_125,+ action_126,+ action_127,+ action_128,+ action_129,+ action_130,+ action_131,+ action_132,+ action_133,+ action_134,+ action_135,+ action_136,+ action_137,+ action_138,+ action_139,+ action_140,+ action_141,+ action_142,+ action_143,+ action_144,+ action_145,+ action_146,+ action_147,+ action_148,+ action_149,+ action_150,+ action_151,+ action_152,+ action_153,+ action_154,+ action_155,+ action_156,+ action_157,+ action_158,+ action_159,+ action_160,+ action_161,+ action_162,+ action_163,+ action_164,+ action_165,+ action_166,+ action_167,+ action_168,+ action_169,+ action_170,+ action_171,+ action_172,+ action_173,+ action_174,+ action_175,+ action_176,+ action_177,+ action_178,+ action_179,+ action_180,+ action_181,+ action_182,+ action_183,+ action_184,+ action_185,+ action_186,+ action_187,+ action_188,+ action_189,+ action_190,+ action_191,+ action_192,+ action_193,+ action_194,+ action_195,+ action_196,+ action_197,+ action_198,+ action_199,+ action_200,+ action_201,+ action_202,+ action_203,+ action_204,+ action_205,+ action_206,+ action_207,+ action_208,+ action_209,+ action_210,+ action_211,+ action_212,+ action_213,+ action_214,+ action_215,+ action_216,+ action_217,+ action_218,+ action_219,+ action_220,+ action_221,+ action_222,+ action_223,+ action_224,+ action_225,+ action_226,+ action_227,+ action_228,+ action_229,+ action_230,+ action_231,+ action_232,+ action_233,+ action_234,+ action_235,+ action_236,+ action_237,+ action_238,+ action_239,+ action_240,+ action_241,+ action_242,+ action_243,+ action_244,+ action_245,+ action_246,+ action_247,+ action_248,+ action_249,+ action_250,+ action_251,+ action_252,+ action_253,+ action_254,+ action_255,+ action_256,+ action_257,+ action_258,+ action_259,+ action_260,+ action_261,+ action_262,+ action_263,+ action_264,+ action_265,+ action_266,+ action_267,+ action_268,+ action_269,+ action_270,+ action_271,+ action_272,+ action_273,+ action_274,+ action_275,+ action_276,+ action_277,+ action_278,+ action_279,+ action_280,+ action_281,+ action_282,+ action_283,+ action_284,+ action_285,+ action_286,+ action_287,+ action_288,+ action_289,+ action_290,+ action_291,+ action_292,+ action_293,+ action_294,+ action_295,+ action_296,+ action_297,+ action_298,+ action_299,+ action_300,+ action_301,+ action_302,+ action_303,+ action_304,+ action_305,+ action_306,+ action_307,+ action_308,+ action_309,+ action_310,+ action_311,+ action_312,+ action_313,+ action_314,+ action_315,+ action_316,+ action_317,+ action_318,+ action_319,+ action_320,+ action_321,+ action_322,+ action_323,+ action_324,+ action_325,+ action_326,+ action_327,+ action_328,+ action_329,+ action_330,+ action_331,+ action_332,+ action_333,+ action_334,+ action_335,+ action_336,+ action_337,+ action_338,+ action_339,+ action_340,+ action_341,+ action_342,+ action_343,+ action_344,+ action_345,+ action_346,+ action_347,+ action_348,+ action_349,+ action_350,+ action_351,+ action_352,+ action_353,+ action_354,+ action_355,+ action_356,+ action_357,+ action_358,+ action_359,+ action_360,+ action_361,+ action_362,+ action_363,+ action_364,+ action_365,+ action_366,+ action_367,+ action_368,+ action_369,+ action_370,+ action_371,+ action_372,+ action_373,+ action_374,+ action_375,+ action_376,+ action_377,+ action_378,+ action_379,+ action_380,+ action_381,+ action_382,+ action_383,+ action_384,+ action_385,+ action_386,+ action_387,+ action_388,+ action_389,+ action_390,+ action_391,+ action_392,+ action_393,+ action_394,+ action_395,+ action_396,+ action_397,+ action_398,+ action_399,+ action_400,+ action_401,+ action_402,+ action_403,+ action_404,+ action_405,+ action_406,+ action_407,+ action_408,+ action_409,+ action_410,+ action_411,+ action_412,+ action_413,+ action_414,+ action_415,+ action_416,+ action_417,+ action_418,+ action_419,+ action_420,+ action_421,+ action_422,+ action_423,+ action_424,+ action_425,+ action_426,+ action_427,+ action_428,+ action_429,+ action_430,+ action_431,+ action_432,+ action_433,+ action_434,+ action_435,+ action_436,+ action_437,+ action_438,+ action_439,+ action_440,+ action_441,+ action_442,+ action_443,+ action_444,+ action_445,+ action_446,+ action_447,+ action_448,+ action_449,+ action_450,+ action_451,+ action_452,+ action_453,+ action_454,+ action_455,+ action_456,+ action_457,+ action_458,+ action_459,+ action_460,+ action_461,+ action_462,+ action_463,+ action_464,+ action_465,+ action_466,+ action_467,+ action_468,+ action_469,+ action_470,+ action_471,+ action_472,+ action_473,+ action_474,+ action_475,+ action_476,+ action_477,+ action_478,+ action_479,+ action_480,+ action_481,+ action_482,+ action_483,+ action_484,+ action_485,+ action_486,+ action_487,+ action_488,+ action_489,+ action_490,+ action_491,+ action_492,+ action_493,+ action_494,+ action_495,+ action_496,+ action_497,+ action_498,+ action_499,+ action_500,+ action_501,+ action_502,+ action_503,+ action_504,+ action_505,+ action_506,+ action_507,+ action_508,+ action_509,+ action_510,+ action_511,+ action_512,+ action_513,+ action_514,+ action_515,+ action_516,+ action_517,+ action_518,+ action_519,+ action_520,+ action_521,+ action_522,+ action_523,+ action_524,+ action_525,+ action_526,+ action_527,+ action_528,+ action_529,+ action_530,+ action_531,+ action_532,+ action_533,+ action_534,+ action_535,+ action_536,+ action_537,+ action_538,+ action_539,+ action_540,+ action_541,+ action_542,+ action_543,+ action_544,+ action_545,+ action_546,+ action_547,+ action_548,+ action_549,+ action_550,+ action_551,+ action_552,+ action_553,+ action_554,+ action_555,+ action_556,+ action_557,+ action_558,+ action_559,+ action_560,+ action_561,+ action_562,+ action_563,+ action_564,+ action_565,+ action_566,+ action_567,+ action_568,+ action_569,+ action_570,+ action_571,+ action_572,+ action_573,+ action_574,+ action_575,+ action_576,+ action_577,+ action_578,+ action_579,+ action_580,+ action_581,+ action_582,+ action_583,+ action_584,+ action_585,+ action_586,+ action_587,+ action_588,+ action_589,+ action_590,+ action_591,+ action_592,+ action_593,+ action_594,+ action_595,+ action_596,+ action_597,+ action_598,+ action_599,+ action_600,+ action_601,+ action_602,+ action_603,+ action_604,+ action_605,+ action_606,+ action_607,+ action_608,+ action_609,+ action_610,+ action_611,+ action_612,+ action_613,+ action_614,+ action_615,+ action_616,+ action_617,+ action_618,+ action_619,+ action_620,+ action_621,+ action_622,+ action_623,+ action_624,+ action_625,+ action_626,+ action_627,+ action_628,+ action_629,+ action_630,+ action_631,+ action_632,+ action_633,+ action_634,+ action_635,+ action_636,+ action_637,+ action_638,+ action_639,+ action_640,+ action_641,+ action_642,+ action_643,+ action_644,+ action_645,+ action_646,+ action_647,+ action_648,+ action_649,+ action_650,+ action_651,+ action_652,+ action_653,+ action_654,+ action_655,+ action_656,+ action_657,+ action_658,+ action_659,+ action_660,+ action_661,+ action_662,+ action_663,+ action_664,+ action_665,+ action_666,+ action_667,+ action_668,+ action_669,+ action_670,+ action_671,+ action_672,+ action_673,+ action_674,+ action_675,+ action_676,+ action_677,+ action_678,+ action_679,+ action_680,+ action_681,+ action_682,+ action_683,+ action_684,+ action_685,+ action_686,+ action_687,+ action_688,+ action_689,+ action_690,+ action_691,+ action_692,+ action_693,+ action_694,+ action_695,+ action_696,+ action_697,+ action_698,+ action_699,+ action_700,+ action_701,+ action_702,+ action_703,+ action_704,+ action_705,+ action_706,+ action_707,+ action_708,+ action_709,+ action_710,+ action_711,+ action_712,+ action_713,+ action_714,+ action_715,+ action_716,+ action_717,+ action_718,+ action_719,+ action_720,+ action_721,+ action_722,+ action_723,+ action_724,+ action_725,+ action_726,+ action_727,+ action_728,+ action_729,+ action_730,+ action_731,+ action_732,+ action_733,+ action_734,+ action_735,+ action_736,+ action_737,+ action_738,+ action_739,+ action_740,+ action_741,+ action_742,+ action_743,+ action_744,+ action_745,+ action_746,+ action_747,+ action_748,+ action_749,+ action_750,+ action_751,+ action_752,+ action_753,+ action_754,+ action_755,+ action_756,+ action_757,+ action_758,+ action_759,+ action_760,+ action_761,+ action_762,+ action_763,+ action_764,+ action_765,+ action_766,+ action_767,+ action_768,+ action_769,+ action_770,+ action_771,+ action_772,+ action_773,+ action_774,+ action_775,+ action_776,+ action_777,+ action_778,+ action_779,+ action_780,+ action_781,+ action_782,+ action_783,+ action_784,+ action_785,+ action_786,+ action_787,+ action_788,+ action_789,+ action_790,+ action_791,+ action_792,+ action_793,+ action_794,+ action_795,+ action_796,+ action_797,+ action_798,+ action_799,+ action_800,+ action_801,+ action_802,+ action_803,+ action_804 :: () => Int -> ({-HappyReduction (LexAction) = -}+	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> (LexAction) HappyAbsSyn)++happyReduce_2,+ happyReduce_3,+ happyReduce_4,+ happyReduce_5,+ happyReduce_6,+ happyReduce_7,+ happyReduce_8,+ happyReduce_9,+ happyReduce_10,+ happyReduce_11,+ happyReduce_12,+ happyReduce_13,+ happyReduce_14,+ happyReduce_15,+ happyReduce_16,+ happyReduce_17,+ happyReduce_18,+ happyReduce_19,+ happyReduce_20,+ happyReduce_21,+ happyReduce_22,+ happyReduce_23,+ happyReduce_24,+ happyReduce_25,+ happyReduce_26,+ happyReduce_27,+ happyReduce_28,+ happyReduce_29,+ happyReduce_30,+ happyReduce_31,+ happyReduce_32,+ happyReduce_33,+ happyReduce_34,+ happyReduce_35,+ happyReduce_36,+ happyReduce_37,+ happyReduce_38,+ happyReduce_39,+ happyReduce_40,+ happyReduce_41,+ happyReduce_42,+ happyReduce_43,+ happyReduce_44,+ happyReduce_45,+ happyReduce_46,+ happyReduce_47,+ happyReduce_48,+ happyReduce_49,+ happyReduce_50,+ happyReduce_51,+ happyReduce_52,+ happyReduce_53,+ happyReduce_54,+ happyReduce_55,+ happyReduce_56,+ happyReduce_57,+ happyReduce_58,+ happyReduce_59,+ happyReduce_60,+ happyReduce_61,+ happyReduce_62,+ happyReduce_63,+ happyReduce_64,+ happyReduce_65,+ happyReduce_66,+ happyReduce_67,+ happyReduce_68,+ happyReduce_69,+ happyReduce_70,+ happyReduce_71,+ happyReduce_72,+ happyReduce_73,+ happyReduce_74,+ happyReduce_75,+ happyReduce_76,+ happyReduce_77,+ happyReduce_78,+ happyReduce_79,+ happyReduce_80,+ happyReduce_81,+ happyReduce_82,+ happyReduce_83,+ happyReduce_84,+ happyReduce_85,+ happyReduce_86,+ happyReduce_87,+ happyReduce_88,+ happyReduce_89,+ happyReduce_90,+ happyReduce_91,+ happyReduce_92,+ happyReduce_93,+ happyReduce_94,+ happyReduce_95,+ happyReduce_96,+ happyReduce_97,+ happyReduce_98,+ happyReduce_99,+ happyReduce_100,+ happyReduce_101,+ happyReduce_102,+ happyReduce_103,+ happyReduce_104,+ happyReduce_105,+ happyReduce_106,+ happyReduce_107,+ happyReduce_108,+ happyReduce_109,+ happyReduce_110,+ happyReduce_111,+ happyReduce_112,+ happyReduce_113,+ happyReduce_114,+ happyReduce_115,+ happyReduce_116,+ happyReduce_117,+ happyReduce_118,+ happyReduce_119,+ happyReduce_120,+ happyReduce_121,+ happyReduce_122,+ happyReduce_123,+ happyReduce_124,+ happyReduce_125,+ happyReduce_126,+ happyReduce_127,+ happyReduce_128,+ happyReduce_129,+ happyReduce_130,+ happyReduce_131,+ happyReduce_132,+ happyReduce_133,+ happyReduce_134,+ happyReduce_135,+ happyReduce_136,+ happyReduce_137,+ happyReduce_138,+ happyReduce_139,+ happyReduce_140,+ happyReduce_141,+ happyReduce_142,+ happyReduce_143,+ happyReduce_144,+ happyReduce_145,+ happyReduce_146,+ happyReduce_147,+ happyReduce_148,+ happyReduce_149,+ happyReduce_150,+ happyReduce_151,+ happyReduce_152,+ happyReduce_153,+ happyReduce_154,+ happyReduce_155,+ happyReduce_156,+ happyReduce_157,+ happyReduce_158,+ happyReduce_159,+ happyReduce_160,+ happyReduce_161,+ happyReduce_162,+ happyReduce_163,+ happyReduce_164,+ happyReduce_165,+ happyReduce_166,+ happyReduce_167,+ happyReduce_168,+ happyReduce_169,+ happyReduce_170,+ happyReduce_171,+ happyReduce_172,+ happyReduce_173,+ happyReduce_174,+ happyReduce_175,+ happyReduce_176,+ happyReduce_177,+ happyReduce_178,+ happyReduce_179,+ happyReduce_180,+ happyReduce_181,+ happyReduce_182,+ happyReduce_183,+ happyReduce_184,+ happyReduce_185,+ happyReduce_186,+ happyReduce_187,+ happyReduce_188,+ happyReduce_189,+ happyReduce_190,+ happyReduce_191,+ happyReduce_192,+ happyReduce_193,+ happyReduce_194,+ happyReduce_195,+ happyReduce_196,+ happyReduce_197,+ happyReduce_198,+ happyReduce_199,+ happyReduce_200,+ happyReduce_201,+ happyReduce_202,+ happyReduce_203,+ happyReduce_204,+ happyReduce_205,+ happyReduce_206,+ happyReduce_207,+ happyReduce_208,+ happyReduce_209,+ happyReduce_210,+ happyReduce_211,+ happyReduce_212,+ happyReduce_213,+ happyReduce_214,+ happyReduce_215,+ happyReduce_216,+ happyReduce_217,+ happyReduce_218,+ happyReduce_219,+ happyReduce_220,+ happyReduce_221,+ happyReduce_222,+ happyReduce_223,+ happyReduce_224,+ happyReduce_225,+ happyReduce_226,+ happyReduce_227,+ happyReduce_228,+ happyReduce_229,+ happyReduce_230,+ happyReduce_231,+ happyReduce_232,+ happyReduce_233,+ happyReduce_234,+ happyReduce_235,+ happyReduce_236,+ happyReduce_237,+ happyReduce_238,+ happyReduce_239,+ happyReduce_240,+ happyReduce_241,+ happyReduce_242,+ happyReduce_243,+ happyReduce_244,+ happyReduce_245,+ happyReduce_246,+ happyReduce_247,+ happyReduce_248,+ happyReduce_249,+ happyReduce_250,+ happyReduce_251,+ happyReduce_252,+ happyReduce_253,+ happyReduce_254,+ happyReduce_255,+ happyReduce_256,+ happyReduce_257,+ happyReduce_258,+ happyReduce_259,+ happyReduce_260,+ happyReduce_261,+ happyReduce_262,+ happyReduce_263,+ happyReduce_264,+ happyReduce_265,+ happyReduce_266,+ happyReduce_267,+ happyReduce_268,+ happyReduce_269,+ happyReduce_270,+ happyReduce_271,+ happyReduce_272,+ happyReduce_273,+ happyReduce_274,+ happyReduce_275,+ happyReduce_276,+ happyReduce_277,+ happyReduce_278,+ happyReduce_279,+ happyReduce_280,+ happyReduce_281,+ happyReduce_282,+ happyReduce_283,+ happyReduce_284,+ happyReduce_285,+ happyReduce_286,+ happyReduce_287,+ happyReduce_288,+ happyReduce_289,+ happyReduce_290,+ happyReduce_291,+ happyReduce_292,+ happyReduce_293,+ happyReduce_294,+ happyReduce_295,+ happyReduce_296,+ happyReduce_297,+ happyReduce_298,+ happyReduce_299,+ happyReduce_300,+ happyReduce_301,+ happyReduce_302,+ happyReduce_303,+ happyReduce_304,+ happyReduce_305,+ happyReduce_306,+ happyReduce_307,+ happyReduce_308,+ happyReduce_309,+ happyReduce_310,+ happyReduce_311,+ happyReduce_312,+ happyReduce_313,+ happyReduce_314,+ happyReduce_315,+ happyReduce_316,+ happyReduce_317,+ happyReduce_318,+ happyReduce_319,+ happyReduce_320,+ happyReduce_321,+ happyReduce_322,+ happyReduce_323,+ happyReduce_324,+ happyReduce_325,+ happyReduce_326,+ happyReduce_327,+ happyReduce_328,+ happyReduce_329,+ happyReduce_330,+ happyReduce_331,+ happyReduce_332,+ happyReduce_333,+ happyReduce_334,+ happyReduce_335,+ happyReduce_336,+ happyReduce_337,+ happyReduce_338,+ happyReduce_339,+ happyReduce_340,+ happyReduce_341,+ happyReduce_342,+ happyReduce_343,+ happyReduce_344,+ happyReduce_345,+ happyReduce_346,+ happyReduce_347,+ happyReduce_348,+ happyReduce_349,+ happyReduce_350,+ happyReduce_351,+ happyReduce_352,+ happyReduce_353,+ happyReduce_354,+ happyReduce_355,+ happyReduce_356,+ happyReduce_357,+ happyReduce_358,+ happyReduce_359,+ happyReduce_360,+ happyReduce_361,+ happyReduce_362,+ happyReduce_363,+ happyReduce_364,+ happyReduce_365,+ happyReduce_366,+ happyReduce_367,+ happyReduce_368,+ happyReduce_369,+ happyReduce_370,+ happyReduce_371,+ happyReduce_372,+ happyReduce_373,+ happyReduce_374,+ happyReduce_375,+ happyReduce_376,+ happyReduce_377,+ happyReduce_378,+ happyReduce_379,+ happyReduce_380,+ happyReduce_381,+ happyReduce_382,+ happyReduce_383,+ happyReduce_384,+ happyReduce_385,+ happyReduce_386,+ happyReduce_387,+ happyReduce_388,+ happyReduce_389,+ happyReduce_390,+ happyReduce_391,+ happyReduce_392,+ happyReduce_393,+ happyReduce_394,+ happyReduce_395,+ happyReduce_396,+ happyReduce_397,+ happyReduce_398,+ happyReduce_399,+ happyReduce_400,+ happyReduce_401,+ happyReduce_402 :: () => ({-HappyReduction (LexAction) = -}+	   Int +	-> (Token)+	-> HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)+	-> [HappyState (Token) (HappyStk HappyAbsSyn -> (LexAction) HappyAbsSyn)] +	-> HappyStk HappyAbsSyn +	-> (LexAction) HappyAbsSyn)++action_0 (107) = happyShift action_9+action_0 (144) = happyShift action_10+action_0 (146) = happyShift action_11+action_0 (149) = happyShift action_12+action_0 (150) = happyShift action_13+action_0 (152) = happyShift action_14+action_0 (154) = happyShift action_15+action_0 (214) = happyShift action_16+action_0 (219) = happyShift action_17+action_0 (220) = happyShift action_18+action_0 (221) = happyShift action_19+action_0 (222) = happyShift action_20+action_0 (223) = happyShift action_21+action_0 (224) = happyShift action_22+action_0 (5) = happyGoto action_88+action_0 (6) = happyGoto action_89+action_0 (7) = happyGoto action_4+action_0 (10) = happyGoto action_5+action_0 (25) = happyGoto action_6+action_0 (26) = happyGoto action_7+action_0 (77) = happyGoto action_8+action_0 _ = happyFail++action_1 (106) = happyShift action_32+action_1 (157) = happyShift action_33+action_1 (164) = happyShift action_34+action_1 (165) = happyShift action_35+action_1 (166) = happyShift action_36+action_1 (167) = happyShift action_37+action_1 (168) = happyShift action_38+action_1 (169) = happyShift action_39+action_1 (170) = happyShift action_40+action_1 (171) = happyShift action_41+action_1 (172) = happyShift action_42+action_1 (173) = happyShift action_43+action_1 (174) = happyShift action_44+action_1 (175) = happyShift action_45+action_1 (176) = happyShift action_46+action_1 (177) = happyShift action_47+action_1 (178) = happyShift action_48+action_1 (182) = happyShift action_49+action_1 (183) = happyShift action_50+action_1 (184) = happyShift action_51+action_1 (185) = happyShift action_52+action_1 (186) = happyShift action_53+action_1 (187) = happyShift action_54+action_1 (188) = happyShift action_55+action_1 (189) = happyShift action_56+action_1 (191) = happyShift action_57+action_1 (192) = happyShift action_58+action_1 (194) = happyShift action_59+action_1 (195) = happyShift action_60+action_1 (196) = happyShift action_61+action_1 (197) = happyShift action_62+action_1 (198) = happyShift action_63+action_1 (200) = happyShift action_64+action_1 (202) = happyShift action_65+action_1 (203) = happyShift action_66+action_1 (204) = happyShift action_67+action_1 (205) = happyShift action_68+action_1 (206) = happyShift action_69+action_1 (207) = happyShift action_70+action_1 (209) = happyShift action_71+action_1 (210) = happyShift action_72+action_1 (211) = happyShift action_73+action_1 (212) = happyShift action_74+action_1 (213) = happyShift action_75+action_1 (214) = happyShift action_76+action_1 (215) = happyShift action_77+action_1 (216) = happyShift action_78+action_1 (219) = happyShift action_17+action_1 (220) = happyShift action_18+action_1 (221) = happyShift action_19+action_1 (222) = happyShift action_20+action_1 (223) = happyShift action_21+action_1 (224) = happyShift action_22+action_1 (225) = happyShift action_79+action_1 (226) = happyShift action_80+action_1 (227) = happyShift action_81+action_1 (228) = happyShift action_82+action_1 (229) = happyShift action_83+action_1 (230) = happyShift action_84+action_1 (231) = happyShift action_85+action_1 (232) = happyShift action_86+action_1 (233) = happyShift action_87+action_1 (28) = happyGoto action_23+action_1 (29) = happyGoto action_24+action_1 (30) = happyGoto action_25+action_1 (31) = happyGoto action_26+action_1 (61) = happyGoto action_27+action_1 (77) = happyGoto action_28+action_1 (83) = happyGoto action_29+action_1 (85) = happyGoto action_30+action_1 (94) = happyGoto action_31+action_1 _ = happyFail++action_2 (107) = happyShift action_9+action_2 (144) = happyShift action_10+action_2 (146) = happyShift action_11+action_2 (149) = happyShift action_12+action_2 (150) = happyShift action_13+action_2 (152) = happyShift action_14+action_2 (154) = happyShift action_15+action_2 (214) = happyShift action_16+action_2 (219) = happyShift action_17+action_2 (220) = happyShift action_18+action_2 (221) = happyShift action_19+action_2 (222) = happyShift action_20+action_2 (223) = happyShift action_21+action_2 (224) = happyShift action_22+action_2 (6) = happyGoto action_3+action_2 (7) = happyGoto action_4+action_2 (10) = happyGoto action_5+action_2 (25) = happyGoto action_6+action_2 (26) = happyGoto action_7+action_2 (77) = happyGoto action_8+action_2 _ = happyFail++action_3 (107) = happyShift action_9+action_3 (144) = happyShift action_10+action_3 (146) = happyShift action_11+action_3 (149) = happyShift action_12+action_3 (150) = happyShift action_13+action_3 (152) = happyShift action_14+action_3 (154) = happyShift action_15+action_3 (214) = happyShift action_16+action_3 (219) = happyShift action_17+action_3 (220) = happyShift action_18+action_3 (221) = happyShift action_19+action_3 (222) = happyShift action_20+action_3 (223) = happyShift action_21+action_3 (224) = happyShift action_22+action_3 (7) = happyGoto action_90+action_3 (10) = happyGoto action_5+action_3 (25) = happyGoto action_226+action_3 (26) = happyGoto action_7+action_3 (77) = happyGoto action_8+action_3 _ = happyFail++action_4 (114) = happyShift action_213+action_4 (235) = happyShift action_214+action_4 (27) = happyGoto action_225+action_4 _ = happyFail++action_5 _ = happyReduce_12++action_6 (107) = happyShift action_9+action_6 (144) = happyShift action_10+action_6 (146) = happyShift action_11+action_6 (149) = happyShift action_12+action_6 (150) = happyShift action_13+action_6 (152) = happyShift action_14+action_6 (154) = happyShift action_15+action_6 (214) = happyShift action_16+action_6 (219) = happyShift action_17+action_6 (220) = happyShift action_18+action_6 (221) = happyShift action_19+action_6 (222) = happyShift action_20+action_6 (223) = happyShift action_21+action_6 (224) = happyShift action_22+action_6 (7) = happyGoto action_223+action_6 (10) = happyGoto action_5+action_6 (26) = happyGoto action_224+action_6 (77) = happyGoto action_8+action_6 _ = happyFail++action_7 _ = happyReduce_58++action_8 (146) = happyShift action_221+action_8 (149) = happyShift action_222+action_8 _ = happyFail++action_9 (114) = happyShift action_213+action_9 (235) = happyShift action_214+action_9 (27) = happyGoto action_220+action_9 _ = happyFail++action_10 (106) = happyShift action_210+action_10 (18) = happyGoto action_219+action_10 _ = happyFail++action_11 (106) = happyShift action_210+action_11 (18) = happyGoto action_218+action_11 _ = happyFail++action_12 (150) = happyShift action_217+action_12 (214) = happyShift action_16+action_12 (219) = happyShift action_17+action_12 (220) = happyShift action_18+action_12 (221) = happyShift action_19+action_12 (222) = happyShift action_20+action_12 (223) = happyShift action_21+action_12 (224) = happyShift action_22+action_12 (77) = happyGoto action_216+action_12 _ = happyFail++action_13 (106) = happyShift action_210+action_13 (18) = happyGoto action_215+action_13 _ = happyFail++action_14 (106) = happyShift action_210+action_14 (114) = happyShift action_213+action_14 (235) = happyShift action_214+action_14 (18) = happyGoto action_211+action_14 (27) = happyGoto action_212+action_14 _ = happyFail++action_15 (106) = happyShift action_210+action_15 (18) = happyGoto action_209+action_15 _ = happyFail++action_16 (120) = happyShift action_120+action_16 _ = happyFail++action_17 (120) = happyShift action_202+action_17 (78) = happyGoto action_208+action_17 _ = happyReduce_315++action_18 (120) = happyShift action_202+action_18 (78) = happyGoto action_207+action_18 _ = happyReduce_315++action_19 _ = happyReduce_308++action_20 (120) = happyShift action_202+action_20 (78) = happyGoto action_206+action_20 _ = happyReduce_315++action_21 (120) = happyShift action_204+action_21 (129) = happyShift action_205+action_21 (79) = happyGoto action_203+action_21 _ = happyReduce_324++action_22 (120) = happyShift action_202+action_22 (78) = happyGoto action_201+action_22 _ = happyReduce_315++action_23 (236) = happyAccept+action_23 _ = happyFail++action_24 _ = happyReduce_105++action_25 _ = happyReduce_64++action_26 _ = happyReduce_65++action_27 _ = happyReduce_67++action_28 (106) = happyShift action_32+action_28 (62) = happyGoto action_196+action_28 (72) = happyGoto action_197+action_28 (73) = happyGoto action_198+action_28 (74) = happyGoto action_199+action_28 (94) = happyGoto action_200+action_28 _ = happyReduce_259++action_29 (117) = happyShift action_193+action_29 (118) = happyShift action_194+action_29 (119) = happyShift action_195+action_29 _ = happyFail++action_30 _ = happyReduce_356++action_31 (115) = happyShift action_191+action_31 (120) = happyShift action_192+action_31 _ = happyReduce_359++action_32 _ = happyReduce_388++action_33 (106) = happyShift action_32+action_33 (94) = happyGoto action_190+action_33 _ = happyFail++action_34 (106) = happyShift action_32+action_34 (94) = happyGoto action_189+action_34 _ = happyFail++action_35 (106) = happyShift action_32+action_35 (108) = happyShift action_110+action_35 (109) = happyShift action_97+action_35 (110) = happyShift action_178+action_35 (111) = happyShift action_98+action_35 (120) = happyShift action_179+action_35 (123) = happyShift action_180+action_35 (125) = happyShift action_181+action_35 (127) = happyShift action_182+action_35 (128) = happyShift action_183+action_35 (129) = happyShift action_184+action_35 (134) = happyShift action_185+action_35 (143) = happyShift action_186+action_35 (162) = happyShift action_187+action_35 (163) = happyShift action_188+action_35 (81) = happyGoto action_169+action_35 (83) = happyGoto action_170+action_35 (85) = happyGoto action_30+action_35 (90) = happyGoto action_171+action_35 (92) = happyGoto action_172+action_35 (94) = happyGoto action_95+action_35 (95) = happyGoto action_173+action_35 (97) = happyGoto action_174+action_35 (98) = happyGoto action_175+action_35 (99) = happyGoto action_176+action_35 (100) = happyGoto action_177+action_35 _ = happyReduce_172++action_36 (106) = happyShift action_32+action_36 (94) = happyGoto action_168+action_36 _ = happyFail++action_37 (107) = happyReduce_71+action_37 (114) = happyReduce_71+action_37 (116) = happyShift action_155+action_37 (235) = happyReduce_71+action_37 (236) = happyReduce_71+action_37 (36) = happyGoto action_167+action_37 _ = happyReduce_183++action_38 (107) = happyReduce_73+action_38 (114) = happyReduce_73+action_38 (116) = happyShift action_155+action_38 (235) = happyReduce_73+action_38 (236) = happyReduce_73+action_38 (36) = happyGoto action_166+action_38 _ = happyReduce_183++action_39 (120) = happyShift action_165+action_39 _ = happyFail++action_40 (116) = happyShift action_155+action_40 (36) = happyGoto action_164+action_40 _ = happyReduce_183++action_41 (116) = happyShift action_155+action_41 (36) = happyGoto action_163+action_41 _ = happyReduce_183++action_42 (106) = happyShift action_32+action_42 (54) = happyGoto action_162+action_42 (94) = happyGoto action_160+action_42 _ = happyFail++action_43 (120) = happyShift action_161+action_43 _ = happyFail++action_44 (106) = happyShift action_32+action_44 (54) = happyGoto action_159+action_44 (94) = happyGoto action_160+action_44 _ = happyFail++action_45 (116) = happyShift action_155+action_45 (36) = happyGoto action_158+action_45 _ = happyReduce_183++action_46 (116) = happyShift action_155+action_46 (36) = happyGoto action_157+action_46 _ = happyReduce_183++action_47 (107) = happyReduce_75+action_47 (114) = happyReduce_75+action_47 (116) = happyShift action_155+action_47 (235) = happyReduce_75+action_47 (236) = happyReduce_75+action_47 (36) = happyGoto action_156+action_47 _ = happyReduce_183++action_48 (116) = happyShift action_155+action_48 (36) = happyGoto action_154+action_48 _ = happyReduce_183++action_49 (101) = happyGoto action_153+action_49 _ = happyReduce_398++action_50 (103) = happyGoto action_152+action_50 _ = happyReduce_400++action_51 (190) = happyShift action_151+action_51 (102) = happyGoto action_150+action_51 _ = happyReduce_399++action_52 (120) = happyShift action_149+action_52 (50) = happyGoto action_148+action_52 _ = happyFail++action_53 (104) = happyGoto action_147+action_53 _ = happyReduce_401++action_54 (120) = happyShift action_146+action_54 _ = happyFail++action_55 (120) = happyShift action_145+action_55 _ = happyFail++action_56 (120) = happyShift action_144+action_56 _ = happyFail++action_57 (106) = happyShift action_32+action_57 (109) = happyShift action_97+action_57 (111) = happyShift action_98+action_57 (120) = happyShift action_143+action_57 (94) = happyGoto action_141+action_57 (97) = happyGoto action_142+action_57 _ = happyFail++action_58 (109) = happyShift action_97+action_58 (111) = happyShift action_98+action_58 (97) = happyGoto action_140+action_58 _ = happyFail++action_59 _ = happyReduce_138++action_60 (109) = happyShift action_97+action_60 (111) = happyShift action_98+action_60 (97) = happyGoto action_139+action_60 _ = happyReduce_139++action_61 (109) = happyShift action_97+action_61 (111) = happyShift action_98+action_61 (97) = happyGoto action_138+action_61 _ = happyReduce_141++action_62 (106) = happyShift action_32+action_62 (109) = happyShift action_97+action_62 (111) = happyShift action_98+action_62 (199) = happyShift action_137+action_62 (29) = happyGoto action_133+action_62 (83) = happyGoto action_134+action_62 (85) = happyGoto action_30+action_62 (89) = happyGoto action_135+action_62 (94) = happyGoto action_95+action_62 (97) = happyGoto action_136+action_62 _ = happyReduce_120++action_63 (106) = happyShift action_32+action_63 (94) = happyGoto action_132+action_63 _ = happyReduce_128++action_64 (120) = happyShift action_131+action_64 _ = happyFail++action_65 (106) = happyShift action_32+action_65 (94) = happyGoto action_130+action_65 _ = happyReduce_116++action_66 (120) = happyShift action_129+action_66 _ = happyFail++action_67 (106) = happyShift action_32+action_67 (94) = happyGoto action_128+action_67 _ = happyReduce_118++action_68 (120) = happyShift action_126+action_68 (208) = happyShift action_127+action_68 _ = happyFail++action_69 (120) = happyShift action_125+action_69 _ = happyFail++action_70 (106) = happyShift action_32+action_70 (94) = happyGoto action_124+action_70 _ = happyReduce_149++action_71 (106) = happyShift action_32+action_71 (94) = happyGoto action_123+action_71 _ = happyReduce_130++action_72 (106) = happyShift action_32+action_72 (94) = happyGoto action_122+action_72 _ = happyReduce_132++action_73 (120) = happyShift action_121+action_73 _ = happyFail++action_74 _ = happyReduce_109++action_75 _ = happyReduce_110++action_76 (106) = happyShift action_119+action_76 (120) = happyShift action_120+action_76 (62) = happyGoto action_118+action_76 _ = happyReduce_259++action_77 (106) = happyShift action_117+action_77 _ = happyReduce_98++action_78 _ = happyReduce_95++action_79 (120) = happyShift action_99+action_79 (39) = happyGoto action_116+action_79 _ = happyFail++action_80 (120) = happyShift action_99+action_80 (39) = happyGoto action_115+action_80 _ = happyFail++action_81 (106) = happyShift action_32+action_81 (108) = happyShift action_110+action_81 (109) = happyShift action_97+action_81 (111) = happyShift action_98+action_81 (120) = happyShift action_99+action_81 (129) = happyShift action_111+action_81 (37) = happyGoto action_113+action_81 (39) = happyGoto action_114+action_81 (83) = happyGoto action_107+action_81 (85) = happyGoto action_30+action_81 (94) = happyGoto action_95+action_81 (97) = happyGoto action_108+action_81 (100) = happyGoto action_109+action_81 _ = happyFail++action_82 (120) = happyShift action_99+action_82 (39) = happyGoto action_112+action_82 _ = happyFail++action_83 (106) = happyShift action_32+action_83 (108) = happyShift action_110+action_83 (109) = happyShift action_97+action_83 (111) = happyShift action_98+action_83 (129) = happyShift action_111+action_83 (37) = happyGoto action_106+action_83 (83) = happyGoto action_107+action_83 (85) = happyGoto action_30+action_83 (94) = happyGoto action_95+action_83 (97) = happyGoto action_108+action_83 (100) = happyGoto action_109+action_83 _ = happyFail++action_84 (106) = happyShift action_32+action_84 (109) = happyShift action_97+action_84 (111) = happyShift action_98+action_84 (120) = happyShift action_99+action_84 (129) = happyShift action_100+action_84 (38) = happyGoto action_104+action_84 (39) = happyGoto action_105+action_84 (83) = happyGoto action_94+action_84 (85) = happyGoto action_30+action_84 (94) = happyGoto action_95+action_84 (97) = happyGoto action_96+action_84 _ = happyFail++action_85 (106) = happyShift action_32+action_85 (109) = happyShift action_97+action_85 (111) = happyShift action_98+action_85 (120) = happyShift action_99+action_85 (129) = happyShift action_100+action_85 (38) = happyGoto action_102+action_85 (39) = happyGoto action_103+action_85 (83) = happyGoto action_94+action_85 (85) = happyGoto action_30+action_85 (94) = happyGoto action_95+action_85 (97) = happyGoto action_96+action_85 _ = happyFail++action_86 (120) = happyShift action_99+action_86 (39) = happyGoto action_101+action_86 _ = happyFail++action_87 (106) = happyShift action_32+action_87 (109) = happyShift action_97+action_87 (111) = happyShift action_98+action_87 (120) = happyShift action_99+action_87 (129) = happyShift action_100+action_87 (38) = happyGoto action_92+action_87 (39) = happyGoto action_93+action_87 (83) = happyGoto action_94+action_87 (85) = happyGoto action_30+action_87 (94) = happyGoto action_95+action_87 (97) = happyGoto action_96+action_87 _ = happyFail++action_88 (236) = happyAccept+action_88 _ = happyFail++action_89 (107) = happyShift action_9+action_89 (144) = happyShift action_10+action_89 (146) = happyShift action_11+action_89 (149) = happyShift action_12+action_89 (150) = happyShift action_13+action_89 (152) = happyShift action_14+action_89 (154) = happyShift action_15+action_89 (214) = happyShift action_16+action_89 (219) = happyShift action_17+action_89 (220) = happyShift action_18+action_89 (221) = happyShift action_19+action_89 (222) = happyShift action_20+action_89 (223) = happyShift action_21+action_89 (224) = happyShift action_22+action_89 (7) = happyGoto action_90+action_89 (10) = happyGoto action_5+action_89 (25) = happyGoto action_91+action_89 (26) = happyGoto action_7+action_89 (77) = happyGoto action_8+action_89 _ = happyReduce_2++action_90 (114) = happyShift action_213+action_90 (235) = happyShift action_214+action_90 (27) = happyGoto action_378+action_90 _ = happyFail++action_91 (107) = happyShift action_9+action_91 (144) = happyShift action_10+action_91 (146) = happyShift action_11+action_91 (149) = happyShift action_12+action_91 (150) = happyShift action_13+action_91 (152) = happyShift action_14+action_91 (154) = happyShift action_15+action_91 (214) = happyShift action_16+action_91 (219) = happyShift action_17+action_91 (220) = happyShift action_18+action_91 (221) = happyShift action_19+action_91 (222) = happyShift action_20+action_91 (223) = happyShift action_21+action_91 (224) = happyShift action_22+action_91 (7) = happyGoto action_227+action_91 (10) = happyGoto action_5+action_91 (26) = happyGoto action_224+action_91 (77) = happyGoto action_8+action_91 _ = happyReduce_3++action_92 _ = happyReduce_166++action_93 _ = happyReduce_165++action_94 (119) = happyShift action_195+action_94 _ = happyReduce_190++action_95 (120) = happyShift action_192+action_95 _ = happyReduce_359++action_96 _ = happyReduce_189++action_97 _ = happyReduce_393++action_98 _ = happyReduce_394++action_99 (106) = happyShift action_377+action_99 (109) = happyShift action_97+action_99 (111) = happyShift action_98+action_99 (129) = happyShift action_100+action_99 (38) = happyGoto action_374+action_99 (40) = happyGoto action_375+action_99 (41) = happyGoto action_376+action_99 (83) = happyGoto action_94+action_99 (85) = happyGoto action_30+action_99 (94) = happyGoto action_95+action_99 (97) = happyGoto action_96+action_99 _ = happyFail++action_100 _ = happyReduce_191++action_101 _ = happyReduce_162++action_102 _ = happyReduce_164++action_103 _ = happyReduce_163++action_104 _ = happyReduce_168++action_105 _ = happyReduce_167++action_106 (112) = happyShift action_373+action_106 (130) = happyShift action_370+action_106 _ = happyReduce_159++action_107 (119) = happyShift action_195+action_107 _ = happyReduce_187++action_108 _ = happyReduce_185++action_109 _ = happyReduce_186++action_110 _ = happyReduce_397++action_111 _ = happyReduce_188++action_112 (106) = happyShift action_32+action_112 (108) = happyShift action_110+action_112 (109) = happyShift action_97+action_112 (110) = happyShift action_178+action_112 (111) = happyShift action_98+action_112 (120) = happyShift action_179+action_112 (123) = happyShift action_180+action_112 (125) = happyShift action_181+action_112 (127) = happyShift action_182+action_112 (128) = happyShift action_183+action_112 (129) = happyShift action_184+action_112 (134) = happyShift action_185+action_112 (143) = happyShift action_186+action_112 (162) = happyShift action_187+action_112 (163) = happyShift action_188+action_112 (46) = happyGoto action_371+action_112 (81) = happyGoto action_372+action_112 (83) = happyGoto action_170+action_112 (85) = happyGoto action_30+action_112 (90) = happyGoto action_171+action_112 (92) = happyGoto action_172+action_112 (94) = happyGoto action_95+action_112 (95) = happyGoto action_173+action_112 (97) = happyGoto action_174+action_112 (98) = happyGoto action_175+action_112 (99) = happyGoto action_176+action_112 (100) = happyGoto action_177+action_112 _ = happyReduce_157++action_113 (112) = happyShift action_369+action_113 (130) = happyShift action_370+action_113 _ = happyReduce_155++action_114 (106) = happyShift action_32+action_114 (120) = happyShift action_368+action_114 (44) = happyGoto action_365+action_114 (45) = happyGoto action_366+action_114 (83) = happyGoto action_367+action_114 (85) = happyGoto action_30+action_114 (94) = happyGoto action_95+action_114 _ = happyReduce_153++action_115 _ = happyReduce_161++action_116 _ = happyReduce_160++action_117 _ = happyReduce_99++action_118 (112) = happyShift action_260+action_118 (116) = happyShift action_364+action_118 _ = happyFail++action_119 _ = happyReduce_97++action_120 (106) = happyShift action_363+action_120 _ = happyFail++action_121 (106) = happyShift action_32+action_121 (108) = happyShift action_110+action_121 (109) = happyShift action_97+action_121 (110) = happyShift action_178+action_121 (111) = happyShift action_98+action_121 (120) = happyShift action_179+action_121 (123) = happyShift action_180+action_121 (125) = happyShift action_181+action_121 (127) = happyShift action_182+action_121 (128) = happyShift action_183+action_121 (129) = happyShift action_184+action_121 (134) = happyShift action_185+action_121 (143) = happyShift action_186+action_121 (162) = happyShift action_187+action_121 (163) = happyShift action_188+action_121 (81) = happyGoto action_362+action_121 (83) = happyGoto action_170+action_121 (85) = happyGoto action_30+action_121 (90) = happyGoto action_171+action_121 (92) = happyGoto action_172+action_121 (94) = happyGoto action_95+action_121 (95) = happyGoto action_173+action_121 (97) = happyGoto action_174+action_121 (98) = happyGoto action_175+action_121 (99) = happyGoto action_176+action_121 (100) = happyGoto action_177+action_121 _ = happyFail++action_122 _ = happyReduce_133++action_123 _ = happyReduce_131++action_124 _ = happyReduce_150++action_125 (106) = happyShift action_32+action_125 (108) = happyShift action_110+action_125 (109) = happyShift action_97+action_125 (110) = happyShift action_178+action_125 (111) = happyShift action_98+action_125 (120) = happyShift action_179+action_125 (123) = happyShift action_180+action_125 (125) = happyShift action_181+action_125 (127) = happyShift action_182+action_125 (128) = happyShift action_183+action_125 (129) = happyShift action_184+action_125 (134) = happyShift action_185+action_125 (143) = happyShift action_186+action_125 (162) = happyShift action_187+action_125 (163) = happyShift action_188+action_125 (81) = happyGoto action_361+action_125 (83) = happyGoto action_170+action_125 (85) = happyGoto action_30+action_125 (90) = happyGoto action_171+action_125 (92) = happyGoto action_172+action_125 (94) = happyGoto action_95+action_125 (95) = happyGoto action_173+action_125 (97) = happyGoto action_174+action_125 (98) = happyGoto action_175+action_125 (99) = happyGoto action_176+action_125 (100) = happyGoto action_177+action_125 _ = happyFail++action_126 (106) = happyShift action_269+action_126 (108) = happyShift action_110+action_126 (109) = happyShift action_97+action_126 (110) = happyShift action_178+action_126 (111) = happyShift action_98+action_126 (115) = happyShift action_270+action_126 (120) = happyShift action_179+action_126 (123) = happyShift action_180+action_126 (125) = happyShift action_181+action_126 (127) = happyShift action_182+action_126 (128) = happyShift action_183+action_126 (129) = happyShift action_184+action_126 (134) = happyShift action_185+action_126 (143) = happyShift action_186+action_126 (162) = happyShift action_187+action_126 (163) = happyShift action_188+action_126 (81) = happyGoto action_265+action_126 (83) = happyGoto action_170+action_126 (85) = happyGoto action_30+action_126 (86) = happyGoto action_360+action_126 (87) = happyGoto action_267+action_126 (88) = happyGoto action_268+action_126 (90) = happyGoto action_171+action_126 (92) = happyGoto action_172+action_126 (94) = happyGoto action_95+action_126 (95) = happyGoto action_173+action_126 (97) = happyGoto action_174+action_126 (98) = happyGoto action_175+action_126 (99) = happyGoto action_176+action_126 (100) = happyGoto action_177+action_126 _ = happyFail++action_127 (106) = happyShift action_32+action_127 (94) = happyGoto action_359+action_127 _ = happyReduce_145++action_128 _ = happyReduce_119++action_129 (106) = happyShift action_32+action_129 (108) = happyShift action_110+action_129 (109) = happyShift action_97+action_129 (110) = happyShift action_178+action_129 (111) = happyShift action_98+action_129 (120) = happyShift action_179+action_129 (123) = happyShift action_180+action_129 (125) = happyShift action_181+action_129 (127) = happyShift action_182+action_129 (128) = happyShift action_183+action_129 (129) = happyShift action_184+action_129 (134) = happyShift action_185+action_129 (143) = happyShift action_186+action_129 (162) = happyShift action_187+action_129 (163) = happyShift action_188+action_129 (81) = happyGoto action_358+action_129 (83) = happyGoto action_170+action_129 (85) = happyGoto action_30+action_129 (90) = happyGoto action_171+action_129 (92) = happyGoto action_172+action_129 (94) = happyGoto action_95+action_129 (95) = happyGoto action_173+action_129 (97) = happyGoto action_174+action_129 (98) = happyGoto action_175+action_129 (99) = happyGoto action_176+action_129 (100) = happyGoto action_177+action_129 _ = happyFail++action_130 _ = happyReduce_117++action_131 (106) = happyShift action_32+action_131 (108) = happyShift action_110+action_131 (109) = happyShift action_97+action_131 (110) = happyShift action_178+action_131 (111) = happyShift action_98+action_131 (120) = happyShift action_179+action_131 (123) = happyShift action_180+action_131 (125) = happyShift action_181+action_131 (127) = happyShift action_182+action_131 (128) = happyShift action_183+action_131 (129) = happyShift action_184+action_131 (134) = happyShift action_185+action_131 (143) = happyShift action_186+action_131 (162) = happyShift action_187+action_131 (163) = happyShift action_188+action_131 (81) = happyGoto action_357+action_131 (83) = happyGoto action_170+action_131 (85) = happyGoto action_30+action_131 (90) = happyGoto action_171+action_131 (92) = happyGoto action_172+action_131 (94) = happyGoto action_95+action_131 (95) = happyGoto action_173+action_131 (97) = happyGoto action_174+action_131 (98) = happyGoto action_175+action_131 (99) = happyGoto action_176+action_131 (100) = happyGoto action_177+action_131 _ = happyFail++action_132 _ = happyReduce_129++action_133 (112) = happyShift action_356+action_133 _ = happyFail++action_134 (117) = happyShift action_193+action_134 (119) = happyShift action_195+action_134 _ = happyFail++action_135 _ = happyReduce_123++action_136 (112) = happyShift action_352+action_136 (66) = happyGoto action_355+action_136 _ = happyReduce_278++action_137 (120) = happyShift action_354+action_137 _ = happyFail++action_138 _ = happyReduce_142++action_139 _ = happyReduce_140++action_140 (193) = happyShift action_353+action_140 _ = happyFail++action_141 (112) = happyShift action_352+action_141 (66) = happyGoto action_351+action_141 _ = happyReduce_278++action_142 _ = happyReduce_134++action_143 (109) = happyShift action_97+action_143 (111) = happyShift action_98+action_143 (96) = happyGoto action_349+action_143 (97) = happyGoto action_350+action_143 _ = happyFail++action_144 (106) = happyShift action_32+action_144 (82) = happyGoto action_348+action_144 (83) = happyGoto action_346+action_144 (85) = happyGoto action_30+action_144 (94) = happyGoto action_95+action_144 _ = happyFail++action_145 (106) = happyShift action_32+action_145 (82) = happyGoto action_347+action_145 (83) = happyGoto action_346+action_145 (85) = happyGoto action_30+action_145 (94) = happyGoto action_95+action_145 _ = happyFail++action_146 (106) = happyShift action_32+action_146 (82) = happyGoto action_345+action_146 (83) = happyGoto action_346+action_146 (85) = happyGoto action_30+action_146 (94) = happyGoto action_95+action_146 _ = happyFail++action_147 (106) = happyShift action_32+action_147 (130) = happyShift action_344+action_147 (47) = happyGoto action_340+action_147 (49) = happyGoto action_341+action_147 (71) = happyGoto action_342+action_147 (84) = happyGoto action_343+action_147 (85) = happyGoto action_338+action_147 (94) = happyGoto action_95+action_147 _ = happyFail++action_148 (112) = happyShift action_339+action_148 _ = happyReduce_85++action_149 (106) = happyShift action_32+action_149 (84) = happyGoto action_337+action_149 (85) = happyGoto action_338+action_149 (94) = happyGoto action_95+action_149 _ = happyFail++action_150 (214) = happyShift action_16+action_150 (219) = happyShift action_17+action_150 (220) = happyShift action_18+action_150 (221) = happyShift action_19+action_150 (222) = happyShift action_20+action_150 (223) = happyShift action_21+action_150 (224) = happyShift action_22+action_150 (55) = happyGoto action_334+action_150 (56) = happyGoto action_335+action_150 (77) = happyGoto action_336+action_150 _ = happyFail++action_151 _ = happyReduce_82++action_152 (130) = happyShift action_333+action_152 (51) = happyGoto action_331+action_152 (52) = happyGoto action_332+action_152 _ = happyFail++action_153 (106) = happyShift action_32+action_153 (120) = happyShift action_330+action_153 (65) = happyGoto action_325+action_153 (67) = happyGoto action_326+action_153 (68) = happyGoto action_327+action_153 (83) = happyGoto action_328+action_153 (85) = happyGoto action_30+action_153 (90) = happyGoto action_329+action_153 (94) = happyGoto action_95+action_153 _ = happyFail++action_154 (106) = happyShift action_32+action_154 (72) = happyGoto action_324+action_154 (73) = happyGoto action_198+action_154 (74) = happyGoto action_199+action_154 (94) = happyGoto action_200+action_154 _ = happyFail++action_155 _ = happyReduce_182++action_156 (106) = happyShift action_32+action_156 (130) = happyShift action_323+action_156 (69) = happyGoto action_319+action_156 (70) = happyGoto action_320+action_156 (71) = happyGoto action_321+action_156 (94) = happyGoto action_322+action_156 _ = happyFail++action_157 (106) = happyShift action_32+action_157 (72) = happyGoto action_318+action_157 (73) = happyGoto action_198+action_157 (74) = happyGoto action_199+action_157 (94) = happyGoto action_200+action_157 _ = happyFail++action_158 (106) = happyShift action_32+action_158 (108) = happyShift action_110+action_158 (109) = happyShift action_97+action_158 (110) = happyShift action_178+action_158 (111) = happyShift action_98+action_158 (120) = happyShift action_179+action_158 (123) = happyShift action_180+action_158 (125) = happyShift action_181+action_158 (127) = happyShift action_182+action_158 (128) = happyShift action_183+action_158 (129) = happyShift action_184+action_158 (134) = happyShift action_185+action_158 (143) = happyShift action_186+action_158 (162) = happyShift action_187+action_158 (163) = happyShift action_188+action_158 (81) = happyGoto action_281+action_158 (83) = happyGoto action_170+action_158 (85) = happyGoto action_30+action_158 (90) = happyGoto action_171+action_158 (91) = happyGoto action_317+action_158 (92) = happyGoto action_172+action_158 (94) = happyGoto action_95+action_158 (95) = happyGoto action_173+action_158 (97) = happyGoto action_174+action_158 (98) = happyGoto action_175+action_158 (99) = happyGoto action_176+action_158 (100) = happyGoto action_177+action_158 _ = happyFail++action_159 (112) = happyShift action_312+action_159 _ = happyReduce_88++action_160 _ = happyReduce_245++action_161 (179) = happyShift action_314+action_161 (180) = happyShift action_315+action_161 (181) = happyShift action_316+action_161 (64) = happyGoto action_313+action_161 _ = happyFail++action_162 (112) = happyShift action_312+action_162 _ = happyReduce_87++action_163 (106) = happyShift action_32+action_163 (72) = happyGoto action_311+action_163 (73) = happyGoto action_198+action_163 (74) = happyGoto action_199+action_163 (94) = happyGoto action_200+action_163 _ = happyFail++action_164 (106) = happyShift action_32+action_164 (72) = happyGoto action_310+action_164 (73) = happyGoto action_198+action_164 (74) = happyGoto action_199+action_164 (94) = happyGoto action_200+action_164 _ = happyFail++action_165 (106) = happyShift action_32+action_165 (59) = happyGoto action_307+action_165 (60) = happyGoto action_308+action_165 (94) = happyGoto action_309+action_165 _ = happyFail++action_166 (106) = happyShift action_32+action_166 (108) = happyShift action_110+action_166 (109) = happyShift action_97+action_166 (110) = happyShift action_178+action_166 (111) = happyShift action_98+action_166 (120) = happyShift action_179+action_166 (123) = happyShift action_180+action_166 (125) = happyShift action_181+action_166 (127) = happyShift action_182+action_166 (128) = happyShift action_183+action_166 (129) = happyShift action_184+action_166 (134) = happyShift action_185+action_166 (143) = happyShift action_186+action_166 (162) = happyShift action_187+action_166 (163) = happyShift action_188+action_166 (81) = happyGoto action_281+action_166 (83) = happyGoto action_170+action_166 (85) = happyGoto action_30+action_166 (90) = happyGoto action_171+action_166 (91) = happyGoto action_306+action_166 (92) = happyGoto action_172+action_166 (94) = happyGoto action_95+action_166 (95) = happyGoto action_173+action_166 (97) = happyGoto action_174+action_166 (98) = happyGoto action_175+action_166 (99) = happyGoto action_176+action_166 (100) = happyGoto action_177+action_166 _ = happyFail++action_167 (106) = happyShift action_32+action_167 (108) = happyShift action_110+action_167 (109) = happyShift action_97+action_167 (110) = happyShift action_178+action_167 (111) = happyShift action_98+action_167 (120) = happyShift action_179+action_167 (123) = happyShift action_180+action_167 (125) = happyShift action_181+action_167 (127) = happyShift action_182+action_167 (128) = happyShift action_183+action_167 (129) = happyShift action_184+action_167 (134) = happyShift action_185+action_167 (143) = happyShift action_186+action_167 (162) = happyShift action_187+action_167 (163) = happyShift action_188+action_167 (81) = happyGoto action_281+action_167 (83) = happyGoto action_170+action_167 (85) = happyGoto action_30+action_167 (90) = happyGoto action_171+action_167 (91) = happyGoto action_305+action_167 (92) = happyGoto action_172+action_167 (94) = happyGoto action_95+action_167 (95) = happyGoto action_173+action_167 (97) = happyGoto action_174+action_167 (98) = happyGoto action_175+action_167 (99) = happyGoto action_176+action_167 (100) = happyGoto action_177+action_167 _ = happyFail++action_168 (120) = happyShift action_303+action_168 (148) = happyShift action_304+action_168 (12) = happyGoto action_302+action_168 _ = happyReduce_27++action_169 (125) = happyShift action_286+action_169 (126) = happyShift action_287+action_169 (127) = happyShift action_288+action_169 (128) = happyShift action_289+action_169 (129) = happyShift action_290+action_169 (130) = happyShift action_291+action_169 (132) = happyShift action_292+action_169 (133) = happyShift action_293+action_169 (135) = happyShift action_294+action_169 (136) = happyShift action_295+action_169 (137) = happyShift action_296+action_169 (138) = happyShift action_297+action_169 (139) = happyShift action_298+action_169 (140) = happyShift action_299+action_169 (141) = happyShift action_300+action_169 (142) = happyShift action_301+action_169 (93) = happyGoto action_285+action_169 _ = happyReduce_173++action_170 (119) = happyShift action_195+action_170 _ = happyReduce_347++action_171 _ = happyReduce_348++action_172 (106) = happyShift action_32+action_172 (108) = happyShift action_110+action_172 (109) = happyShift action_97+action_172 (110) = happyShift action_178+action_172 (111) = happyShift action_98+action_172 (120) = happyShift action_179+action_172 (123) = happyShift action_180+action_172 (125) = happyShift action_181+action_172 (127) = happyShift action_182+action_172 (128) = happyShift action_183+action_172 (129) = happyShift action_184+action_172 (134) = happyShift action_185+action_172 (143) = happyShift action_186+action_172 (162) = happyShift action_187+action_172 (163) = happyShift action_188+action_172 (81) = happyGoto action_284+action_172 (83) = happyGoto action_170+action_172 (85) = happyGoto action_30+action_172 (90) = happyGoto action_171+action_172 (92) = happyGoto action_172+action_172 (94) = happyGoto action_95+action_172 (95) = happyGoto action_173+action_172 (97) = happyGoto action_174+action_172 (98) = happyGoto action_175+action_172 (99) = happyGoto action_176+action_172 (100) = happyGoto action_177+action_172 _ = happyFail++action_173 _ = happyReduce_343++action_174 _ = happyReduce_389++action_175 _ = happyReduce_390++action_176 _ = happyReduce_345++action_177 _ = happyReduce_346++action_178 _ = happyReduce_395++action_179 (106) = happyShift action_32+action_179 (108) = happyShift action_110+action_179 (109) = happyShift action_97+action_179 (110) = happyShift action_178+action_179 (111) = happyShift action_98+action_179 (120) = happyShift action_179+action_179 (123) = happyShift action_180+action_179 (125) = happyShift action_181+action_179 (127) = happyShift action_182+action_179 (128) = happyShift action_183+action_179 (129) = happyShift action_184+action_179 (134) = happyShift action_185+action_179 (143) = happyShift action_186+action_179 (162) = happyShift action_187+action_179 (163) = happyShift action_188+action_179 (81) = happyGoto action_283+action_179 (83) = happyGoto action_170+action_179 (85) = happyGoto action_30+action_179 (90) = happyGoto action_171+action_179 (92) = happyGoto action_172+action_179 (94) = happyGoto action_95+action_179 (95) = happyGoto action_173+action_179 (97) = happyGoto action_174+action_179 (98) = happyGoto action_175+action_179 (99) = happyGoto action_176+action_179 (100) = happyGoto action_177+action_179 _ = happyFail++action_180 (106) = happyShift action_32+action_180 (108) = happyShift action_110+action_180 (109) = happyShift action_97+action_180 (110) = happyShift action_178+action_180 (111) = happyShift action_98+action_180 (120) = happyShift action_179+action_180 (123) = happyShift action_180+action_180 (125) = happyShift action_181+action_180 (127) = happyShift action_182+action_180 (128) = happyShift action_183+action_180 (129) = happyShift action_184+action_180 (134) = happyShift action_185+action_180 (143) = happyShift action_186+action_180 (162) = happyShift action_187+action_180 (163) = happyShift action_188+action_180 (81) = happyGoto action_281+action_180 (83) = happyGoto action_170+action_180 (85) = happyGoto action_30+action_180 (90) = happyGoto action_171+action_180 (91) = happyGoto action_282+action_180 (92) = happyGoto action_172+action_180 (94) = happyGoto action_95+action_180 (95) = happyGoto action_173+action_180 (97) = happyGoto action_174+action_180 (98) = happyGoto action_175+action_180 (99) = happyGoto action_176+action_180 (100) = happyGoto action_177+action_180 _ = happyFail++action_181 (106) = happyShift action_32+action_181 (108) = happyShift action_110+action_181 (109) = happyShift action_97+action_181 (110) = happyShift action_178+action_181 (111) = happyShift action_98+action_181 (120) = happyShift action_179+action_181 (123) = happyShift action_180+action_181 (125) = happyShift action_181+action_181 (127) = happyShift action_182+action_181 (128) = happyShift action_183+action_181 (129) = happyShift action_184+action_181 (134) = happyShift action_185+action_181 (143) = happyShift action_186+action_181 (162) = happyShift action_187+action_181 (163) = happyShift action_188+action_181 (81) = happyGoto action_280+action_181 (83) = happyGoto action_170+action_181 (85) = happyGoto action_30+action_181 (90) = happyGoto action_171+action_181 (92) = happyGoto action_172+action_181 (94) = happyGoto action_95+action_181 (95) = happyGoto action_173+action_181 (97) = happyGoto action_174+action_181 (98) = happyGoto action_175+action_181 (99) = happyGoto action_176+action_181 (100) = happyGoto action_177+action_181 _ = happyFail++action_182 _ = happyReduce_381++action_183 _ = happyReduce_380++action_184 (109) = happyShift action_97+action_184 (111) = happyShift action_98+action_184 (97) = happyGoto action_279+action_184 _ = happyFail++action_185 (106) = happyShift action_32+action_185 (108) = happyShift action_110+action_185 (109) = happyShift action_97+action_185 (110) = happyShift action_178+action_185 (111) = happyShift action_98+action_185 (120) = happyShift action_179+action_185 (123) = happyShift action_180+action_185 (125) = happyShift action_181+action_185 (127) = happyShift action_182+action_185 (128) = happyShift action_183+action_185 (129) = happyShift action_184+action_185 (134) = happyShift action_185+action_185 (143) = happyShift action_186+action_185 (162) = happyShift action_187+action_185 (163) = happyShift action_188+action_185 (81) = happyGoto action_278+action_185 (83) = happyGoto action_170+action_185 (85) = happyGoto action_30+action_185 (90) = happyGoto action_171+action_185 (92) = happyGoto action_172+action_185 (94) = happyGoto action_95+action_185 (95) = happyGoto action_173+action_185 (97) = happyGoto action_174+action_185 (98) = happyGoto action_175+action_185 (99) = happyGoto action_176+action_185 (100) = happyGoto action_177+action_185 _ = happyFail++action_186 _ = happyReduce_396++action_187 _ = happyReduce_351++action_188 (120) = happyShift action_277+action_188 _ = happyFail++action_189 (120) = happyShift action_276+action_189 _ = happyReduce_169++action_190 (112) = happyShift action_275+action_190 _ = happyReduce_89++action_191 (197) = happyShift action_272+action_191 (200) = happyShift action_273+action_191 (206) = happyShift action_274+action_191 _ = happyFail++action_192 (106) = happyShift action_269+action_192 (108) = happyShift action_110+action_192 (109) = happyShift action_97+action_192 (110) = happyShift action_178+action_192 (111) = happyShift action_98+action_192 (115) = happyShift action_270+action_192 (120) = happyShift action_179+action_192 (122) = happyShift action_271+action_192 (123) = happyShift action_180+action_192 (125) = happyShift action_181+action_192 (127) = happyShift action_182+action_192 (128) = happyShift action_183+action_192 (129) = happyShift action_184+action_192 (134) = happyShift action_185+action_192 (143) = happyShift action_186+action_192 (162) = happyShift action_187+action_192 (163) = happyShift action_188+action_192 (81) = happyGoto action_265+action_192 (83) = happyGoto action_170+action_192 (85) = happyGoto action_30+action_192 (86) = happyGoto action_266+action_192 (87) = happyGoto action_267+action_192 (88) = happyGoto action_268+action_192 (90) = happyGoto action_171+action_192 (92) = happyGoto action_172+action_192 (94) = happyGoto action_95+action_192 (95) = happyGoto action_173+action_192 (97) = happyGoto action_174+action_192 (98) = happyGoto action_175+action_192 (99) = happyGoto action_176+action_192 (100) = happyGoto action_177+action_192 _ = happyFail++action_193 (106) = happyShift action_32+action_193 (108) = happyShift action_110+action_193 (109) = happyShift action_97+action_193 (110) = happyShift action_178+action_193 (111) = happyShift action_98+action_193 (120) = happyShift action_179+action_193 (123) = happyShift action_180+action_193 (125) = happyShift action_181+action_193 (127) = happyShift action_182+action_193 (128) = happyShift action_183+action_193 (129) = happyShift action_184+action_193 (134) = happyShift action_185+action_193 (143) = happyShift action_186+action_193 (162) = happyShift action_187+action_193 (163) = happyShift action_188+action_193 (81) = happyGoto action_264+action_193 (83) = happyGoto action_170+action_193 (85) = happyGoto action_30+action_193 (90) = happyGoto action_171+action_193 (92) = happyGoto action_172+action_193 (94) = happyGoto action_95+action_193 (95) = happyGoto action_173+action_193 (97) = happyGoto action_174+action_193 (98) = happyGoto action_175+action_193 (99) = happyGoto action_176+action_193 (100) = happyGoto action_177+action_193 _ = happyFail++action_194 (106) = happyShift action_32+action_194 (108) = happyShift action_110+action_194 (109) = happyShift action_97+action_194 (110) = happyShift action_178+action_194 (111) = happyShift action_98+action_194 (120) = happyShift action_179+action_194 (123) = happyShift action_180+action_194 (125) = happyShift action_181+action_194 (127) = happyShift action_182+action_194 (128) = happyShift action_183+action_194 (129) = happyShift action_184+action_194 (134) = happyShift action_185+action_194 (143) = happyShift action_186+action_194 (162) = happyShift action_187+action_194 (163) = happyShift action_188+action_194 (81) = happyGoto action_263+action_194 (83) = happyGoto action_170+action_194 (85) = happyGoto action_30+action_194 (90) = happyGoto action_171+action_194 (92) = happyGoto action_172+action_194 (94) = happyGoto action_95+action_194 (95) = happyGoto action_173+action_194 (97) = happyGoto action_174+action_194 (98) = happyGoto action_175+action_194 (99) = happyGoto action_176+action_194 (100) = happyGoto action_177+action_194 _ = happyFail++action_195 (106) = happyShift action_32+action_195 (85) = happyGoto action_262+action_195 (94) = happyGoto action_95+action_195 _ = happyFail++action_196 (112) = happyShift action_260+action_196 (116) = happyShift action_261+action_196 _ = happyFail++action_197 (112) = happyShift action_259+action_197 _ = happyReduce_257++action_198 _ = happyReduce_289++action_199 (117) = happyShift action_258+action_199 _ = happyReduce_291++action_200 (120) = happyShift action_256+action_200 (129) = happyShift action_257+action_200 _ = happyReduce_292++action_201 _ = happyReduce_309++action_202 (106) = happyShift action_32+action_202 (108) = happyShift action_110+action_202 (109) = happyShift action_97+action_202 (110) = happyShift action_178+action_202 (111) = happyShift action_98+action_202 (120) = happyShift action_179+action_202 (123) = happyShift action_180+action_202 (125) = happyShift action_181+action_202 (127) = happyShift action_182+action_202 (128) = happyShift action_183+action_202 (129) = happyShift action_184+action_202 (134) = happyShift action_185+action_202 (143) = happyShift action_186+action_202 (162) = happyShift action_187+action_202 (163) = happyShift action_188+action_202 (217) = happyShift action_255+action_202 (81) = happyGoto action_254+action_202 (83) = happyGoto action_170+action_202 (85) = happyGoto action_30+action_202 (90) = happyGoto action_171+action_202 (92) = happyGoto action_172+action_202 (94) = happyGoto action_95+action_202 (95) = happyGoto action_173+action_202 (97) = happyGoto action_174+action_202 (98) = happyGoto action_175+action_202 (99) = happyGoto action_176+action_202 (100) = happyGoto action_177+action_202 _ = happyFail++action_203 _ = happyReduce_310++action_204 (106) = happyShift action_32+action_204 (108) = happyShift action_110+action_204 (109) = happyShift action_97+action_204 (110) = happyShift action_178+action_204 (111) = happyShift action_98+action_204 (120) = happyShift action_179+action_204 (123) = happyShift action_180+action_204 (125) = happyShift action_181+action_204 (127) = happyShift action_182+action_204 (128) = happyShift action_183+action_204 (129) = happyShift action_251+action_204 (134) = happyShift action_185+action_204 (143) = happyShift action_186+action_204 (162) = happyShift action_187+action_204 (163) = happyShift action_188+action_204 (217) = happyShift action_252+action_204 (218) = happyShift action_253+action_204 (80) = happyGoto action_249+action_204 (81) = happyGoto action_250+action_204 (83) = happyGoto action_170+action_204 (85) = happyGoto action_30+action_204 (90) = happyGoto action_171+action_204 (92) = happyGoto action_172+action_204 (94) = happyGoto action_95+action_204 (95) = happyGoto action_173+action_204 (97) = happyGoto action_174+action_204 (98) = happyGoto action_175+action_204 (99) = happyGoto action_176+action_204 (100) = happyGoto action_177+action_204 _ = happyFail++action_205 (106) = happyShift action_32+action_205 (108) = happyShift action_110+action_205 (109) = happyShift action_97+action_205 (110) = happyShift action_178+action_205 (111) = happyShift action_98+action_205 (120) = happyShift action_248+action_205 (123) = happyShift action_180+action_205 (125) = happyShift action_181+action_205 (127) = happyShift action_182+action_205 (128) = happyShift action_183+action_205 (129) = happyShift action_184+action_205 (134) = happyShift action_185+action_205 (143) = happyShift action_186+action_205 (162) = happyShift action_187+action_205 (163) = happyShift action_188+action_205 (81) = happyGoto action_247+action_205 (83) = happyGoto action_170+action_205 (85) = happyGoto action_30+action_205 (90) = happyGoto action_171+action_205 (92) = happyGoto action_172+action_205 (94) = happyGoto action_95+action_205 (95) = happyGoto action_173+action_205 (97) = happyGoto action_174+action_205 (98) = happyGoto action_175+action_205 (99) = happyGoto action_176+action_205 (100) = happyGoto action_177+action_205 _ = happyFail++action_206 _ = happyReduce_311++action_207 _ = happyReduce_307++action_208 _ = happyReduce_306++action_209 (114) = happyShift action_213+action_209 (235) = happyShift action_214+action_209 (27) = happyGoto action_246+action_209 _ = happyFail++action_210 _ = happyReduce_43++action_211 (114) = happyShift action_213+action_211 (235) = happyShift action_214+action_211 (27) = happyGoto action_245+action_211 _ = happyFail++action_212 (106) = happyShift action_32+action_212 (107) = happyShift action_9+action_212 (109) = happyShift action_97+action_212 (111) = happyShift action_98+action_212 (114) = happyShift action_228+action_212 (157) = happyShift action_33+action_212 (159) = happyShift action_244+action_212 (164) = happyShift action_34+action_212 (165) = happyShift action_35+action_212 (166) = happyShift action_36+action_212 (167) = happyShift action_37+action_212 (168) = happyShift action_38+action_212 (169) = happyShift action_39+action_212 (170) = happyShift action_40+action_212 (171) = happyShift action_41+action_212 (172) = happyShift action_42+action_212 (173) = happyShift action_43+action_212 (174) = happyShift action_44+action_212 (175) = happyShift action_45+action_212 (176) = happyShift action_46+action_212 (177) = happyShift action_47+action_212 (178) = happyShift action_48+action_212 (182) = happyShift action_49+action_212 (183) = happyShift action_50+action_212 (184) = happyShift action_51+action_212 (185) = happyShift action_52+action_212 (186) = happyShift action_53+action_212 (187) = happyShift action_54+action_212 (188) = happyShift action_55+action_212 (189) = happyShift action_56+action_212 (191) = happyShift action_57+action_212 (192) = happyShift action_58+action_212 (194) = happyShift action_59+action_212 (195) = happyShift action_60+action_212 (196) = happyShift action_61+action_212 (197) = happyShift action_62+action_212 (198) = happyShift action_63+action_212 (200) = happyShift action_64+action_212 (202) = happyShift action_65+action_212 (203) = happyShift action_66+action_212 (204) = happyShift action_67+action_212 (205) = happyShift action_68+action_212 (206) = happyShift action_69+action_212 (207) = happyShift action_70+action_212 (209) = happyShift action_71+action_212 (210) = happyShift action_72+action_212 (211) = happyShift action_73+action_212 (212) = happyShift action_74+action_212 (213) = happyShift action_75+action_212 (214) = happyShift action_76+action_212 (215) = happyShift action_77+action_212 (216) = happyShift action_78+action_212 (219) = happyShift action_17+action_212 (220) = happyShift action_18+action_212 (221) = happyShift action_19+action_212 (222) = happyShift action_20+action_212 (223) = happyShift action_21+action_212 (224) = happyShift action_22+action_212 (225) = happyShift action_79+action_212 (226) = happyShift action_80+action_212 (227) = happyShift action_81+action_212 (228) = happyShift action_82+action_212 (229) = happyShift action_83+action_212 (230) = happyShift action_84+action_212 (231) = happyShift action_85+action_212 (232) = happyShift action_86+action_212 (233) = happyShift action_87+action_212 (235) = happyShift action_229+action_212 (19) = happyGoto action_239+action_212 (20) = happyGoto action_240+action_212 (26) = happyGoto action_241+action_212 (28) = happyGoto action_242+action_212 (29) = happyGoto action_24+action_212 (30) = happyGoto action_25+action_212 (31) = happyGoto action_26+action_212 (61) = happyGoto action_27+action_212 (77) = happyGoto action_28+action_212 (83) = happyGoto action_29+action_212 (85) = happyGoto action_30+action_212 (94) = happyGoto action_31+action_212 (97) = happyGoto action_243+action_212 _ = happyFail++action_213 _ = happyReduce_63++action_214 _ = happyReduce_62++action_215 (120) = happyShift action_235+action_215 (11) = happyGoto action_238+action_215 _ = happyReduce_25++action_216 (146) = happyShift action_237+action_216 _ = happyFail++action_217 (106) = happyShift action_210+action_217 (18) = happyGoto action_236+action_217 _ = happyFail++action_218 (120) = happyShift action_235+action_218 (11) = happyGoto action_234+action_218 _ = happyReduce_25++action_219 (114) = happyShift action_213+action_219 (235) = happyShift action_214+action_219 (27) = happyGoto action_233+action_219 _ = happyFail++action_220 (114) = happyShift action_228+action_220 (235) = happyShift action_229+action_220 _ = happyReduce_59++action_221 (106) = happyShift action_210+action_221 (18) = happyGoto action_232+action_221 _ = happyFail++action_222 (146) = happyShift action_231+action_222 _ = happyFail++action_223 (114) = happyShift action_213+action_223 (235) = happyShift action_214+action_223 (27) = happyGoto action_230+action_223 _ = happyFail++action_224 _ = happyReduce_57++action_225 (114) = happyShift action_228+action_225 (235) = happyShift action_229+action_225 _ = happyReduce_6++action_226 (107) = happyShift action_9+action_226 (144) = happyShift action_10+action_226 (146) = happyShift action_11+action_226 (149) = happyShift action_12+action_226 (150) = happyShift action_13+action_226 (152) = happyShift action_14+action_226 (154) = happyShift action_15+action_226 (214) = happyShift action_16+action_226 (219) = happyShift action_17+action_226 (220) = happyShift action_18+action_226 (221) = happyShift action_19+action_226 (222) = happyShift action_20+action_226 (223) = happyShift action_21+action_226 (224) = happyShift action_22+action_226 (7) = happyGoto action_227+action_226 (10) = happyGoto action_5+action_226 (26) = happyGoto action_224+action_226 (77) = happyGoto action_8+action_226 _ = happyFail++action_227 (114) = happyShift action_213+action_227 (235) = happyShift action_214+action_227 (27) = happyGoto action_528+action_227 _ = happyFail++action_228 _ = happyReduce_61++action_229 _ = happyReduce_60++action_230 (114) = happyShift action_228+action_230 (235) = happyShift action_229+action_230 _ = happyReduce_7++action_231 (106) = happyShift action_210+action_231 (18) = happyGoto action_527+action_231 _ = happyFail++action_232 (120) = happyShift action_235+action_232 (11) = happyGoto action_526+action_232 _ = happyReduce_25++action_233 (106) = happyShift action_32+action_233 (107) = happyShift action_9+action_233 (109) = happyShift action_97+action_233 (111) = happyShift action_98+action_233 (114) = happyShift action_228+action_233 (157) = happyShift action_33+action_233 (159) = happyShift action_244+action_233 (164) = happyShift action_34+action_233 (165) = happyShift action_35+action_233 (166) = happyShift action_36+action_233 (167) = happyShift action_37+action_233 (168) = happyShift action_38+action_233 (169) = happyShift action_39+action_233 (170) = happyShift action_40+action_233 (171) = happyShift action_41+action_233 (172) = happyShift action_42+action_233 (173) = happyShift action_43+action_233 (174) = happyShift action_44+action_233 (175) = happyShift action_45+action_233 (176) = happyShift action_46+action_233 (177) = happyShift action_47+action_233 (178) = happyShift action_48+action_233 (182) = happyShift action_49+action_233 (183) = happyShift action_50+action_233 (184) = happyShift action_51+action_233 (185) = happyShift action_52+action_233 (186) = happyShift action_53+action_233 (187) = happyShift action_54+action_233 (188) = happyShift action_55+action_233 (189) = happyShift action_56+action_233 (191) = happyShift action_57+action_233 (192) = happyShift action_58+action_233 (194) = happyShift action_59+action_233 (195) = happyShift action_60+action_233 (196) = happyShift action_61+action_233 (197) = happyShift action_62+action_233 (198) = happyShift action_63+action_233 (200) = happyShift action_64+action_233 (202) = happyShift action_65+action_233 (203) = happyShift action_66+action_233 (204) = happyShift action_67+action_233 (205) = happyShift action_68+action_233 (206) = happyShift action_69+action_233 (207) = happyShift action_70+action_233 (209) = happyShift action_71+action_233 (210) = happyShift action_72+action_233 (211) = happyShift action_73+action_233 (212) = happyShift action_74+action_233 (213) = happyShift action_75+action_233 (214) = happyShift action_76+action_233 (215) = happyShift action_77+action_233 (216) = happyShift action_78+action_233 (219) = happyShift action_17+action_233 (220) = happyShift action_18+action_233 (221) = happyShift action_19+action_233 (222) = happyShift action_20+action_233 (223) = happyShift action_21+action_233 (224) = happyShift action_22+action_233 (225) = happyShift action_79+action_233 (226) = happyShift action_80+action_233 (227) = happyShift action_81+action_233 (228) = happyShift action_82+action_233 (229) = happyShift action_83+action_233 (230) = happyShift action_84+action_233 (231) = happyShift action_85+action_233 (232) = happyShift action_86+action_233 (233) = happyShift action_87+action_233 (235) = happyShift action_229+action_233 (19) = happyGoto action_525+action_233 (20) = happyGoto action_240+action_233 (26) = happyGoto action_241+action_233 (28) = happyGoto action_242+action_233 (29) = happyGoto action_24+action_233 (30) = happyGoto action_25+action_233 (31) = happyGoto action_26+action_233 (61) = happyGoto action_27+action_233 (77) = happyGoto action_28+action_233 (83) = happyGoto action_29+action_233 (85) = happyGoto action_30+action_233 (94) = happyGoto action_31+action_233 (97) = happyGoto action_243+action_233 _ = happyFail++action_234 (148) = happyShift action_304+action_234 (12) = happyGoto action_524+action_234 _ = happyReduce_27++action_235 (106) = happyShift action_32+action_235 (53) = happyGoto action_522+action_235 (54) = happyGoto action_523+action_235 (94) = happyGoto action_160+action_235 _ = happyReduce_243++action_236 (120) = happyShift action_235+action_236 (11) = happyGoto action_521+action_236 _ = happyReduce_25++action_237 (106) = happyShift action_210+action_237 (18) = happyGoto action_520+action_237 _ = happyFail++action_238 (114) = happyShift action_213+action_238 (235) = happyShift action_214+action_238 (27) = happyGoto action_519+action_238 _ = happyFail++action_239 (106) = happyShift action_32+action_239 (107) = happyShift action_9+action_239 (109) = happyShift action_97+action_239 (111) = happyShift action_98+action_239 (153) = happyShift action_517+action_239 (157) = happyShift action_33+action_239 (159) = happyShift action_244+action_239 (164) = happyShift action_34+action_239 (165) = happyShift action_35+action_239 (166) = happyShift action_36+action_239 (167) = happyShift action_37+action_239 (168) = happyShift action_38+action_239 (169) = happyShift action_39+action_239 (170) = happyShift action_40+action_239 (171) = happyShift action_41+action_239 (172) = happyShift action_42+action_239 (173) = happyShift action_43+action_239 (174) = happyShift action_44+action_239 (175) = happyShift action_45+action_239 (176) = happyShift action_46+action_239 (177) = happyShift action_47+action_239 (178) = happyShift action_48+action_239 (182) = happyShift action_49+action_239 (183) = happyShift action_50+action_239 (184) = happyShift action_51+action_239 (185) = happyShift action_52+action_239 (186) = happyShift action_53+action_239 (187) = happyShift action_54+action_239 (188) = happyShift action_55+action_239 (189) = happyShift action_56+action_239 (191) = happyShift action_57+action_239 (192) = happyShift action_58+action_239 (194) = happyShift action_59+action_239 (195) = happyShift action_60+action_239 (196) = happyShift action_61+action_239 (197) = happyShift action_62+action_239 (198) = happyShift action_63+action_239 (200) = happyShift action_64+action_239 (202) = happyShift action_65+action_239 (203) = happyShift action_66+action_239 (204) = happyShift action_67+action_239 (205) = happyShift action_68+action_239 (206) = happyShift action_69+action_239 (207) = happyShift action_70+action_239 (209) = happyShift action_71+action_239 (210) = happyShift action_72+action_239 (211) = happyShift action_73+action_239 (212) = happyShift action_74+action_239 (213) = happyShift action_75+action_239 (214) = happyShift action_76+action_239 (215) = happyShift action_77+action_239 (216) = happyShift action_78+action_239 (219) = happyShift action_17+action_239 (220) = happyShift action_18+action_239 (221) = happyShift action_19+action_239 (222) = happyShift action_20+action_239 (223) = happyShift action_21+action_239 (224) = happyShift action_22+action_239 (225) = happyShift action_79+action_239 (226) = happyShift action_80+action_239 (227) = happyShift action_81+action_239 (228) = happyShift action_82+action_239 (229) = happyShift action_83+action_239 (230) = happyShift action_84+action_239 (231) = happyShift action_85+action_239 (232) = happyShift action_86+action_239 (233) = happyShift action_87+action_239 (234) = happyShift action_518+action_239 (17) = happyGoto action_515+action_239 (20) = happyGoto action_516+action_239 (26) = happyGoto action_241+action_239 (28) = happyGoto action_242+action_239 (29) = happyGoto action_24+action_239 (30) = happyGoto action_25+action_239 (31) = happyGoto action_26+action_239 (61) = happyGoto action_27+action_239 (77) = happyGoto action_28+action_239 (83) = happyGoto action_29+action_239 (85) = happyGoto action_30+action_239 (94) = happyGoto action_31+action_239 (97) = happyGoto action_243+action_239 _ = happyFail++action_240 _ = happyReduce_45++action_241 _ = happyReduce_50++action_242 (107) = happyShift action_514+action_242 (21) = happyGoto action_513+action_242 _ = happyReduce_52++action_243 (106) = happyShift action_32+action_243 (157) = happyShift action_33+action_243 (164) = happyShift action_34+action_243 (165) = happyShift action_35+action_243 (166) = happyShift action_36+action_243 (167) = happyShift action_37+action_243 (168) = happyShift action_38+action_243 (169) = happyShift action_39+action_243 (170) = happyShift action_40+action_243 (171) = happyShift action_41+action_243 (172) = happyShift action_42+action_243 (173) = happyShift action_43+action_243 (174) = happyShift action_44+action_243 (175) = happyShift action_45+action_243 (176) = happyShift action_46+action_243 (177) = happyShift action_47+action_243 (178) = happyShift action_48+action_243 (182) = happyShift action_49+action_243 (183) = happyShift action_50+action_243 (184) = happyShift action_51+action_243 (185) = happyShift action_52+action_243 (186) = happyShift action_53+action_243 (187) = happyShift action_54+action_243 (188) = happyShift action_55+action_243 (189) = happyShift action_56+action_243 (191) = happyShift action_57+action_243 (192) = happyShift action_58+action_243 (194) = happyShift action_59+action_243 (195) = happyShift action_60+action_243 (196) = happyShift action_61+action_243 (197) = happyShift action_62+action_243 (198) = happyShift action_63+action_243 (200) = happyShift action_64+action_243 (202) = happyShift action_65+action_243 (203) = happyShift action_66+action_243 (204) = happyShift action_67+action_243 (205) = happyShift action_68+action_243 (206) = happyShift action_69+action_243 (207) = happyShift action_70+action_243 (209) = happyShift action_71+action_243 (210) = happyShift action_72+action_243 (211) = happyShift action_73+action_243 (212) = happyShift action_74+action_243 (213) = happyShift action_75+action_243 (214) = happyShift action_76+action_243 (215) = happyShift action_77+action_243 (216) = happyShift action_78+action_243 (219) = happyShift action_17+action_243 (220) = happyShift action_18+action_243 (221) = happyShift action_19+action_243 (222) = happyShift action_20+action_243 (223) = happyShift action_21+action_243 (224) = happyShift action_22+action_243 (225) = happyShift action_79+action_243 (226) = happyShift action_80+action_243 (227) = happyShift action_81+action_243 (228) = happyShift action_82+action_243 (229) = happyShift action_83+action_243 (230) = happyShift action_84+action_243 (231) = happyShift action_85+action_243 (232) = happyShift action_86+action_243 (233) = happyShift action_87+action_243 (28) = happyGoto action_512+action_243 (29) = happyGoto action_24+action_243 (30) = happyGoto action_25+action_243 (31) = happyGoto action_26+action_243 (61) = happyGoto action_27+action_243 (77) = happyGoto action_28+action_243 (83) = happyGoto action_29+action_243 (85) = happyGoto action_30+action_243 (94) = happyGoto action_31+action_243 _ = happyFail++action_244 (106) = happyShift action_32+action_244 (108) = happyShift action_110+action_244 (109) = happyShift action_97+action_244 (110) = happyShift action_178+action_244 (111) = happyShift action_98+action_244 (120) = happyShift action_179+action_244 (123) = happyShift action_180+action_244 (125) = happyShift action_181+action_244 (127) = happyShift action_182+action_244 (128) = happyShift action_183+action_244 (129) = happyShift action_184+action_244 (134) = happyShift action_185+action_244 (143) = happyShift action_186+action_244 (162) = happyShift action_187+action_244 (163) = happyShift action_188+action_244 (81) = happyGoto action_511+action_244 (83) = happyGoto action_170+action_244 (85) = happyGoto action_30+action_244 (90) = happyGoto action_171+action_244 (92) = happyGoto action_172+action_244 (94) = happyGoto action_95+action_244 (95) = happyGoto action_173+action_244 (97) = happyGoto action_174+action_244 (98) = happyGoto action_175+action_244 (99) = happyGoto action_176+action_244 (100) = happyGoto action_177+action_244 _ = happyFail++action_245 (106) = happyShift action_32+action_245 (107) = happyShift action_9+action_245 (109) = happyShift action_97+action_245 (111) = happyShift action_98+action_245 (114) = happyShift action_228+action_245 (157) = happyShift action_33+action_245 (159) = happyShift action_244+action_245 (164) = happyShift action_34+action_245 (165) = happyShift action_35+action_245 (166) = happyShift action_36+action_245 (167) = happyShift action_37+action_245 (168) = happyShift action_38+action_245 (169) = happyShift action_39+action_245 (170) = happyShift action_40+action_245 (171) = happyShift action_41+action_245 (172) = happyShift action_42+action_245 (173) = happyShift action_43+action_245 (174) = happyShift action_44+action_245 (175) = happyShift action_45+action_245 (176) = happyShift action_46+action_245 (177) = happyShift action_47+action_245 (178) = happyShift action_48+action_245 (182) = happyShift action_49+action_245 (183) = happyShift action_50+action_245 (184) = happyShift action_51+action_245 (185) = happyShift action_52+action_245 (186) = happyShift action_53+action_245 (187) = happyShift action_54+action_245 (188) = happyShift action_55+action_245 (189) = happyShift action_56+action_245 (191) = happyShift action_57+action_245 (192) = happyShift action_58+action_245 (194) = happyShift action_59+action_245 (195) = happyShift action_60+action_245 (196) = happyShift action_61+action_245 (197) = happyShift action_62+action_245 (198) = happyShift action_63+action_245 (200) = happyShift action_64+action_245 (202) = happyShift action_65+action_245 (203) = happyShift action_66+action_245 (204) = happyShift action_67+action_245 (205) = happyShift action_68+action_245 (206) = happyShift action_69+action_245 (207) = happyShift action_70+action_245 (209) = happyShift action_71+action_245 (210) = happyShift action_72+action_245 (211) = happyShift action_73+action_245 (212) = happyShift action_74+action_245 (213) = happyShift action_75+action_245 (214) = happyShift action_76+action_245 (215) = happyShift action_77+action_245 (216) = happyShift action_78+action_245 (219) = happyShift action_17+action_245 (220) = happyShift action_18+action_245 (221) = happyShift action_19+action_245 (222) = happyShift action_20+action_245 (223) = happyShift action_21+action_245 (224) = happyShift action_22+action_245 (225) = happyShift action_79+action_245 (226) = happyShift action_80+action_245 (227) = happyShift action_81+action_245 (228) = happyShift action_82+action_245 (229) = happyShift action_83+action_245 (230) = happyShift action_84+action_245 (231) = happyShift action_85+action_245 (232) = happyShift action_86+action_245 (233) = happyShift action_87+action_245 (235) = happyShift action_229+action_245 (19) = happyGoto action_510+action_245 (20) = happyGoto action_240+action_245 (26) = happyGoto action_241+action_245 (28) = happyGoto action_242+action_245 (29) = happyGoto action_24+action_245 (30) = happyGoto action_25+action_245 (31) = happyGoto action_26+action_245 (61) = happyGoto action_27+action_245 (77) = happyGoto action_28+action_245 (83) = happyGoto action_29+action_245 (85) = happyGoto action_30+action_245 (94) = happyGoto action_31+action_245 (97) = happyGoto action_243+action_245 _ = happyFail++action_246 (106) = happyShift action_32+action_246 (107) = happyShift action_9+action_246 (109) = happyShift action_97+action_246 (111) = happyShift action_98+action_246 (114) = happyShift action_228+action_246 (157) = happyShift action_33+action_246 (159) = happyShift action_244+action_246 (164) = happyShift action_34+action_246 (165) = happyShift action_35+action_246 (166) = happyShift action_36+action_246 (167) = happyShift action_37+action_246 (168) = happyShift action_38+action_246 (169) = happyShift action_39+action_246 (170) = happyShift action_40+action_246 (171) = happyShift action_41+action_246 (172) = happyShift action_42+action_246 (173) = happyShift action_43+action_246 (174) = happyShift action_44+action_246 (175) = happyShift action_45+action_246 (176) = happyShift action_46+action_246 (177) = happyShift action_47+action_246 (178) = happyShift action_48+action_246 (182) = happyShift action_49+action_246 (183) = happyShift action_50+action_246 (184) = happyShift action_51+action_246 (185) = happyShift action_52+action_246 (186) = happyShift action_53+action_246 (187) = happyShift action_54+action_246 (188) = happyShift action_55+action_246 (189) = happyShift action_56+action_246 (191) = happyShift action_57+action_246 (192) = happyShift action_58+action_246 (194) = happyShift action_59+action_246 (195) = happyShift action_60+action_246 (196) = happyShift action_61+action_246 (197) = happyShift action_62+action_246 (198) = happyShift action_63+action_246 (200) = happyShift action_64+action_246 (202) = happyShift action_65+action_246 (203) = happyShift action_66+action_246 (204) = happyShift action_67+action_246 (205) = happyShift action_68+action_246 (206) = happyShift action_69+action_246 (207) = happyShift action_70+action_246 (209) = happyShift action_71+action_246 (210) = happyShift action_72+action_246 (211) = happyShift action_73+action_246 (212) = happyShift action_74+action_246 (213) = happyShift action_75+action_246 (214) = happyShift action_76+action_246 (215) = happyShift action_77+action_246 (216) = happyShift action_78+action_246 (219) = happyShift action_17+action_246 (220) = happyShift action_18+action_246 (221) = happyShift action_19+action_246 (222) = happyShift action_20+action_246 (223) = happyShift action_21+action_246 (224) = happyShift action_22+action_246 (225) = happyShift action_79+action_246 (226) = happyShift action_80+action_246 (227) = happyShift action_81+action_246 (228) = happyShift action_82+action_246 (229) = happyShift action_83+action_246 (230) = happyShift action_84+action_246 (231) = happyShift action_85+action_246 (232) = happyShift action_86+action_246 (233) = happyShift action_87+action_246 (235) = happyShift action_229+action_246 (19) = happyGoto action_509+action_246 (20) = happyGoto action_240+action_246 (26) = happyGoto action_241+action_246 (28) = happyGoto action_242+action_246 (29) = happyGoto action_24+action_246 (30) = happyGoto action_25+action_246 (31) = happyGoto action_26+action_246 (61) = happyGoto action_27+action_246 (77) = happyGoto action_28+action_246 (83) = happyGoto action_29+action_246 (85) = happyGoto action_30+action_246 (94) = happyGoto action_31+action_246 (97) = happyGoto action_243+action_246 _ = happyFail++action_247 (125) = happyShift action_286+action_247 (126) = happyShift action_287+action_247 (127) = happyShift action_288+action_247 (128) = happyShift action_289+action_247 (129) = happyShift action_290+action_247 (130) = happyShift action_291+action_247 (132) = happyShift action_292+action_247 (133) = happyShift action_293+action_247 (135) = happyShift action_294+action_247 (136) = happyShift action_295+action_247 (137) = happyShift action_296+action_247 (138) = happyShift action_297+action_247 (139) = happyShift action_298+action_247 (140) = happyShift action_299+action_247 (141) = happyShift action_300+action_247 (142) = happyShift action_301+action_247 (93) = happyGoto action_285+action_247 _ = happyReduce_316++action_248 (106) = happyShift action_32+action_248 (108) = happyShift action_110+action_248 (109) = happyShift action_97+action_248 (110) = happyShift action_178+action_248 (111) = happyShift action_98+action_248 (120) = happyShift action_179+action_248 (123) = happyShift action_180+action_248 (125) = happyShift action_181+action_248 (127) = happyShift action_182+action_248 (128) = happyShift action_183+action_248 (129) = happyShift action_508+action_248 (134) = happyShift action_185+action_248 (143) = happyShift action_186+action_248 (162) = happyShift action_187+action_248 (163) = happyShift action_188+action_248 (81) = happyGoto action_283+action_248 (83) = happyGoto action_170+action_248 (85) = happyGoto action_30+action_248 (90) = happyGoto action_171+action_248 (92) = happyGoto action_172+action_248 (94) = happyGoto action_95+action_248 (95) = happyGoto action_173+action_248 (97) = happyGoto action_174+action_248 (98) = happyGoto action_175+action_248 (99) = happyGoto action_176+action_248 (100) = happyGoto action_177+action_248 _ = happyFail++action_249 (112) = happyShift action_506+action_249 (122) = happyShift action_507+action_249 _ = happyFail++action_250 (125) = happyShift action_286+action_250 (126) = happyShift action_287+action_250 (127) = happyShift action_288+action_250 (128) = happyShift action_289+action_250 (129) = happyShift action_290+action_250 (130) = happyShift action_291+action_250 (132) = happyShift action_292+action_250 (133) = happyShift action_293+action_250 (135) = happyShift action_294+action_250 (136) = happyShift action_295+action_250 (137) = happyShift action_296+action_250 (138) = happyShift action_297+action_250 (139) = happyShift action_298+action_250 (140) = happyShift action_299+action_250 (141) = happyShift action_300+action_250 (142) = happyShift action_301+action_250 (93) = happyGoto action_285+action_250 _ = happyReduce_325++action_251 (109) = happyShift action_97+action_251 (111) = happyShift action_98+action_251 (97) = happyGoto action_279+action_251 _ = happyReduce_326++action_252 (117) = happyShift action_505+action_252 _ = happyFail++action_253 (117) = happyShift action_504+action_253 _ = happyFail++action_254 (122) = happyShift action_503+action_254 (125) = happyShift action_286+action_254 (126) = happyShift action_287+action_254 (127) = happyShift action_288+action_254 (128) = happyShift action_289+action_254 (129) = happyShift action_290+action_254 (130) = happyShift action_291+action_254 (132) = happyShift action_292+action_254 (133) = happyShift action_293+action_254 (135) = happyShift action_294+action_254 (136) = happyShift action_295+action_254 (137) = happyShift action_296+action_254 (138) = happyShift action_297+action_254 (139) = happyShift action_298+action_254 (140) = happyShift action_299+action_254 (141) = happyShift action_300+action_254 (142) = happyShift action_301+action_254 (93) = happyGoto action_285+action_254 _ = happyFail++action_255 (117) = happyShift action_502+action_255 _ = happyFail++action_256 (106) = happyShift action_32+action_256 (108) = happyShift action_110+action_256 (109) = happyShift action_97+action_256 (110) = happyShift action_178+action_256 (111) = happyShift action_98+action_256 (115) = happyShift action_500+action_256 (120) = happyShift action_179+action_256 (123) = happyShift action_180+action_256 (125) = happyShift action_181+action_256 (127) = happyShift action_182+action_256 (128) = happyShift action_183+action_256 (129) = happyShift action_501+action_256 (134) = happyShift action_185+action_256 (143) = happyShift action_186+action_256 (162) = happyShift action_187+action_256 (163) = happyShift action_188+action_256 (75) = happyGoto action_497+action_256 (76) = happyGoto action_498+action_256 (81) = happyGoto action_499+action_256 (83) = happyGoto action_170+action_256 (85) = happyGoto action_30+action_256 (90) = happyGoto action_171+action_256 (92) = happyGoto action_172+action_256 (94) = happyGoto action_95+action_256 (95) = happyGoto action_173+action_256 (97) = happyGoto action_174+action_256 (98) = happyGoto action_175+action_256 (99) = happyGoto action_176+action_256 (100) = happyGoto action_177+action_256 _ = happyFail++action_257 (106) = happyShift action_32+action_257 (108) = happyShift action_110+action_257 (109) = happyShift action_97+action_257 (110) = happyShift action_178+action_257 (111) = happyShift action_98+action_257 (120) = happyShift action_496+action_257 (123) = happyShift action_180+action_257 (125) = happyShift action_181+action_257 (127) = happyShift action_182+action_257 (128) = happyShift action_183+action_257 (129) = happyShift action_184+action_257 (134) = happyShift action_185+action_257 (143) = happyShift action_186+action_257 (162) = happyShift action_187+action_257 (163) = happyShift action_188+action_257 (81) = happyGoto action_495+action_257 (83) = happyGoto action_170+action_257 (85) = happyGoto action_30+action_257 (90) = happyGoto action_171+action_257 (92) = happyGoto action_172+action_257 (94) = happyGoto action_95+action_257 (95) = happyGoto action_173+action_257 (97) = happyGoto action_174+action_257 (98) = happyGoto action_175+action_257 (99) = happyGoto action_176+action_257 (100) = happyGoto action_177+action_257 _ = happyFail++action_258 (106) = happyShift action_32+action_258 (108) = happyShift action_110+action_258 (109) = happyShift action_97+action_258 (110) = happyShift action_178+action_258 (111) = happyShift action_98+action_258 (120) = happyShift action_179+action_258 (123) = happyShift action_180+action_258 (125) = happyShift action_181+action_258 (127) = happyShift action_182+action_258 (128) = happyShift action_183+action_258 (129) = happyShift action_184+action_258 (134) = happyShift action_185+action_258 (143) = happyShift action_186+action_258 (162) = happyShift action_187+action_258 (163) = happyShift action_188+action_258 (81) = happyGoto action_494+action_258 (83) = happyGoto action_170+action_258 (85) = happyGoto action_30+action_258 (90) = happyGoto action_171+action_258 (92) = happyGoto action_172+action_258 (94) = happyGoto action_95+action_258 (95) = happyGoto action_173+action_258 (97) = happyGoto action_174+action_258 (98) = happyGoto action_175+action_258 (99) = happyGoto action_176+action_258 (100) = happyGoto action_177+action_258 _ = happyFail++action_259 (106) = happyShift action_32+action_259 (73) = happyGoto action_493+action_259 (74) = happyGoto action_199+action_259 (94) = happyGoto action_200+action_259 _ = happyFail++action_260 (167) = happyShift action_481+action_260 (168) = happyShift action_482+action_260 (169) = happyShift action_483+action_260 (170) = happyShift action_484+action_260 (171) = happyShift action_485+action_260 (172) = happyShift action_486+action_260 (173) = happyShift action_487+action_260 (174) = happyShift action_488+action_260 (175) = happyShift action_489+action_260 (176) = happyShift action_490+action_260 (177) = happyShift action_491+action_260 (178) = happyShift action_492+action_260 (63) = happyGoto action_480+action_260 _ = happyFail++action_261 (106) = happyShift action_32+action_261 (72) = happyGoto action_479+action_261 (73) = happyGoto action_198+action_261 (74) = happyGoto action_199+action_261 (94) = happyGoto action_200+action_261 _ = happyFail++action_262 _ = happyReduce_355++action_263 (125) = happyShift action_286+action_263 (126) = happyShift action_287+action_263 (127) = happyShift action_288+action_263 (128) = happyShift action_289+action_263 (129) = happyShift action_290+action_263 (130) = happyShift action_291+action_263 (132) = happyShift action_292+action_263 (133) = happyShift action_293+action_263 (135) = happyShift action_294+action_263 (136) = happyShift action_295+action_263 (137) = happyShift action_296+action_263 (138) = happyShift action_297+action_263 (139) = happyShift action_298+action_263 (140) = happyShift action_299+action_263 (141) = happyShift action_300+action_263 (142) = happyShift action_301+action_263 (93) = happyGoto action_285+action_263 _ = happyReduce_106++action_264 (125) = happyShift action_286+action_264 (126) = happyShift action_287+action_264 (127) = happyShift action_288+action_264 (128) = happyShift action_289+action_264 (129) = happyShift action_290+action_264 (130) = happyShift action_291+action_264 (132) = happyShift action_292+action_264 (133) = happyShift action_293+action_264 (135) = happyShift action_294+action_264 (136) = happyShift action_295+action_264 (137) = happyShift action_296+action_264 (138) = happyShift action_297+action_264 (139) = happyShift action_298+action_264 (140) = happyShift action_299+action_264 (141) = happyShift action_300+action_264 (142) = happyShift action_301+action_264 (93) = happyGoto action_285+action_264 _ = happyReduce_66++action_265 (115) = happyShift action_478+action_265 (125) = happyShift action_286+action_265 (126) = happyShift action_287+action_265 (127) = happyShift action_288+action_265 (128) = happyShift action_289+action_265 (129) = happyShift action_290+action_265 (130) = happyShift action_291+action_265 (132) = happyShift action_292+action_265 (133) = happyShift action_293+action_265 (135) = happyShift action_294+action_265 (136) = happyShift action_295+action_265 (137) = happyShift action_296+action_265 (138) = happyShift action_297+action_265 (139) = happyShift action_298+action_265 (140) = happyShift action_299+action_265 (141) = happyShift action_300+action_265 (142) = happyShift action_301+action_265 (93) = happyGoto action_285+action_265 _ = happyReduce_367++action_266 (112) = happyShift action_394+action_266 (122) = happyShift action_477+action_266 _ = happyFail++action_267 _ = happyReduce_364++action_268 (115) = happyShift action_476+action_268 _ = happyReduce_365++action_269 (117) = happyShift action_475+action_269 _ = happyReduce_388++action_270 (106) = happyShift action_32+action_270 (108) = happyShift action_110+action_270 (109) = happyShift action_97+action_270 (110) = happyShift action_178+action_270 (111) = happyShift action_98+action_270 (120) = happyShift action_179+action_270 (123) = happyShift action_180+action_270 (125) = happyShift action_181+action_270 (127) = happyShift action_182+action_270 (128) = happyShift action_183+action_270 (129) = happyShift action_184+action_270 (134) = happyShift action_185+action_270 (143) = happyShift action_186+action_270 (162) = happyShift action_187+action_270 (163) = happyShift action_188+action_270 (81) = happyGoto action_474+action_270 (83) = happyGoto action_170+action_270 (85) = happyGoto action_30+action_270 (90) = happyGoto action_171+action_270 (92) = happyGoto action_172+action_270 (94) = happyGoto action_95+action_270 (95) = happyGoto action_173+action_270 (97) = happyGoto action_174+action_270 (98) = happyGoto action_175+action_270 (99) = happyGoto action_176+action_270 (100) = happyGoto action_177+action_270 _ = happyReduce_369++action_271 _ = happyReduce_360++action_272 (106) = happyShift action_32+action_272 (199) = happyShift action_473+action_272 (29) = happyGoto action_133+action_272 (83) = happyGoto action_134+action_272 (85) = happyGoto action_30+action_272 (89) = happyGoto action_472+action_272 (94) = happyGoto action_95+action_272 _ = happyReduce_121++action_273 (120) = happyShift action_471+action_273 _ = happyFail++action_274 (120) = happyShift action_470+action_274 _ = happyFail++action_275 (106) = happyShift action_32+action_275 (158) = happyShift action_469+action_275 (34) = happyGoto action_466+action_275 (35) = happyGoto action_467+action_275 (94) = happyGoto action_468+action_275 _ = happyFail++action_276 (106) = happyShift action_464+action_276 (108) = happyShift action_110+action_276 (109) = happyShift action_97+action_276 (110) = happyShift action_178+action_276 (111) = happyShift action_98+action_276 (120) = happyShift action_179+action_276 (122) = happyShift action_465+action_276 (123) = happyShift action_180+action_276 (125) = happyShift action_181+action_276 (127) = happyShift action_182+action_276 (128) = happyShift action_183+action_276 (129) = happyShift action_184+action_276 (134) = happyShift action_185+action_276 (143) = happyShift action_186+action_276 (162) = happyShift action_187+action_276 (163) = happyShift action_188+action_276 (32) = happyGoto action_461+action_276 (33) = happyGoto action_462+action_276 (81) = happyGoto action_463+action_276 (83) = happyGoto action_170+action_276 (85) = happyGoto action_30+action_276 (90) = happyGoto action_171+action_276 (92) = happyGoto action_172+action_276 (94) = happyGoto action_95+action_276 (95) = happyGoto action_173+action_276 (97) = happyGoto action_174+action_276 (98) = happyGoto action_175+action_276 (99) = happyGoto action_176+action_276 (100) = happyGoto action_177+action_276 _ = happyFail++action_277 (125) = happyShift action_460+action_277 _ = happyFail++action_278 (126) = happyShift action_287+action_278 (127) = happyShift action_288+action_278 (128) = happyShift action_289+action_278 (129) = happyShift action_290+action_278 (130) = happyShift action_291+action_278 (137) = happyShift action_296+action_278 (138) = happyShift action_297+action_278 (139) = happyShift action_298+action_278 (140) = happyShift action_299+action_278 (141) = happyShift action_300+action_278 (142) = happyShift action_301+action_278 (93) = happyGoto action_285+action_278 _ = happyReduce_336++action_279 _ = happyReduce_352++action_280 (93) = happyGoto action_285+action_280 _ = happyReduce_340++action_281 (125) = happyShift action_286+action_281 (126) = happyShift action_287+action_281 (127) = happyShift action_288+action_281 (128) = happyShift action_289+action_281 (129) = happyShift action_290+action_281 (130) = happyShift action_291+action_281 (132) = happyShift action_292+action_281 (133) = happyShift action_293+action_281 (135) = happyShift action_294+action_281 (136) = happyShift action_295+action_281 (137) = happyShift action_296+action_281 (138) = happyShift action_297+action_281 (139) = happyShift action_298+action_281 (140) = happyShift action_299+action_281 (141) = happyShift action_300+action_281 (142) = happyShift action_301+action_281 (93) = happyGoto action_285+action_281 _ = happyReduce_379++action_282 (112) = happyShift action_436+action_282 (124) = happyShift action_459+action_282 _ = happyFail++action_283 (112) = happyShift action_457+action_283 (122) = happyShift action_458+action_283 (125) = happyShift action_286+action_283 (126) = happyShift action_287+action_283 (127) = happyShift action_288+action_283 (128) = happyShift action_289+action_283 (129) = happyShift action_290+action_283 (130) = happyShift action_291+action_283 (132) = happyShift action_292+action_283 (133) = happyShift action_293+action_283 (135) = happyShift action_294+action_283 (136) = happyShift action_295+action_283 (137) = happyShift action_296+action_283 (138) = happyShift action_297+action_283 (139) = happyShift action_298+action_283 (140) = happyShift action_299+action_283 (141) = happyShift action_300+action_283 (142) = happyShift action_301+action_283 (93) = happyGoto action_285+action_283 _ = happyFail++action_284 (126) = happyShift action_287+action_284 (93) = happyGoto action_285+action_284 _ = happyReduce_333++action_285 (106) = happyShift action_32+action_285 (108) = happyShift action_110+action_285 (109) = happyShift action_97+action_285 (110) = happyShift action_178+action_285 (111) = happyShift action_98+action_285 (120) = happyShift action_179+action_285 (123) = happyShift action_180+action_285 (125) = happyShift action_181+action_285 (127) = happyShift action_182+action_285 (128) = happyShift action_183+action_285 (129) = happyShift action_184+action_285 (134) = happyShift action_185+action_285 (143) = happyShift action_186+action_285 (162) = happyShift action_187+action_285 (163) = happyShift action_188+action_285 (81) = happyGoto action_456+action_285 (83) = happyGoto action_170+action_285 (85) = happyGoto action_30+action_285 (90) = happyGoto action_171+action_285 (92) = happyGoto action_172+action_285 (94) = happyGoto action_95+action_285 (95) = happyGoto action_173+action_285 (97) = happyGoto action_174+action_285 (98) = happyGoto action_175+action_285 (99) = happyGoto action_176+action_285 (100) = happyGoto action_177+action_285 _ = happyFail++action_286 (106) = happyShift action_32+action_286 (108) = happyShift action_110+action_286 (109) = happyShift action_97+action_286 (110) = happyShift action_178+action_286 (111) = happyShift action_98+action_286 (120) = happyShift action_179+action_286 (123) = happyShift action_180+action_286 (125) = happyShift action_181+action_286 (127) = happyShift action_182+action_286 (128) = happyShift action_183+action_286 (129) = happyShift action_184+action_286 (134) = happyShift action_185+action_286 (143) = happyShift action_186+action_286 (162) = happyShift action_187+action_286 (163) = happyShift action_188+action_286 (81) = happyGoto action_455+action_286 (83) = happyGoto action_170+action_286 (85) = happyGoto action_30+action_286 (90) = happyGoto action_171+action_286 (92) = happyGoto action_172+action_286 (94) = happyGoto action_95+action_286 (95) = happyGoto action_173+action_286 (97) = happyGoto action_174+action_286 (98) = happyGoto action_175+action_286 (99) = happyGoto action_176+action_286 (100) = happyGoto action_177+action_286 _ = happyFail++action_287 (106) = happyShift action_32+action_287 (108) = happyShift action_110+action_287 (109) = happyShift action_97+action_287 (110) = happyShift action_178+action_287 (111) = happyShift action_98+action_287 (120) = happyShift action_179+action_287 (123) = happyShift action_180+action_287 (125) = happyShift action_181+action_287 (127) = happyShift action_182+action_287 (128) = happyShift action_183+action_287 (129) = happyShift action_184+action_287 (134) = happyShift action_185+action_287 (143) = happyShift action_186+action_287 (162) = happyShift action_187+action_287 (163) = happyShift action_188+action_287 (81) = happyGoto action_454+action_287 (83) = happyGoto action_170+action_287 (85) = happyGoto action_30+action_287 (90) = happyGoto action_171+action_287 (92) = happyGoto action_172+action_287 (94) = happyGoto action_95+action_287 (95) = happyGoto action_173+action_287 (97) = happyGoto action_174+action_287 (98) = happyGoto action_175+action_287 (99) = happyGoto action_176+action_287 (100) = happyGoto action_177+action_287 _ = happyFail++action_288 (106) = happyShift action_32+action_288 (108) = happyShift action_110+action_288 (109) = happyShift action_97+action_288 (110) = happyShift action_178+action_288 (111) = happyShift action_98+action_288 (120) = happyShift action_179+action_288 (123) = happyShift action_180+action_288 (125) = happyShift action_181+action_288 (127) = happyShift action_182+action_288 (128) = happyShift action_183+action_288 (129) = happyShift action_184+action_288 (134) = happyShift action_185+action_288 (143) = happyShift action_186+action_288 (162) = happyShift action_187+action_288 (163) = happyShift action_188+action_288 (81) = happyGoto action_453+action_288 (83) = happyGoto action_170+action_288 (85) = happyGoto action_30+action_288 (90) = happyGoto action_171+action_288 (92) = happyGoto action_172+action_288 (94) = happyGoto action_95+action_288 (95) = happyGoto action_173+action_288 (97) = happyGoto action_174+action_288 (98) = happyGoto action_175+action_288 (99) = happyGoto action_176+action_288 (100) = happyGoto action_177+action_288 _ = happyFail++action_289 (106) = happyShift action_32+action_289 (108) = happyShift action_110+action_289 (109) = happyShift action_97+action_289 (110) = happyShift action_178+action_289 (111) = happyShift action_98+action_289 (120) = happyShift action_179+action_289 (123) = happyShift action_180+action_289 (125) = happyShift action_181+action_289 (127) = happyShift action_182+action_289 (128) = happyShift action_183+action_289 (129) = happyShift action_184+action_289 (134) = happyShift action_185+action_289 (143) = happyShift action_186+action_289 (162) = happyShift action_187+action_289 (163) = happyShift action_188+action_289 (81) = happyGoto action_452+action_289 (83) = happyGoto action_170+action_289 (85) = happyGoto action_30+action_289 (90) = happyGoto action_171+action_289 (92) = happyGoto action_172+action_289 (94) = happyGoto action_95+action_289 (95) = happyGoto action_173+action_289 (97) = happyGoto action_174+action_289 (98) = happyGoto action_175+action_289 (99) = happyGoto action_176+action_289 (100) = happyGoto action_177+action_289 _ = happyFail++action_290 (106) = happyShift action_32+action_290 (108) = happyShift action_110+action_290 (109) = happyShift action_97+action_290 (110) = happyShift action_178+action_290 (111) = happyShift action_98+action_290 (120) = happyShift action_179+action_290 (123) = happyShift action_180+action_290 (125) = happyShift action_181+action_290 (127) = happyShift action_182+action_290 (128) = happyShift action_183+action_290 (129) = happyShift action_184+action_290 (134) = happyShift action_185+action_290 (143) = happyShift action_186+action_290 (162) = happyShift action_187+action_290 (163) = happyShift action_188+action_290 (81) = happyGoto action_451+action_290 (83) = happyGoto action_170+action_290 (85) = happyGoto action_30+action_290 (90) = happyGoto action_171+action_290 (92) = happyGoto action_172+action_290 (94) = happyGoto action_95+action_290 (95) = happyGoto action_173+action_290 (97) = happyGoto action_174+action_290 (98) = happyGoto action_175+action_290 (99) = happyGoto action_176+action_290 (100) = happyGoto action_177+action_290 _ = happyFail++action_291 (106) = happyShift action_32+action_291 (108) = happyShift action_110+action_291 (109) = happyShift action_97+action_291 (110) = happyShift action_178+action_291 (111) = happyShift action_98+action_291 (120) = happyShift action_179+action_291 (123) = happyShift action_180+action_291 (125) = happyShift action_181+action_291 (127) = happyShift action_182+action_291 (128) = happyShift action_183+action_291 (129) = happyShift action_184+action_291 (130) = happyShift action_450+action_291 (134) = happyShift action_185+action_291 (143) = happyShift action_186+action_291 (162) = happyShift action_187+action_291 (163) = happyShift action_188+action_291 (81) = happyGoto action_449+action_291 (83) = happyGoto action_170+action_291 (85) = happyGoto action_30+action_291 (90) = happyGoto action_171+action_291 (92) = happyGoto action_172+action_291 (94) = happyGoto action_95+action_291 (95) = happyGoto action_173+action_291 (97) = happyGoto action_174+action_291 (98) = happyGoto action_175+action_291 (99) = happyGoto action_176+action_291 (100) = happyGoto action_177+action_291 _ = happyFail++action_292 (106) = happyShift action_32+action_292 (108) = happyShift action_110+action_292 (109) = happyShift action_97+action_292 (110) = happyShift action_178+action_292 (111) = happyShift action_98+action_292 (120) = happyShift action_179+action_292 (123) = happyShift action_180+action_292 (125) = happyShift action_181+action_292 (127) = happyShift action_182+action_292 (128) = happyShift action_183+action_292 (129) = happyShift action_184+action_292 (134) = happyShift action_185+action_292 (143) = happyShift action_186+action_292 (162) = happyShift action_187+action_292 (163) = happyShift action_188+action_292 (81) = happyGoto action_448+action_292 (83) = happyGoto action_170+action_292 (85) = happyGoto action_30+action_292 (90) = happyGoto action_171+action_292 (92) = happyGoto action_172+action_292 (94) = happyGoto action_95+action_292 (95) = happyGoto action_173+action_292 (97) = happyGoto action_174+action_292 (98) = happyGoto action_175+action_292 (99) = happyGoto action_176+action_292 (100) = happyGoto action_177+action_292 _ = happyFail++action_293 (106) = happyShift action_32+action_293 (108) = happyShift action_110+action_293 (109) = happyShift action_97+action_293 (110) = happyShift action_178+action_293 (111) = happyShift action_98+action_293 (120) = happyShift action_179+action_293 (123) = happyShift action_180+action_293 (125) = happyShift action_181+action_293 (127) = happyShift action_182+action_293 (128) = happyShift action_183+action_293 (129) = happyShift action_184+action_293 (134) = happyShift action_185+action_293 (143) = happyShift action_186+action_293 (162) = happyShift action_187+action_293 (163) = happyShift action_188+action_293 (81) = happyGoto action_447+action_293 (83) = happyGoto action_170+action_293 (85) = happyGoto action_30+action_293 (90) = happyGoto action_171+action_293 (92) = happyGoto action_172+action_293 (94) = happyGoto action_95+action_293 (95) = happyGoto action_173+action_293 (97) = happyGoto action_174+action_293 (98) = happyGoto action_175+action_293 (99) = happyGoto action_176+action_293 (100) = happyGoto action_177+action_293 _ = happyFail++action_294 (106) = happyShift action_32+action_294 (108) = happyShift action_110+action_294 (109) = happyShift action_97+action_294 (110) = happyShift action_178+action_294 (111) = happyShift action_98+action_294 (120) = happyShift action_179+action_294 (123) = happyShift action_180+action_294 (125) = happyShift action_181+action_294 (127) = happyShift action_182+action_294 (128) = happyShift action_183+action_294 (129) = happyShift action_184+action_294 (134) = happyShift action_185+action_294 (143) = happyShift action_186+action_294 (162) = happyShift action_187+action_294 (163) = happyShift action_188+action_294 (81) = happyGoto action_446+action_294 (83) = happyGoto action_170+action_294 (85) = happyGoto action_30+action_294 (90) = happyGoto action_171+action_294 (92) = happyGoto action_172+action_294 (94) = happyGoto action_95+action_294 (95) = happyGoto action_173+action_294 (97) = happyGoto action_174+action_294 (98) = happyGoto action_175+action_294 (99) = happyGoto action_176+action_294 (100) = happyGoto action_177+action_294 _ = happyFail++action_295 (106) = happyShift action_32+action_295 (108) = happyShift action_110+action_295 (109) = happyShift action_97+action_295 (110) = happyShift action_178+action_295 (111) = happyShift action_98+action_295 (120) = happyShift action_179+action_295 (123) = happyShift action_180+action_295 (125) = happyShift action_181+action_295 (127) = happyShift action_182+action_295 (128) = happyShift action_183+action_295 (129) = happyShift action_184+action_295 (134) = happyShift action_185+action_295 (143) = happyShift action_186+action_295 (162) = happyShift action_187+action_295 (163) = happyShift action_188+action_295 (81) = happyGoto action_445+action_295 (83) = happyGoto action_170+action_295 (85) = happyGoto action_30+action_295 (90) = happyGoto action_171+action_295 (92) = happyGoto action_172+action_295 (94) = happyGoto action_95+action_295 (95) = happyGoto action_173+action_295 (97) = happyGoto action_174+action_295 (98) = happyGoto action_175+action_295 (99) = happyGoto action_176+action_295 (100) = happyGoto action_177+action_295 _ = happyFail++action_296 _ = happyReduce_386++action_297 _ = happyReduce_387++action_298 _ = happyReduce_382++action_299 _ = happyReduce_383++action_300 _ = happyReduce_384++action_301 _ = happyReduce_385++action_302 _ = happyReduce_92++action_303 (106) = happyShift action_32+action_303 (122) = happyShift action_444+action_303 (54) = happyGoto action_443+action_303 (94) = happyGoto action_160+action_303 _ = happyFail++action_304 (120) = happyShift action_442+action_304 _ = happyFail++action_305 (112) = happyShift action_436+action_305 _ = happyReduce_70++action_306 (112) = happyShift action_436+action_306 _ = happyReduce_72++action_307 (112) = happyShift action_440+action_307 (122) = happyShift action_441+action_307 _ = happyFail++action_308 _ = happyReduce_254++action_309 (117) = happyShift action_439+action_309 _ = happyFail++action_310 (112) = happyShift action_259+action_310 _ = happyReduce_77++action_311 (112) = happyShift action_259+action_311 _ = happyReduce_76++action_312 (106) = happyShift action_32+action_312 (94) = happyGoto action_438+action_312 _ = happyFail++action_313 (122) = happyShift action_437+action_313 _ = happyFail++action_314 _ = happyReduce_272++action_315 _ = happyReduce_273++action_316 _ = happyReduce_274++action_317 (112) = happyShift action_436+action_317 _ = happyReduce_69++action_318 (112) = happyShift action_259+action_318 _ = happyReduce_78++action_319 (112) = happyShift action_435+action_319 _ = happyReduce_74++action_320 _ = happyReduce_284++action_321 _ = happyReduce_285++action_322 _ = happyReduce_286++action_323 (106) = happyShift action_32+action_323 (94) = happyGoto action_412+action_323 _ = happyFail++action_324 (112) = happyShift action_259+action_324 _ = happyReduce_79++action_325 (107) = happyReduce_402+action_325 (112) = happyShift action_352+action_325 (114) = happyReduce_402+action_325 (235) = happyReduce_402+action_325 (236) = happyReduce_402+action_325 (66) = happyGoto action_433+action_325 (105) = happyGoto action_434+action_325 _ = happyReduce_278++action_326 (112) = happyShift action_431+action_326 (131) = happyShift action_432+action_326 _ = happyFail++action_327 _ = happyReduce_280++action_328 (119) = happyShift action_195+action_328 _ = happyReduce_281++action_329 _ = happyReduce_282++action_330 (106) = happyShift action_32+action_330 (108) = happyShift action_110+action_330 (109) = happyShift action_97+action_330 (110) = happyShift action_178+action_330 (111) = happyShift action_98+action_330 (120) = happyShift action_179+action_330 (123) = happyShift action_180+action_330 (125) = happyShift action_181+action_330 (127) = happyShift action_182+action_330 (128) = happyShift action_183+action_330 (129) = happyShift action_184+action_330 (134) = happyShift action_185+action_330 (143) = happyShift action_186+action_330 (162) = happyShift action_187+action_330 (163) = happyShift action_188+action_330 (81) = happyGoto action_430+action_330 (83) = happyGoto action_170+action_330 (85) = happyGoto action_30+action_330 (90) = happyGoto action_171+action_330 (92) = happyGoto action_172+action_330 (94) = happyGoto action_95+action_330 (95) = happyGoto action_173+action_330 (97) = happyGoto action_174+action_330 (98) = happyGoto action_175+action_330 (99) = happyGoto action_176+action_330 (100) = happyGoto action_177+action_330 _ = happyFail++action_331 (113) = happyShift action_429+action_331 (130) = happyShift action_333+action_331 (52) = happyGoto action_427+action_331 (105) = happyGoto action_428+action_331 _ = happyReduce_402++action_332 _ = happyReduce_240++action_333 (106) = happyShift action_32+action_333 (94) = happyGoto action_426+action_333 _ = happyFail++action_334 (112) = happyShift action_425+action_334 (105) = happyGoto action_424+action_334 _ = happyReduce_402++action_335 _ = happyReduce_247++action_336 (121) = happyShift action_423+action_336 _ = happyFail++action_337 (112) = happyShift action_414+action_337 (122) = happyShift action_422+action_337 _ = happyFail++action_338 _ = happyReduce_358++action_339 (120) = happyShift action_421+action_339 _ = happyFail++action_340 (113) = happyShift action_419+action_340 (130) = happyShift action_420+action_340 (48) = happyGoto action_416+action_340 (71) = happyGoto action_417+action_340 (105) = happyGoto action_418+action_340 _ = happyReduce_402++action_341 _ = happyReduce_230++action_342 (106) = happyShift action_32+action_342 (84) = happyGoto action_415+action_342 (85) = happyGoto action_338+action_342 (94) = happyGoto action_95+action_342 _ = happyFail++action_343 (112) = happyShift action_414+action_343 _ = happyReduce_235++action_344 (106) = happyShift action_32+action_344 (130) = happyShift action_413+action_344 (94) = happyGoto action_412+action_344 _ = happyFail++action_345 (112) = happyShift action_410+action_345 (122) = happyShift action_411+action_345 _ = happyFail++action_346 (119) = happyShift action_195+action_346 _ = happyReduce_354++action_347 (112) = happyShift action_408+action_347 (122) = happyShift action_409+action_347 _ = happyFail++action_348 (112) = happyShift action_406+action_348 (122) = happyShift action_407+action_348 _ = happyFail++action_349 (112) = happyShift action_404+action_349 (122) = happyShift action_405+action_349 _ = happyFail++action_350 _ = happyReduce_392++action_351 (120) = happyShift action_403+action_351 _ = happyFail++action_352 _ = happyReduce_277++action_353 (106) = happyShift action_32+action_353 (94) = happyGoto action_402+action_353 _ = happyFail++action_354 (106) = happyShift action_32+action_354 (108) = happyShift action_110+action_354 (109) = happyShift action_97+action_354 (110) = happyShift action_178+action_354 (111) = happyShift action_98+action_354 (120) = happyShift action_179+action_354 (123) = happyShift action_180+action_354 (125) = happyShift action_181+action_354 (127) = happyShift action_182+action_354 (128) = happyShift action_183+action_354 (129) = happyShift action_184+action_354 (134) = happyShift action_185+action_354 (143) = happyShift action_186+action_354 (162) = happyShift action_187+action_354 (163) = happyShift action_188+action_354 (81) = happyGoto action_401+action_354 (83) = happyGoto action_170+action_354 (85) = happyGoto action_30+action_354 (90) = happyGoto action_171+action_354 (92) = happyGoto action_172+action_354 (94) = happyGoto action_95+action_354 (95) = happyGoto action_173+action_354 (97) = happyGoto action_174+action_354 (98) = happyGoto action_175+action_354 (99) = happyGoto action_176+action_354 (100) = happyGoto action_177+action_354 _ = happyFail++action_355 (106) = happyShift action_32+action_355 (199) = happyShift action_400+action_355 (29) = happyGoto action_133+action_355 (83) = happyGoto action_134+action_355 (85) = happyGoto action_30+action_355 (89) = happyGoto action_399+action_355 (94) = happyGoto action_95+action_355 _ = happyFail++action_356 (106) = happyShift action_32+action_356 (108) = happyShift action_110+action_356 (109) = happyShift action_97+action_356 (110) = happyShift action_178+action_356 (111) = happyShift action_98+action_356 (120) = happyShift action_179+action_356 (123) = happyShift action_180+action_356 (125) = happyShift action_181+action_356 (127) = happyShift action_182+action_356 (128) = happyShift action_183+action_356 (129) = happyShift action_184+action_356 (134) = happyShift action_185+action_356 (143) = happyShift action_186+action_356 (162) = happyShift action_187+action_356 (163) = happyShift action_188+action_356 (81) = happyGoto action_398+action_356 (83) = happyGoto action_170+action_356 (85) = happyGoto action_30+action_356 (90) = happyGoto action_171+action_356 (92) = happyGoto action_172+action_356 (94) = happyGoto action_95+action_356 (95) = happyGoto action_173+action_356 (97) = happyGoto action_174+action_356 (98) = happyGoto action_175+action_356 (99) = happyGoto action_176+action_356 (100) = happyGoto action_177+action_356 _ = happyFail++action_357 (122) = happyShift action_397+action_357 (125) = happyShift action_286+action_357 (126) = happyShift action_287+action_357 (127) = happyShift action_288+action_357 (128) = happyShift action_289+action_357 (129) = happyShift action_290+action_357 (130) = happyShift action_291+action_357 (132) = happyShift action_292+action_357 (133) = happyShift action_293+action_357 (135) = happyShift action_294+action_357 (136) = happyShift action_295+action_357 (137) = happyShift action_296+action_357 (138) = happyShift action_297+action_357 (139) = happyShift action_298+action_357 (140) = happyShift action_299+action_357 (141) = happyShift action_300+action_357 (142) = happyShift action_301+action_357 (93) = happyGoto action_285+action_357 _ = happyFail++action_358 (122) = happyShift action_396+action_358 (125) = happyShift action_286+action_358 (126) = happyShift action_287+action_358 (127) = happyShift action_288+action_358 (128) = happyShift action_289+action_358 (129) = happyShift action_290+action_358 (130) = happyShift action_291+action_358 (132) = happyShift action_292+action_358 (133) = happyShift action_293+action_358 (135) = happyShift action_294+action_358 (136) = happyShift action_295+action_358 (137) = happyShift action_296+action_358 (138) = happyShift action_297+action_358 (139) = happyShift action_298+action_358 (140) = happyShift action_299+action_358 (141) = happyShift action_300+action_358 (142) = happyShift action_301+action_358 (93) = happyGoto action_285+action_358 _ = happyFail++action_359 _ = happyReduce_146++action_360 (112) = happyShift action_394+action_360 (122) = happyShift action_395+action_360 _ = happyFail++action_361 (122) = happyShift action_393+action_361 (125) = happyShift action_286+action_361 (126) = happyShift action_287+action_361 (127) = happyShift action_288+action_361 (128) = happyShift action_289+action_361 (129) = happyShift action_290+action_361 (130) = happyShift action_291+action_361 (132) = happyShift action_292+action_361 (133) = happyShift action_293+action_361 (135) = happyShift action_294+action_361 (136) = happyShift action_295+action_361 (137) = happyShift action_296+action_361 (138) = happyShift action_297+action_361 (139) = happyShift action_298+action_361 (140) = happyShift action_299+action_361 (141) = happyShift action_300+action_361 (142) = happyShift action_301+action_361 (93) = happyGoto action_285+action_361 _ = happyFail++action_362 (122) = happyShift action_392+action_362 (125) = happyShift action_286+action_362 (126) = happyShift action_287+action_362 (127) = happyShift action_288+action_362 (128) = happyShift action_289+action_362 (129) = happyShift action_290+action_362 (130) = happyShift action_291+action_362 (132) = happyShift action_292+action_362 (133) = happyShift action_293+action_362 (135) = happyShift action_294+action_362 (136) = happyShift action_295+action_362 (137) = happyShift action_296+action_362 (138) = happyShift action_297+action_362 (139) = happyShift action_298+action_362 (140) = happyShift action_299+action_362 (141) = happyShift action_300+action_362 (142) = happyShift action_301+action_362 (93) = happyGoto action_285+action_362 _ = happyFail++action_363 (122) = happyShift action_391+action_363 _ = happyFail++action_364 (106) = happyShift action_390+action_364 _ = happyFail++action_365 (112) = happyShift action_389+action_365 _ = happyReduce_152++action_366 _ = happyReduce_223++action_367 (119) = happyShift action_195+action_367 _ = happyReduce_224++action_368 (106) = happyShift action_32+action_368 (120) = happyShift action_368+action_368 (44) = happyGoto action_388+action_368 (45) = happyGoto action_366+action_368 (83) = happyGoto action_367+action_368 (85) = happyGoto action_30+action_368 (94) = happyGoto action_95+action_368 _ = happyFail++action_369 (106) = happyShift action_32+action_369 (120) = happyShift action_368+action_369 (44) = happyGoto action_387+action_369 (45) = happyGoto action_366+action_369 (83) = happyGoto action_367+action_369 (85) = happyGoto action_30+action_369 (94) = happyGoto action_95+action_369 _ = happyFail++action_370 (130) = happyShift action_386+action_370 _ = happyFail++action_371 (112) = happyShift action_385+action_371 _ = happyReduce_156++action_372 (125) = happyShift action_286+action_372 (126) = happyShift action_287+action_372 (127) = happyShift action_288+action_372 (128) = happyShift action_289+action_372 (129) = happyShift action_290+action_372 (130) = happyShift action_291+action_372 (132) = happyShift action_292+action_372 (133) = happyShift action_293+action_372 (135) = happyShift action_294+action_372 (136) = happyShift action_295+action_372 (137) = happyShift action_296+action_372 (138) = happyShift action_297+action_372 (139) = happyShift action_298+action_372 (140) = happyShift action_299+action_372 (141) = happyShift action_300+action_372 (142) = happyShift action_301+action_372 (93) = happyGoto action_285+action_372 _ = happyReduce_227++action_373 (106) = happyShift action_32+action_373 (108) = happyShift action_110+action_373 (109) = happyShift action_97+action_373 (110) = happyShift action_178+action_373 (111) = happyShift action_98+action_373 (120) = happyShift action_179+action_373 (123) = happyShift action_180+action_373 (125) = happyShift action_181+action_373 (127) = happyShift action_182+action_373 (128) = happyShift action_183+action_373 (129) = happyShift action_184+action_373 (134) = happyShift action_185+action_373 (143) = happyShift action_186+action_373 (162) = happyShift action_187+action_373 (163) = happyShift action_188+action_373 (46) = happyGoto action_384+action_373 (81) = happyGoto action_372+action_373 (83) = happyGoto action_170+action_373 (85) = happyGoto action_30+action_373 (90) = happyGoto action_171+action_373 (92) = happyGoto action_172+action_373 (94) = happyGoto action_95+action_373 (95) = happyGoto action_173+action_373 (97) = happyGoto action_174+action_373 (98) = happyGoto action_175+action_373 (99) = happyGoto action_176+action_373 (100) = happyGoto action_177+action_373 _ = happyFail++action_374 (112) = happyShift action_382+action_374 (122) = happyShift action_383+action_374 _ = happyFail++action_375 (112) = happyShift action_380+action_375 (122) = happyShift action_381+action_375 _ = happyFail++action_376 _ = happyReduce_198++action_377 (117) = happyShift action_379+action_377 _ = happyReduce_388++action_378 (114) = happyShift action_228+action_378 (235) = happyShift action_229+action_378 _ = happyReduce_4++action_379 (106) = happyShift action_32+action_379 (108) = happyShift action_110+action_379 (109) = happyShift action_97+action_379 (111) = happyShift action_98+action_379 (120) = happyShift action_630+action_379 (125) = happyShift action_631+action_379 (127) = happyShift action_182+action_379 (128) = happyShift action_183+action_379 (129) = happyShift action_632+action_379 (134) = happyShift action_633+action_379 (143) = happyShift action_186+action_379 (42) = happyGoto action_623+action_379 (43) = happyGoto action_624+action_379 (83) = happyGoto action_625+action_379 (85) = happyGoto action_30+action_379 (92) = happyGoto action_626+action_379 (94) = happyGoto action_95+action_379 (97) = happyGoto action_627+action_379 (99) = happyGoto action_628+action_379 (100) = happyGoto action_629+action_379 _ = happyFail++action_380 (106) = happyShift action_622+action_380 (41) = happyGoto action_621+action_380 _ = happyFail++action_381 _ = happyReduce_196++action_382 (106) = happyShift action_377+action_382 (108) = happyShift action_110+action_382 (109) = happyShift action_97+action_382 (111) = happyShift action_98+action_382 (129) = happyShift action_111+action_382 (37) = happyGoto action_619+action_382 (40) = happyGoto action_620+action_382 (41) = happyGoto action_376+action_382 (83) = happyGoto action_107+action_382 (85) = happyGoto action_30+action_382 (94) = happyGoto action_95+action_382 (97) = happyGoto action_108+action_382 (100) = happyGoto action_109+action_382 _ = happyFail++action_383 _ = happyReduce_195++action_384 (112) = happyShift action_385+action_384 _ = happyReduce_158++action_385 (106) = happyShift action_32+action_385 (108) = happyShift action_110+action_385 (109) = happyShift action_97+action_385 (110) = happyShift action_178+action_385 (111) = happyShift action_98+action_385 (120) = happyShift action_179+action_385 (123) = happyShift action_180+action_385 (125) = happyShift action_181+action_385 (127) = happyShift action_182+action_385 (128) = happyShift action_183+action_385 (129) = happyShift action_184+action_385 (134) = happyShift action_185+action_385 (143) = happyShift action_186+action_385 (162) = happyShift action_187+action_385 (163) = happyShift action_188+action_385 (81) = happyGoto action_618+action_385 (83) = happyGoto action_170+action_385 (85) = happyGoto action_30+action_385 (90) = happyGoto action_171+action_385 (92) = happyGoto action_172+action_385 (94) = happyGoto action_95+action_385 (95) = happyGoto action_173+action_385 (97) = happyGoto action_174+action_385 (98) = happyGoto action_175+action_385 (99) = happyGoto action_176+action_385 (100) = happyGoto action_177+action_385 _ = happyFail++action_386 (106) = happyShift action_32+action_386 (108) = happyShift action_110+action_386 (109) = happyShift action_97+action_386 (111) = happyShift action_98+action_386 (129) = happyShift action_111+action_386 (37) = happyGoto action_617+action_386 (83) = happyGoto action_107+action_386 (85) = happyGoto action_30+action_386 (94) = happyGoto action_95+action_386 (97) = happyGoto action_108+action_386 (100) = happyGoto action_109+action_386 _ = happyFail++action_387 (112) = happyShift action_389+action_387 _ = happyReduce_154++action_388 (112) = happyShift action_616+action_388 _ = happyFail++action_389 (106) = happyShift action_32+action_389 (120) = happyShift action_368+action_389 (45) = happyGoto action_615+action_389 (83) = happyGoto action_367+action_389 (85) = happyGoto action_30+action_389 (94) = happyGoto action_95+action_389 _ = happyFail++action_390 _ = happyReduce_96++action_391 _ = happyReduce_312++action_392 (106) = happyShift action_32+action_392 (29) = happyGoto action_614+action_392 (83) = happyGoto action_134+action_392 (85) = happyGoto action_30+action_392 (94) = happyGoto action_95+action_392 _ = happyReduce_108++action_393 _ = happyReduce_143++action_394 (106) = happyShift action_269+action_394 (108) = happyShift action_110+action_394 (109) = happyShift action_97+action_394 (110) = happyShift action_178+action_394 (111) = happyShift action_98+action_394 (115) = happyShift action_270+action_394 (120) = happyShift action_179+action_394 (123) = happyShift action_180+action_394 (125) = happyShift action_181+action_394 (127) = happyShift action_182+action_394 (128) = happyShift action_183+action_394 (129) = happyShift action_184+action_394 (134) = happyShift action_185+action_394 (143) = happyShift action_186+action_394 (162) = happyShift action_187+action_394 (163) = happyShift action_188+action_394 (81) = happyGoto action_265+action_394 (83) = happyGoto action_170+action_394 (85) = happyGoto action_30+action_394 (87) = happyGoto action_613+action_394 (88) = happyGoto action_268+action_394 (90) = happyGoto action_171+action_394 (92) = happyGoto action_172+action_394 (94) = happyGoto action_95+action_394 (95) = happyGoto action_173+action_394 (97) = happyGoto action_174+action_394 (98) = happyGoto action_175+action_394 (99) = happyGoto action_176+action_394 (100) = happyGoto action_177+action_394 _ = happyFail++action_395 (106) = happyShift action_32+action_395 (94) = happyGoto action_612+action_395 _ = happyReduce_147++action_396 (201) = happyShift action_611+action_396 _ = happyFail++action_397 (106) = happyShift action_32+action_397 (109) = happyShift action_97+action_397 (111) = happyShift action_98+action_397 (164) = happyShift action_34+action_397 (165) = happyShift action_35+action_397 (187) = happyShift action_54+action_397 (188) = happyShift action_55+action_397 (189) = happyShift action_56+action_397 (191) = happyShift action_57+action_397 (192) = happyShift action_58+action_397 (194) = happyShift action_59+action_397 (195) = happyShift action_60+action_397 (196) = happyShift action_61+action_397 (197) = happyShift action_62+action_397 (198) = happyShift action_63+action_397 (200) = happyShift action_64+action_397 (201) = happyShift action_610+action_397 (202) = happyShift action_65+action_397 (203) = happyShift action_66+action_397 (204) = happyShift action_67+action_397 (205) = happyShift action_68+action_397 (206) = happyShift action_69+action_397 (207) = happyShift action_70+action_397 (209) = happyShift action_71+action_397 (210) = happyShift action_72+action_397 (211) = happyShift action_73+action_397 (212) = happyShift action_74+action_397 (213) = happyShift action_75+action_397 (225) = happyShift action_79+action_397 (226) = happyShift action_80+action_397 (227) = happyShift action_81+action_397 (228) = happyShift action_82+action_397 (229) = happyShift action_83+action_397 (230) = happyShift action_84+action_397 (231) = happyShift action_85+action_397 (232) = happyShift action_86+action_397 (233) = happyShift action_87+action_397 (29) = happyGoto action_24+action_397 (31) = happyGoto action_608+action_397 (83) = happyGoto action_29+action_397 (85) = happyGoto action_30+action_397 (94) = happyGoto action_31+action_397 (97) = happyGoto action_609+action_397 _ = happyFail++action_398 (112) = happyShift action_607+action_398 (125) = happyShift action_286+action_398 (126) = happyShift action_287+action_398 (127) = happyShift action_288+action_398 (128) = happyShift action_289+action_398 (129) = happyShift action_290+action_398 (130) = happyShift action_291+action_398 (132) = happyShift action_292+action_398 (133) = happyShift action_293+action_398 (135) = happyShift action_294+action_398 (136) = happyShift action_295+action_398 (137) = happyShift action_296+action_398 (138) = happyShift action_297+action_398 (139) = happyShift action_298+action_398 (140) = happyShift action_299+action_398 (141) = happyShift action_300+action_398 (142) = happyShift action_301+action_398 (93) = happyGoto action_285+action_398 _ = happyReduce_374++action_399 _ = happyReduce_122++action_400 (120) = happyShift action_606+action_400 _ = happyFail++action_401 (122) = happyShift action_605+action_401 (125) = happyShift action_286+action_401 (126) = happyShift action_287+action_401 (127) = happyShift action_288+action_401 (128) = happyShift action_289+action_401 (129) = happyShift action_290+action_401 (130) = happyShift action_291+action_401 (132) = happyShift action_292+action_401 (133) = happyShift action_293+action_401 (135) = happyShift action_294+action_401 (136) = happyShift action_295+action_401 (137) = happyShift action_296+action_401 (138) = happyShift action_297+action_401 (139) = happyShift action_298+action_401 (140) = happyShift action_299+action_401 (141) = happyShift action_300+action_401 (142) = happyShift action_301+action_401 (93) = happyGoto action_285+action_401 _ = happyFail++action_402 _ = happyReduce_137++action_403 (109) = happyShift action_97+action_403 (111) = happyShift action_98+action_403 (96) = happyGoto action_604+action_403 (97) = happyGoto action_350+action_403 _ = happyFail++action_404 (109) = happyShift action_97+action_404 (111) = happyShift action_98+action_404 (97) = happyGoto action_603+action_404 _ = happyFail++action_405 (112) = happyShift action_352+action_405 (66) = happyGoto action_602+action_405 _ = happyReduce_278++action_406 (106) = happyShift action_32+action_406 (83) = happyGoto action_600+action_406 (85) = happyGoto action_30+action_406 (94) = happyGoto action_95+action_406 _ = happyFail++action_407 _ = happyReduce_102++action_408 (106) = happyShift action_377+action_408 (41) = happyGoto action_601+action_408 (83) = happyGoto action_600+action_408 (85) = happyGoto action_30+action_408 (94) = happyGoto action_95+action_408 _ = happyFail++action_409 _ = happyReduce_103++action_410 (106) = happyShift action_377+action_410 (41) = happyGoto action_599+action_410 (83) = happyGoto action_600+action_410 (85) = happyGoto action_30+action_410 (94) = happyGoto action_95+action_410 _ = happyFail++action_411 _ = happyReduce_100++action_412 (130) = happyShift action_598+action_412 _ = happyFail++action_413 (106) = happyShift action_32+action_413 (84) = happyGoto action_597+action_413 (85) = happyGoto action_338+action_413 (94) = happyGoto action_95+action_413 _ = happyFail++action_414 (106) = happyShift action_32+action_414 (85) = happyGoto action_596+action_414 (94) = happyGoto action_95+action_414 _ = happyFail++action_415 (112) = happyShift action_414+action_415 _ = happyReduce_233++action_416 _ = happyReduce_228++action_417 (106) = happyShift action_32+action_417 (84) = happyGoto action_595+action_417 (85) = happyGoto action_338+action_417 (94) = happyGoto action_95+action_417 _ = happyFail++action_418 _ = happyReduce_86++action_419 (130) = happyShift action_420+action_419 (48) = happyGoto action_594+action_419 (71) = happyGoto action_417+action_419 _ = happyFail++action_420 (106) = happyShift action_32+action_420 (130) = happyShift action_593+action_420 (94) = happyGoto action_412+action_420 _ = happyFail++action_421 (106) = happyShift action_32+action_421 (84) = happyGoto action_592+action_421 (85) = happyGoto action_338+action_421 (94) = happyGoto action_95+action_421 _ = happyFail++action_422 _ = happyReduce_237++action_423 (106) = happyShift action_591+action_423 (57) = happyGoto action_589+action_423 (58) = happyGoto action_590+action_423 _ = happyFail++action_424 _ = happyReduce_83++action_425 (214) = happyShift action_16+action_425 (219) = happyShift action_17+action_425 (220) = happyShift action_18+action_425 (221) = happyShift action_19+action_425 (222) = happyShift action_20+action_425 (223) = happyShift action_21+action_425 (224) = happyShift action_22+action_425 (56) = happyGoto action_588+action_425 (77) = happyGoto action_336+action_425 _ = happyFail++action_426 (130) = happyShift action_587+action_426 _ = happyFail++action_427 _ = happyReduce_238++action_428 _ = happyReduce_84++action_429 (130) = happyShift action_333+action_429 (52) = happyGoto action_586+action_429 _ = happyFail++action_430 (112) = happyShift action_585+action_430 (125) = happyShift action_286+action_430 (126) = happyShift action_287+action_430 (127) = happyShift action_288+action_430 (128) = happyShift action_289+action_430 (129) = happyShift action_290+action_430 (130) = happyShift action_291+action_430 (132) = happyShift action_292+action_430 (133) = happyShift action_293+action_430 (135) = happyShift action_294+action_430 (136) = happyShift action_295+action_430 (137) = happyShift action_296+action_430 (138) = happyShift action_297+action_430 (139) = happyShift action_298+action_430 (140) = happyShift action_299+action_430 (141) = happyShift action_300+action_430 (142) = happyShift action_301+action_430 (93) = happyGoto action_285+action_430 _ = happyFail++action_431 (106) = happyShift action_32+action_431 (120) = happyShift action_330+action_431 (68) = happyGoto action_584+action_431 (83) = happyGoto action_328+action_431 (85) = happyGoto action_30+action_431 (90) = happyGoto action_329+action_431 (94) = happyGoto action_95+action_431 _ = happyFail++action_432 (106) = happyShift action_32+action_432 (108) = happyShift action_110+action_432 (109) = happyShift action_97+action_432 (110) = happyShift action_178+action_432 (111) = happyShift action_98+action_432 (120) = happyShift action_179+action_432 (123) = happyShift action_180+action_432 (125) = happyShift action_181+action_432 (127) = happyShift action_182+action_432 (128) = happyShift action_183+action_432 (129) = happyShift action_184+action_432 (134) = happyShift action_185+action_432 (143) = happyShift action_186+action_432 (162) = happyShift action_187+action_432 (163) = happyShift action_188+action_432 (81) = happyGoto action_281+action_432 (83) = happyGoto action_170+action_432 (85) = happyGoto action_30+action_432 (90) = happyGoto action_171+action_432 (91) = happyGoto action_583+action_432 (92) = happyGoto action_172+action_432 (94) = happyGoto action_95+action_432 (95) = happyGoto action_173+action_432 (97) = happyGoto action_174+action_432 (98) = happyGoto action_175+action_432 (99) = happyGoto action_176+action_432 (100) = happyGoto action_177+action_432 _ = happyFail++action_433 (106) = happyShift action_32+action_433 (120) = happyShift action_330+action_433 (67) = happyGoto action_582+action_433 (68) = happyGoto action_327+action_433 (83) = happyGoto action_328+action_433 (85) = happyGoto action_30+action_433 (90) = happyGoto action_329+action_433 (94) = happyGoto action_95+action_433 _ = happyFail++action_434 _ = happyReduce_80++action_435 (106) = happyShift action_32+action_435 (130) = happyShift action_323+action_435 (70) = happyGoto action_581+action_435 (71) = happyGoto action_321+action_435 (94) = happyGoto action_322+action_435 _ = happyFail++action_436 (106) = happyShift action_32+action_436 (108) = happyShift action_110+action_436 (109) = happyShift action_97+action_436 (110) = happyShift action_178+action_436 (111) = happyShift action_98+action_436 (120) = happyShift action_179+action_436 (123) = happyShift action_180+action_436 (125) = happyShift action_181+action_436 (127) = happyShift action_182+action_436 (128) = happyShift action_183+action_436 (129) = happyShift action_184+action_436 (134) = happyShift action_185+action_436 (143) = happyShift action_186+action_436 (162) = happyShift action_187+action_436 (163) = happyShift action_188+action_436 (81) = happyGoto action_580+action_436 (83) = happyGoto action_170+action_436 (85) = happyGoto action_30+action_436 (90) = happyGoto action_171+action_436 (92) = happyGoto action_172+action_436 (94) = happyGoto action_95+action_436 (95) = happyGoto action_173+action_436 (97) = happyGoto action_174+action_436 (98) = happyGoto action_175+action_436 (99) = happyGoto action_176+action_436 (100) = happyGoto action_177+action_436 _ = happyFail++action_437 (116) = happyShift action_155+action_437 (36) = happyGoto action_579+action_437 _ = happyReduce_183++action_438 _ = happyReduce_244++action_439 (106) = happyShift action_32+action_439 (108) = happyShift action_110+action_439 (109) = happyShift action_97+action_439 (110) = happyShift action_178+action_439 (111) = happyShift action_98+action_439 (120) = happyShift action_179+action_439 (123) = happyShift action_180+action_439 (125) = happyShift action_181+action_439 (127) = happyShift action_182+action_439 (128) = happyShift action_183+action_439 (129) = happyShift action_184+action_439 (134) = happyShift action_185+action_439 (143) = happyShift action_186+action_439 (162) = happyShift action_187+action_439 (163) = happyShift action_188+action_439 (81) = happyGoto action_578+action_439 (83) = happyGoto action_170+action_439 (85) = happyGoto action_30+action_439 (90) = happyGoto action_171+action_439 (92) = happyGoto action_172+action_439 (94) = happyGoto action_95+action_439 (95) = happyGoto action_173+action_439 (97) = happyGoto action_174+action_439 (98) = happyGoto action_175+action_439 (99) = happyGoto action_176+action_439 (100) = happyGoto action_177+action_439 _ = happyFail++action_440 (106) = happyShift action_32+action_440 (60) = happyGoto action_577+action_440 (94) = happyGoto action_309+action_440 _ = happyFail++action_441 _ = happyReduce_81++action_442 (106) = happyShift action_32+action_442 (94) = happyGoto action_576+action_442 _ = happyFail++action_443 (112) = happyShift action_312+action_443 (122) = happyShift action_575+action_443 _ = happyFail++action_444 (148) = happyShift action_304+action_444 (12) = happyGoto action_574+action_444 _ = happyReduce_27++action_445 (126) = happyShift action_287+action_445 (127) = happyShift action_288+action_445 (128) = happyShift action_289+action_445 (129) = happyShift action_290+action_445 (130) = happyShift action_291+action_445 (132) = happyShift action_292+action_445 (133) = happyShift action_293+action_445 (137) = happyShift action_296+action_445 (138) = happyShift action_297+action_445 (139) = happyShift action_298+action_445 (140) = happyShift action_299+action_445 (141) = happyShift action_300+action_445 (142) = happyShift action_301+action_445 (93) = happyGoto action_285+action_445 _ = happyReduce_338++action_446 (126) = happyShift action_287+action_446 (127) = happyShift action_288+action_446 (128) = happyShift action_289+action_446 (129) = happyShift action_290+action_446 (130) = happyShift action_291+action_446 (132) = happyShift action_292+action_446 (133) = happyShift action_293+action_446 (137) = happyShift action_296+action_446 (138) = happyShift action_297+action_446 (139) = happyShift action_298+action_446 (140) = happyShift action_299+action_446 (141) = happyShift action_300+action_446 (142) = happyShift action_301+action_446 (93) = happyGoto action_285+action_446 _ = happyReduce_337++action_447 (126) = happyShift action_287+action_447 (127) = happyShift action_288+action_447 (128) = happyShift action_289+action_447 (129) = happyShift action_290+action_447 (130) = happyShift action_291+action_447 (137) = happyShift action_296+action_447 (138) = happyShift action_297+action_447 (139) = happyShift action_298+action_447 (140) = happyShift action_299+action_447 (141) = happyShift action_300+action_447 (142) = happyShift action_301+action_447 (93) = happyGoto action_285+action_447 _ = happyReduce_335++action_448 (126) = happyShift action_287+action_448 (127) = happyShift action_288+action_448 (128) = happyShift action_289+action_448 (129) = happyShift action_290+action_448 (130) = happyShift action_291+action_448 (133) = happyShift action_293+action_448 (137) = happyShift action_296+action_448 (138) = happyShift action_297+action_448 (139) = happyShift action_298+action_448 (140) = happyShift action_299+action_448 (141) = happyShift action_300+action_448 (142) = happyShift action_301+action_448 (93) = happyGoto action_285+action_448 _ = happyReduce_334++action_449 (126) = happyShift action_287+action_449 (93) = happyGoto action_285+action_449 _ = happyReduce_330++action_450 (106) = happyShift action_32+action_450 (108) = happyShift action_110+action_450 (109) = happyShift action_97+action_450 (110) = happyShift action_178+action_450 (111) = happyShift action_98+action_450 (120) = happyShift action_179+action_450 (123) = happyShift action_180+action_450 (125) = happyShift action_181+action_450 (127) = happyShift action_182+action_450 (128) = happyShift action_183+action_450 (129) = happyShift action_184+action_450 (134) = happyShift action_185+action_450 (143) = happyShift action_186+action_450 (162) = happyShift action_187+action_450 (163) = happyShift action_188+action_450 (81) = happyGoto action_573+action_450 (83) = happyGoto action_170+action_450 (85) = happyGoto action_30+action_450 (90) = happyGoto action_171+action_450 (92) = happyGoto action_172+action_450 (94) = happyGoto action_95+action_450 (95) = happyGoto action_173+action_450 (97) = happyGoto action_174+action_450 (98) = happyGoto action_175+action_450 (99) = happyGoto action_176+action_450 (100) = happyGoto action_177+action_450 _ = happyFail++action_451 (126) = happyShift action_287+action_451 (93) = happyGoto action_285+action_451 _ = happyReduce_329++action_452 (126) = happyShift action_287+action_452 (129) = happyShift action_290+action_452 (130) = happyShift action_291+action_452 (93) = happyGoto action_285+action_452 _ = happyReduce_328++action_453 (126) = happyShift action_287+action_453 (129) = happyShift action_290+action_453 (130) = happyShift action_291+action_453 (93) = happyGoto action_285+action_453 _ = happyReduce_327++action_454 (126) = happyShift action_287+action_454 (93) = happyGoto action_285+action_454 _ = happyReduce_331++action_455 (126) = happyShift action_287+action_455 (127) = happyShift action_288+action_455 (128) = happyShift action_289+action_455 (129) = happyShift action_290+action_455 (130) = happyShift action_291+action_455 (132) = happyShift action_292+action_455 (133) = happyShift action_293+action_455 (135) = happyShift action_294+action_455 (136) = happyShift action_295+action_455 (137) = happyShift action_296+action_455 (138) = happyShift action_297+action_455 (139) = happyShift action_298+action_455 (140) = happyShift action_299+action_455 (141) = happyShift action_300+action_455 (142) = happyShift action_301+action_455 (93) = happyGoto action_285+action_455 _ = happyReduce_341++action_456 (126) = happyShift action_287+action_456 (127) = happyShift action_288+action_456 (128) = happyShift action_289+action_456 (129) = happyShift action_290+action_456 (130) = happyShift action_291+action_456 (93) = happyGoto action_285+action_456 _ = happyReduce_339++action_457 (106) = happyShift action_32+action_457 (108) = happyShift action_110+action_457 (109) = happyShift action_97+action_457 (110) = happyShift action_178+action_457 (111) = happyShift action_98+action_457 (120) = happyShift action_179+action_457 (123) = happyShift action_180+action_457 (125) = happyShift action_181+action_457 (127) = happyShift action_182+action_457 (128) = happyShift action_183+action_457 (129) = happyShift action_184+action_457 (134) = happyShift action_185+action_457 (143) = happyShift action_186+action_457 (162) = happyShift action_187+action_457 (163) = happyShift action_188+action_457 (29) = happyGoto action_133+action_457 (81) = happyGoto action_570+action_457 (83) = happyGoto action_571+action_457 (85) = happyGoto action_30+action_457 (89) = happyGoto action_572+action_457 (90) = happyGoto action_171+action_457 (92) = happyGoto action_172+action_457 (94) = happyGoto action_95+action_457 (95) = happyGoto action_173+action_457 (97) = happyGoto action_174+action_457 (98) = happyGoto action_175+action_457 (99) = happyGoto action_176+action_457 (100) = happyGoto action_177+action_457 _ = happyFail++action_458 _ = happyReduce_342++action_459 _ = happyReduce_349++action_460 (122) = happyShift action_569+action_460 _ = happyFail++action_461 (112) = happyShift action_567+action_461 (122) = happyShift action_568+action_461 _ = happyFail++action_462 _ = happyReduce_175++action_463 (125) = happyShift action_286+action_463 (126) = happyShift action_287+action_463 (127) = happyShift action_288+action_463 (128) = happyShift action_289+action_463 (129) = happyShift action_290+action_463 (130) = happyShift action_291+action_463 (132) = happyShift action_292+action_463 (133) = happyShift action_293+action_463 (135) = happyShift action_294+action_463 (136) = happyShift action_295+action_463 (137) = happyShift action_296+action_463 (138) = happyShift action_297+action_463 (139) = happyShift action_298+action_463 (140) = happyShift action_299+action_463 (141) = happyShift action_300+action_463 (142) = happyShift action_301+action_463 (93) = happyGoto action_285+action_463 _ = happyReduce_177++action_464 (117) = happyShift action_566+action_464 _ = happyReduce_388++action_465 _ = happyReduce_170++action_466 (112) = happyShift action_565+action_466 _ = happyReduce_90++action_467 _ = happyReduce_179++action_468 (118) = happyShift action_564+action_468 _ = happyReduce_181++action_469 (115) = happyShift action_563+action_469 _ = happyFail++action_470 (106) = happyShift action_32+action_470 (108) = happyShift action_110+action_470 (109) = happyShift action_97+action_470 (110) = happyShift action_178+action_470 (111) = happyShift action_98+action_470 (120) = happyShift action_179+action_470 (123) = happyShift action_180+action_470 (125) = happyShift action_181+action_470 (127) = happyShift action_182+action_470 (128) = happyShift action_183+action_470 (129) = happyShift action_184+action_470 (134) = happyShift action_185+action_470 (143) = happyShift action_186+action_470 (162) = happyShift action_187+action_470 (163) = happyShift action_188+action_470 (81) = happyGoto action_562+action_470 (83) = happyGoto action_170+action_470 (85) = happyGoto action_30+action_470 (90) = happyGoto action_171+action_470 (92) = happyGoto action_172+action_470 (94) = happyGoto action_95+action_470 (95) = happyGoto action_173+action_470 (97) = happyGoto action_174+action_470 (98) = happyGoto action_175+action_470 (99) = happyGoto action_176+action_470 (100) = happyGoto action_177+action_470 _ = happyFail++action_471 (106) = happyShift action_32+action_471 (108) = happyShift action_110+action_471 (109) = happyShift action_97+action_471 (110) = happyShift action_178+action_471 (111) = happyShift action_98+action_471 (120) = happyShift action_179+action_471 (123) = happyShift action_180+action_471 (125) = happyShift action_181+action_471 (127) = happyShift action_182+action_471 (128) = happyShift action_183+action_471 (129) = happyShift action_184+action_471 (134) = happyShift action_185+action_471 (143) = happyShift action_186+action_471 (162) = happyShift action_187+action_471 (163) = happyShift action_188+action_471 (81) = happyGoto action_561+action_471 (83) = happyGoto action_170+action_471 (85) = happyGoto action_30+action_471 (90) = happyGoto action_171+action_471 (92) = happyGoto action_172+action_471 (94) = happyGoto action_95+action_471 (95) = happyGoto action_173+action_471 (97) = happyGoto action_174+action_471 (98) = happyGoto action_175+action_471 (99) = happyGoto action_176+action_471 (100) = happyGoto action_177+action_471 _ = happyFail++action_472 _ = happyReduce_124++action_473 (120) = happyShift action_560+action_473 _ = happyFail++action_474 (125) = happyShift action_286+action_474 (126) = happyShift action_287+action_474 (127) = happyShift action_288+action_474 (128) = happyShift action_289+action_474 (129) = happyShift action_290+action_474 (130) = happyShift action_291+action_474 (132) = happyShift action_292+action_474 (133) = happyShift action_293+action_474 (135) = happyShift action_294+action_474 (136) = happyShift action_295+action_474 (137) = happyShift action_296+action_474 (138) = happyShift action_297+action_474 (139) = happyShift action_298+action_474 (140) = happyShift action_299+action_474 (141) = happyShift action_300+action_474 (142) = happyShift action_301+action_474 (93) = happyGoto action_285+action_474 _ = happyReduce_370++action_475 (106) = happyShift action_32+action_475 (108) = happyShift action_110+action_475 (109) = happyShift action_97+action_475 (110) = happyShift action_178+action_475 (111) = happyShift action_98+action_475 (120) = happyShift action_179+action_475 (123) = happyShift action_180+action_475 (125) = happyShift action_181+action_475 (127) = happyShift action_182+action_475 (128) = happyShift action_183+action_475 (129) = happyShift action_184+action_475 (134) = happyShift action_185+action_475 (143) = happyShift action_186+action_475 (162) = happyShift action_187+action_475 (163) = happyShift action_188+action_475 (81) = happyGoto action_559+action_475 (83) = happyGoto action_170+action_475 (85) = happyGoto action_30+action_475 (90) = happyGoto action_171+action_475 (92) = happyGoto action_172+action_475 (94) = happyGoto action_95+action_475 (95) = happyGoto action_173+action_475 (97) = happyGoto action_174+action_475 (98) = happyGoto action_175+action_475 (99) = happyGoto action_176+action_475 (100) = happyGoto action_177+action_475 _ = happyFail++action_476 (106) = happyShift action_32+action_476 (108) = happyShift action_110+action_476 (109) = happyShift action_97+action_476 (110) = happyShift action_178+action_476 (111) = happyShift action_98+action_476 (120) = happyShift action_179+action_476 (123) = happyShift action_180+action_476 (125) = happyShift action_181+action_476 (127) = happyShift action_182+action_476 (128) = happyShift action_183+action_476 (129) = happyShift action_184+action_476 (134) = happyShift action_185+action_476 (143) = happyShift action_186+action_476 (162) = happyShift action_187+action_476 (163) = happyShift action_188+action_476 (81) = happyGoto action_558+action_476 (83) = happyGoto action_170+action_476 (85) = happyGoto action_30+action_476 (90) = happyGoto action_171+action_476 (92) = happyGoto action_172+action_476 (94) = happyGoto action_95+action_476 (95) = happyGoto action_173+action_476 (97) = happyGoto action_174+action_476 (98) = happyGoto action_175+action_476 (99) = happyGoto action_176+action_476 (100) = happyGoto action_177+action_476 _ = happyFail++action_477 (120) = happyShift action_557+action_477 _ = happyReduce_361++action_478 (106) = happyShift action_32+action_478 (108) = happyShift action_110+action_478 (109) = happyShift action_97+action_478 (110) = happyShift action_178+action_478 (111) = happyShift action_98+action_478 (120) = happyShift action_179+action_478 (123) = happyShift action_180+action_478 (125) = happyShift action_181+action_478 (127) = happyShift action_182+action_478 (128) = happyShift action_183+action_478 (129) = happyShift action_184+action_478 (134) = happyShift action_185+action_478 (143) = happyShift action_186+action_478 (162) = happyShift action_187+action_478 (163) = happyShift action_188+action_478 (81) = happyGoto action_556+action_478 (83) = happyGoto action_170+action_478 (85) = happyGoto action_30+action_478 (90) = happyGoto action_171+action_478 (92) = happyGoto action_172+action_478 (94) = happyGoto action_95+action_478 (95) = happyGoto action_173+action_478 (97) = happyGoto action_174+action_478 (98) = happyGoto action_175+action_478 (99) = happyGoto action_176+action_478 (100) = happyGoto action_177+action_478 _ = happyReduce_371++action_479 (112) = happyShift action_259+action_479 _ = happyReduce_256++action_480 _ = happyReduce_258++action_481 _ = happyReduce_260++action_482 _ = happyReduce_261++action_483 _ = happyReduce_269++action_484 _ = happyReduce_262++action_485 (120) = happyShift action_555+action_485 _ = happyFail++action_486 _ = happyReduce_264++action_487 (120) = happyShift action_554+action_487 _ = happyFail++action_488 _ = happyReduce_266++action_489 _ = happyReduce_267++action_490 _ = happyReduce_268++action_491 _ = happyReduce_270++action_492 _ = happyReduce_271++action_493 _ = happyReduce_288++action_494 (125) = happyShift action_286+action_494 (126) = happyShift action_287+action_494 (127) = happyShift action_288+action_494 (128) = happyShift action_289+action_494 (129) = happyShift action_290+action_494 (130) = happyShift action_291+action_494 (132) = happyShift action_292+action_494 (133) = happyShift action_293+action_494 (135) = happyShift action_294+action_494 (136) = happyShift action_295+action_494 (137) = happyShift action_296+action_494 (138) = happyShift action_297+action_494 (139) = happyShift action_298+action_494 (140) = happyShift action_299+action_494 (141) = happyShift action_300+action_494 (142) = happyShift action_301+action_494 (93) = happyGoto action_285+action_494 _ = happyReduce_290++action_495 (125) = happyShift action_286+action_495 (126) = happyShift action_287+action_495 (127) = happyShift action_288+action_495 (128) = happyShift action_289+action_495 (129) = happyShift action_290+action_495 (130) = happyShift action_291+action_495 (132) = happyShift action_292+action_495 (133) = happyShift action_293+action_495 (135) = happyShift action_294+action_495 (136) = happyShift action_295+action_495 (137) = happyShift action_296+action_495 (138) = happyShift action_297+action_495 (139) = happyShift action_298+action_495 (140) = happyShift action_299+action_495 (141) = happyShift action_300+action_495 (142) = happyShift action_301+action_495 (93) = happyGoto action_285+action_495 _ = happyReduce_293++action_496 (106) = happyShift action_32+action_496 (108) = happyShift action_110+action_496 (109) = happyShift action_97+action_496 (110) = happyShift action_178+action_496 (111) = happyShift action_98+action_496 (120) = happyShift action_179+action_496 (123) = happyShift action_180+action_496 (125) = happyShift action_181+action_496 (127) = happyShift action_182+action_496 (128) = happyShift action_183+action_496 (129) = happyShift action_553+action_496 (134) = happyShift action_185+action_496 (143) = happyShift action_186+action_496 (162) = happyShift action_187+action_496 (163) = happyShift action_188+action_496 (81) = happyGoto action_283+action_496 (83) = happyGoto action_170+action_496 (85) = happyGoto action_30+action_496 (90) = happyGoto action_171+action_496 (92) = happyGoto action_172+action_496 (94) = happyGoto action_95+action_496 (95) = happyGoto action_173+action_496 (97) = happyGoto action_174+action_496 (98) = happyGoto action_175+action_496 (99) = happyGoto action_176+action_496 (100) = happyGoto action_177+action_496 _ = happyFail++action_497 (112) = happyShift action_551+action_497 (122) = happyShift action_552+action_497 _ = happyFail++action_498 _ = happyReduce_299++action_499 (115) = happyShift action_550+action_499 (125) = happyShift action_286+action_499 (126) = happyShift action_287+action_499 (127) = happyShift action_288+action_499 (128) = happyShift action_289+action_499 (129) = happyShift action_290+action_499 (130) = happyShift action_291+action_499 (132) = happyShift action_292+action_499 (133) = happyShift action_293+action_499 (135) = happyShift action_294+action_499 (136) = happyShift action_295+action_499 (137) = happyShift action_296+action_499 (138) = happyShift action_297+action_499 (139) = happyShift action_298+action_499 (140) = happyShift action_299+action_499 (141) = happyShift action_300+action_499 (142) = happyShift action_301+action_499 (93) = happyGoto action_285+action_499 _ = happyReduce_301++action_500 _ = happyReduce_305++action_501 (109) = happyShift action_97+action_501 (111) = happyShift action_98+action_501 (97) = happyGoto action_279+action_501 _ = happyReduce_304++action_502 (106) = happyShift action_32+action_502 (108) = happyShift action_110+action_502 (109) = happyShift action_97+action_502 (110) = happyShift action_178+action_502 (111) = happyShift action_98+action_502 (120) = happyShift action_179+action_502 (123) = happyShift action_180+action_502 (125) = happyShift action_181+action_502 (127) = happyShift action_182+action_502 (128) = happyShift action_183+action_502 (129) = happyShift action_184+action_502 (134) = happyShift action_185+action_502 (143) = happyShift action_186+action_502 (162) = happyShift action_187+action_502 (163) = happyShift action_188+action_502 (81) = happyGoto action_549+action_502 (83) = happyGoto action_170+action_502 (85) = happyGoto action_30+action_502 (90) = happyGoto action_171+action_502 (92) = happyGoto action_172+action_502 (94) = happyGoto action_95+action_502 (95) = happyGoto action_173+action_502 (97) = happyGoto action_174+action_502 (98) = happyGoto action_175+action_502 (99) = happyGoto action_176+action_502 (100) = happyGoto action_177+action_502 _ = happyFail++action_503 _ = happyReduce_313++action_504 (106) = happyShift action_32+action_504 (108) = happyShift action_110+action_504 (109) = happyShift action_97+action_504 (110) = happyShift action_178+action_504 (111) = happyShift action_98+action_504 (120) = happyShift action_179+action_504 (123) = happyShift action_180+action_504 (125) = happyShift action_181+action_504 (127) = happyShift action_182+action_504 (128) = happyShift action_183+action_504 (129) = happyShift action_251+action_504 (134) = happyShift action_185+action_504 (143) = happyShift action_186+action_504 (162) = happyShift action_187+action_504 (163) = happyShift action_188+action_504 (80) = happyGoto action_548+action_504 (81) = happyGoto action_250+action_504 (83) = happyGoto action_170+action_504 (85) = happyGoto action_30+action_504 (90) = happyGoto action_171+action_504 (92) = happyGoto action_172+action_504 (94) = happyGoto action_95+action_504 (95) = happyGoto action_173+action_504 (97) = happyGoto action_174+action_504 (98) = happyGoto action_175+action_504 (99) = happyGoto action_176+action_504 (100) = happyGoto action_177+action_504 _ = happyFail++action_505 (106) = happyShift action_32+action_505 (108) = happyShift action_110+action_505 (109) = happyShift action_97+action_505 (110) = happyShift action_178+action_505 (111) = happyShift action_98+action_505 (120) = happyShift action_179+action_505 (123) = happyShift action_180+action_505 (125) = happyShift action_181+action_505 (127) = happyShift action_182+action_505 (128) = happyShift action_183+action_505 (129) = happyShift action_184+action_505 (134) = happyShift action_185+action_505 (143) = happyShift action_186+action_505 (162) = happyShift action_187+action_505 (163) = happyShift action_188+action_505 (81) = happyGoto action_547+action_505 (83) = happyGoto action_170+action_505 (85) = happyGoto action_30+action_505 (90) = happyGoto action_171+action_505 (92) = happyGoto action_172+action_505 (94) = happyGoto action_95+action_505 (95) = happyGoto action_173+action_505 (97) = happyGoto action_174+action_505 (98) = happyGoto action_175+action_505 (99) = happyGoto action_176+action_505 (100) = happyGoto action_177+action_505 _ = happyFail++action_506 (106) = happyShift action_32+action_506 (108) = happyShift action_110+action_506 (109) = happyShift action_97+action_506 (110) = happyShift action_178+action_506 (111) = happyShift action_98+action_506 (120) = happyShift action_179+action_506 (123) = happyShift action_180+action_506 (125) = happyShift action_181+action_506 (127) = happyShift action_182+action_506 (128) = happyShift action_183+action_506 (129) = happyShift action_184+action_506 (134) = happyShift action_185+action_506 (143) = happyShift action_186+action_506 (162) = happyShift action_187+action_506 (163) = happyShift action_188+action_506 (217) = happyShift action_546+action_506 (81) = happyGoto action_545+action_506 (83) = happyGoto action_170+action_506 (85) = happyGoto action_30+action_506 (90) = happyGoto action_171+action_506 (92) = happyGoto action_172+action_506 (94) = happyGoto action_95+action_506 (95) = happyGoto action_173+action_506 (97) = happyGoto action_174+action_506 (98) = happyGoto action_175+action_506 (99) = happyGoto action_176+action_506 (100) = happyGoto action_177+action_506 _ = happyFail++action_507 _ = happyReduce_318++action_508 (109) = happyShift action_97+action_508 (111) = happyShift action_98+action_508 (122) = happyShift action_544+action_508 (97) = happyGoto action_279+action_508 _ = happyFail++action_509 (106) = happyShift action_32+action_509 (107) = happyShift action_9+action_509 (109) = happyShift action_97+action_509 (111) = happyShift action_98+action_509 (156) = happyShift action_532+action_509 (157) = happyShift action_33+action_509 (159) = happyShift action_244+action_509 (164) = happyShift action_34+action_509 (165) = happyShift action_35+action_509 (166) = happyShift action_36+action_509 (167) = happyShift action_37+action_509 (168) = happyShift action_38+action_509 (169) = happyShift action_39+action_509 (170) = happyShift action_40+action_509 (171) = happyShift action_41+action_509 (172) = happyShift action_42+action_509 (173) = happyShift action_43+action_509 (174) = happyShift action_44+action_509 (175) = happyShift action_45+action_509 (176) = happyShift action_46+action_509 (177) = happyShift action_47+action_509 (178) = happyShift action_48+action_509 (182) = happyShift action_49+action_509 (183) = happyShift action_50+action_509 (184) = happyShift action_51+action_509 (185) = happyShift action_52+action_509 (186) = happyShift action_53+action_509 (187) = happyShift action_54+action_509 (188) = happyShift action_55+action_509 (189) = happyShift action_56+action_509 (191) = happyShift action_57+action_509 (192) = happyShift action_58+action_509 (194) = happyShift action_59+action_509 (195) = happyShift action_60+action_509 (196) = happyShift action_61+action_509 (197) = happyShift action_62+action_509 (198) = happyShift action_63+action_509 (200) = happyShift action_64+action_509 (202) = happyShift action_65+action_509 (203) = happyShift action_66+action_509 (204) = happyShift action_67+action_509 (205) = happyShift action_68+action_509 (206) = happyShift action_69+action_509 (207) = happyShift action_70+action_509 (209) = happyShift action_71+action_509 (210) = happyShift action_72+action_509 (211) = happyShift action_73+action_509 (212) = happyShift action_74+action_509 (213) = happyShift action_75+action_509 (214) = happyShift action_76+action_509 (215) = happyShift action_77+action_509 (216) = happyShift action_78+action_509 (219) = happyShift action_17+action_509 (220) = happyShift action_18+action_509 (221) = happyShift action_19+action_509 (222) = happyShift action_20+action_509 (223) = happyShift action_21+action_509 (224) = happyShift action_22+action_509 (225) = happyShift action_79+action_509 (226) = happyShift action_80+action_509 (227) = happyShift action_81+action_509 (228) = happyShift action_82+action_509 (229) = happyShift action_83+action_509 (230) = happyShift action_84+action_509 (231) = happyShift action_85+action_509 (232) = happyShift action_86+action_509 (233) = happyShift action_87+action_509 (8) = happyGoto action_543+action_509 (20) = happyGoto action_516+action_509 (26) = happyGoto action_241+action_509 (28) = happyGoto action_242+action_509 (29) = happyGoto action_24+action_509 (30) = happyGoto action_25+action_509 (31) = happyGoto action_26+action_509 (61) = happyGoto action_27+action_509 (77) = happyGoto action_28+action_509 (83) = happyGoto action_29+action_509 (85) = happyGoto action_30+action_509 (94) = happyGoto action_31+action_509 (97) = happyGoto action_243+action_509 _ = happyReduce_14++action_510 (106) = happyShift action_32+action_510 (107) = happyShift action_9+action_510 (109) = happyShift action_97+action_510 (111) = happyShift action_98+action_510 (153) = happyShift action_517+action_510 (157) = happyShift action_33+action_510 (159) = happyShift action_244+action_510 (164) = happyShift action_34+action_510 (165) = happyShift action_35+action_510 (166) = happyShift action_36+action_510 (167) = happyShift action_37+action_510 (168) = happyShift action_38+action_510 (169) = happyShift action_39+action_510 (170) = happyShift action_40+action_510 (171) = happyShift action_41+action_510 (172) = happyShift action_42+action_510 (173) = happyShift action_43+action_510 (174) = happyShift action_44+action_510 (175) = happyShift action_45+action_510 (176) = happyShift action_46+action_510 (177) = happyShift action_47+action_510 (178) = happyShift action_48+action_510 (182) = happyShift action_49+action_510 (183) = happyShift action_50+action_510 (184) = happyShift action_51+action_510 (185) = happyShift action_52+action_510 (186) = happyShift action_53+action_510 (187) = happyShift action_54+action_510 (188) = happyShift action_55+action_510 (189) = happyShift action_56+action_510 (191) = happyShift action_57+action_510 (192) = happyShift action_58+action_510 (194) = happyShift action_59+action_510 (195) = happyShift action_60+action_510 (196) = happyShift action_61+action_510 (197) = happyShift action_62+action_510 (198) = happyShift action_63+action_510 (200) = happyShift action_64+action_510 (202) = happyShift action_65+action_510 (203) = happyShift action_66+action_510 (204) = happyShift action_67+action_510 (205) = happyShift action_68+action_510 (206) = happyShift action_69+action_510 (207) = happyShift action_70+action_510 (209) = happyShift action_71+action_510 (210) = happyShift action_72+action_510 (211) = happyShift action_73+action_510 (212) = happyShift action_74+action_510 (213) = happyShift action_75+action_510 (214) = happyShift action_76+action_510 (215) = happyShift action_77+action_510 (216) = happyShift action_78+action_510 (219) = happyShift action_17+action_510 (220) = happyShift action_18+action_510 (221) = happyShift action_19+action_510 (222) = happyShift action_20+action_510 (223) = happyShift action_21+action_510 (224) = happyShift action_22+action_510 (225) = happyShift action_79+action_510 (226) = happyShift action_80+action_510 (227) = happyShift action_81+action_510 (228) = happyShift action_82+action_510 (229) = happyShift action_83+action_510 (230) = happyShift action_84+action_510 (231) = happyShift action_85+action_510 (232) = happyShift action_86+action_510 (233) = happyShift action_87+action_510 (234) = happyShift action_518+action_510 (17) = happyGoto action_542+action_510 (20) = happyGoto action_516+action_510 (26) = happyGoto action_241+action_510 (28) = happyGoto action_242+action_510 (29) = happyGoto action_24+action_510 (30) = happyGoto action_25+action_510 (31) = happyGoto action_26+action_510 (61) = happyGoto action_27+action_510 (77) = happyGoto action_28+action_510 (83) = happyGoto action_29+action_510 (85) = happyGoto action_30+action_510 (94) = happyGoto action_31+action_510 (97) = happyGoto action_243+action_510 _ = happyFail++action_511 (114) = happyShift action_213+action_511 (125) = happyShift action_286+action_511 (126) = happyShift action_287+action_511 (127) = happyShift action_288+action_511 (128) = happyShift action_289+action_511 (129) = happyShift action_290+action_511 (130) = happyShift action_291+action_511 (132) = happyShift action_292+action_511 (133) = happyShift action_293+action_511 (135) = happyShift action_294+action_511 (136) = happyShift action_295+action_511 (137) = happyShift action_296+action_511 (138) = happyShift action_297+action_511 (139) = happyShift action_298+action_511 (140) = happyShift action_299+action_511 (141) = happyShift action_300+action_511 (142) = happyShift action_301+action_511 (235) = happyShift action_214+action_511 (27) = happyGoto action_541+action_511 (93) = happyGoto action_285+action_511 _ = happyFail++action_512 (107) = happyShift action_514+action_512 (21) = happyGoto action_540+action_512 _ = happyReduce_52++action_513 (114) = happyShift action_213+action_513 (235) = happyShift action_214+action_513 (27) = happyGoto action_539+action_513 _ = happyFail++action_514 _ = happyReduce_51++action_515 _ = happyReduce_10++action_516 _ = happyReduce_44++action_517 (106) = happyShift action_538+action_517 _ = happyReduce_41++action_518 _ = happyReduce_40++action_519 (106) = happyShift action_32+action_519 (107) = happyShift action_9+action_519 (109) = happyShift action_97+action_519 (111) = happyShift action_98+action_519 (114) = happyShift action_228+action_519 (157) = happyShift action_33+action_519 (159) = happyShift action_244+action_519 (164) = happyShift action_34+action_519 (165) = happyShift action_35+action_519 (166) = happyShift action_36+action_519 (167) = happyShift action_37+action_519 (168) = happyShift action_38+action_519 (169) = happyShift action_39+action_519 (170) = happyShift action_40+action_519 (171) = happyShift action_41+action_519 (172) = happyShift action_42+action_519 (173) = happyShift action_43+action_519 (174) = happyShift action_44+action_519 (175) = happyShift action_45+action_519 (176) = happyShift action_46+action_519 (177) = happyShift action_47+action_519 (178) = happyShift action_48+action_519 (182) = happyShift action_49+action_519 (183) = happyShift action_50+action_519 (184) = happyShift action_51+action_519 (185) = happyShift action_52+action_519 (186) = happyShift action_53+action_519 (187) = happyShift action_54+action_519 (188) = happyShift action_55+action_519 (189) = happyShift action_56+action_519 (191) = happyShift action_57+action_519 (192) = happyShift action_58+action_519 (194) = happyShift action_59+action_519 (195) = happyShift action_60+action_519 (196) = happyShift action_61+action_519 (197) = happyShift action_62+action_519 (198) = happyShift action_63+action_519 (200) = happyShift action_64+action_519 (202) = happyShift action_65+action_519 (203) = happyShift action_66+action_519 (204) = happyShift action_67+action_519 (205) = happyShift action_68+action_519 (206) = happyShift action_69+action_519 (207) = happyShift action_70+action_519 (209) = happyShift action_71+action_519 (210) = happyShift action_72+action_519 (211) = happyShift action_73+action_519 (212) = happyShift action_74+action_519 (213) = happyShift action_75+action_519 (214) = happyShift action_76+action_519 (215) = happyShift action_77+action_519 (216) = happyShift action_78+action_519 (219) = happyShift action_17+action_519 (220) = happyShift action_18+action_519 (221) = happyShift action_19+action_519 (222) = happyShift action_20+action_519 (223) = happyShift action_21+action_519 (224) = happyShift action_22+action_519 (225) = happyShift action_79+action_519 (226) = happyShift action_80+action_519 (227) = happyShift action_81+action_519 (228) = happyShift action_82+action_519 (229) = happyShift action_83+action_519 (230) = happyShift action_84+action_519 (231) = happyShift action_85+action_519 (232) = happyShift action_86+action_519 (233) = happyShift action_87+action_519 (235) = happyShift action_229+action_519 (19) = happyGoto action_537+action_519 (20) = happyGoto action_240+action_519 (26) = happyGoto action_241+action_519 (28) = happyGoto action_242+action_519 (29) = happyGoto action_24+action_519 (30) = happyGoto action_25+action_519 (31) = happyGoto action_26+action_519 (61) = happyGoto action_27+action_519 (77) = happyGoto action_28+action_519 (83) = happyGoto action_29+action_519 (85) = happyGoto action_30+action_519 (94) = happyGoto action_31+action_519 (97) = happyGoto action_243+action_519 _ = happyFail++action_520 (120) = happyShift action_235+action_520 (11) = happyGoto action_536+action_520 _ = happyReduce_25++action_521 (114) = happyShift action_213+action_521 (235) = happyShift action_214+action_521 (27) = happyGoto action_535+action_521 _ = happyFail++action_522 (122) = happyShift action_534+action_522 _ = happyFail++action_523 (112) = happyShift action_312+action_523 _ = happyReduce_242++action_524 (114) = happyShift action_213+action_524 (235) = happyShift action_214+action_524 (27) = happyGoto action_533+action_524 _ = happyFail++action_525 (106) = happyShift action_32+action_525 (107) = happyShift action_9+action_525 (109) = happyShift action_97+action_525 (111) = happyShift action_98+action_525 (156) = happyShift action_532+action_525 (157) = happyShift action_33+action_525 (159) = happyShift action_244+action_525 (164) = happyShift action_34+action_525 (165) = happyShift action_35+action_525 (166) = happyShift action_36+action_525 (167) = happyShift action_37+action_525 (168) = happyShift action_38+action_525 (169) = happyShift action_39+action_525 (170) = happyShift action_40+action_525 (171) = happyShift action_41+action_525 (172) = happyShift action_42+action_525 (173) = happyShift action_43+action_525 (174) = happyShift action_44+action_525 (175) = happyShift action_45+action_525 (176) = happyShift action_46+action_525 (177) = happyShift action_47+action_525 (178) = happyShift action_48+action_525 (182) = happyShift action_49+action_525 (183) = happyShift action_50+action_525 (184) = happyShift action_51+action_525 (185) = happyShift action_52+action_525 (186) = happyShift action_53+action_525 (187) = happyShift action_54+action_525 (188) = happyShift action_55+action_525 (189) = happyShift action_56+action_525 (191) = happyShift action_57+action_525 (192) = happyShift action_58+action_525 (194) = happyShift action_59+action_525 (195) = happyShift action_60+action_525 (196) = happyShift action_61+action_525 (197) = happyShift action_62+action_525 (198) = happyShift action_63+action_525 (200) = happyShift action_64+action_525 (202) = happyShift action_65+action_525 (203) = happyShift action_66+action_525 (204) = happyShift action_67+action_525 (205) = happyShift action_68+action_525 (206) = happyShift action_69+action_525 (207) = happyShift action_70+action_525 (209) = happyShift action_71+action_525 (210) = happyShift action_72+action_525 (211) = happyShift action_73+action_525 (212) = happyShift action_74+action_525 (213) = happyShift action_75+action_525 (214) = happyShift action_76+action_525 (215) = happyShift action_77+action_525 (216) = happyShift action_78+action_525 (219) = happyShift action_17+action_525 (220) = happyShift action_18+action_525 (221) = happyShift action_19+action_525 (222) = happyShift action_20+action_525 (223) = happyShift action_21+action_525 (224) = happyShift action_22+action_525 (225) = happyShift action_79+action_525 (226) = happyShift action_80+action_525 (227) = happyShift action_81+action_525 (228) = happyShift action_82+action_525 (229) = happyShift action_83+action_525 (230) = happyShift action_84+action_525 (231) = happyShift action_85+action_525 (232) = happyShift action_86+action_525 (233) = happyShift action_87+action_525 (8) = happyGoto action_531+action_525 (20) = happyGoto action_516+action_525 (26) = happyGoto action_241+action_525 (28) = happyGoto action_242+action_525 (29) = happyGoto action_24+action_525 (30) = happyGoto action_25+action_525 (31) = happyGoto action_26+action_525 (61) = happyGoto action_27+action_525 (77) = happyGoto action_28+action_525 (83) = happyGoto action_29+action_525 (85) = happyGoto action_30+action_525 (94) = happyGoto action_31+action_525 (97) = happyGoto action_243+action_525 _ = happyReduce_14++action_526 (148) = happyShift action_304+action_526 (12) = happyGoto action_530+action_526 _ = happyReduce_27++action_527 (120) = happyShift action_235+action_527 (11) = happyGoto action_529+action_527 _ = happyReduce_25++action_528 (114) = happyShift action_228+action_528 (235) = happyShift action_229+action_528 _ = happyReduce_5++action_529 (148) = happyShift action_304+action_529 (12) = happyGoto action_715+action_529 _ = happyReduce_27++action_530 (114) = happyShift action_213+action_530 (235) = happyShift action_214+action_530 (27) = happyGoto action_714+action_530 _ = happyFail++action_531 (145) = happyShift action_712+action_531 (234) = happyShift action_713+action_531 (13) = happyGoto action_711+action_531 _ = happyFail++action_532 (114) = happyShift action_213+action_532 (235) = happyShift action_214+action_532 (27) = happyGoto action_710+action_532 _ = happyFail++action_533 (106) = happyShift action_32+action_533 (107) = happyShift action_9+action_533 (109) = happyShift action_97+action_533 (111) = happyShift action_98+action_533 (114) = happyShift action_228+action_533 (157) = happyShift action_33+action_533 (159) = happyShift action_244+action_533 (164) = happyShift action_34+action_533 (165) = happyShift action_35+action_533 (166) = happyShift action_36+action_533 (167) = happyShift action_37+action_533 (168) = happyShift action_38+action_533 (169) = happyShift action_39+action_533 (170) = happyShift action_40+action_533 (171) = happyShift action_41+action_533 (172) = happyShift action_42+action_533 (173) = happyShift action_43+action_533 (174) = happyShift action_44+action_533 (175) = happyShift action_45+action_533 (176) = happyShift action_46+action_533 (177) = happyShift action_47+action_533 (178) = happyShift action_48+action_533 (182) = happyShift action_49+action_533 (183) = happyShift action_50+action_533 (184) = happyShift action_51+action_533 (185) = happyShift action_52+action_533 (186) = happyShift action_53+action_533 (187) = happyShift action_54+action_533 (188) = happyShift action_55+action_533 (189) = happyShift action_56+action_533 (191) = happyShift action_57+action_533 (192) = happyShift action_58+action_533 (194) = happyShift action_59+action_533 (195) = happyShift action_60+action_533 (196) = happyShift action_61+action_533 (197) = happyShift action_62+action_533 (198) = happyShift action_63+action_533 (200) = happyShift action_64+action_533 (202) = happyShift action_65+action_533 (203) = happyShift action_66+action_533 (204) = happyShift action_67+action_533 (205) = happyShift action_68+action_533 (206) = happyShift action_69+action_533 (207) = happyShift action_70+action_533 (209) = happyShift action_71+action_533 (210) = happyShift action_72+action_533 (211) = happyShift action_73+action_533 (212) = happyShift action_74+action_533 (213) = happyShift action_75+action_533 (214) = happyShift action_76+action_533 (215) = happyShift action_77+action_533 (216) = happyShift action_78+action_533 (219) = happyShift action_17+action_533 (220) = happyShift action_18+action_533 (221) = happyShift action_19+action_533 (222) = happyShift action_20+action_533 (223) = happyShift action_21+action_533 (224) = happyShift action_22+action_533 (225) = happyShift action_79+action_533 (226) = happyShift action_80+action_533 (227) = happyShift action_81+action_533 (228) = happyShift action_82+action_533 (229) = happyShift action_83+action_533 (230) = happyShift action_84+action_533 (231) = happyShift action_85+action_533 (232) = happyShift action_86+action_533 (233) = happyShift action_87+action_533 (235) = happyShift action_229+action_533 (19) = happyGoto action_709+action_533 (20) = happyGoto action_240+action_533 (26) = happyGoto action_241+action_533 (28) = happyGoto action_242+action_533 (29) = happyGoto action_24+action_533 (30) = happyGoto action_25+action_533 (31) = happyGoto action_26+action_533 (61) = happyGoto action_27+action_533 (77) = happyGoto action_28+action_533 (83) = happyGoto action_29+action_533 (85) = happyGoto action_30+action_533 (94) = happyGoto action_31+action_533 (97) = happyGoto action_243+action_533 _ = happyFail++action_534 _ = happyReduce_24++action_535 (106) = happyShift action_32+action_535 (107) = happyShift action_9+action_535 (109) = happyShift action_97+action_535 (111) = happyShift action_98+action_535 (114) = happyShift action_228+action_535 (157) = happyShift action_33+action_535 (159) = happyShift action_244+action_535 (164) = happyShift action_34+action_535 (165) = happyShift action_35+action_535 (166) = happyShift action_36+action_535 (167) = happyShift action_37+action_535 (168) = happyShift action_38+action_535 (169) = happyShift action_39+action_535 (170) = happyShift action_40+action_535 (171) = happyShift action_41+action_535 (172) = happyShift action_42+action_535 (173) = happyShift action_43+action_535 (174) = happyShift action_44+action_535 (175) = happyShift action_45+action_535 (176) = happyShift action_46+action_535 (177) = happyShift action_47+action_535 (178) = happyShift action_48+action_535 (182) = happyShift action_49+action_535 (183) = happyShift action_50+action_535 (184) = happyShift action_51+action_535 (185) = happyShift action_52+action_535 (186) = happyShift action_53+action_535 (187) = happyShift action_54+action_535 (188) = happyShift action_55+action_535 (189) = happyShift action_56+action_535 (191) = happyShift action_57+action_535 (192) = happyShift action_58+action_535 (194) = happyShift action_59+action_535 (195) = happyShift action_60+action_535 (196) = happyShift action_61+action_535 (197) = happyShift action_62+action_535 (198) = happyShift action_63+action_535 (200) = happyShift action_64+action_535 (202) = happyShift action_65+action_535 (203) = happyShift action_66+action_535 (204) = happyShift action_67+action_535 (205) = happyShift action_68+action_535 (206) = happyShift action_69+action_535 (207) = happyShift action_70+action_535 (209) = happyShift action_71+action_535 (210) = happyShift action_72+action_535 (211) = happyShift action_73+action_535 (212) = happyShift action_74+action_535 (213) = happyShift action_75+action_535 (214) = happyShift action_76+action_535 (215) = happyShift action_77+action_535 (216) = happyShift action_78+action_535 (219) = happyShift action_17+action_535 (220) = happyShift action_18+action_535 (221) = happyShift action_19+action_535 (222) = happyShift action_20+action_535 (223) = happyShift action_21+action_535 (224) = happyShift action_22+action_535 (225) = happyShift action_79+action_535 (226) = happyShift action_80+action_535 (227) = happyShift action_81+action_535 (228) = happyShift action_82+action_535 (229) = happyShift action_83+action_535 (230) = happyShift action_84+action_535 (231) = happyShift action_85+action_535 (232) = happyShift action_86+action_535 (233) = happyShift action_87+action_535 (235) = happyShift action_229+action_535 (19) = happyGoto action_708+action_535 (20) = happyGoto action_240+action_535 (26) = happyGoto action_241+action_535 (28) = happyGoto action_242+action_535 (29) = happyGoto action_24+action_535 (30) = happyGoto action_25+action_535 (31) = happyGoto action_26+action_535 (61) = happyGoto action_27+action_535 (77) = happyGoto action_28+action_535 (83) = happyGoto action_29+action_535 (85) = happyGoto action_30+action_535 (94) = happyGoto action_31+action_535 (97) = happyGoto action_243+action_535 _ = happyFail++action_536 (148) = happyShift action_304+action_536 (12) = happyGoto action_707+action_536 _ = happyReduce_27++action_537 (106) = happyShift action_32+action_537 (107) = happyShift action_9+action_537 (109) = happyShift action_97+action_537 (111) = happyShift action_98+action_537 (156) = happyShift action_532+action_537 (157) = happyShift action_33+action_537 (159) = happyShift action_244+action_537 (164) = happyShift action_34+action_537 (165) = happyShift action_35+action_537 (166) = happyShift action_36+action_537 (167) = happyShift action_37+action_537 (168) = happyShift action_38+action_537 (169) = happyShift action_39+action_537 (170) = happyShift action_40+action_537 (171) = happyShift action_41+action_537 (172) = happyShift action_42+action_537 (173) = happyShift action_43+action_537 (174) = happyShift action_44+action_537 (175) = happyShift action_45+action_537 (176) = happyShift action_46+action_537 (177) = happyShift action_47+action_537 (178) = happyShift action_48+action_537 (182) = happyShift action_49+action_537 (183) = happyShift action_50+action_537 (184) = happyShift action_51+action_537 (185) = happyShift action_52+action_537 (186) = happyShift action_53+action_537 (187) = happyShift action_54+action_537 (188) = happyShift action_55+action_537 (189) = happyShift action_56+action_537 (191) = happyShift action_57+action_537 (192) = happyShift action_58+action_537 (194) = happyShift action_59+action_537 (195) = happyShift action_60+action_537 (196) = happyShift action_61+action_537 (197) = happyShift action_62+action_537 (198) = happyShift action_63+action_537 (200) = happyShift action_64+action_537 (202) = happyShift action_65+action_537 (203) = happyShift action_66+action_537 (204) = happyShift action_67+action_537 (205) = happyShift action_68+action_537 (206) = happyShift action_69+action_537 (207) = happyShift action_70+action_537 (209) = happyShift action_71+action_537 (210) = happyShift action_72+action_537 (211) = happyShift action_73+action_537 (212) = happyShift action_74+action_537 (213) = happyShift action_75+action_537 (214) = happyShift action_76+action_537 (215) = happyShift action_77+action_537 (216) = happyShift action_78+action_537 (219) = happyShift action_17+action_537 (220) = happyShift action_18+action_537 (221) = happyShift action_19+action_537 (222) = happyShift action_20+action_537 (223) = happyShift action_21+action_537 (224) = happyShift action_22+action_537 (225) = happyShift action_79+action_537 (226) = happyShift action_80+action_537 (227) = happyShift action_81+action_537 (228) = happyShift action_82+action_537 (229) = happyShift action_83+action_537 (230) = happyShift action_84+action_537 (231) = happyShift action_85+action_537 (232) = happyShift action_86+action_537 (233) = happyShift action_87+action_537 (8) = happyGoto action_706+action_537 (20) = happyGoto action_516+action_537 (26) = happyGoto action_241+action_537 (28) = happyGoto action_242+action_537 (29) = happyGoto action_24+action_537 (30) = happyGoto action_25+action_537 (31) = happyGoto action_26+action_537 (61) = happyGoto action_27+action_537 (77) = happyGoto action_28+action_537 (83) = happyGoto action_29+action_537 (85) = happyGoto action_30+action_537 (94) = happyGoto action_31+action_537 (97) = happyGoto action_243+action_537 _ = happyReduce_14++action_538 _ = happyReduce_42++action_539 (114) = happyShift action_228+action_539 (235) = happyShift action_229+action_539 _ = happyReduce_47++action_540 (114) = happyShift action_213+action_540 (235) = happyShift action_214+action_540 (27) = happyGoto action_705+action_540 _ = happyFail++action_541 (114) = happyShift action_228+action_541 (160) = happyReduce_55+action_541 (161) = happyReduce_55+action_541 (235) = happyShift action_229+action_541 (9) = happyGoto action_702+action_541 (22) = happyGoto action_703+action_541 (23) = happyGoto action_704+action_541 _ = happyReduce_17++action_542 _ = happyReduce_11++action_543 (155) = happyShift action_700+action_543 (234) = happyShift action_701+action_543 (14) = happyGoto action_699+action_543 _ = happyFail++action_544 _ = happyReduce_317++action_545 (122) = happyShift action_698+action_545 (125) = happyShift action_286+action_545 (126) = happyShift action_287+action_545 (127) = happyShift action_288+action_545 (128) = happyShift action_289+action_545 (129) = happyShift action_290+action_545 (130) = happyShift action_291+action_545 (132) = happyShift action_292+action_545 (133) = happyShift action_293+action_545 (135) = happyShift action_294+action_545 (136) = happyShift action_295+action_545 (137) = happyShift action_296+action_545 (138) = happyShift action_297+action_545 (139) = happyShift action_298+action_545 (140) = happyShift action_299+action_545 (141) = happyShift action_300+action_545 (142) = happyShift action_301+action_545 (93) = happyGoto action_285+action_545 _ = happyFail++action_546 (117) = happyShift action_697+action_546 _ = happyFail++action_547 (112) = happyShift action_696+action_547 (125) = happyShift action_286+action_547 (126) = happyShift action_287+action_547 (127) = happyShift action_288+action_547 (128) = happyShift action_289+action_547 (129) = happyShift action_290+action_547 (130) = happyShift action_291+action_547 (132) = happyShift action_292+action_547 (133) = happyShift action_293+action_547 (135) = happyShift action_294+action_547 (136) = happyShift action_295+action_547 (137) = happyShift action_296+action_547 (138) = happyShift action_297+action_547 (139) = happyShift action_298+action_547 (140) = happyShift action_299+action_547 (141) = happyShift action_300+action_547 (142) = happyShift action_301+action_547 (93) = happyGoto action_285+action_547 _ = happyFail++action_548 (112) = happyShift action_694+action_548 (122) = happyShift action_695+action_548 _ = happyFail++action_549 (122) = happyShift action_693+action_549 (125) = happyShift action_286+action_549 (126) = happyShift action_287+action_549 (127) = happyShift action_288+action_549 (128) = happyShift action_289+action_549 (129) = happyShift action_290+action_549 (130) = happyShift action_291+action_549 (132) = happyShift action_292+action_549 (133) = happyShift action_293+action_549 (135) = happyShift action_294+action_549 (136) = happyShift action_295+action_549 (137) = happyShift action_296+action_549 (138) = happyShift action_297+action_549 (139) = happyShift action_298+action_549 (140) = happyShift action_299+action_549 (141) = happyShift action_300+action_549 (142) = happyShift action_301+action_549 (93) = happyGoto action_285+action_549 _ = happyFail++action_550 (106) = happyShift action_32+action_550 (108) = happyShift action_110+action_550 (109) = happyShift action_97+action_550 (110) = happyShift action_178+action_550 (111) = happyShift action_98+action_550 (120) = happyShift action_179+action_550 (123) = happyShift action_180+action_550 (125) = happyShift action_181+action_550 (127) = happyShift action_182+action_550 (128) = happyShift action_183+action_550 (129) = happyShift action_692+action_550 (134) = happyShift action_185+action_550 (143) = happyShift action_186+action_550 (162) = happyShift action_187+action_550 (163) = happyShift action_188+action_550 (81) = happyGoto action_691+action_550 (83) = happyGoto action_170+action_550 (85) = happyGoto action_30+action_550 (90) = happyGoto action_171+action_550 (92) = happyGoto action_172+action_550 (94) = happyGoto action_95+action_550 (95) = happyGoto action_173+action_550 (97) = happyGoto action_174+action_550 (98) = happyGoto action_175+action_550 (99) = happyGoto action_176+action_550 (100) = happyGoto action_177+action_550 _ = happyReduce_302++action_551 (106) = happyShift action_32+action_551 (108) = happyShift action_110+action_551 (109) = happyShift action_97+action_551 (110) = happyShift action_178+action_551 (111) = happyShift action_98+action_551 (115) = happyShift action_500+action_551 (120) = happyShift action_179+action_551 (123) = happyShift action_180+action_551 (125) = happyShift action_181+action_551 (127) = happyShift action_182+action_551 (128) = happyShift action_183+action_551 (129) = happyShift action_501+action_551 (134) = happyShift action_185+action_551 (143) = happyShift action_186+action_551 (162) = happyShift action_187+action_551 (163) = happyShift action_188+action_551 (76) = happyGoto action_690+action_551 (81) = happyGoto action_499+action_551 (83) = happyGoto action_170+action_551 (85) = happyGoto action_30+action_551 (90) = happyGoto action_171+action_551 (92) = happyGoto action_172+action_551 (94) = happyGoto action_95+action_551 (95) = happyGoto action_173+action_551 (97) = happyGoto action_174+action_551 (98) = happyGoto action_175+action_551 (99) = happyGoto action_176+action_551 (100) = happyGoto action_177+action_551 _ = happyFail++action_552 (129) = happyShift action_689+action_552 _ = happyReduce_295++action_553 (109) = happyShift action_97+action_553 (111) = happyShift action_98+action_553 (122) = happyShift action_688+action_553 (97) = happyGoto action_279+action_553 _ = happyFail++action_554 (179) = happyShift action_314+action_554 (180) = happyShift action_315+action_554 (181) = happyShift action_316+action_554 (64) = happyGoto action_687+action_554 _ = happyFail++action_555 (106) = happyShift action_32+action_555 (108) = happyShift action_110+action_555 (109) = happyShift action_97+action_555 (110) = happyShift action_178+action_555 (111) = happyShift action_98+action_555 (115) = happyShift action_500+action_555 (120) = happyShift action_179+action_555 (123) = happyShift action_180+action_555 (125) = happyShift action_181+action_555 (127) = happyShift action_182+action_555 (128) = happyShift action_183+action_555 (129) = happyShift action_501+action_555 (134) = happyShift action_185+action_555 (143) = happyShift action_186+action_555 (162) = happyShift action_187+action_555 (163) = happyShift action_188+action_555 (75) = happyGoto action_686+action_555 (76) = happyGoto action_498+action_555 (81) = happyGoto action_499+action_555 (83) = happyGoto action_170+action_555 (85) = happyGoto action_30+action_555 (90) = happyGoto action_171+action_555 (92) = happyGoto action_172+action_555 (94) = happyGoto action_95+action_555 (95) = happyGoto action_173+action_555 (97) = happyGoto action_174+action_555 (98) = happyGoto action_175+action_555 (99) = happyGoto action_176+action_555 (100) = happyGoto action_177+action_555 _ = happyFail++action_556 (125) = happyShift action_286+action_556 (126) = happyShift action_287+action_556 (127) = happyShift action_288+action_556 (128) = happyShift action_289+action_556 (129) = happyShift action_290+action_556 (130) = happyShift action_291+action_556 (132) = happyShift action_292+action_556 (133) = happyShift action_293+action_556 (135) = happyShift action_294+action_556 (136) = happyShift action_295+action_556 (137) = happyShift action_296+action_556 (138) = happyShift action_297+action_556 (139) = happyShift action_298+action_556 (140) = happyShift action_299+action_556 (141) = happyShift action_300+action_556 (142) = happyShift action_301+action_556 (93) = happyGoto action_285+action_556 _ = happyReduce_372++action_557 (106) = happyShift action_269+action_557 (108) = happyShift action_110+action_557 (109) = happyShift action_97+action_557 (110) = happyShift action_178+action_557 (111) = happyShift action_98+action_557 (115) = happyShift action_270+action_557 (120) = happyShift action_179+action_557 (123) = happyShift action_180+action_557 (125) = happyShift action_181+action_557 (127) = happyShift action_182+action_557 (128) = happyShift action_183+action_557 (129) = happyShift action_184+action_557 (134) = happyShift action_185+action_557 (143) = happyShift action_186+action_557 (162) = happyShift action_187+action_557 (163) = happyShift action_188+action_557 (81) = happyGoto action_265+action_557 (83) = happyGoto action_170+action_557 (85) = happyGoto action_30+action_557 (86) = happyGoto action_685+action_557 (87) = happyGoto action_267+action_557 (88) = happyGoto action_268+action_557 (90) = happyGoto action_171+action_557 (92) = happyGoto action_172+action_557 (94) = happyGoto action_95+action_557 (95) = happyGoto action_173+action_557 (97) = happyGoto action_174+action_557 (98) = happyGoto action_175+action_557 (99) = happyGoto action_176+action_557 (100) = happyGoto action_177+action_557 _ = happyFail++action_558 (125) = happyShift action_286+action_558 (126) = happyShift action_287+action_558 (127) = happyShift action_288+action_558 (128) = happyShift action_289+action_558 (129) = happyShift action_290+action_558 (130) = happyShift action_291+action_558 (132) = happyShift action_292+action_558 (133) = happyShift action_293+action_558 (135) = happyShift action_294+action_558 (136) = happyShift action_295+action_558 (137) = happyShift action_296+action_558 (138) = happyShift action_297+action_558 (139) = happyShift action_298+action_558 (140) = happyShift action_299+action_558 (141) = happyShift action_300+action_558 (142) = happyShift action_301+action_558 (93) = happyGoto action_285+action_558 _ = happyReduce_366++action_559 (125) = happyShift action_286+action_559 (126) = happyShift action_287+action_559 (127) = happyShift action_288+action_559 (128) = happyShift action_289+action_559 (129) = happyShift action_290+action_559 (130) = happyShift action_291+action_559 (132) = happyShift action_292+action_559 (133) = happyShift action_293+action_559 (135) = happyShift action_294+action_559 (136) = happyShift action_295+action_559 (137) = happyShift action_296+action_559 (138) = happyShift action_297+action_559 (139) = happyShift action_298+action_559 (140) = happyShift action_299+action_559 (141) = happyShift action_300+action_559 (142) = happyShift action_301+action_559 (93) = happyGoto action_285+action_559 _ = happyReduce_368++action_560 (106) = happyShift action_32+action_560 (108) = happyShift action_110+action_560 (109) = happyShift action_97+action_560 (110) = happyShift action_178+action_560 (111) = happyShift action_98+action_560 (120) = happyShift action_179+action_560 (123) = happyShift action_180+action_560 (125) = happyShift action_181+action_560 (127) = happyShift action_182+action_560 (128) = happyShift action_183+action_560 (129) = happyShift action_184+action_560 (134) = happyShift action_185+action_560 (143) = happyShift action_186+action_560 (162) = happyShift action_187+action_560 (163) = happyShift action_188+action_560 (81) = happyGoto action_684+action_560 (83) = happyGoto action_170+action_560 (85) = happyGoto action_30+action_560 (90) = happyGoto action_171+action_560 (92) = happyGoto action_172+action_560 (94) = happyGoto action_95+action_560 (95) = happyGoto action_173+action_560 (97) = happyGoto action_174+action_560 (98) = happyGoto action_175+action_560 (99) = happyGoto action_176+action_560 (100) = happyGoto action_177+action_560 _ = happyFail++action_561 (122) = happyShift action_683+action_561 (125) = happyShift action_286+action_561 (126) = happyShift action_287+action_561 (127) = happyShift action_288+action_561 (128) = happyShift action_289+action_561 (129) = happyShift action_290+action_561 (130) = happyShift action_291+action_561 (132) = happyShift action_292+action_561 (133) = happyShift action_293+action_561 (135) = happyShift action_294+action_561 (136) = happyShift action_295+action_561 (137) = happyShift action_296+action_561 (138) = happyShift action_297+action_561 (139) = happyShift action_298+action_561 (140) = happyShift action_299+action_561 (141) = happyShift action_300+action_561 (142) = happyShift action_301+action_561 (93) = happyGoto action_285+action_561 _ = happyFail++action_562 (122) = happyShift action_682+action_562 (125) = happyShift action_286+action_562 (126) = happyShift action_287+action_562 (127) = happyShift action_288+action_562 (128) = happyShift action_289+action_562 (129) = happyShift action_290+action_562 (130) = happyShift action_291+action_562 (132) = happyShift action_292+action_562 (133) = happyShift action_293+action_562 (135) = happyShift action_294+action_562 (136) = happyShift action_295+action_562 (137) = happyShift action_296+action_562 (138) = happyShift action_297+action_562 (139) = happyShift action_298+action_562 (140) = happyShift action_299+action_562 (141) = happyShift action_300+action_562 (142) = happyShift action_301+action_562 (93) = happyGoto action_285+action_562 _ = happyFail++action_563 (106) = happyShift action_32+action_563 (34) = happyGoto action_681+action_563 (35) = happyGoto action_467+action_563 (94) = happyGoto action_468+action_563 _ = happyFail++action_564 (106) = happyShift action_32+action_564 (94) = happyGoto action_680+action_564 _ = happyFail++action_565 (106) = happyShift action_32+action_565 (35) = happyGoto action_679+action_565 (94) = happyGoto action_468+action_565 _ = happyFail++action_566 (106) = happyShift action_32+action_566 (108) = happyShift action_110+action_566 (109) = happyShift action_97+action_566 (110) = happyShift action_178+action_566 (111) = happyShift action_98+action_566 (120) = happyShift action_179+action_566 (123) = happyShift action_180+action_566 (125) = happyShift action_181+action_566 (127) = happyShift action_182+action_566 (128) = happyShift action_183+action_566 (129) = happyShift action_184+action_566 (134) = happyShift action_185+action_566 (143) = happyShift action_186+action_566 (162) = happyShift action_187+action_566 (163) = happyShift action_188+action_566 (81) = happyGoto action_678+action_566 (83) = happyGoto action_170+action_566 (85) = happyGoto action_30+action_566 (90) = happyGoto action_171+action_566 (92) = happyGoto action_172+action_566 (94) = happyGoto action_95+action_566 (95) = happyGoto action_173+action_566 (97) = happyGoto action_174+action_566 (98) = happyGoto action_175+action_566 (99) = happyGoto action_176+action_566 (100) = happyGoto action_177+action_566 _ = happyFail++action_567 (106) = happyShift action_464+action_567 (108) = happyShift action_110+action_567 (109) = happyShift action_97+action_567 (110) = happyShift action_178+action_567 (111) = happyShift action_98+action_567 (120) = happyShift action_179+action_567 (123) = happyShift action_180+action_567 (125) = happyShift action_181+action_567 (127) = happyShift action_182+action_567 (128) = happyShift action_183+action_567 (129) = happyShift action_184+action_567 (134) = happyShift action_185+action_567 (143) = happyShift action_186+action_567 (162) = happyShift action_187+action_567 (163) = happyShift action_188+action_567 (33) = happyGoto action_677+action_567 (81) = happyGoto action_463+action_567 (83) = happyGoto action_170+action_567 (85) = happyGoto action_30+action_567 (90) = happyGoto action_171+action_567 (92) = happyGoto action_172+action_567 (94) = happyGoto action_95+action_567 (95) = happyGoto action_173+action_567 (97) = happyGoto action_174+action_567 (98) = happyGoto action_175+action_567 (99) = happyGoto action_176+action_567 (100) = happyGoto action_177+action_567 _ = happyFail++action_568 _ = happyReduce_171++action_569 _ = happyReduce_350++action_570 (112) = happyShift action_675+action_570 (122) = happyShift action_676+action_570 (125) = happyShift action_286+action_570 (126) = happyShift action_287+action_570 (127) = happyShift action_288+action_570 (128) = happyShift action_289+action_570 (129) = happyShift action_290+action_570 (130) = happyShift action_291+action_570 (132) = happyShift action_292+action_570 (133) = happyShift action_293+action_570 (135) = happyShift action_294+action_570 (136) = happyShift action_295+action_570 (137) = happyShift action_296+action_570 (138) = happyShift action_297+action_570 (139) = happyShift action_298+action_570 (140) = happyShift action_299+action_570 (141) = happyShift action_300+action_570 (142) = happyShift action_301+action_570 (93) = happyGoto action_285+action_570 _ = happyFail++action_571 (117) = happyShift action_193+action_571 (119) = happyShift action_195+action_571 _ = happyReduce_347++action_572 (122) = happyShift action_674+action_572 _ = happyFail++action_573 (126) = happyShift action_287+action_573 (127) = happyShift action_288+action_573 (128) = happyShift action_289+action_573 (129) = happyShift action_290+action_573 (130) = happyShift action_291+action_573 (93) = happyGoto action_285+action_573 _ = happyReduce_332++action_574 _ = happyReduce_93++action_575 (148) = happyShift action_304+action_575 (12) = happyGoto action_673+action_575 _ = happyReduce_27++action_576 (122) = happyShift action_672+action_576 _ = happyFail++action_577 _ = happyReduce_253++action_578 (125) = happyShift action_286+action_578 (126) = happyShift action_287+action_578 (127) = happyShift action_288+action_578 (128) = happyShift action_289+action_578 (129) = happyShift action_290+action_578 (130) = happyShift action_291+action_578 (132) = happyShift action_292+action_578 (133) = happyShift action_293+action_578 (135) = happyShift action_294+action_578 (136) = happyShift action_295+action_578 (137) = happyShift action_296+action_578 (138) = happyShift action_297+action_578 (139) = happyShift action_298+action_578 (140) = happyShift action_299+action_578 (141) = happyShift action_300+action_578 (142) = happyShift action_301+action_578 (93) = happyGoto action_285+action_578 _ = happyReduce_255++action_579 (106) = happyShift action_32+action_579 (108) = happyShift action_110+action_579 (109) = happyShift action_97+action_579 (110) = happyShift action_178+action_579 (111) = happyShift action_98+action_579 (120) = happyShift action_179+action_579 (123) = happyShift action_180+action_579 (125) = happyShift action_181+action_579 (127) = happyShift action_182+action_579 (128) = happyShift action_183+action_579 (129) = happyShift action_184+action_579 (134) = happyShift action_185+action_579 (143) = happyShift action_186+action_579 (162) = happyShift action_187+action_579 (163) = happyShift action_188+action_579 (81) = happyGoto action_281+action_579 (83) = happyGoto action_170+action_579 (85) = happyGoto action_30+action_579 (90) = happyGoto action_171+action_579 (91) = happyGoto action_671+action_579 (92) = happyGoto action_172+action_579 (94) = happyGoto action_95+action_579 (95) = happyGoto action_173+action_579 (97) = happyGoto action_174+action_579 (98) = happyGoto action_175+action_579 (99) = happyGoto action_176+action_579 (100) = happyGoto action_177+action_579 _ = happyFail++action_580 (125) = happyShift action_286+action_580 (126) = happyShift action_287+action_580 (127) = happyShift action_288+action_580 (128) = happyShift action_289+action_580 (129) = happyShift action_290+action_580 (130) = happyShift action_291+action_580 (132) = happyShift action_292+action_580 (133) = happyShift action_293+action_580 (135) = happyShift action_294+action_580 (136) = happyShift action_295+action_580 (137) = happyShift action_296+action_580 (138) = happyShift action_297+action_580 (139) = happyShift action_298+action_580 (140) = happyShift action_299+action_580 (141) = happyShift action_300+action_580 (142) = happyShift action_301+action_580 (93) = happyGoto action_285+action_580 _ = happyReduce_378++action_581 _ = happyReduce_283++action_582 (112) = happyShift action_431+action_582 (131) = happyShift action_670+action_582 _ = happyFail++action_583 (112) = happyShift action_436+action_583 (131) = happyShift action_669+action_583 _ = happyFail++action_584 _ = happyReduce_279++action_585 (106) = happyShift action_32+action_585 (108) = happyShift action_110+action_585 (109) = happyShift action_97+action_585 (110) = happyShift action_178+action_585 (111) = happyShift action_98+action_585 (120) = happyShift action_179+action_585 (123) = happyShift action_180+action_585 (125) = happyShift action_181+action_585 (127) = happyShift action_182+action_585 (128) = happyShift action_183+action_585 (129) = happyShift action_184+action_585 (134) = happyShift action_185+action_585 (143) = happyShift action_186+action_585 (162) = happyShift action_187+action_585 (163) = happyShift action_188+action_585 (29) = happyGoto action_133+action_585 (81) = happyGoto action_668+action_585 (83) = happyGoto action_571+action_585 (85) = happyGoto action_30+action_585 (89) = happyGoto action_572+action_585 (90) = happyGoto action_171+action_585 (92) = happyGoto action_172+action_585 (94) = happyGoto action_95+action_585 (95) = happyGoto action_173+action_585 (97) = happyGoto action_174+action_585 (98) = happyGoto action_175+action_585 (99) = happyGoto action_176+action_585 (100) = happyGoto action_177+action_585 _ = happyFail++action_586 _ = happyReduce_239++action_587 (106) = happyShift action_32+action_587 (54) = happyGoto action_667+action_587 (94) = happyGoto action_160+action_587 _ = happyFail++action_588 _ = happyReduce_246++action_589 (112) = happyShift action_665+action_589 (122) = happyShift action_666+action_589 _ = happyFail++action_590 _ = happyReduce_250++action_591 (128) = happyShift action_664+action_591 _ = happyReduce_251++action_592 (112) = happyShift action_414+action_592 (122) = happyShift action_663+action_592 _ = happyFail++action_593 (106) = happyShift action_32+action_593 (84) = happyGoto action_662+action_593 (85) = happyGoto action_338+action_593 (94) = happyGoto action_95+action_593 _ = happyFail++action_594 _ = happyReduce_229++action_595 (112) = happyShift action_414+action_595 _ = happyReduce_231++action_596 _ = happyReduce_357++action_597 (112) = happyShift action_414+action_597 _ = happyReduce_234++action_598 _ = happyReduce_287++action_599 (122) = happyShift action_661+action_599 _ = happyFail++action_600 (119) = happyShift action_195+action_600 _ = happyReduce_353++action_601 (122) = happyShift action_660+action_601 _ = happyFail++action_602 (106) = happyShift action_32+action_602 (108) = happyShift action_110+action_602 (109) = happyShift action_97+action_602 (110) = happyShift action_178+action_602 (111) = happyShift action_98+action_602 (120) = happyShift action_179+action_602 (123) = happyShift action_180+action_602 (125) = happyShift action_181+action_602 (127) = happyShift action_182+action_602 (128) = happyShift action_183+action_602 (129) = happyShift action_184+action_602 (134) = happyShift action_185+action_602 (143) = happyShift action_186+action_602 (162) = happyShift action_187+action_602 (163) = happyShift action_188+action_602 (81) = happyGoto action_659+action_602 (83) = happyGoto action_170+action_602 (85) = happyGoto action_30+action_602 (90) = happyGoto action_171+action_602 (92) = happyGoto action_172+action_602 (94) = happyGoto action_95+action_602 (95) = happyGoto action_173+action_602 (97) = happyGoto action_174+action_602 (98) = happyGoto action_175+action_602 (99) = happyGoto action_176+action_602 (100) = happyGoto action_177+action_602 _ = happyFail++action_603 _ = happyReduce_391++action_604 (112) = happyShift action_404+action_604 (122) = happyShift action_658+action_604 _ = happyFail++action_605 _ = happyReduce_126++action_606 (106) = happyShift action_32+action_606 (108) = happyShift action_110+action_606 (109) = happyShift action_97+action_606 (110) = happyShift action_178+action_606 (111) = happyShift action_98+action_606 (120) = happyShift action_179+action_606 (123) = happyShift action_180+action_606 (125) = happyShift action_181+action_606 (127) = happyShift action_182+action_606 (128) = happyShift action_183+action_606 (129) = happyShift action_184+action_606 (134) = happyShift action_185+action_606 (143) = happyShift action_186+action_606 (162) = happyShift action_187+action_606 (163) = happyShift action_188+action_606 (81) = happyGoto action_657+action_606 (83) = happyGoto action_170+action_606 (85) = happyGoto action_30+action_606 (90) = happyGoto action_171+action_606 (92) = happyGoto action_172+action_606 (94) = happyGoto action_95+action_606 (95) = happyGoto action_173+action_606 (97) = happyGoto action_174+action_606 (98) = happyGoto action_175+action_606 (99) = happyGoto action_176+action_606 (100) = happyGoto action_177+action_606 _ = happyFail++action_607 (106) = happyShift action_32+action_607 (108) = happyShift action_110+action_607 (109) = happyShift action_97+action_607 (110) = happyShift action_178+action_607 (111) = happyShift action_98+action_607 (120) = happyShift action_179+action_607 (123) = happyShift action_180+action_607 (125) = happyShift action_181+action_607 (127) = happyShift action_182+action_607 (128) = happyShift action_183+action_607 (129) = happyShift action_184+action_607 (134) = happyShift action_185+action_607 (143) = happyShift action_186+action_607 (162) = happyShift action_187+action_607 (163) = happyShift action_188+action_607 (81) = happyGoto action_656+action_607 (83) = happyGoto action_170+action_607 (85) = happyGoto action_30+action_607 (90) = happyGoto action_171+action_607 (92) = happyGoto action_172+action_607 (94) = happyGoto action_95+action_607 (95) = happyGoto action_173+action_607 (97) = happyGoto action_174+action_607 (98) = happyGoto action_175+action_607 (99) = happyGoto action_176+action_607 (100) = happyGoto action_177+action_607 _ = happyFail++action_608 _ = happyReduce_151++action_609 (112) = happyShift action_655+action_609 _ = happyFail++action_610 _ = happyReduce_112++action_611 (106) = happyShift action_32+action_611 (94) = happyGoto action_654+action_611 _ = happyReduce_114++action_612 _ = happyReduce_148++action_613 _ = happyReduce_363++action_614 _ = happyReduce_107++action_615 _ = happyReduce_222++action_616 (106) = happyShift action_32+action_616 (120) = happyShift action_368+action_616 (29) = happyGoto action_133+action_616 (45) = happyGoto action_615+action_616 (83) = happyGoto action_652+action_616 (85) = happyGoto action_30+action_616 (89) = happyGoto action_653+action_616 (94) = happyGoto action_95+action_616 _ = happyFail++action_617 (130) = happyShift action_370+action_617 _ = happyReduce_184++action_618 (125) = happyShift action_286+action_618 (126) = happyShift action_287+action_618 (127) = happyShift action_288+action_618 (128) = happyShift action_289+action_618 (129) = happyShift action_290+action_618 (130) = happyShift action_291+action_618 (132) = happyShift action_292+action_618 (133) = happyShift action_293+action_618 (135) = happyShift action_294+action_618 (136) = happyShift action_295+action_618 (137) = happyShift action_296+action_618 (138) = happyShift action_297+action_618 (139) = happyShift action_298+action_618 (140) = happyShift action_299+action_618 (141) = happyShift action_300+action_618 (142) = happyShift action_301+action_618 (93) = happyGoto action_285+action_618 _ = happyReduce_226++action_619 (112) = happyShift action_650+action_619 (122) = happyShift action_651+action_619 (130) = happyShift action_370+action_619 _ = happyFail++action_620 (112) = happyShift action_380+action_620 (122) = happyShift action_649+action_620 _ = happyFail++action_621 _ = happyReduce_197++action_622 (117) = happyShift action_379+action_622 _ = happyFail++action_623 _ = happyReduce_199++action_624 (125) = happyShift action_639+action_624 (126) = happyShift action_640+action_624 (127) = happyShift action_641+action_624 (128) = happyShift action_642+action_624 (129) = happyShift action_643+action_624 (130) = happyShift action_644+action_624 (132) = happyShift action_645+action_624 (133) = happyShift action_646+action_624 (135) = happyShift action_647+action_624 (136) = happyShift action_648+action_624 (137) = happyShift action_296+action_624 (138) = happyShift action_297+action_624 (139) = happyShift action_298+action_624 (140) = happyShift action_299+action_624 (141) = happyShift action_300+action_624 (142) = happyShift action_301+action_624 (93) = happyGoto action_638+action_624 _ = happyReduce_200++action_625 (119) = happyShift action_195+action_625 _ = happyReduce_221++action_626 (106) = happyShift action_32+action_626 (108) = happyShift action_110+action_626 (109) = happyShift action_97+action_626 (111) = happyShift action_98+action_626 (120) = happyShift action_630+action_626 (125) = happyShift action_631+action_626 (127) = happyShift action_182+action_626 (128) = happyShift action_183+action_626 (134) = happyShift action_633+action_626 (143) = happyShift action_186+action_626 (43) = happyGoto action_637+action_626 (83) = happyGoto action_625+action_626 (85) = happyGoto action_30+action_626 (92) = happyGoto action_626+action_626 (94) = happyGoto action_95+action_626 (97) = happyGoto action_627+action_626 (99) = happyGoto action_628+action_626 (100) = happyGoto action_629+action_626 _ = happyFail++action_627 _ = happyReduce_218++action_628 _ = happyReduce_219++action_629 _ = happyReduce_220++action_630 (106) = happyShift action_32+action_630 (108) = happyShift action_110+action_630 (109) = happyShift action_97+action_630 (111) = happyShift action_98+action_630 (120) = happyShift action_630+action_630 (125) = happyShift action_631+action_630 (127) = happyShift action_182+action_630 (128) = happyShift action_183+action_630 (134) = happyShift action_633+action_630 (143) = happyShift action_186+action_630 (43) = happyGoto action_636+action_630 (83) = happyGoto action_625+action_630 (85) = happyGoto action_30+action_630 (92) = happyGoto action_626+action_630 (94) = happyGoto action_95+action_630 (97) = happyGoto action_627+action_630 (99) = happyGoto action_628+action_630 (100) = happyGoto action_629+action_630 _ = happyFail++action_631 (106) = happyShift action_32+action_631 (108) = happyShift action_110+action_631 (109) = happyShift action_97+action_631 (111) = happyShift action_98+action_631 (120) = happyShift action_630+action_631 (125) = happyShift action_631+action_631 (127) = happyShift action_182+action_631 (128) = happyShift action_183+action_631 (134) = happyShift action_633+action_631 (143) = happyShift action_186+action_631 (43) = happyGoto action_635+action_631 (83) = happyGoto action_625+action_631 (85) = happyGoto action_30+action_631 (92) = happyGoto action_626+action_631 (94) = happyGoto action_95+action_631 (97) = happyGoto action_627+action_631 (99) = happyGoto action_628+action_631 (100) = happyGoto action_629+action_631 _ = happyFail++action_632 _ = happyReduce_201++action_633 (106) = happyShift action_32+action_633 (108) = happyShift action_110+action_633 (109) = happyShift action_97+action_633 (111) = happyShift action_98+action_633 (120) = happyShift action_630+action_633 (125) = happyShift action_631+action_633 (127) = happyShift action_182+action_633 (128) = happyShift action_183+action_633 (134) = happyShift action_633+action_633 (143) = happyShift action_186+action_633 (43) = happyGoto action_634+action_633 (83) = happyGoto action_625+action_633 (85) = happyGoto action_30+action_633 (92) = happyGoto action_626+action_633 (94) = happyGoto action_95+action_633 (97) = happyGoto action_627+action_633 (99) = happyGoto action_628+action_633 (100) = happyGoto action_629+action_633 _ = happyFail++action_634 (126) = happyShift action_640+action_634 (127) = happyShift action_641+action_634 (128) = happyShift action_642+action_634 (129) = happyShift action_643+action_634 (130) = happyShift action_644+action_634 (137) = happyShift action_296+action_634 (138) = happyShift action_297+action_634 (139) = happyShift action_298+action_634 (140) = happyShift action_299+action_634 (141) = happyShift action_300+action_634 (142) = happyShift action_301+action_634 (93) = happyGoto action_638+action_634 _ = happyReduce_211++action_635 (93) = happyGoto action_638+action_635 _ = happyReduce_215++action_636 (122) = happyShift action_764+action_636 (125) = happyShift action_639+action_636 (126) = happyShift action_640+action_636 (127) = happyShift action_641+action_636 (128) = happyShift action_642+action_636 (129) = happyShift action_643+action_636 (130) = happyShift action_644+action_636 (132) = happyShift action_645+action_636 (133) = happyShift action_646+action_636 (135) = happyShift action_647+action_636 (136) = happyShift action_648+action_636 (137) = happyShift action_296+action_636 (138) = happyShift action_297+action_636 (139) = happyShift action_298+action_636 (140) = happyShift action_299+action_636 (141) = happyShift action_300+action_636 (142) = happyShift action_301+action_636 (93) = happyGoto action_638+action_636 _ = happyFail++action_637 (126) = happyShift action_640+action_637 (93) = happyGoto action_638+action_637 _ = happyReduce_208++action_638 (106) = happyShift action_32+action_638 (108) = happyShift action_110+action_638 (109) = happyShift action_97+action_638 (111) = happyShift action_98+action_638 (120) = happyShift action_630+action_638 (125) = happyShift action_631+action_638 (127) = happyShift action_182+action_638 (128) = happyShift action_183+action_638 (134) = happyShift action_633+action_638 (143) = happyShift action_186+action_638 (43) = happyGoto action_763+action_638 (83) = happyGoto action_625+action_638 (85) = happyGoto action_30+action_638 (92) = happyGoto action_626+action_638 (94) = happyGoto action_95+action_638 (97) = happyGoto action_627+action_638 (99) = happyGoto action_628+action_638 (100) = happyGoto action_629+action_638 _ = happyFail++action_639 (106) = happyShift action_32+action_639 (108) = happyShift action_110+action_639 (109) = happyShift action_97+action_639 (111) = happyShift action_98+action_639 (120) = happyShift action_630+action_639 (125) = happyShift action_631+action_639 (127) = happyShift action_182+action_639 (128) = happyShift action_183+action_639 (134) = happyShift action_633+action_639 (143) = happyShift action_186+action_639 (43) = happyGoto action_762+action_639 (83) = happyGoto action_625+action_639 (85) = happyGoto action_30+action_639 (92) = happyGoto action_626+action_639 (94) = happyGoto action_95+action_639 (97) = happyGoto action_627+action_639 (99) = happyGoto action_628+action_639 (100) = happyGoto action_629+action_639 _ = happyFail++action_640 (106) = happyShift action_32+action_640 (108) = happyShift action_110+action_640 (109) = happyShift action_97+action_640 (111) = happyShift action_98+action_640 (120) = happyShift action_630+action_640 (125) = happyShift action_631+action_640 (127) = happyShift action_182+action_640 (128) = happyShift action_183+action_640 (134) = happyShift action_633+action_640 (143) = happyShift action_186+action_640 (43) = happyGoto action_761+action_640 (83) = happyGoto action_625+action_640 (85) = happyGoto action_30+action_640 (92) = happyGoto action_626+action_640 (94) = happyGoto action_95+action_640 (97) = happyGoto action_627+action_640 (99) = happyGoto action_628+action_640 (100) = happyGoto action_629+action_640 _ = happyFail++action_641 (106) = happyShift action_32+action_641 (108) = happyShift action_110+action_641 (109) = happyShift action_97+action_641 (111) = happyShift action_98+action_641 (120) = happyShift action_630+action_641 (125) = happyShift action_631+action_641 (127) = happyShift action_182+action_641 (128) = happyShift action_183+action_641 (134) = happyShift action_633+action_641 (143) = happyShift action_186+action_641 (43) = happyGoto action_760+action_641 (83) = happyGoto action_625+action_641 (85) = happyGoto action_30+action_641 (92) = happyGoto action_626+action_641 (94) = happyGoto action_95+action_641 (97) = happyGoto action_627+action_641 (99) = happyGoto action_628+action_641 (100) = happyGoto action_629+action_641 _ = happyFail++action_642 (106) = happyShift action_32+action_642 (108) = happyShift action_110+action_642 (109) = happyShift action_97+action_642 (111) = happyShift action_98+action_642 (120) = happyShift action_630+action_642 (125) = happyShift action_631+action_642 (127) = happyShift action_182+action_642 (128) = happyShift action_183+action_642 (134) = happyShift action_633+action_642 (143) = happyShift action_186+action_642 (43) = happyGoto action_759+action_642 (83) = happyGoto action_625+action_642 (85) = happyGoto action_30+action_642 (92) = happyGoto action_626+action_642 (94) = happyGoto action_95+action_642 (97) = happyGoto action_627+action_642 (99) = happyGoto action_628+action_642 (100) = happyGoto action_629+action_642 _ = happyFail++action_643 (106) = happyShift action_32+action_643 (108) = happyShift action_110+action_643 (109) = happyShift action_97+action_643 (111) = happyShift action_98+action_643 (120) = happyShift action_630+action_643 (125) = happyShift action_631+action_643 (127) = happyShift action_182+action_643 (128) = happyShift action_183+action_643 (134) = happyShift action_633+action_643 (143) = happyShift action_186+action_643 (43) = happyGoto action_758+action_643 (83) = happyGoto action_625+action_643 (85) = happyGoto action_30+action_643 (92) = happyGoto action_626+action_643 (94) = happyGoto action_95+action_643 (97) = happyGoto action_627+action_643 (99) = happyGoto action_628+action_643 (100) = happyGoto action_629+action_643 _ = happyFail++action_644 (106) = happyShift action_32+action_644 (108) = happyShift action_110+action_644 (109) = happyShift action_97+action_644 (111) = happyShift action_98+action_644 (120) = happyShift action_630+action_644 (125) = happyShift action_631+action_644 (127) = happyShift action_182+action_644 (128) = happyShift action_183+action_644 (130) = happyShift action_757+action_644 (134) = happyShift action_633+action_644 (143) = happyShift action_186+action_644 (43) = happyGoto action_756+action_644 (83) = happyGoto action_625+action_644 (85) = happyGoto action_30+action_644 (92) = happyGoto action_626+action_644 (94) = happyGoto action_95+action_644 (97) = happyGoto action_627+action_644 (99) = happyGoto action_628+action_644 (100) = happyGoto action_629+action_644 _ = happyFail++action_645 (106) = happyShift action_32+action_645 (108) = happyShift action_110+action_645 (109) = happyShift action_97+action_645 (111) = happyShift action_98+action_645 (120) = happyShift action_630+action_645 (125) = happyShift action_631+action_645 (127) = happyShift action_182+action_645 (128) = happyShift action_183+action_645 (134) = happyShift action_633+action_645 (143) = happyShift action_186+action_645 (43) = happyGoto action_755+action_645 (83) = happyGoto action_625+action_645 (85) = happyGoto action_30+action_645 (92) = happyGoto action_626+action_645 (94) = happyGoto action_95+action_645 (97) = happyGoto action_627+action_645 (99) = happyGoto action_628+action_645 (100) = happyGoto action_629+action_645 _ = happyFail++action_646 (106) = happyShift action_32+action_646 (108) = happyShift action_110+action_646 (109) = happyShift action_97+action_646 (111) = happyShift action_98+action_646 (120) = happyShift action_630+action_646 (125) = happyShift action_631+action_646 (127) = happyShift action_182+action_646 (128) = happyShift action_183+action_646 (134) = happyShift action_633+action_646 (143) = happyShift action_186+action_646 (43) = happyGoto action_754+action_646 (83) = happyGoto action_625+action_646 (85) = happyGoto action_30+action_646 (92) = happyGoto action_626+action_646 (94) = happyGoto action_95+action_646 (97) = happyGoto action_627+action_646 (99) = happyGoto action_628+action_646 (100) = happyGoto action_629+action_646 _ = happyFail++action_647 (106) = happyShift action_32+action_647 (108) = happyShift action_110+action_647 (109) = happyShift action_97+action_647 (111) = happyShift action_98+action_647 (120) = happyShift action_630+action_647 (125) = happyShift action_631+action_647 (127) = happyShift action_182+action_647 (128) = happyShift action_183+action_647 (134) = happyShift action_633+action_647 (143) = happyShift action_186+action_647 (43) = happyGoto action_753+action_647 (83) = happyGoto action_625+action_647 (85) = happyGoto action_30+action_647 (92) = happyGoto action_626+action_647 (94) = happyGoto action_95+action_647 (97) = happyGoto action_627+action_647 (99) = happyGoto action_628+action_647 (100) = happyGoto action_629+action_647 _ = happyFail++action_648 (106) = happyShift action_32+action_648 (108) = happyShift action_110+action_648 (109) = happyShift action_97+action_648 (111) = happyShift action_98+action_648 (120) = happyShift action_630+action_648 (125) = happyShift action_631+action_648 (127) = happyShift action_182+action_648 (128) = happyShift action_183+action_648 (134) = happyShift action_633+action_648 (143) = happyShift action_186+action_648 (43) = happyGoto action_752+action_648 (83) = happyGoto action_625+action_648 (85) = happyGoto action_30+action_648 (92) = happyGoto action_626+action_648 (94) = happyGoto action_95+action_648 (97) = happyGoto action_627+action_648 (99) = happyGoto action_628+action_648 (100) = happyGoto action_629+action_648 _ = happyFail++action_649 _ = happyReduce_194++action_650 (106) = happyShift action_622+action_650 (40) = happyGoto action_751+action_650 (41) = happyGoto action_376+action_650 _ = happyFail++action_651 _ = happyReduce_193++action_652 (117) = happyShift action_193+action_652 (119) = happyShift action_195+action_652 _ = happyReduce_224++action_653 (122) = happyShift action_750+action_653 _ = happyFail++action_654 _ = happyReduce_115++action_655 (109) = happyShift action_97+action_655 (111) = happyShift action_98+action_655 (97) = happyGoto action_749+action_655 _ = happyFail++action_656 (125) = happyShift action_286+action_656 (126) = happyShift action_287+action_656 (127) = happyShift action_288+action_656 (128) = happyShift action_289+action_656 (129) = happyShift action_290+action_656 (130) = happyShift action_291+action_656 (132) = happyShift action_292+action_656 (133) = happyShift action_293+action_656 (135) = happyShift action_294+action_656 (136) = happyShift action_295+action_656 (137) = happyShift action_296+action_656 (138) = happyShift action_297+action_656 (139) = happyShift action_298+action_656 (140) = happyShift action_299+action_656 (141) = happyShift action_300+action_656 (142) = happyShift action_301+action_656 (93) = happyGoto action_285+action_656 _ = happyReduce_373++action_657 (122) = happyShift action_748+action_657 (125) = happyShift action_286+action_657 (126) = happyShift action_287+action_657 (127) = happyShift action_288+action_657 (128) = happyShift action_289+action_657 (129) = happyShift action_290+action_657 (130) = happyShift action_291+action_657 (132) = happyShift action_292+action_657 (133) = happyShift action_293+action_657 (135) = happyShift action_294+action_657 (136) = happyShift action_295+action_657 (137) = happyShift action_296+action_657 (138) = happyShift action_297+action_657 (139) = happyShift action_298+action_657 (140) = happyShift action_299+action_657 (141) = happyShift action_300+action_657 (142) = happyShift action_301+action_657 (93) = happyGoto action_285+action_657 _ = happyFail++action_658 _ = happyReduce_135++action_659 (125) = happyShift action_286+action_659 (126) = happyShift action_287+action_659 (127) = happyShift action_288+action_659 (128) = happyShift action_289+action_659 (129) = happyShift action_290+action_659 (130) = happyShift action_291+action_659 (132) = happyShift action_292+action_659 (133) = happyShift action_293+action_659 (135) = happyShift action_294+action_659 (136) = happyShift action_295+action_659 (137) = happyShift action_296+action_659 (138) = happyShift action_297+action_659 (139) = happyShift action_298+action_659 (140) = happyShift action_299+action_659 (141) = happyShift action_300+action_659 (142) = happyShift action_301+action_659 (93) = happyGoto action_285+action_659 _ = happyReduce_136++action_660 _ = happyReduce_104++action_661 _ = happyReduce_101++action_662 (112) = happyShift action_414+action_662 _ = happyReduce_232++action_663 _ = happyReduce_236++action_664 (106) = happyShift action_747+action_664 _ = happyFail++action_665 (106) = happyShift action_591+action_665 (58) = happyGoto action_746+action_665 _ = happyFail++action_666 _ = happyReduce_248++action_667 (112) = happyShift action_312+action_667 _ = happyReduce_241++action_668 (112) = happyShift action_675+action_668 (125) = happyShift action_286+action_668 (126) = happyShift action_287+action_668 (127) = happyShift action_288+action_668 (128) = happyShift action_289+action_668 (129) = happyShift action_290+action_668 (130) = happyShift action_291+action_668 (132) = happyShift action_292+action_668 (133) = happyShift action_293+action_668 (135) = happyShift action_294+action_668 (136) = happyShift action_295+action_668 (137) = happyShift action_296+action_668 (138) = happyShift action_297+action_668 (139) = happyShift action_298+action_668 (140) = happyShift action_299+action_668 (141) = happyShift action_300+action_668 (142) = happyShift action_301+action_668 (93) = happyGoto action_285+action_668 _ = happyFail++action_669 _ = happyReduce_276++action_670 (106) = happyShift action_32+action_670 (108) = happyShift action_110+action_670 (109) = happyShift action_97+action_670 (110) = happyShift action_178+action_670 (111) = happyShift action_98+action_670 (120) = happyShift action_179+action_670 (123) = happyShift action_180+action_670 (125) = happyShift action_181+action_670 (127) = happyShift action_182+action_670 (128) = happyShift action_183+action_670 (129) = happyShift action_184+action_670 (134) = happyShift action_185+action_670 (143) = happyShift action_186+action_670 (162) = happyShift action_187+action_670 (163) = happyShift action_188+action_670 (81) = happyGoto action_281+action_670 (83) = happyGoto action_170+action_670 (85) = happyGoto action_30+action_670 (90) = happyGoto action_171+action_670 (91) = happyGoto action_745+action_670 (92) = happyGoto action_172+action_670 (94) = happyGoto action_95+action_670 (95) = happyGoto action_173+action_670 (97) = happyGoto action_174+action_670 (98) = happyGoto action_175+action_670 (99) = happyGoto action_176+action_670 (100) = happyGoto action_177+action_670 _ = happyFail++action_671 (112) = happyShift action_436+action_671 _ = happyReduce_68++action_672 _ = happyReduce_26++action_673 _ = happyReduce_94++action_674 _ = happyReduce_375++action_675 (106) = happyShift action_32+action_675 (108) = happyShift action_110+action_675 (109) = happyShift action_97+action_675 (110) = happyShift action_178+action_675 (111) = happyShift action_98+action_675 (120) = happyShift action_179+action_675 (123) = happyShift action_180+action_675 (125) = happyShift action_181+action_675 (127) = happyShift action_182+action_675 (128) = happyShift action_183+action_675 (129) = happyShift action_184+action_675 (134) = happyShift action_185+action_675 (143) = happyShift action_186+action_675 (162) = happyShift action_187+action_675 (163) = happyShift action_188+action_675 (29) = happyGoto action_133+action_675 (81) = happyGoto action_281+action_675 (83) = happyGoto action_571+action_675 (85) = happyGoto action_30+action_675 (89) = happyGoto action_743+action_675 (90) = happyGoto action_171+action_675 (91) = happyGoto action_744+action_675 (92) = happyGoto action_172+action_675 (94) = happyGoto action_95+action_675 (95) = happyGoto action_173+action_675 (97) = happyGoto action_174+action_675 (98) = happyGoto action_175+action_675 (99) = happyGoto action_176+action_675 (100) = happyGoto action_177+action_675 _ = happyFail++action_676 _ = happyReduce_344++action_677 _ = happyReduce_174++action_678 (125) = happyShift action_286+action_678 (126) = happyShift action_287+action_678 (127) = happyShift action_288+action_678 (128) = happyShift action_289+action_678 (129) = happyShift action_290+action_678 (130) = happyShift action_291+action_678 (132) = happyShift action_292+action_678 (133) = happyShift action_293+action_678 (135) = happyShift action_294+action_678 (136) = happyShift action_295+action_678 (137) = happyShift action_296+action_678 (138) = happyShift action_297+action_678 (139) = happyShift action_298+action_678 (140) = happyShift action_299+action_678 (141) = happyShift action_300+action_678 (142) = happyShift action_301+action_678 (93) = happyGoto action_285+action_678 _ = happyReduce_176++action_679 _ = happyReduce_178++action_680 _ = happyReduce_180++action_681 (112) = happyShift action_565+action_681 _ = happyReduce_91++action_682 _ = happyReduce_144++action_683 (201) = happyShift action_742+action_683 _ = happyFail++action_684 (122) = happyShift action_741+action_684 (125) = happyShift action_286+action_684 (126) = happyShift action_287+action_684 (127) = happyShift action_288+action_684 (128) = happyShift action_289+action_684 (129) = happyShift action_290+action_684 (130) = happyShift action_291+action_684 (132) = happyShift action_292+action_684 (133) = happyShift action_293+action_684 (135) = happyShift action_294+action_684 (136) = happyShift action_295+action_684 (137) = happyShift action_296+action_684 (138) = happyShift action_297+action_684 (139) = happyShift action_298+action_684 (140) = happyShift action_299+action_684 (141) = happyShift action_300+action_684 (142) = happyShift action_301+action_684 (93) = happyGoto action_285+action_684 _ = happyFail++action_685 (112) = happyShift action_394+action_685 (122) = happyShift action_740+action_685 _ = happyFail++action_686 (112) = happyShift action_551+action_686 (122) = happyShift action_739+action_686 _ = happyFail++action_687 (122) = happyShift action_738+action_687 _ = happyFail++action_688 _ = happyReduce_294++action_689 (106) = happyShift action_32+action_689 (108) = happyShift action_110+action_689 (109) = happyShift action_97+action_689 (110) = happyShift action_178+action_689 (111) = happyShift action_98+action_689 (120) = happyShift action_737+action_689 (123) = happyShift action_180+action_689 (125) = happyShift action_181+action_689 (127) = happyShift action_182+action_689 (128) = happyShift action_183+action_689 (129) = happyShift action_184+action_689 (134) = happyShift action_185+action_689 (143) = happyShift action_186+action_689 (162) = happyShift action_187+action_689 (163) = happyShift action_188+action_689 (81) = happyGoto action_736+action_689 (83) = happyGoto action_170+action_689 (85) = happyGoto action_30+action_689 (90) = happyGoto action_171+action_689 (92) = happyGoto action_172+action_689 (94) = happyGoto action_95+action_689 (95) = happyGoto action_173+action_689 (97) = happyGoto action_174+action_689 (98) = happyGoto action_175+action_689 (99) = happyGoto action_176+action_689 (100) = happyGoto action_177+action_689 _ = happyFail++action_690 _ = happyReduce_298++action_691 (125) = happyShift action_286+action_691 (126) = happyShift action_287+action_691 (127) = happyShift action_288+action_691 (128) = happyShift action_289+action_691 (129) = happyShift action_290+action_691 (130) = happyShift action_291+action_691 (132) = happyShift action_292+action_691 (133) = happyShift action_293+action_691 (135) = happyShift action_294+action_691 (136) = happyShift action_295+action_691 (137) = happyShift action_296+action_691 (138) = happyShift action_297+action_691 (139) = happyShift action_298+action_691 (140) = happyShift action_299+action_691 (141) = happyShift action_300+action_691 (142) = happyShift action_301+action_691 (93) = happyGoto action_285+action_691 _ = happyReduce_300++action_692 (109) = happyShift action_97+action_692 (111) = happyShift action_98+action_692 (97) = happyGoto action_279+action_692 _ = happyReduce_303++action_693 _ = happyReduce_314++action_694 (217) = happyShift action_735+action_694 _ = happyFail++action_695 _ = happyReduce_319++action_696 (218) = happyShift action_734+action_696 _ = happyFail++action_697 (106) = happyShift action_32+action_697 (108) = happyShift action_110+action_697 (109) = happyShift action_97+action_697 (110) = happyShift action_178+action_697 (111) = happyShift action_98+action_697 (120) = happyShift action_179+action_697 (123) = happyShift action_180+action_697 (125) = happyShift action_181+action_697 (127) = happyShift action_182+action_697 (128) = happyShift action_183+action_697 (129) = happyShift action_184+action_697 (134) = happyShift action_185+action_697 (143) = happyShift action_186+action_697 (162) = happyShift action_187+action_697 (163) = happyShift action_188+action_697 (81) = happyGoto action_733+action_697 (83) = happyGoto action_170+action_697 (85) = happyGoto action_30+action_697 (90) = happyGoto action_171+action_697 (92) = happyGoto action_172+action_697 (94) = happyGoto action_95+action_697 (95) = happyGoto action_173+action_697 (97) = happyGoto action_174+action_697 (98) = happyGoto action_175+action_697 (99) = happyGoto action_176+action_697 (100) = happyGoto action_177+action_697 _ = happyFail++action_698 _ = happyReduce_320++action_699 _ = happyReduce_9++action_700 (106) = happyShift action_732+action_700 _ = happyReduce_32++action_701 _ = happyReduce_31++action_702 (107) = happyShift action_9+action_702 (146) = happyShift action_11+action_702 (149) = happyShift action_12+action_702 (150) = happyShift action_13+action_702 (214) = happyShift action_16+action_702 (219) = happyShift action_17+action_702 (220) = happyShift action_18+action_702 (221) = happyShift action_19+action_702 (222) = happyShift action_20+action_702 (223) = happyShift action_21+action_702 (224) = happyShift action_22+action_702 (10) = happyGoto action_730+action_702 (26) = happyGoto action_731+action_702 (77) = happyGoto action_8+action_702 _ = happyFail++action_703 (23) = happyGoto action_729+action_703 _ = happyReduce_55++action_704 (160) = happyShift action_727+action_704 (161) = happyShift action_728+action_704 (24) = happyGoto action_726+action_704 _ = happyFail++action_705 (114) = happyShift action_228+action_705 (235) = happyShift action_229+action_705 _ = happyReduce_46++action_706 (151) = happyShift action_724+action_706 (234) = happyShift action_725+action_706 (16) = happyGoto action_723+action_706 _ = happyFail++action_707 (114) = happyShift action_213+action_707 (235) = happyShift action_214+action_707 (27) = happyGoto action_722+action_707 _ = happyFail++action_708 (106) = happyShift action_32+action_708 (107) = happyShift action_9+action_708 (109) = happyShift action_97+action_708 (111) = happyShift action_98+action_708 (156) = happyShift action_532+action_708 (157) = happyShift action_33+action_708 (159) = happyShift action_244+action_708 (164) = happyShift action_34+action_708 (165) = happyShift action_35+action_708 (166) = happyShift action_36+action_708 (167) = happyShift action_37+action_708 (168) = happyShift action_38+action_708 (169) = happyShift action_39+action_708 (170) = happyShift action_40+action_708 (171) = happyShift action_41+action_708 (172) = happyShift action_42+action_708 (173) = happyShift action_43+action_708 (174) = happyShift action_44+action_708 (175) = happyShift action_45+action_708 (176) = happyShift action_46+action_708 (177) = happyShift action_47+action_708 (178) = happyShift action_48+action_708 (182) = happyShift action_49+action_708 (183) = happyShift action_50+action_708 (184) = happyShift action_51+action_708 (185) = happyShift action_52+action_708 (186) = happyShift action_53+action_708 (187) = happyShift action_54+action_708 (188) = happyShift action_55+action_708 (189) = happyShift action_56+action_708 (191) = happyShift action_57+action_708 (192) = happyShift action_58+action_708 (194) = happyShift action_59+action_708 (195) = happyShift action_60+action_708 (196) = happyShift action_61+action_708 (197) = happyShift action_62+action_708 (198) = happyShift action_63+action_708 (200) = happyShift action_64+action_708 (202) = happyShift action_65+action_708 (203) = happyShift action_66+action_708 (204) = happyShift action_67+action_708 (205) = happyShift action_68+action_708 (206) = happyShift action_69+action_708 (207) = happyShift action_70+action_708 (209) = happyShift action_71+action_708 (210) = happyShift action_72+action_708 (211) = happyShift action_73+action_708 (212) = happyShift action_74+action_708 (213) = happyShift action_75+action_708 (214) = happyShift action_76+action_708 (215) = happyShift action_77+action_708 (216) = happyShift action_78+action_708 (219) = happyShift action_17+action_708 (220) = happyShift action_18+action_708 (221) = happyShift action_19+action_708 (222) = happyShift action_20+action_708 (223) = happyShift action_21+action_708 (224) = happyShift action_22+action_708 (225) = happyShift action_79+action_708 (226) = happyShift action_80+action_708 (227) = happyShift action_81+action_708 (228) = happyShift action_82+action_708 (229) = happyShift action_83+action_708 (230) = happyShift action_84+action_708 (231) = happyShift action_85+action_708 (232) = happyShift action_86+action_708 (233) = happyShift action_87+action_708 (8) = happyGoto action_721+action_708 (20) = happyGoto action_516+action_708 (26) = happyGoto action_241+action_708 (28) = happyGoto action_242+action_708 (29) = happyGoto action_24+action_708 (30) = happyGoto action_25+action_708 (31) = happyGoto action_26+action_708 (61) = happyGoto action_27+action_708 (77) = happyGoto action_28+action_708 (83) = happyGoto action_29+action_708 (85) = happyGoto action_30+action_708 (94) = happyGoto action_31+action_708 (97) = happyGoto action_243+action_708 _ = happyReduce_14++action_709 (106) = happyShift action_32+action_709 (107) = happyShift action_9+action_709 (109) = happyShift action_97+action_709 (111) = happyShift action_98+action_709 (156) = happyShift action_532+action_709 (157) = happyShift action_33+action_709 (159) = happyShift action_244+action_709 (164) = happyShift action_34+action_709 (165) = happyShift action_35+action_709 (166) = happyShift action_36+action_709 (167) = happyShift action_37+action_709 (168) = happyShift action_38+action_709 (169) = happyShift action_39+action_709 (170) = happyShift action_40+action_709 (171) = happyShift action_41+action_709 (172) = happyShift action_42+action_709 (173) = happyShift action_43+action_709 (174) = happyShift action_44+action_709 (175) = happyShift action_45+action_709 (176) = happyShift action_46+action_709 (177) = happyShift action_47+action_709 (178) = happyShift action_48+action_709 (182) = happyShift action_49+action_709 (183) = happyShift action_50+action_709 (184) = happyShift action_51+action_709 (185) = happyShift action_52+action_709 (186) = happyShift action_53+action_709 (187) = happyShift action_54+action_709 (188) = happyShift action_55+action_709 (189) = happyShift action_56+action_709 (191) = happyShift action_57+action_709 (192) = happyShift action_58+action_709 (194) = happyShift action_59+action_709 (195) = happyShift action_60+action_709 (196) = happyShift action_61+action_709 (197) = happyShift action_62+action_709 (198) = happyShift action_63+action_709 (200) = happyShift action_64+action_709 (202) = happyShift action_65+action_709 (203) = happyShift action_66+action_709 (204) = happyShift action_67+action_709 (205) = happyShift action_68+action_709 (206) = happyShift action_69+action_709 (207) = happyShift action_70+action_709 (209) = happyShift action_71+action_709 (210) = happyShift action_72+action_709 (211) = happyShift action_73+action_709 (212) = happyShift action_74+action_709 (213) = happyShift action_75+action_709 (214) = happyShift action_76+action_709 (215) = happyShift action_77+action_709 (216) = happyShift action_78+action_709 (219) = happyShift action_17+action_709 (220) = happyShift action_18+action_709 (221) = happyShift action_19+action_709 (222) = happyShift action_20+action_709 (223) = happyShift action_21+action_709 (224) = happyShift action_22+action_709 (225) = happyShift action_79+action_709 (226) = happyShift action_80+action_709 (227) = happyShift action_81+action_709 (228) = happyShift action_82+action_709 (229) = happyShift action_83+action_709 (230) = happyShift action_84+action_709 (231) = happyShift action_85+action_709 (232) = happyShift action_86+action_709 (233) = happyShift action_87+action_709 (8) = happyGoto action_720+action_709 (20) = happyGoto action_516+action_709 (26) = happyGoto action_241+action_709 (28) = happyGoto action_242+action_709 (29) = happyGoto action_24+action_709 (30) = happyGoto action_25+action_709 (31) = happyGoto action_26+action_709 (61) = happyGoto action_27+action_709 (77) = happyGoto action_28+action_709 (83) = happyGoto action_29+action_709 (85) = happyGoto action_30+action_709 (94) = happyGoto action_31+action_709 (97) = happyGoto action_243+action_709 _ = happyReduce_14++action_710 (114) = happyShift action_228+action_710 (235) = happyShift action_229+action_710 (9) = happyGoto action_719+action_710 _ = happyReduce_17++action_711 _ = happyReduce_8++action_712 (106) = happyShift action_718+action_712 _ = happyReduce_29++action_713 _ = happyReduce_28++action_714 (106) = happyShift action_32+action_714 (107) = happyShift action_9+action_714 (109) = happyShift action_97+action_714 (111) = happyShift action_98+action_714 (114) = happyShift action_228+action_714 (157) = happyShift action_33+action_714 (159) = happyShift action_244+action_714 (164) = happyShift action_34+action_714 (165) = happyShift action_35+action_714 (166) = happyShift action_36+action_714 (167) = happyShift action_37+action_714 (168) = happyShift action_38+action_714 (169) = happyShift action_39+action_714 (170) = happyShift action_40+action_714 (171) = happyShift action_41+action_714 (172) = happyShift action_42+action_714 (173) = happyShift action_43+action_714 (174) = happyShift action_44+action_714 (175) = happyShift action_45+action_714 (176) = happyShift action_46+action_714 (177) = happyShift action_47+action_714 (178) = happyShift action_48+action_714 (182) = happyShift action_49+action_714 (183) = happyShift action_50+action_714 (184) = happyShift action_51+action_714 (185) = happyShift action_52+action_714 (186) = happyShift action_53+action_714 (187) = happyShift action_54+action_714 (188) = happyShift action_55+action_714 (189) = happyShift action_56+action_714 (191) = happyShift action_57+action_714 (192) = happyShift action_58+action_714 (194) = happyShift action_59+action_714 (195) = happyShift action_60+action_714 (196) = happyShift action_61+action_714 (197) = happyShift action_62+action_714 (198) = happyShift action_63+action_714 (200) = happyShift action_64+action_714 (202) = happyShift action_65+action_714 (203) = happyShift action_66+action_714 (204) = happyShift action_67+action_714 (205) = happyShift action_68+action_714 (206) = happyShift action_69+action_714 (207) = happyShift action_70+action_714 (209) = happyShift action_71+action_714 (210) = happyShift action_72+action_714 (211) = happyShift action_73+action_714 (212) = happyShift action_74+action_714 (213) = happyShift action_75+action_714 (214) = happyShift action_76+action_714 (215) = happyShift action_77+action_714 (216) = happyShift action_78+action_714 (219) = happyShift action_17+action_714 (220) = happyShift action_18+action_714 (221) = happyShift action_19+action_714 (222) = happyShift action_20+action_714 (223) = happyShift action_21+action_714 (224) = happyShift action_22+action_714 (225) = happyShift action_79+action_714 (226) = happyShift action_80+action_714 (227) = happyShift action_81+action_714 (228) = happyShift action_82+action_714 (229) = happyShift action_83+action_714 (230) = happyShift action_84+action_714 (231) = happyShift action_85+action_714 (232) = happyShift action_86+action_714 (233) = happyShift action_87+action_714 (235) = happyShift action_229+action_714 (19) = happyGoto action_717+action_714 (20) = happyGoto action_240+action_714 (26) = happyGoto action_241+action_714 (28) = happyGoto action_242+action_714 (29) = happyGoto action_24+action_714 (30) = happyGoto action_25+action_714 (31) = happyGoto action_26+action_714 (61) = happyGoto action_27+action_714 (77) = happyGoto action_28+action_714 (83) = happyGoto action_29+action_714 (85) = happyGoto action_30+action_714 (94) = happyGoto action_31+action_714 (97) = happyGoto action_243+action_714 _ = happyFail++action_715 (114) = happyShift action_213+action_715 (235) = happyShift action_214+action_715 (27) = happyGoto action_716+action_715 _ = happyFail++action_716 (106) = happyShift action_32+action_716 (107) = happyShift action_9+action_716 (109) = happyShift action_97+action_716 (111) = happyShift action_98+action_716 (114) = happyShift action_228+action_716 (157) = happyShift action_33+action_716 (159) = happyShift action_244+action_716 (164) = happyShift action_34+action_716 (165) = happyShift action_35+action_716 (166) = happyShift action_36+action_716 (167) = happyShift action_37+action_716 (168) = happyShift action_38+action_716 (169) = happyShift action_39+action_716 (170) = happyShift action_40+action_716 (171) = happyShift action_41+action_716 (172) = happyShift action_42+action_716 (173) = happyShift action_43+action_716 (174) = happyShift action_44+action_716 (175) = happyShift action_45+action_716 (176) = happyShift action_46+action_716 (177) = happyShift action_47+action_716 (178) = happyShift action_48+action_716 (182) = happyShift action_49+action_716 (183) = happyShift action_50+action_716 (184) = happyShift action_51+action_716 (185) = happyShift action_52+action_716 (186) = happyShift action_53+action_716 (187) = happyShift action_54+action_716 (188) = happyShift action_55+action_716 (189) = happyShift action_56+action_716 (191) = happyShift action_57+action_716 (192) = happyShift action_58+action_716 (194) = happyShift action_59+action_716 (195) = happyShift action_60+action_716 (196) = happyShift action_61+action_716 (197) = happyShift action_62+action_716 (198) = happyShift action_63+action_716 (200) = happyShift action_64+action_716 (202) = happyShift action_65+action_716 (203) = happyShift action_66+action_716 (204) = happyShift action_67+action_716 (205) = happyShift action_68+action_716 (206) = happyShift action_69+action_716 (207) = happyShift action_70+action_716 (209) = happyShift action_71+action_716 (210) = happyShift action_72+action_716 (211) = happyShift action_73+action_716 (212) = happyShift action_74+action_716 (213) = happyShift action_75+action_716 (214) = happyShift action_76+action_716 (215) = happyShift action_77+action_716 (216) = happyShift action_78+action_716 (219) = happyShift action_17+action_716 (220) = happyShift action_18+action_716 (221) = happyShift action_19+action_716 (222) = happyShift action_20+action_716 (223) = happyShift action_21+action_716 (224) = happyShift action_22+action_716 (225) = happyShift action_79+action_716 (226) = happyShift action_80+action_716 (227) = happyShift action_81+action_716 (228) = happyShift action_82+action_716 (229) = happyShift action_83+action_716 (230) = happyShift action_84+action_716 (231) = happyShift action_85+action_716 (232) = happyShift action_86+action_716 (233) = happyShift action_87+action_716 (235) = happyShift action_229+action_716 (19) = happyGoto action_787+action_716 (20) = happyGoto action_240+action_716 (26) = happyGoto action_241+action_716 (28) = happyGoto action_242+action_716 (29) = happyGoto action_24+action_716 (30) = happyGoto action_25+action_716 (31) = happyGoto action_26+action_716 (61) = happyGoto action_27+action_716 (77) = happyGoto action_28+action_716 (83) = happyGoto action_29+action_716 (85) = happyGoto action_30+action_716 (94) = happyGoto action_31+action_716 (97) = happyGoto action_243+action_716 _ = happyFail++action_717 (106) = happyShift action_32+action_717 (107) = happyShift action_9+action_717 (109) = happyShift action_97+action_717 (111) = happyShift action_98+action_717 (156) = happyShift action_532+action_717 (157) = happyShift action_33+action_717 (159) = happyShift action_244+action_717 (164) = happyShift action_34+action_717 (165) = happyShift action_35+action_717 (166) = happyShift action_36+action_717 (167) = happyShift action_37+action_717 (168) = happyShift action_38+action_717 (169) = happyShift action_39+action_717 (170) = happyShift action_40+action_717 (171) = happyShift action_41+action_717 (172) = happyShift action_42+action_717 (173) = happyShift action_43+action_717 (174) = happyShift action_44+action_717 (175) = happyShift action_45+action_717 (176) = happyShift action_46+action_717 (177) = happyShift action_47+action_717 (178) = happyShift action_48+action_717 (182) = happyShift action_49+action_717 (183) = happyShift action_50+action_717 (184) = happyShift action_51+action_717 (185) = happyShift action_52+action_717 (186) = happyShift action_53+action_717 (187) = happyShift action_54+action_717 (188) = happyShift action_55+action_717 (189) = happyShift action_56+action_717 (191) = happyShift action_57+action_717 (192) = happyShift action_58+action_717 (194) = happyShift action_59+action_717 (195) = happyShift action_60+action_717 (196) = happyShift action_61+action_717 (197) = happyShift action_62+action_717 (198) = happyShift action_63+action_717 (200) = happyShift action_64+action_717 (202) = happyShift action_65+action_717 (203) = happyShift action_66+action_717 (204) = happyShift action_67+action_717 (205) = happyShift action_68+action_717 (206) = happyShift action_69+action_717 (207) = happyShift action_70+action_717 (209) = happyShift action_71+action_717 (210) = happyShift action_72+action_717 (211) = happyShift action_73+action_717 (212) = happyShift action_74+action_717 (213) = happyShift action_75+action_717 (214) = happyShift action_76+action_717 (215) = happyShift action_77+action_717 (216) = happyShift action_78+action_717 (219) = happyShift action_17+action_717 (220) = happyShift action_18+action_717 (221) = happyShift action_19+action_717 (222) = happyShift action_20+action_717 (223) = happyShift action_21+action_717 (224) = happyShift action_22+action_717 (225) = happyShift action_79+action_717 (226) = happyShift action_80+action_717 (227) = happyShift action_81+action_717 (228) = happyShift action_82+action_717 (229) = happyShift action_83+action_717 (230) = happyShift action_84+action_717 (231) = happyShift action_85+action_717 (232) = happyShift action_86+action_717 (233) = happyShift action_87+action_717 (8) = happyGoto action_786+action_717 (20) = happyGoto action_516+action_717 (26) = happyGoto action_241+action_717 (28) = happyGoto action_242+action_717 (29) = happyGoto action_24+action_717 (30) = happyGoto action_25+action_717 (31) = happyGoto action_26+action_717 (61) = happyGoto action_27+action_717 (77) = happyGoto action_28+action_717 (83) = happyGoto action_29+action_717 (85) = happyGoto action_30+action_717 (94) = happyGoto action_31+action_717 (97) = happyGoto action_243+action_717 _ = happyReduce_14++action_718 _ = happyReduce_30++action_719 (107) = happyShift action_9+action_719 (146) = happyShift action_11+action_719 (149) = happyShift action_12+action_719 (150) = happyShift action_13+action_719 (214) = happyShift action_16+action_719 (219) = happyShift action_17+action_719 (220) = happyShift action_18+action_719 (221) = happyShift action_19+action_719 (222) = happyShift action_20+action_719 (223) = happyShift action_21+action_719 (224) = happyShift action_22+action_719 (10) = happyGoto action_785+action_719 (26) = happyGoto action_731+action_719 (77) = happyGoto action_8+action_719 _ = happyReduce_13++action_720 (147) = happyShift action_783+action_720 (234) = happyShift action_784+action_720 (15) = happyGoto action_782+action_720 _ = happyFail++action_721 (151) = happyShift action_724+action_721 (234) = happyShift action_725+action_721 (16) = happyGoto action_781+action_721 _ = happyFail++action_722 (106) = happyShift action_32+action_722 (107) = happyShift action_9+action_722 (109) = happyShift action_97+action_722 (111) = happyShift action_98+action_722 (114) = happyShift action_228+action_722 (157) = happyShift action_33+action_722 (159) = happyShift action_244+action_722 (164) = happyShift action_34+action_722 (165) = happyShift action_35+action_722 (166) = happyShift action_36+action_722 (167) = happyShift action_37+action_722 (168) = happyShift action_38+action_722 (169) = happyShift action_39+action_722 (170) = happyShift action_40+action_722 (171) = happyShift action_41+action_722 (172) = happyShift action_42+action_722 (173) = happyShift action_43+action_722 (174) = happyShift action_44+action_722 (175) = happyShift action_45+action_722 (176) = happyShift action_46+action_722 (177) = happyShift action_47+action_722 (178) = happyShift action_48+action_722 (182) = happyShift action_49+action_722 (183) = happyShift action_50+action_722 (184) = happyShift action_51+action_722 (185) = happyShift action_52+action_722 (186) = happyShift action_53+action_722 (187) = happyShift action_54+action_722 (188) = happyShift action_55+action_722 (189) = happyShift action_56+action_722 (191) = happyShift action_57+action_722 (192) = happyShift action_58+action_722 (194) = happyShift action_59+action_722 (195) = happyShift action_60+action_722 (196) = happyShift action_61+action_722 (197) = happyShift action_62+action_722 (198) = happyShift action_63+action_722 (200) = happyShift action_64+action_722 (202) = happyShift action_65+action_722 (203) = happyShift action_66+action_722 (204) = happyShift action_67+action_722 (205) = happyShift action_68+action_722 (206) = happyShift action_69+action_722 (207) = happyShift action_70+action_722 (209) = happyShift action_71+action_722 (210) = happyShift action_72+action_722 (211) = happyShift action_73+action_722 (212) = happyShift action_74+action_722 (213) = happyShift action_75+action_722 (214) = happyShift action_76+action_722 (215) = happyShift action_77+action_722 (216) = happyShift action_78+action_722 (219) = happyShift action_17+action_722 (220) = happyShift action_18+action_722 (221) = happyShift action_19+action_722 (222) = happyShift action_20+action_722 (223) = happyShift action_21+action_722 (224) = happyShift action_22+action_722 (225) = happyShift action_79+action_722 (226) = happyShift action_80+action_722 (227) = happyShift action_81+action_722 (228) = happyShift action_82+action_722 (229) = happyShift action_83+action_722 (230) = happyShift action_84+action_722 (231) = happyShift action_85+action_722 (232) = happyShift action_86+action_722 (233) = happyShift action_87+action_722 (235) = happyShift action_229+action_722 (19) = happyGoto action_780+action_722 (20) = happyGoto action_240+action_722 (26) = happyGoto action_241+action_722 (28) = happyGoto action_242+action_722 (29) = happyGoto action_24+action_722 (30) = happyGoto action_25+action_722 (31) = happyGoto action_26+action_722 (61) = happyGoto action_27+action_722 (77) = happyGoto action_28+action_722 (83) = happyGoto action_29+action_722 (85) = happyGoto action_30+action_722 (94) = happyGoto action_31+action_722 (97) = happyGoto action_243+action_722 _ = happyFail++action_723 _ = happyReduce_22++action_724 (106) = happyShift action_779+action_724 _ = happyReduce_38++action_725 _ = happyReduce_37++action_726 _ = happyReduce_54++action_727 (114) = happyShift action_213+action_727 (235) = happyShift action_214+action_727 (27) = happyGoto action_778+action_727 _ = happyFail++action_728 (106) = happyShift action_32+action_728 (54) = happyGoto action_777+action_728 (94) = happyGoto action_160+action_728 _ = happyFail++action_729 (160) = happyShift action_776+action_729 (161) = happyShift action_728+action_729 (24) = happyGoto action_726+action_729 _ = happyFail++action_730 (114) = happyShift action_213+action_730 (235) = happyShift action_214+action_730 (27) = happyGoto action_775+action_730 _ = happyFail++action_731 _ = happyReduce_16++action_732 _ = happyReduce_33++action_733 (122) = happyShift action_774+action_733 (125) = happyShift action_286+action_733 (126) = happyShift action_287+action_733 (127) = happyShift action_288+action_733 (128) = happyShift action_289+action_733 (129) = happyShift action_290+action_733 (130) = happyShift action_291+action_733 (132) = happyShift action_292+action_733 (133) = happyShift action_293+action_733 (135) = happyShift action_294+action_733 (136) = happyShift action_295+action_733 (137) = happyShift action_296+action_733 (138) = happyShift action_297+action_733 (139) = happyShift action_298+action_733 (140) = happyShift action_299+action_733 (141) = happyShift action_300+action_733 (142) = happyShift action_301+action_733 (93) = happyGoto action_285+action_733 _ = happyFail++action_734 (117) = happyShift action_773+action_734 _ = happyFail++action_735 (117) = happyShift action_772+action_735 _ = happyFail++action_736 (125) = happyShift action_286+action_736 (126) = happyShift action_287+action_736 (127) = happyShift action_288+action_736 (128) = happyShift action_289+action_736 (129) = happyShift action_290+action_736 (130) = happyShift action_291+action_736 (132) = happyShift action_292+action_736 (133) = happyShift action_293+action_736 (135) = happyShift action_294+action_736 (136) = happyShift action_295+action_736 (137) = happyShift action_296+action_736 (138) = happyShift action_297+action_736 (139) = happyShift action_298+action_736 (140) = happyShift action_299+action_736 (141) = happyShift action_300+action_736 (142) = happyShift action_301+action_736 (93) = happyGoto action_285+action_736 _ = happyReduce_296++action_737 (106) = happyShift action_32+action_737 (108) = happyShift action_110+action_737 (109) = happyShift action_97+action_737 (110) = happyShift action_178+action_737 (111) = happyShift action_98+action_737 (120) = happyShift action_179+action_737 (123) = happyShift action_180+action_737 (125) = happyShift action_181+action_737 (127) = happyShift action_182+action_737 (128) = happyShift action_183+action_737 (129) = happyShift action_771+action_737 (134) = happyShift action_185+action_737 (143) = happyShift action_186+action_737 (162) = happyShift action_187+action_737 (163) = happyShift action_188+action_737 (81) = happyGoto action_283+action_737 (83) = happyGoto action_170+action_737 (85) = happyGoto action_30+action_737 (90) = happyGoto action_171+action_737 (92) = happyGoto action_172+action_737 (94) = happyGoto action_95+action_737 (95) = happyGoto action_173+action_737 (97) = happyGoto action_174+action_737 (98) = happyGoto action_175+action_737 (99) = happyGoto action_176+action_737 (100) = happyGoto action_177+action_737 _ = happyFail++action_738 _ = happyReduce_265++action_739 _ = happyReduce_263++action_740 _ = happyReduce_362++action_741 _ = happyReduce_127++action_742 _ = happyReduce_113++action_743 (122) = happyShift action_770+action_743 _ = happyFail++action_744 (112) = happyShift action_769+action_744 _ = happyFail++action_745 (112) = happyShift action_436+action_745 (131) = happyShift action_768+action_745 _ = happyFail++action_746 _ = happyReduce_249++action_747 _ = happyReduce_252++action_748 _ = happyReduce_125++action_749 (112) = happyShift action_767+action_749 _ = happyFail++action_750 _ = happyReduce_225++action_751 (112) = happyShift action_380+action_751 (122) = happyShift action_766+action_751 _ = happyFail++action_752 (126) = happyShift action_640+action_752 (127) = happyShift action_641+action_752 (128) = happyShift action_642+action_752 (129) = happyShift action_643+action_752 (130) = happyShift action_644+action_752 (132) = happyShift action_645+action_752 (133) = happyShift action_646+action_752 (137) = happyShift action_296+action_752 (138) = happyShift action_297+action_752 (139) = happyShift action_298+action_752 (140) = happyShift action_299+action_752 (141) = happyShift action_300+action_752 (142) = happyShift action_301+action_752 (93) = happyGoto action_638+action_752 _ = happyReduce_213++action_753 (126) = happyShift action_640+action_753 (127) = happyShift action_641+action_753 (128) = happyShift action_642+action_753 (129) = happyShift action_643+action_753 (130) = happyShift action_644+action_753 (132) = happyShift action_645+action_753 (133) = happyShift action_646+action_753 (137) = happyShift action_296+action_753 (138) = happyShift action_297+action_753 (139) = happyShift action_298+action_753 (140) = happyShift action_299+action_753 (141) = happyShift action_300+action_753 (142) = happyShift action_301+action_753 (93) = happyGoto action_638+action_753 _ = happyReduce_212++action_754 (126) = happyShift action_640+action_754 (127) = happyShift action_641+action_754 (128) = happyShift action_642+action_754 (129) = happyShift action_643+action_754 (130) = happyShift action_644+action_754 (137) = happyShift action_296+action_754 (138) = happyShift action_297+action_754 (139) = happyShift action_298+action_754 (140) = happyShift action_299+action_754 (141) = happyShift action_300+action_754 (142) = happyShift action_301+action_754 (93) = happyGoto action_638+action_754 _ = happyReduce_210++action_755 (126) = happyShift action_640+action_755 (127) = happyShift action_641+action_755 (128) = happyShift action_642+action_755 (129) = happyShift action_643+action_755 (130) = happyShift action_644+action_755 (133) = happyShift action_646+action_755 (137) = happyShift action_296+action_755 (138) = happyShift action_297+action_755 (139) = happyShift action_298+action_755 (140) = happyShift action_299+action_755 (141) = happyShift action_300+action_755 (142) = happyShift action_301+action_755 (93) = happyGoto action_638+action_755 _ = happyReduce_209++action_756 (126) = happyShift action_640+action_756 (93) = happyGoto action_638+action_756 _ = happyReduce_205++action_757 (106) = happyShift action_32+action_757 (108) = happyShift action_110+action_757 (109) = happyShift action_97+action_757 (111) = happyShift action_98+action_757 (120) = happyShift action_630+action_757 (125) = happyShift action_631+action_757 (127) = happyShift action_182+action_757 (128) = happyShift action_183+action_757 (134) = happyShift action_633+action_757 (143) = happyShift action_186+action_757 (43) = happyGoto action_765+action_757 (83) = happyGoto action_625+action_757 (85) = happyGoto action_30+action_757 (92) = happyGoto action_626+action_757 (94) = happyGoto action_95+action_757 (97) = happyGoto action_627+action_757 (99) = happyGoto action_628+action_757 (100) = happyGoto action_629+action_757 _ = happyFail++action_758 (126) = happyShift action_640+action_758 (93) = happyGoto action_638+action_758 _ = happyReduce_204++action_759 (126) = happyShift action_640+action_759 (129) = happyShift action_643+action_759 (130) = happyShift action_644+action_759 (93) = happyGoto action_638+action_759 _ = happyReduce_203++action_760 (126) = happyShift action_640+action_760 (129) = happyShift action_643+action_760 (130) = happyShift action_644+action_760 (93) = happyGoto action_638+action_760 _ = happyReduce_202++action_761 (126) = happyShift action_640+action_761 (93) = happyGoto action_638+action_761 _ = happyReduce_206++action_762 (126) = happyShift action_640+action_762 (127) = happyShift action_641+action_762 (128) = happyShift action_642+action_762 (129) = happyShift action_643+action_762 (130) = happyShift action_644+action_762 (132) = happyShift action_645+action_762 (133) = happyShift action_646+action_762 (135) = happyShift action_647+action_762 (136) = happyShift action_648+action_762 (137) = happyShift action_296+action_762 (138) = happyShift action_297+action_762 (139) = happyShift action_298+action_762 (140) = happyShift action_299+action_762 (141) = happyShift action_300+action_762 (142) = happyShift action_301+action_762 (93) = happyGoto action_638+action_762 _ = happyReduce_216++action_763 (126) = happyShift action_640+action_763 (127) = happyShift action_641+action_763 (128) = happyShift action_642+action_763 (129) = happyShift action_643+action_763 (130) = happyShift action_644+action_763 (93) = happyGoto action_638+action_763 _ = happyReduce_214++action_764 _ = happyReduce_217++action_765 (126) = happyShift action_640+action_765 (127) = happyShift action_641+action_765 (128) = happyShift action_642+action_765 (129) = happyShift action_643+action_765 (130) = happyShift action_644+action_765 (93) = happyGoto action_638+action_765 _ = happyReduce_207++action_766 _ = happyReduce_192++action_767 (109) = happyShift action_97+action_767 (111) = happyShift action_98+action_767 (97) = happyGoto action_799+action_767 _ = happyFail++action_768 _ = happyReduce_275++action_769 (106) = happyShift action_32+action_769 (108) = happyShift action_110+action_769 (109) = happyShift action_97+action_769 (110) = happyShift action_178+action_769 (111) = happyShift action_98+action_769 (120) = happyShift action_179+action_769 (123) = happyShift action_180+action_769 (125) = happyShift action_181+action_769 (127) = happyShift action_182+action_769 (128) = happyShift action_183+action_769 (129) = happyShift action_184+action_769 (134) = happyShift action_185+action_769 (143) = happyShift action_186+action_769 (162) = happyShift action_187+action_769 (163) = happyShift action_188+action_769 (29) = happyGoto action_133+action_769 (81) = happyGoto action_580+action_769 (83) = happyGoto action_571+action_769 (85) = happyGoto action_30+action_769 (89) = happyGoto action_798+action_769 (90) = happyGoto action_171+action_769 (92) = happyGoto action_172+action_769 (94) = happyGoto action_95+action_769 (95) = happyGoto action_173+action_769 (97) = happyGoto action_174+action_769 (98) = happyGoto action_175+action_769 (99) = happyGoto action_176+action_769 (100) = happyGoto action_177+action_769 _ = happyFail++action_770 _ = happyReduce_376++action_771 (109) = happyShift action_97+action_771 (111) = happyShift action_98+action_771 (122) = happyShift action_797+action_771 (97) = happyGoto action_279+action_771 _ = happyFail++action_772 (106) = happyShift action_32+action_772 (108) = happyShift action_110+action_772 (109) = happyShift action_97+action_772 (110) = happyShift action_178+action_772 (111) = happyShift action_98+action_772 (120) = happyShift action_179+action_772 (123) = happyShift action_180+action_772 (125) = happyShift action_181+action_772 (127) = happyShift action_182+action_772 (128) = happyShift action_183+action_772 (129) = happyShift action_184+action_772 (134) = happyShift action_185+action_772 (143) = happyShift action_186+action_772 (162) = happyShift action_187+action_772 (163) = happyShift action_188+action_772 (81) = happyGoto action_796+action_772 (83) = happyGoto action_170+action_772 (85) = happyGoto action_30+action_772 (90) = happyGoto action_171+action_772 (92) = happyGoto action_172+action_772 (94) = happyGoto action_95+action_772 (95) = happyGoto action_173+action_772 (97) = happyGoto action_174+action_772 (98) = happyGoto action_175+action_772 (99) = happyGoto action_176+action_772 (100) = happyGoto action_177+action_772 _ = happyFail++action_773 (106) = happyShift action_32+action_773 (108) = happyShift action_110+action_773 (109) = happyShift action_97+action_773 (110) = happyShift action_178+action_773 (111) = happyShift action_98+action_773 (120) = happyShift action_179+action_773 (123) = happyShift action_180+action_773 (125) = happyShift action_181+action_773 (127) = happyShift action_182+action_773 (128) = happyShift action_183+action_773 (129) = happyShift action_251+action_773 (134) = happyShift action_185+action_773 (143) = happyShift action_186+action_773 (162) = happyShift action_187+action_773 (163) = happyShift action_188+action_773 (80) = happyGoto action_795+action_773 (81) = happyGoto action_250+action_773 (83) = happyGoto action_170+action_773 (85) = happyGoto action_30+action_773 (90) = happyGoto action_171+action_773 (92) = happyGoto action_172+action_773 (94) = happyGoto action_95+action_773 (95) = happyGoto action_173+action_773 (97) = happyGoto action_174+action_773 (98) = happyGoto action_175+action_773 (99) = happyGoto action_176+action_773 (100) = happyGoto action_177+action_773 _ = happyFail++action_774 _ = happyReduce_321++action_775 (114) = happyShift action_228+action_775 (160) = happyReduce_53+action_775 (161) = happyReduce_53+action_775 (235) = happyShift action_229+action_775 _ = happyReduce_15++action_776 (114) = happyShift action_213+action_776 (235) = happyShift action_214+action_776 (27) = happyGoto action_794+action_776 _ = happyFail++action_777 (112) = happyShift action_312+action_777 (114) = happyShift action_213+action_777 (235) = happyShift action_214+action_777 (27) = happyGoto action_793+action_777 _ = happyFail++action_778 (114) = happyShift action_228+action_778 (235) = happyShift action_229+action_778 _ = happyReduce_49++action_779 _ = happyReduce_39++action_780 (106) = happyShift action_32+action_780 (107) = happyShift action_9+action_780 (109) = happyShift action_97+action_780 (111) = happyShift action_98+action_780 (156) = happyShift action_532+action_780 (157) = happyShift action_33+action_780 (159) = happyShift action_244+action_780 (164) = happyShift action_34+action_780 (165) = happyShift action_35+action_780 (166) = happyShift action_36+action_780 (167) = happyShift action_37+action_780 (168) = happyShift action_38+action_780 (169) = happyShift action_39+action_780 (170) = happyShift action_40+action_780 (171) = happyShift action_41+action_780 (172) = happyShift action_42+action_780 (173) = happyShift action_43+action_780 (174) = happyShift action_44+action_780 (175) = happyShift action_45+action_780 (176) = happyShift action_46+action_780 (177) = happyShift action_47+action_780 (178) = happyShift action_48+action_780 (182) = happyShift action_49+action_780 (183) = happyShift action_50+action_780 (184) = happyShift action_51+action_780 (185) = happyShift action_52+action_780 (186) = happyShift action_53+action_780 (187) = happyShift action_54+action_780 (188) = happyShift action_55+action_780 (189) = happyShift action_56+action_780 (191) = happyShift action_57+action_780 (192) = happyShift action_58+action_780 (194) = happyShift action_59+action_780 (195) = happyShift action_60+action_780 (196) = happyShift action_61+action_780 (197) = happyShift action_62+action_780 (198) = happyShift action_63+action_780 (200) = happyShift action_64+action_780 (202) = happyShift action_65+action_780 (203) = happyShift action_66+action_780 (204) = happyShift action_67+action_780 (205) = happyShift action_68+action_780 (206) = happyShift action_69+action_780 (207) = happyShift action_70+action_780 (209) = happyShift action_71+action_780 (210) = happyShift action_72+action_780 (211) = happyShift action_73+action_780 (212) = happyShift action_74+action_780 (213) = happyShift action_75+action_780 (214) = happyShift action_76+action_780 (215) = happyShift action_77+action_780 (216) = happyShift action_78+action_780 (219) = happyShift action_17+action_780 (220) = happyShift action_18+action_780 (221) = happyShift action_19+action_780 (222) = happyShift action_20+action_780 (223) = happyShift action_21+action_780 (224) = happyShift action_22+action_780 (225) = happyShift action_79+action_780 (226) = happyShift action_80+action_780 (227) = happyShift action_81+action_780 (228) = happyShift action_82+action_780 (229) = happyShift action_83+action_780 (230) = happyShift action_84+action_780 (231) = happyShift action_85+action_780 (232) = happyShift action_86+action_780 (233) = happyShift action_87+action_780 (8) = happyGoto action_792+action_780 (20) = happyGoto action_516+action_780 (26) = happyGoto action_241+action_780 (28) = happyGoto action_242+action_780 (29) = happyGoto action_24+action_780 (30) = happyGoto action_25+action_780 (31) = happyGoto action_26+action_780 (61) = happyGoto action_27+action_780 (77) = happyGoto action_28+action_780 (83) = happyGoto action_29+action_780 (85) = happyGoto action_30+action_780 (94) = happyGoto action_31+action_780 (97) = happyGoto action_243+action_780 _ = happyReduce_14++action_781 _ = happyReduce_23++action_782 _ = happyReduce_21++action_783 (106) = happyShift action_791+action_783 _ = happyReduce_35++action_784 _ = happyReduce_34++action_785 (114) = happyShift action_213+action_785 (235) = happyShift action_214+action_785 (27) = happyGoto action_790+action_785 _ = happyFail++action_786 (147) = happyShift action_783+action_786 (234) = happyShift action_784+action_786 (15) = happyGoto action_789+action_786 _ = happyFail++action_787 (106) = happyShift action_32+action_787 (107) = happyShift action_9+action_787 (109) = happyShift action_97+action_787 (111) = happyShift action_98+action_787 (156) = happyShift action_532+action_787 (157) = happyShift action_33+action_787 (159) = happyShift action_244+action_787 (164) = happyShift action_34+action_787 (165) = happyShift action_35+action_787 (166) = happyShift action_36+action_787 (167) = happyShift action_37+action_787 (168) = happyShift action_38+action_787 (169) = happyShift action_39+action_787 (170) = happyShift action_40+action_787 (171) = happyShift action_41+action_787 (172) = happyShift action_42+action_787 (173) = happyShift action_43+action_787 (174) = happyShift action_44+action_787 (175) = happyShift action_45+action_787 (176) = happyShift action_46+action_787 (177) = happyShift action_47+action_787 (178) = happyShift action_48+action_787 (182) = happyShift action_49+action_787 (183) = happyShift action_50+action_787 (184) = happyShift action_51+action_787 (185) = happyShift action_52+action_787 (186) = happyShift action_53+action_787 (187) = happyShift action_54+action_787 (188) = happyShift action_55+action_787 (189) = happyShift action_56+action_787 (191) = happyShift action_57+action_787 (192) = happyShift action_58+action_787 (194) = happyShift action_59+action_787 (195) = happyShift action_60+action_787 (196) = happyShift action_61+action_787 (197) = happyShift action_62+action_787 (198) = happyShift action_63+action_787 (200) = happyShift action_64+action_787 (202) = happyShift action_65+action_787 (203) = happyShift action_66+action_787 (204) = happyShift action_67+action_787 (205) = happyShift action_68+action_787 (206) = happyShift action_69+action_787 (207) = happyShift action_70+action_787 (209) = happyShift action_71+action_787 (210) = happyShift action_72+action_787 (211) = happyShift action_73+action_787 (212) = happyShift action_74+action_787 (213) = happyShift action_75+action_787 (214) = happyShift action_76+action_787 (215) = happyShift action_77+action_787 (216) = happyShift action_78+action_787 (219) = happyShift action_17+action_787 (220) = happyShift action_18+action_787 (221) = happyShift action_19+action_787 (222) = happyShift action_20+action_787 (223) = happyShift action_21+action_787 (224) = happyShift action_22+action_787 (225) = happyShift action_79+action_787 (226) = happyShift action_80+action_787 (227) = happyShift action_81+action_787 (228) = happyShift action_82+action_787 (229) = happyShift action_83+action_787 (230) = happyShift action_84+action_787 (231) = happyShift action_85+action_787 (232) = happyShift action_86+action_787 (233) = happyShift action_87+action_787 (8) = happyGoto action_788+action_787 (20) = happyGoto action_516+action_787 (26) = happyGoto action_241+action_787 (28) = happyGoto action_242+action_787 (29) = happyGoto action_24+action_787 (30) = happyGoto action_25+action_787 (31) = happyGoto action_26+action_787 (61) = happyGoto action_27+action_787 (77) = happyGoto action_28+action_787 (83) = happyGoto action_29+action_787 (85) = happyGoto action_30+action_787 (94) = happyGoto action_31+action_787 (97) = happyGoto action_243+action_787 _ = happyReduce_14++action_788 (147) = happyShift action_783+action_788 (234) = happyShift action_784+action_788 (15) = happyGoto action_804+action_788 _ = happyFail++action_789 _ = happyReduce_18++action_790 (114) = happyShift action_228+action_790 (235) = happyShift action_229+action_790 _ = happyReduce_15++action_791 _ = happyReduce_36++action_792 (147) = happyShift action_783+action_792 (234) = happyShift action_784+action_792 (15) = happyGoto action_803+action_792 _ = happyFail++action_793 (114) = happyShift action_228+action_793 (235) = happyShift action_229+action_793 _ = happyReduce_56++action_794 (114) = happyShift action_228+action_794 (235) = happyShift action_229+action_794 _ = happyReduce_48++action_795 (122) = happyShift action_802+action_795 _ = happyFail++action_796 (122) = happyShift action_801+action_796 (125) = happyShift action_286+action_796 (126) = happyShift action_287+action_796 (127) = happyShift action_288+action_796 (128) = happyShift action_289+action_796 (129) = happyShift action_290+action_796 (130) = happyShift action_291+action_796 (132) = happyShift action_292+action_796 (133) = happyShift action_293+action_796 (135) = happyShift action_294+action_796 (136) = happyShift action_295+action_796 (137) = happyShift action_296+action_796 (138) = happyShift action_297+action_796 (139) = happyShift action_298+action_796 (140) = happyShift action_299+action_796 (141) = happyShift action_300+action_796 (142) = happyShift action_301+action_796 (93) = happyGoto action_285+action_796 _ = happyFail++action_797 _ = happyReduce_297++action_798 (122) = happyShift action_800+action_798 _ = happyFail++action_799 _ = happyReduce_111++action_800 _ = happyReduce_377++action_801 _ = happyReduce_322++action_802 _ = happyReduce_323++action_803 _ = happyReduce_20++action_804 _ = happyReduce_19++happyReduce_2 = happySpecReduce_1  5 happyReduction_2+happyReduction_2 (HappyAbsSyn6  happy_var_1)+	 =  HappyAbsSyn5+		 (ProgramFile (reverse happy_var_1) [ ]+	)+happyReduction_2 _  = notHappyAtAll ++happyReduce_3 = happySpecReduce_2  5 happyReduction_3+happyReduction_3 (HappyAbsSyn19  happy_var_2)+	(HappyAbsSyn6  happy_var_1)+	 =  HappyAbsSyn5+		 (ProgramFile (reverse happy_var_1) (reverse happy_var_2)+	)+happyReduction_3 _ _  = notHappyAtAll ++happyReduce_4 = happySpecReduce_3  6 happyReduction_4+happyReduction_4 _+	(HappyAbsSyn7  happy_var_2)+	(HappyAbsSyn6  happy_var_1)+	 =  HappyAbsSyn6+		 (([ ], happy_var_2) : happy_var_1+	)+happyReduction_4 _ _ _  = notHappyAtAll ++happyReduce_5 = happyReduce 4 6 happyReduction_5+happyReduction_5 (_ `HappyStk`+	(HappyAbsSyn7  happy_var_3) `HappyStk`+	(HappyAbsSyn19  happy_var_2) `HappyStk`+	(HappyAbsSyn6  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn6+		 ((reverse happy_var_2, happy_var_3) : happy_var_1+	) `HappyStk` happyRest++happyReduce_6 = happySpecReduce_2  6 happyReduction_6+happyReduction_6 _+	(HappyAbsSyn7  happy_var_1)+	 =  HappyAbsSyn6+		 ([ ([ ], happy_var_1) ]+	)+happyReduction_6 _ _  = notHappyAtAll ++happyReduce_7 = happySpecReduce_3  6 happyReduction_7+happyReduction_7 _+	(HappyAbsSyn7  happy_var_2)+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn6+		 ([ (reverse happy_var_1, happy_var_2) ]+	)+happyReduction_7 _ _ _  = notHappyAtAll ++happyReduce_8 = happyMonadReduce 6 7 happyReduction_8+happyReduction_8 ((HappyAbsSyn13  happy_var_6) `HappyStk`+	(HappyAbsSyn8  happy_var_5) `HappyStk`+	(HappyAbsSyn19  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn18  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_6 happy_var_2;+          return $ PUMain () (getTransSpan happy_var_1 happy_var_6) (Just happy_var_2) (reverse happy_var_4) happy_var_5 })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_9 = happyMonadReduce 6 7 happyReduction_9+happyReduction_9 ((HappyAbsSyn13  happy_var_6) `HappyStk`+	(HappyAbsSyn8  happy_var_5) `HappyStk`+	(HappyAbsSyn19  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn18  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_6 happy_var_2;+          return $ PUModule () (getTransSpan happy_var_1 happy_var_6) happy_var_2 (reverse happy_var_4) happy_var_5 })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_10 = happyReduce 4 7 happyReduction_10+happyReduction_10 ((HappyAbsSyn13  happy_var_4) `HappyStk`+	(HappyAbsSyn19  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn7+		 (PUBlockData () (getTransSpan happy_var_1 happy_var_4) Nothing (reverse happy_var_3)+	) `HappyStk` happyRest++happyReduce_11 = happyMonadReduce 5 7 happyReduction_11+happyReduction_11 ((HappyAbsSyn13  happy_var_5) `HappyStk`+	(HappyAbsSyn19  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn18  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_5 happy_var_2;+          return $ PUBlockData () (getTransSpan happy_var_1 happy_var_5) (Just happy_var_2) (reverse happy_var_4) })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_12 = happySpecReduce_1  7 happyReduction_12+happyReduction_12 (HappyAbsSyn7  happy_var_1)+	 =  HappyAbsSyn7+		 (happy_var_1+	)+happyReduction_12 _  = notHappyAtAll ++happyReduce_13 = happySpecReduce_3  8 happyReduction_13+happyReduction_13 (HappyAbsSyn9  happy_var_3)+	_+	_+	 =  HappyAbsSyn8+		 (Just $ reverse happy_var_3+	)+happyReduction_13 _ _ _  = notHappyAtAll ++happyReduce_14 = happySpecReduce_0  8 happyReduction_14+happyReduction_14  =  HappyAbsSyn8+		 (Nothing+	)++happyReduce_15 = happySpecReduce_3  9 happyReduction_15+happyReduction_15 _+	(HappyAbsSyn7  happy_var_2)+	(HappyAbsSyn9  happy_var_1)+	 =  HappyAbsSyn9+		 (happy_var_2 : happy_var_1+	)+happyReduction_15 _ _ _  = notHappyAtAll ++happyReduce_16 = happySpecReduce_2  9 happyReduction_16+happyReduction_16 _+	(HappyAbsSyn9  happy_var_1)+	 =  HappyAbsSyn9+		 (happy_var_1+	)+happyReduction_16 _ _  = notHappyAtAll ++happyReduce_17 = happySpecReduce_0  9 happyReduction_17+happyReduction_17  =  HappyAbsSyn9+		 ([ ]+	)++happyReduce_18 = happyMonadReduce 9 10 happyReduction_18+happyReduction_18 ((HappyAbsSyn13  happy_var_9) `HappyStk`+	(HappyAbsSyn8  happy_var_8) `HappyStk`+	(HappyAbsSyn19  happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn12  happy_var_5) `HappyStk`+	(HappyAbsSyn11  happy_var_4) `HappyStk`+	(HappyAbsSyn18  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn77  happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_9 happy_var_3;+          return $ PUFunction () (getTransSpan happy_var_1 happy_var_9) (Just happy_var_1) False happy_var_3 happy_var_4 happy_var_5 (reverse happy_var_7) happy_var_8 })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_19 = happyMonadReduce 10 10 happyReduction_19+happyReduction_19 ((HappyAbsSyn13  happy_var_10) `HappyStk`+	(HappyAbsSyn8  happy_var_9) `HappyStk`+	(HappyAbsSyn19  happy_var_8) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn12  happy_var_6) `HappyStk`+	(HappyAbsSyn11  happy_var_5) `HappyStk`+	(HappyAbsSyn18  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn77  happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_10 happy_var_4;+          return $ PUFunction () (getTransSpan happy_var_1 happy_var_10) (Just happy_var_1) True happy_var_4 happy_var_5 happy_var_6 (reverse happy_var_8) happy_var_9 })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_20 = happyMonadReduce 10 10 happyReduction_20+happyReduction_20 ((HappyAbsSyn13  happy_var_10) `HappyStk`+	(HappyAbsSyn8  happy_var_9) `HappyStk`+	(HappyAbsSyn19  happy_var_8) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn12  happy_var_6) `HappyStk`+	(HappyAbsSyn11  happy_var_5) `HappyStk`+	(HappyAbsSyn18  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn77  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_10 happy_var_4;+          return $ PUFunction () (getTransSpan happy_var_1 happy_var_10) (Just happy_var_2) True happy_var_4 happy_var_5 happy_var_6 (reverse happy_var_8) happy_var_9 })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_21 = happyMonadReduce 8 10 happyReduction_21+happyReduction_21 ((HappyAbsSyn13  happy_var_8) `HappyStk`+	(HappyAbsSyn8  happy_var_7) `HappyStk`+	(HappyAbsSyn19  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn12  happy_var_4) `HappyStk`+	(HappyAbsSyn11  happy_var_3) `HappyStk`+	(HappyAbsSyn18  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_8 happy_var_2;+          return $ PUFunction () (getTransSpan happy_var_1 happy_var_8) Nothing False happy_var_2 happy_var_3 happy_var_4 (reverse happy_var_6) happy_var_7 })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_22 = happyMonadReduce 7 10 happyReduction_22+happyReduction_22 ((HappyAbsSyn13  happy_var_7) `HappyStk`+	(HappyAbsSyn8  happy_var_6) `HappyStk`+	(HappyAbsSyn19  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn11  happy_var_3) `HappyStk`+	(HappyAbsSyn18  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_7 happy_var_2;+          return $ PUSubroutine () (getTransSpan happy_var_1 happy_var_7) False happy_var_2 happy_var_3 (reverse happy_var_5) happy_var_6 })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_23 = happyMonadReduce 8 10 happyReduction_23+happyReduction_23 ((HappyAbsSyn13  happy_var_8) `HappyStk`+	(HappyAbsSyn8  happy_var_7) `HappyStk`+	(HappyAbsSyn19  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn11  happy_var_4) `HappyStk`+	(HappyAbsSyn18  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do { unitNameCheck happy_var_8 happy_var_3;+          return $ PUSubroutine () (getTransSpan happy_var_1 happy_var_8) True happy_var_3 happy_var_4 (reverse happy_var_6) happy_var_7 })+	) (\r -> happyReturn (HappyAbsSyn7 r))++happyReduce_24 = happySpecReduce_3  11 happyReduction_24+happyReduction_24 _+	(HappyAbsSyn11  happy_var_2)+	_+	 =  HappyAbsSyn11+		 (happy_var_2+	)+happyReduction_24 _ _ _  = notHappyAtAll ++happyReduce_25 = happySpecReduce_0  11 happyReduction_25+happyReduction_25  =  HappyAbsSyn11+		 (Nothing+	)++happyReduce_26 = happyReduce 4 12 happyReduction_26+happyReduction_26 (_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	happyRest)+	 = HappyAbsSyn12+		 (Just happy_var_3+	) `HappyStk` happyRest++happyReduce_27 = happySpecReduce_0  12 happyReduction_27+happyReduction_27  =  HappyAbsSyn12+		 (Nothing+	)++happyReduce_28 = happySpecReduce_1  13 happyReduction_28+happyReduction_28 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_28 _  = notHappyAtAll ++happyReduce_29 = happySpecReduce_1  13 happyReduction_29+happyReduction_29 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_29 _  = notHappyAtAll ++happyReduce_30 = happySpecReduce_2  13 happyReduction_30+happyReduction_30 (HappyTerminal happy_var_2)+	_+	 =  HappyAbsSyn13+		 (happy_var_2+	)+happyReduction_30 _ _  = notHappyAtAll ++happyReduce_31 = happySpecReduce_1  14 happyReduction_31+happyReduction_31 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_31 _  = notHappyAtAll ++happyReduce_32 = happySpecReduce_1  14 happyReduction_32+happyReduction_32 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_32 _  = notHappyAtAll ++happyReduce_33 = happySpecReduce_2  14 happyReduction_33+happyReduction_33 (HappyTerminal happy_var_2)+	_+	 =  HappyAbsSyn13+		 (happy_var_2+	)+happyReduction_33 _ _  = notHappyAtAll ++happyReduce_34 = happySpecReduce_1  15 happyReduction_34+happyReduction_34 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_34 _  = notHappyAtAll ++happyReduce_35 = happySpecReduce_1  15 happyReduction_35+happyReduction_35 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_35 _  = notHappyAtAll ++happyReduce_36 = happySpecReduce_2  15 happyReduction_36+happyReduction_36 (HappyTerminal happy_var_2)+	_+	 =  HappyAbsSyn13+		 (happy_var_2+	)+happyReduction_36 _ _  = notHappyAtAll ++happyReduce_37 = happySpecReduce_1  16 happyReduction_37+happyReduction_37 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_37 _  = notHappyAtAll ++happyReduce_38 = happySpecReduce_1  16 happyReduction_38+happyReduction_38 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_38 _  = notHappyAtAll ++happyReduce_39 = happySpecReduce_2  16 happyReduction_39+happyReduction_39 (HappyTerminal happy_var_2)+	_+	 =  HappyAbsSyn13+		 (happy_var_2+	)+happyReduction_39 _ _  = notHappyAtAll ++happyReduce_40 = happySpecReduce_1  17 happyReduction_40+happyReduction_40 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_40 _  = notHappyAtAll ++happyReduce_41 = happySpecReduce_1  17 happyReduction_41+happyReduction_41 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_41 _  = notHappyAtAll ++happyReduce_42 = happySpecReduce_2  17 happyReduction_42+happyReduction_42 (HappyTerminal happy_var_2)+	_+	 =  HappyAbsSyn13+		 (happy_var_2+	)+happyReduction_42 _ _  = notHappyAtAll ++happyReduce_43 = happySpecReduce_1  18 happyReduction_43+happyReduction_43 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn18+		 (let (TId _ name) = happy_var_1 in name+	)+happyReduction_43 _  = notHappyAtAll ++happyReduce_44 = happySpecReduce_2  19 happyReduction_44+happyReduction_44 (HappyAbsSyn20  happy_var_2)+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_2 : happy_var_1+	)+happyReduction_44 _ _  = notHappyAtAll ++happyReduce_45 = happySpecReduce_1  19 happyReduction_45+happyReduction_45 (HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn19+		 ([ happy_var_1 ]+	)+happyReduction_45 _  = notHappyAtAll ++happyReduce_46 = happyReduce 4 20 happyReduction_46+happyReduction_46 (_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn28  happy_var_2) `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn20+		 (BlStatement () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) happy_var_2+	) `HappyStk` happyRest++happyReduce_47 = happySpecReduce_3  20 happyReduction_47+happyReduction_47 _+	_+	(HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn20+		 (BlStatement () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_47 _ _ _  = notHappyAtAll ++happyReduce_48 = happyReduce 7 20 happyReduction_48+happyReduction_48 ((HappyAbsSyn13  happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_5) `HappyStk`+	(HappyAbsSyn9  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn20+		 (BlInterface () (getTransSpan happy_var_1 happy_var_7) happy_var_2 happy_var_4 happy_var_5+	) `HappyStk` happyRest++happyReduce_49 = happyReduce 6 20 happyReduction_49+happyReduction_49 ((HappyAbsSyn13  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn19  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn20+		 (BlInterface () (getTransSpan happy_var_1 happy_var_6) happy_var_2 [ ] happy_var_4+	) `HappyStk` happyRest++happyReduce_50 = happySpecReduce_1  20 happyReduction_50+happyReduction_50 (HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn20+		 (happy_var_1+	)+happyReduction_50 _  = notHappyAtAll ++happyReduce_51 = happySpecReduce_1  21 happyReduction_51+happyReduction_51 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn21+		 (Just happy_var_1+	)+happyReduction_51 _  = notHappyAtAll ++happyReduce_52 = happySpecReduce_0  21 happyReduction_52+happyReduction_52  =  HappyAbsSyn21+		 (Nothing+	)++happyReduce_53 = happySpecReduce_3  22 happyReduction_53+happyReduction_53 _+	(HappyAbsSyn7  happy_var_2)+	(HappyAbsSyn9  happy_var_1)+	 =  HappyAbsSyn9+		 (happy_var_2 : happy_var_1+	)+happyReduction_53 _ _ _  = notHappyAtAll ++happyReduce_54 = happySpecReduce_2  23 happyReduction_54+happyReduction_54 (HappyAbsSyn20  happy_var_2)+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_2 : happy_var_1+	)+happyReduction_54 _ _  = notHappyAtAll ++happyReduce_55 = happySpecReduce_0  23 happyReduction_55+happyReduction_55  =  HappyAbsSyn19+		 ([ ]+	)++happyReduce_56 = happySpecReduce_3  24 happyReduction_56+happyReduction_56 (HappyAbsSyn13  happy_var_3)+	(HappyAbsSyn44  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn20+		 (let { al = fromReverseList happy_var_2;+          st = StModuleProcedure () (getTransSpan happy_var_1 al) (fromReverseList happy_var_2) }+    in BlStatement () (getTransSpan happy_var_1 happy_var_3) Nothing st+	)+happyReduction_56 _ _ _  = notHappyAtAll ++happyReduce_57 = happySpecReduce_2  25 happyReduction_57+happyReduction_57 (HappyAbsSyn20  happy_var_2)+	(HappyAbsSyn19  happy_var_1)+	 =  HappyAbsSyn19+		 (happy_var_2 : happy_var_1+	)+happyReduction_57 _ _  = notHappyAtAll ++happyReduce_58 = happySpecReduce_1  25 happyReduction_58+happyReduction_58 (HappyAbsSyn20  happy_var_1)+	 =  HappyAbsSyn19+		 ([ happy_var_1 ]+	)+happyReduction_58 _  = notHappyAtAll ++happyReduce_59 = happySpecReduce_2  26 happyReduction_59+happyReduction_59 _+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn20+		 (let (TComment s c) = happy_var_1 in BlComment () s c+	)+happyReduction_59 _ _  = notHappyAtAll ++happyReduce_60 = happySpecReduce_2  27 happyReduction_60+happyReduction_60 _+	(HappyAbsSyn13  happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_60 _ _  = notHappyAtAll ++happyReduce_61 = happySpecReduce_2  27 happyReduction_61+happyReduction_61 _+	(HappyAbsSyn13  happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_61 _ _  = notHappyAtAll ++happyReduce_62 = happySpecReduce_1  27 happyReduction_62+happyReduction_62 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_62 _  = notHappyAtAll ++happyReduce_63 = happySpecReduce_1  27 happyReduction_63+happyReduction_63 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn13+		 (happy_var_1+	)+happyReduction_63 _  = notHappyAtAll ++happyReduce_64 = happySpecReduce_1  28 happyReduction_64+happyReduction_64 (HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn28+		 (happy_var_1+	)+happyReduction_64 _  = notHappyAtAll ++happyReduce_65 = happySpecReduce_1  28 happyReduction_65+happyReduction_65 (HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn28+		 (happy_var_1+	)+happyReduction_65 _  = notHappyAtAll ++happyReduce_66 = happySpecReduce_3  29 happyReduction_66+happyReduction_66 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn28+		 (StExpressionAssign () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3+	)+happyReduction_66 _ _ _  = notHappyAtAll ++happyReduce_67 = happySpecReduce_1  30 happyReduction_67+happyReduction_67 (HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn28+		 (happy_var_1+	)+happyReduction_67 _  = notHappyAtAll ++happyReduce_68 = happyReduce 6 30 happyReduction_68+happyReduction_68 ((HappyAbsSyn44  happy_var_6) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn64  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let expAList = fromReverseList happy_var_6+    in StIntent () (getTransSpan happy_var_1 expAList) happy_var_3 expAList+	) `HappyStk` happyRest++happyReduce_69 = happySpecReduce_3  30 happyReduction_69+happyReduction_69 (HappyAbsSyn44  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let expAList = fromReverseList happy_var_3+    in StOptional () (getTransSpan happy_var_1 expAList) expAList+	)+happyReduction_69 _ _ _  = notHappyAtAll ++happyReduce_70 = happySpecReduce_3  30 happyReduction_70+happyReduction_70 (HappyAbsSyn44  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let expAList = fromReverseList happy_var_3+    in StPublic () (getTransSpan happy_var_1 expAList) (Just expAList)+	)+happyReduction_70 _ _ _  = notHappyAtAll ++happyReduce_71 = happySpecReduce_1  30 happyReduction_71+happyReduction_71 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StPublic () (getSpan happy_var_1) Nothing+	)+happyReduction_71 _  = notHappyAtAll ++happyReduce_72 = happySpecReduce_3  30 happyReduction_72+happyReduction_72 (HappyAbsSyn44  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let expAList = fromReverseList happy_var_3+    in StPrivate () (getTransSpan happy_var_1 expAList) (Just expAList)+	)+happyReduction_72 _ _ _  = notHappyAtAll ++happyReduce_73 = happySpecReduce_1  30 happyReduction_73+happyReduction_73 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StPrivate () (getSpan happy_var_1) Nothing+	)+happyReduction_73 _  = notHappyAtAll ++happyReduce_74 = happySpecReduce_3  30 happyReduction_74+happyReduction_74 (HappyAbsSyn44  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let saveAList = (fromReverseList happy_var_3)+    in StSave () (getTransSpan happy_var_1 saveAList) (Just saveAList)+	)+happyReduction_74 _ _ _  = notHappyAtAll ++happyReduce_75 = happySpecReduce_1  30 happyReduction_75+happyReduction_75 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StSave () (getSpan happy_var_1) Nothing+	)+happyReduction_75 _  = notHappyAtAll ++happyReduce_76 = happySpecReduce_3  30 happyReduction_76+happyReduction_76 (HappyAbsSyn59  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let declAList = fromReverseList happy_var_3+    in StDimension () (getTransSpan happy_var_1 declAList) declAList+	)+happyReduction_76 _ _ _  = notHappyAtAll ++happyReduce_77 = happySpecReduce_3  30 happyReduction_77+happyReduction_77 (HappyAbsSyn59  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let declAList = fromReverseList happy_var_3+    in StAllocatable () (getTransSpan happy_var_1 declAList) declAList+	)+happyReduction_77 _ _ _  = notHappyAtAll ++happyReduce_78 = happySpecReduce_3  30 happyReduction_78+happyReduction_78 (HappyAbsSyn59  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let declAList = fromReverseList happy_var_3+    in StPointer () (getTransSpan happy_var_1 declAList) declAList+	)+happyReduction_78 _ _ _  = notHappyAtAll ++happyReduce_79 = happySpecReduce_3  30 happyReduction_79+happyReduction_79 (HappyAbsSyn59  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let declAList = fromReverseList happy_var_3+    in StTarget () (getTransSpan happy_var_1 declAList) declAList+	)+happyReduction_79 _ _ _  = notHappyAtAll ++happyReduce_80 = happyReduce 4 30 happyReduction_80+happyReduction_80 (_ `HappyStk`+	(HappyAbsSyn65  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let dataAList = fromReverseList happy_var_3+    in StData () (getTransSpan happy_var_1 dataAList) dataAList+	) `HappyStk` happyRest++happyReduce_81 = happyReduce 4 30 happyReduction_81+happyReduction_81 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn59  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let declAList = fromReverseList happy_var_3+    in StParameter () (getTransSpan happy_var_1 happy_var_4) declAList+	) `HappyStk` happyRest++happyReduce_82 = happySpecReduce_2  30 happyReduction_82+happyReduction_82 (HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StImplicit () (getTransSpan happy_var_1 happy_var_2) Nothing+	)+happyReduction_82 _ _  = notHappyAtAll ++happyReduce_83 = happyReduce 4 30 happyReduction_83+happyReduction_83 (_ `HappyStk`+	(HappyAbsSyn55  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let impAList = fromReverseList happy_var_3+    in StImplicit () (getTransSpan happy_var_1 impAList) $ Just $ impAList+	) `HappyStk` happyRest++happyReduce_84 = happyReduce 4 30 happyReduction_84+happyReduction_84 (_ `HappyStk`+	(HappyAbsSyn51  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let nameALists = fromReverseList happy_var_3+    in StNamelist () (getTransSpan happy_var_1 nameALists) nameALists+	) `HappyStk` happyRest++happyReduce_85 = happySpecReduce_2  30 happyReduction_85+happyReduction_85 (HappyAbsSyn50  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let eqALists = fromReverseList happy_var_2+    in StEquivalence () (getTransSpan happy_var_1 eqALists) eqALists+	)+happyReduction_85 _ _  = notHappyAtAll ++happyReduce_86 = happyReduce 4 30 happyReduction_86+happyReduction_86 (_ `HappyStk`+	(HappyAbsSyn47  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let commonAList = fromReverseList happy_var_3+    in StCommon () (getTransSpan happy_var_1 commonAList) commonAList+	) `HappyStk` happyRest++happyReduce_87 = happySpecReduce_2  30 happyReduction_87+happyReduction_87 (HappyAbsSyn44  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let alist = fromReverseList happy_var_2+    in StExternal () (getTransSpan happy_var_1 alist) alist+	)+happyReduction_87 _ _  = notHappyAtAll ++happyReduce_88 = happySpecReduce_2  30 happyReduction_88+happyReduction_88 (HappyAbsSyn44  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let alist = fromReverseList happy_var_2+    in StIntrinsic () (getTransSpan happy_var_1 alist) alist+	)+happyReduction_88 _ _  = notHappyAtAll ++happyReduce_89 = happySpecReduce_2  30 happyReduction_89+happyReduction_89 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StUse () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_89 _ _  = notHappyAtAll ++happyReduce_90 = happyReduce 4 30 happyReduction_90+happyReduction_90 ((HappyAbsSyn34  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let alist = fromReverseList happy_var_4+    in StUse () (getTransSpan happy_var_1 alist) happy_var_2 (Just alist)+	) `HappyStk` happyRest++happyReduce_91 = happyReduce 6 30 happyReduction_91+happyReduction_91 ((HappyAbsSyn34  happy_var_6) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let alist = fromReverseList happy_var_6+    in StUse () (getTransSpan happy_var_1 alist) happy_var_2 (Just alist)+	) `HappyStk` happyRest++happyReduce_92 = happySpecReduce_3  30 happyReduction_92+happyReduction_92 (HappyAbsSyn12  happy_var_3)+	(HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEntry () (getTransSpan happy_var_1 $ maybe (getSpan happy_var_2) getSpan happy_var_3) happy_var_2 Nothing happy_var_3+	)+happyReduction_92 _ _ _  = notHappyAtAll ++happyReduce_93 = happyReduce 5 30 happyReduction_93+happyReduction_93 ((HappyAbsSyn12  happy_var_5) `HappyStk`+	(HappyTerminal happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StEntry () (getTransSpan happy_var_1 $ maybe (getSpan happy_var_4) getSpan happy_var_5) happy_var_2 Nothing happy_var_5+	) `HappyStk` happyRest++happyReduce_94 = happyReduce 6 30 happyReduction_94+happyReduction_94 ((HappyAbsSyn12  happy_var_6) `HappyStk`+	(HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn44  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StEntry () (getTransSpan happy_var_1 $ maybe (getSpan happy_var_5) getSpan happy_var_6) happy_var_2 (Just $ fromReverseList happy_var_4) happy_var_6+	) `HappyStk` happyRest++happyReduce_95 = happySpecReduce_1  30 happyReduction_95+happyReduction_95 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StSequence () (getSpan happy_var_1)+	)+happyReduction_95 _  = notHappyAtAll ++happyReduce_96 = happyReduce 4 30 happyReduction_96+happyReduction_96 ((HappyTerminal happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn62  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let { TId span id = happy_var_4;+          alist = if null happy_var_2 then Nothing else (Just . fromReverseList) happy_var_2 }+    in StType () (getTransSpan happy_var_1 span) alist id+	) `HappyStk` happyRest++happyReduce_97 = happySpecReduce_2  30 happyReduction_97+happyReduction_97 (HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let TId span id = happy_var_2 in StType () (getTransSpan happy_var_1 span) Nothing id+	)+happyReduction_97 _ _  = notHappyAtAll ++happyReduce_98 = happySpecReduce_1  30 happyReduction_98+happyReduction_98 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEndType () (getSpan happy_var_1) Nothing+	)+happyReduction_98 _  = notHappyAtAll ++happyReduce_99 = happySpecReduce_2  30 happyReduction_99+happyReduction_99 (HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let TId span id = happy_var_2 in StEndType () (getTransSpan happy_var_1 span) (Just id)+	)+happyReduction_99 _ _  = notHappyAtAll ++happyReduce_100 = happyReduce 4 31 happyReduction_100+happyReduction_100 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn44  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StAllocate () (getTransSpan happy_var_1 happy_var_4) (fromReverseList happy_var_3) Nothing+	) `HappyStk` happyRest++happyReduce_101 = happyReduce 6 31 happyReduction_101+happyReduction_101 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn41  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn44  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StAllocate () (getTransSpan happy_var_1 happy_var_6) (fromReverseList happy_var_3) (Just happy_var_5)+	) `HappyStk` happyRest++happyReduce_102 = happyReduce 4 31 happyReduction_102+happyReduction_102 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn44  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StNullify () (getTransSpan happy_var_1 happy_var_4) (fromReverseList happy_var_3)+	) `HappyStk` happyRest++happyReduce_103 = happyReduce 4 31 happyReduction_103+happyReduction_103 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn44  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StDeallocate () (getTransSpan happy_var_1 happy_var_4) (fromReverseList happy_var_3) Nothing+	) `HappyStk` happyRest++happyReduce_104 = happyReduce 6 31 happyReduction_104+happyReduction_104 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn41  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn44  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StDeallocate () (getTransSpan happy_var_1 happy_var_6) (fromReverseList happy_var_3) (Just happy_var_5)+	) `HappyStk` happyRest++happyReduce_105 = happySpecReduce_1  31 happyReduction_105+happyReduction_105 (HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn28+		 (happy_var_1+	)+happyReduction_105 _  = notHappyAtAll ++happyReduce_106 = happySpecReduce_3  31 happyReduction_106+happyReduction_106 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn28+		 (StPointerAssign () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3+	)+happyReduction_106 _ _ _  = notHappyAtAll ++happyReduce_107 = happyReduce 5 31 happyReduction_107+happyReduction_107 ((HappyAbsSyn28  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StWhere () (getTransSpan happy_var_1 happy_var_5) happy_var_3 happy_var_5+	) `HappyStk` happyRest++happyReduce_108 = happyReduce 4 31 happyReduction_108+happyReduction_108 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StWhereConstruct () (getTransSpan happy_var_1 happy_var_4) happy_var_3+	) `HappyStk` happyRest++happyReduce_109 = happySpecReduce_1  31 happyReduction_109+happyReduction_109 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StElsewhere () (getSpan happy_var_1)+	)+happyReduction_109 _  = notHappyAtAll ++happyReduce_110 = happySpecReduce_1  31 happyReduction_110+happyReduction_110 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEndWhere () (getSpan happy_var_1)+	)+happyReduction_110 _  = notHappyAtAll ++happyReduce_111 = happyReduce 9 31 happyReduction_111+happyReduction_111 ((HappyAbsSyn37  happy_var_9) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StIfArithmetic () (getTransSpan happy_var_1 happy_var_9) happy_var_3 happy_var_5 happy_var_7 happy_var_9+	) `HappyStk` happyRest++happyReduce_112 = happyReduce 5 31 happyReduction_112+happyReduction_112 ((HappyTerminal happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StIfThen () (getTransSpan happy_var_1 happy_var_5) Nothing happy_var_3+	) `HappyStk` happyRest++happyReduce_113 = happyReduce 7 31 happyReduction_113+happyReduction_113 ((HappyTerminal happy_var_7) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_5) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StIfThen () (getTransSpan happy_var_1 happy_var_7) (Just happy_var_1) happy_var_5+	) `HappyStk` happyRest++happyReduce_114 = happyReduce 5 31 happyReduction_114+happyReduction_114 ((HappyTerminal happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StElsif () (getTransSpan happy_var_1 happy_var_5) Nothing happy_var_3+	) `HappyStk` happyRest++happyReduce_115 = happyReduce 6 31 happyReduction_115+happyReduction_115 ((HappyAbsSyn37  happy_var_6) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StElsif () (getTransSpan happy_var_1 happy_var_6) (Just happy_var_6) happy_var_3+	) `HappyStk` happyRest++happyReduce_116 = happySpecReduce_1  31 happyReduction_116+happyReduction_116 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StElse () (getSpan happy_var_1) Nothing+	)+happyReduction_116 _  = notHappyAtAll ++happyReduce_117 = happySpecReduce_2  31 happyReduction_117+happyReduction_117 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StElse () (getSpan happy_var_1) (Just happy_var_2)+	)+happyReduction_117 _ _  = notHappyAtAll ++happyReduce_118 = happySpecReduce_1  31 happyReduction_118+happyReduction_118 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEndif () (getSpan happy_var_1) Nothing+	)+happyReduction_118 _  = notHappyAtAll ++happyReduce_119 = happySpecReduce_2  31 happyReduction_119+happyReduction_119 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEndif () (getSpan happy_var_1) (Just happy_var_2)+	)+happyReduction_119 _ _  = notHappyAtAll ++happyReduce_120 = happySpecReduce_1  31 happyReduction_120+happyReduction_120 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StDo () (getSpan happy_var_1) Nothing Nothing Nothing+	)+happyReduction_120 _  = notHappyAtAll ++happyReduce_121 = happySpecReduce_3  31 happyReduction_121+happyReduction_121 (HappyTerminal happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn28+		 (StDo () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_1) Nothing Nothing+	)+happyReduction_121 _ _ _  = notHappyAtAll ++happyReduce_122 = happyReduce 4 31 happyReduction_122+happyReduction_122 ((HappyAbsSyn89  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StDo () (getTransSpan happy_var_1 happy_var_4) Nothing (Just happy_var_2) (Just happy_var_4)+	) `HappyStk` happyRest++happyReduce_123 = happySpecReduce_2  31 happyReduction_123+happyReduction_123 (HappyAbsSyn89  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StDo () (getTransSpan happy_var_1 happy_var_2) Nothing Nothing (Just happy_var_2)+	)+happyReduction_123 _ _  = notHappyAtAll ++happyReduce_124 = happyReduce 4 31 happyReduction_124+happyReduction_124 ((HappyAbsSyn89  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StDo () (getTransSpan happy_var_1 happy_var_4) (Just happy_var_1) Nothing (Just happy_var_4)+	) `HappyStk` happyRest++happyReduce_125 = happyReduce 7 31 happyReduction_125+happyReduction_125 ((HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn37  happy_var_6) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StDoWhile () (getTransSpan happy_var_1 happy_var_7) Nothing (Just happy_var_2) happy_var_6+	) `HappyStk` happyRest++happyReduce_126 = happyReduce 5 31 happyReduction_126+happyReduction_126 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StDoWhile () (getTransSpan happy_var_1 happy_var_5) Nothing Nothing happy_var_4+	) `HappyStk` happyRest++happyReduce_127 = happyReduce 7 31 happyReduction_127+happyReduction_127 ((HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn37  happy_var_6) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StDoWhile () (getTransSpan happy_var_1 happy_var_7) (Just happy_var_1) Nothing happy_var_6+	) `HappyStk` happyRest++happyReduce_128 = happySpecReduce_1  31 happyReduction_128+happyReduction_128 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEnddo () (getSpan happy_var_1) Nothing+	)+happyReduction_128 _  = notHappyAtAll ++happyReduce_129 = happySpecReduce_2  31 happyReduction_129+happyReduction_129 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEnddo () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2)+	)+happyReduction_129 _ _  = notHappyAtAll ++happyReduce_130 = happySpecReduce_1  31 happyReduction_130+happyReduction_130 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StCycle () (getSpan happy_var_1) Nothing+	)+happyReduction_130 _  = notHappyAtAll ++happyReduce_131 = happySpecReduce_2  31 happyReduction_131+happyReduction_131 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StCycle () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2)+	)+happyReduction_131 _ _  = notHappyAtAll ++happyReduce_132 = happySpecReduce_1  31 happyReduction_132+happyReduction_132 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StExit () (getSpan happy_var_1) Nothing+	)+happyReduction_132 _  = notHappyAtAll ++happyReduce_133 = happySpecReduce_2  31 happyReduction_133+happyReduction_133 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StExit () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2)+	)+happyReduction_133 _ _  = notHappyAtAll ++happyReduce_134 = happySpecReduce_2  31 happyReduction_134+happyReduction_134 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StGotoUnconditional () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_134 _ _  = notHappyAtAll ++happyReduce_135 = happyReduce 6 31 happyReduction_135+happyReduction_135 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn44  happy_var_5) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StGotoAssigned () (getTransSpan happy_var_1 happy_var_6) happy_var_2 (fromReverseList happy_var_5)+	) `HappyStk` happyRest++happyReduce_136 = happyReduce 6 31 happyReduction_136+happyReduction_136 ((HappyAbsSyn37  happy_var_6) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn44  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StGotoComputed () (getTransSpan happy_var_1 happy_var_6) (fromReverseList happy_var_3) happy_var_6+	) `HappyStk` happyRest++happyReduce_137 = happyReduce 4 31 happyReduction_137+happyReduction_137 ((HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StLabelAssign () (getTransSpan happy_var_1 happy_var_4) happy_var_2 happy_var_4+	) `HappyStk` happyRest++happyReduce_138 = happySpecReduce_1  31 happyReduction_138+happyReduction_138 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StContinue () (getSpan happy_var_1)+	)+happyReduction_138 _  = notHappyAtAll ++happyReduce_139 = happySpecReduce_1  31 happyReduction_139+happyReduction_139 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StStop () (getSpan happy_var_1) Nothing+	)+happyReduction_139 _  = notHappyAtAll ++happyReduce_140 = happySpecReduce_2  31 happyReduction_140+happyReduction_140 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StStop () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2)+	)+happyReduction_140 _ _  = notHappyAtAll ++happyReduce_141 = happySpecReduce_1  31 happyReduction_141+happyReduction_141 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StPause () (getSpan happy_var_1) Nothing+	)+happyReduction_141 _  = notHappyAtAll ++happyReduce_142 = happySpecReduce_2  31 happyReduction_142+happyReduction_142 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StPause () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2)+	)+happyReduction_142 _ _  = notHappyAtAll ++happyReduce_143 = happyReduce 4 31 happyReduction_143+happyReduction_143 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StSelectCase () (getTransSpan happy_var_1 happy_var_4) Nothing happy_var_3+	) `HappyStk` happyRest++happyReduce_144 = happyReduce 6 31 happyReduction_144+happyReduction_144 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn37  happy_var_5) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StSelectCase () (getTransSpan happy_var_1 happy_var_6) (Just happy_var_1) happy_var_5+	) `HappyStk` happyRest++happyReduce_145 = happySpecReduce_2  31 happyReduction_145+happyReduction_145 (HappyTerminal happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StCase () (getTransSpan happy_var_1 happy_var_2) Nothing Nothing+	)+happyReduction_145 _ _  = notHappyAtAll ++happyReduce_146 = happySpecReduce_3  31 happyReduction_146+happyReduction_146 (HappyAbsSyn37  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StCase () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_3) Nothing+	)+happyReduction_146 _ _ _  = notHappyAtAll ++happyReduce_147 = happyReduce 4 31 happyReduction_147+happyReduction_147 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn86  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StCase () (getTransSpan happy_var_1 happy_var_4) Nothing (Just $ fromReverseList happy_var_3)+	) `HappyStk` happyRest++happyReduce_148 = happyReduce 5 31 happyReduction_148+happyReduction_148 ((HappyAbsSyn37  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn86  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StCase () (getTransSpan happy_var_1 happy_var_5) (Just happy_var_5) (Just $ fromReverseList happy_var_3)+	) `HappyStk` happyRest++happyReduce_149 = happySpecReduce_1  31 happyReduction_149+happyReduction_149 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEndcase () (getSpan happy_var_1) Nothing+	)+happyReduction_149 _  = notHappyAtAll ++happyReduce_150 = happySpecReduce_2  31 happyReduction_150+happyReduction_150 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEndcase () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2)+	)+happyReduction_150 _ _  = notHappyAtAll ++happyReduce_151 = happyReduce 5 31 happyReduction_151+happyReduction_151 ((HappyAbsSyn28  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StIfLogical () (getTransSpan happy_var_1 happy_var_5) happy_var_3 happy_var_5+	) `HappyStk` happyRest++happyReduce_152 = happySpecReduce_3  31 happyReduction_152+happyReduction_152 (HappyAbsSyn44  happy_var_3)+	(HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let alist = fromReverseList happy_var_3+    in StRead () (getTransSpan happy_var_1 alist) happy_var_2 (Just alist)+	)+happyReduction_152 _ _ _  = notHappyAtAll ++happyReduce_153 = happySpecReduce_2  31 happyReduction_153+happyReduction_153 (HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StRead () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_153 _ _  = notHappyAtAll ++happyReduce_154 = happyReduce 4 31 happyReduction_154+happyReduction_154 ((HappyAbsSyn44  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let alist = fromReverseList happy_var_4+    in StRead2 () (getTransSpan happy_var_1 alist) happy_var_2 (Just alist)+	) `HappyStk` happyRest++happyReduce_155 = happySpecReduce_2  31 happyReduction_155+happyReduction_155 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StRead2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_155 _ _  = notHappyAtAll ++happyReduce_156 = happySpecReduce_3  31 happyReduction_156+happyReduction_156 (HappyAbsSyn44  happy_var_3)+	(HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (let alist = fromReverseList happy_var_3+    in StWrite () (getTransSpan happy_var_1 alist) happy_var_2 (Just alist)+	)+happyReduction_156 _ _ _  = notHappyAtAll ++happyReduce_157 = happySpecReduce_2  31 happyReduction_157+happyReduction_157 (HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StWrite () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_157 _ _  = notHappyAtAll ++happyReduce_158 = happyReduce 4 31 happyReduction_158+happyReduction_158 ((HappyAbsSyn44  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let alist = fromReverseList happy_var_4+    in StPrint () (getTransSpan happy_var_1 alist) happy_var_2 (Just alist)+	) `HappyStk` happyRest++happyReduce_159 = happySpecReduce_2  31 happyReduction_159+happyReduction_159 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StPrint () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_159 _ _  = notHappyAtAll ++happyReduce_160 = happySpecReduce_2  31 happyReduction_160+happyReduction_160 (HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StOpen () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_160 _ _  = notHappyAtAll ++happyReduce_161 = happySpecReduce_2  31 happyReduction_161+happyReduction_161 (HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StClose () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_161 _ _  = notHappyAtAll ++happyReduce_162 = happySpecReduce_2  31 happyReduction_162+happyReduction_162 (HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StInquire () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_162 _ _  = notHappyAtAll ++happyReduce_163 = happySpecReduce_2  31 happyReduction_163+happyReduction_163 (HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StRewind () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_163 _ _  = notHappyAtAll ++happyReduce_164 = happySpecReduce_2  31 happyReduction_164+happyReduction_164 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StRewind2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_164 _ _  = notHappyAtAll ++happyReduce_165 = happySpecReduce_2  31 happyReduction_165+happyReduction_165 (HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEndfile () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_165 _ _  = notHappyAtAll ++happyReduce_166 = happySpecReduce_2  31 happyReduction_166+happyReduction_166 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StEndfile2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_166 _ _  = notHappyAtAll ++happyReduce_167 = happySpecReduce_2  31 happyReduction_167+happyReduction_167 (HappyAbsSyn39  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StBackspace () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_167 _ _  = notHappyAtAll ++happyReduce_168 = happySpecReduce_2  31 happyReduction_168+happyReduction_168 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StBackspace2 () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_168 _ _  = notHappyAtAll ++happyReduce_169 = happySpecReduce_2  31 happyReduction_169+happyReduction_169 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StCall () (getTransSpan happy_var_1 happy_var_2) happy_var_2 Nothing+	)+happyReduction_169 _ _  = notHappyAtAll ++happyReduce_170 = happyReduce 4 31 happyReduction_170+happyReduction_170 ((HappyTerminal happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (StCall () (getTransSpan happy_var_1 happy_var_4) happy_var_2 Nothing+	) `HappyStk` happyRest++happyReduce_171 = happyReduce 5 31 happyReduction_171+happyReduction_171 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn32  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let alist = fromReverseList happy_var_4+    in StCall () (getTransSpan happy_var_1 happy_var_5) happy_var_2 (Just alist)+	) `HappyStk` happyRest++happyReduce_172 = happySpecReduce_1  31 happyReduction_172+happyReduction_172 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StReturn () (getSpan happy_var_1) Nothing+	)+happyReduction_172 _  = notHappyAtAll ++happyReduce_173 = happySpecReduce_2  31 happyReduction_173+happyReduction_173 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn28+		 (StReturn () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2)+	)+happyReduction_173 _ _  = notHappyAtAll ++happyReduce_174 = happySpecReduce_3  32 happyReduction_174+happyReduction_174 (HappyAbsSyn33  happy_var_3)+	_+	(HappyAbsSyn32  happy_var_1)+	 =  HappyAbsSyn32+		 (happy_var_3 : happy_var_1+	)+happyReduction_174 _ _ _  = notHappyAtAll ++happyReduce_175 = happySpecReduce_1  32 happyReduction_175+happyReduction_175 (HappyAbsSyn33  happy_var_1)+	 =  HappyAbsSyn32+		 ([ happy_var_1 ]+	)+happyReduction_175 _  = notHappyAtAll ++happyReduce_176 = happySpecReduce_3  33 happyReduction_176+happyReduction_176 (HappyAbsSyn37  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn33+		 (let TId span keyword = happy_var_1+    in Argument () (getTransSpan span happy_var_3) (Just keyword) happy_var_3+	)+happyReduction_176 _ _ _  = notHappyAtAll ++happyReduce_177 = happySpecReduce_1  33 happyReduction_177+happyReduction_177 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn33+		 (Argument () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_177 _  = notHappyAtAll ++happyReduce_178 = happySpecReduce_3  34 happyReduction_178+happyReduction_178 (HappyAbsSyn35  happy_var_3)+	_+	(HappyAbsSyn34  happy_var_1)+	 =  HappyAbsSyn34+		 (happy_var_3 : happy_var_1+	)+happyReduction_178 _ _ _  = notHappyAtAll ++happyReduce_179 = happySpecReduce_1  34 happyReduction_179+happyReduction_179 (HappyAbsSyn35  happy_var_1)+	 =  HappyAbsSyn34+		 ([ happy_var_1 ]+	)+happyReduction_179 _  = notHappyAtAll ++happyReduce_180 = happySpecReduce_3  35 happyReduction_180+happyReduction_180 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn35+		 (UseRename () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3+	)+happyReduction_180 _ _ _  = notHappyAtAll ++happyReduce_181 = happySpecReduce_1  35 happyReduction_181+happyReduction_181 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn35+		 (UseID () (getSpan happy_var_1) happy_var_1+	)+happyReduction_181 _  = notHappyAtAll ++happyReduce_182 = happySpecReduce_1  36 happyReduction_182+happyReduction_182 _+	 =  HappyAbsSyn36+		 (()+	)++happyReduce_183 = happySpecReduce_0  36 happyReduction_183+happyReduction_183  =  HappyAbsSyn36+		 (()+	)++happyReduce_184 = happyReduce 4 37 happyReduction_184+happyReduction_184 ((HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_4) Concatenation happy_var_1 happy_var_4+	) `HappyStk` happyRest++happyReduce_185 = happySpecReduce_1  37 happyReduction_185+happyReduction_185 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_185 _  = notHappyAtAll ++happyReduce_186 = happySpecReduce_1  37 happyReduction_186+happyReduction_186 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_186 _  = notHappyAtAll ++happyReduce_187 = happySpecReduce_1  37 happyReduction_187+happyReduction_187 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_187 _  = notHappyAtAll ++happyReduce_188 = happySpecReduce_1  37 happyReduction_188+happyReduction_188 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_188 _  = notHappyAtAll ++happyReduce_189 = happySpecReduce_1  38 happyReduction_189+happyReduction_189 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_189 _  = notHappyAtAll ++happyReduce_190 = happySpecReduce_1  38 happyReduction_190+happyReduction_190 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_190 _  = notHappyAtAll ++happyReduce_191 = happySpecReduce_1  38 happyReduction_191+happyReduction_191 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_191 _  = notHappyAtAll ++happyReduce_192 = happyReduce 7 39 happyReduction_192+happyReduction_192 ((HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn40  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn39+		 (let { cp1 = ControlPair () (getSpan happy_var_2) Nothing happy_var_2;+          cp2 = ControlPair () (getSpan happy_var_4) Nothing happy_var_4;+          tail = fromReverseList happy_var_6 }+    in setSpan (getTransSpan happy_var_1 happy_var_7) $ cp1 `aCons` cp2 `aCons` tail+	) `HappyStk` happyRest++happyReduce_193 = happyReduce 5 39 happyReduction_193+happyReduction_193 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn39+		 (let { cp1 = ControlPair () (getSpan happy_var_2) Nothing happy_var_2;+          cp2 = ControlPair () (getSpan happy_var_4) Nothing happy_var_4 }+    in AList () (getTransSpan happy_var_1 happy_var_5) [ cp1,  cp2 ]+	) `HappyStk` happyRest++happyReduce_194 = happyReduce 5 39 happyReduction_194+happyReduction_194 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn40  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn39+		 (let { cp1 = ControlPair () (getSpan happy_var_2) Nothing happy_var_2;+          tail = fromReverseList happy_var_4 }+    in setSpan (getTransSpan happy_var_1 happy_var_5) $ cp1 `aCons` tail+	) `HappyStk` happyRest++happyReduce_195 = happySpecReduce_3  39 happyReduction_195+happyReduction_195 (HappyTerminal happy_var_3)+	(HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn39+		 (let cp1 = ControlPair () (getSpan happy_var_2) Nothing happy_var_2+    in AList () (getTransSpan happy_var_1 happy_var_3) [ cp1 ]+	)+happyReduction_195 _ _ _  = notHappyAtAll ++happyReduce_196 = happySpecReduce_3  39 happyReduction_196+happyReduction_196 _+	(HappyAbsSyn40  happy_var_2)+	_+	 =  HappyAbsSyn39+		 (fromReverseList happy_var_2+	)+happyReduction_196 _ _ _  = notHappyAtAll ++happyReduce_197 = happySpecReduce_3  40 happyReduction_197+happyReduction_197 (HappyAbsSyn41  happy_var_3)+	_+	(HappyAbsSyn40  happy_var_1)+	 =  HappyAbsSyn40+		 (happy_var_3 : happy_var_1+	)+happyReduction_197 _ _ _  = notHappyAtAll ++happyReduce_198 = happySpecReduce_1  40 happyReduction_198+happyReduction_198 (HappyAbsSyn41  happy_var_1)+	 =  HappyAbsSyn40+		 ([ happy_var_1 ]+	)+happyReduction_198 _  = notHappyAtAll ++happyReduce_199 = happySpecReduce_3  41 happyReduction_199+happyReduction_199 (HappyAbsSyn37  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn41+		 (let (TId s id) = happy_var_1 in ControlPair () (getTransSpan s happy_var_3) (Just id) happy_var_3+	)+happyReduction_199 _ _ _  = notHappyAtAll ++happyReduce_200 = happySpecReduce_1  42 happyReduction_200+happyReduction_200 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_200 _  = notHappyAtAll ++happyReduce_201 = happySpecReduce_1  42 happyReduction_201+happyReduction_201 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_201 _  = notHappyAtAll ++happyReduce_202 = happySpecReduce_3  43 happyReduction_202+happyReduction_202 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Addition happy_var_1 happy_var_3+	)+happyReduction_202 _ _ _  = notHappyAtAll ++happyReduce_203 = happySpecReduce_3  43 happyReduction_203+happyReduction_203 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Subtraction happy_var_1 happy_var_3+	)+happyReduction_203 _ _ _  = notHappyAtAll ++happyReduce_204 = happySpecReduce_3  43 happyReduction_204+happyReduction_204 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_204 _ _ _  = notHappyAtAll ++happyReduce_205 = happySpecReduce_3  43 happyReduction_205+happyReduction_205 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Division happy_var_1 happy_var_3+	)+happyReduction_205 _ _ _  = notHappyAtAll ++happyReduce_206 = happySpecReduce_3  43 happyReduction_206+happyReduction_206 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Exponentiation happy_var_1 happy_var_3+	)+happyReduction_206 _ _ _  = notHappyAtAll ++happyReduce_207 = happyReduce 4 43 happyReduction_207+happyReduction_207 ((HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_4) Concatenation happy_var_1 happy_var_4+	) `HappyStk` happyRest++happyReduce_208 = happySpecReduce_2  43 happyReduction_208+happyReduction_208 (HappyAbsSyn37  happy_var_2)+	(HappyAbsSyn92  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_208 _ _  = notHappyAtAll ++happyReduce_209 = happySpecReduce_3  43 happyReduction_209+happyReduction_209 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Or happy_var_1 happy_var_3+	)+happyReduction_209 _ _ _  = notHappyAtAll ++happyReduce_210 = happySpecReduce_3  43 happyReduction_210+happyReduction_210 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) And happy_var_1 happy_var_3+	)+happyReduction_210 _ _ _  = notHappyAtAll ++happyReduce_211 = happySpecReduce_2  43 happyReduction_211+happyReduction_211 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpUnary () (getTransSpan happy_var_1 happy_var_2) Not happy_var_2+	)+happyReduction_211 _ _  = notHappyAtAll ++happyReduce_212 = happySpecReduce_3  43 happyReduction_212+happyReduction_212 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Equivalent happy_var_1 happy_var_3+	)+happyReduction_212 _ _ _  = notHappyAtAll ++happyReduce_213 = happySpecReduce_3  43 happyReduction_213+happyReduction_213 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) NotEquivalent happy_var_1 happy_var_3+	)+happyReduction_213 _ _ _  = notHappyAtAll ++happyReduce_214 = happySpecReduce_3  43 happyReduction_214+happyReduction_214 (HappyAbsSyn37  happy_var_3)+	(HappyAbsSyn93  happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_1 happy_var_3+	)+happyReduction_214 _ _ _  = notHappyAtAll ++happyReduce_215 = happySpecReduce_2  43 happyReduction_215+happyReduction_215 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (let TOpCustom span str = happy_var_1+    in ExpUnary () (getTransSpan span happy_var_2) (UnCustom str) happy_var_2+	)+happyReduction_215 _ _  = notHappyAtAll ++happyReduce_216 = happySpecReduce_3  43 happyReduction_216+happyReduction_216 (HappyAbsSyn37  happy_var_3)+	(HappyTerminal happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (let TOpCustom _ str = happy_var_2+    in ExpBinary () (getTransSpan happy_var_1 happy_var_3) (BinCustom str) happy_var_1 happy_var_3+	)+happyReduction_216 _ _ _  = notHappyAtAll ++happyReduce_217 = happySpecReduce_3  43 happyReduction_217+happyReduction_217 (HappyTerminal happy_var_3)+	(HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_217 _ _ _  = notHappyAtAll ++happyReduce_218 = happySpecReduce_1  43 happyReduction_218+happyReduction_218 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_218 _  = notHappyAtAll ++happyReduce_219 = happySpecReduce_1  43 happyReduction_219+happyReduction_219 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_219 _  = notHappyAtAll ++happyReduce_220 = happySpecReduce_1  43 happyReduction_220+happyReduction_220 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_220 _  = notHappyAtAll ++happyReduce_221 = happySpecReduce_1  43 happyReduction_221+happyReduction_221 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_221 _  = notHappyAtAll ++happyReduce_222 = happySpecReduce_3  44 happyReduction_222+happyReduction_222 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_222 _ _ _  = notHappyAtAll ++happyReduce_223 = happySpecReduce_1  44 happyReduction_223+happyReduction_223 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_223 _  = notHappyAtAll ++happyReduce_224 = happySpecReduce_1  45 happyReduction_224+happyReduction_224 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_224 _  = notHappyAtAll ++happyReduce_225 = happyReduce 5 45 happyReduction_225+happyReduction_225 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn89  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn44  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (ExpImpliedDo () (getTransSpan happy_var_1 happy_var_5) (fromReverseList happy_var_2) happy_var_4+	) `HappyStk` happyRest++happyReduce_226 = happySpecReduce_3  46 happyReduction_226+happyReduction_226 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_226 _ _ _  = notHappyAtAll ++happyReduce_227 = happySpecReduce_1  46 happyReduction_227+happyReduction_227 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_227 _  = notHappyAtAll ++happyReduce_228 = happySpecReduce_2  47 happyReduction_228+happyReduction_228 (HappyAbsSyn48  happy_var_2)+	(HappyAbsSyn47  happy_var_1)+	 =  HappyAbsSyn47+		 (happy_var_2 : happy_var_1+	)+happyReduction_228 _ _  = notHappyAtAll ++happyReduce_229 = happySpecReduce_3  47 happyReduction_229+happyReduction_229 (HappyAbsSyn48  happy_var_3)+	_+	(HappyAbsSyn47  happy_var_1)+	 =  HappyAbsSyn47+		 (happy_var_3 : happy_var_1+	)+happyReduction_229 _ _ _  = notHappyAtAll ++happyReduce_230 = happySpecReduce_1  47 happyReduction_230+happyReduction_230 (HappyAbsSyn48  happy_var_1)+	 =  HappyAbsSyn47+		 ([ happy_var_1 ]+	)+happyReduction_230 _  = notHappyAtAll ++happyReduce_231 = happySpecReduce_2  48 happyReduction_231+happyReduction_231 (HappyAbsSyn44  happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn48+		 (let alist = fromReverseList happy_var_2+    in CommonGroup () (getTransSpan happy_var_1 alist) (Just happy_var_1) alist+	)+happyReduction_231 _ _  = notHappyAtAll ++happyReduce_232 = happySpecReduce_3  48 happyReduction_232+happyReduction_232 (HappyAbsSyn44  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn48+		 (let alist = fromReverseList happy_var_3+    in CommonGroup () (getTransSpan happy_var_1 alist) Nothing alist+	)+happyReduction_232 _ _ _  = notHappyAtAll ++happyReduce_233 = happySpecReduce_2  49 happyReduction_233+happyReduction_233 (HappyAbsSyn44  happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn48+		 (let alist = fromReverseList happy_var_2+    in CommonGroup () (getTransSpan happy_var_1 alist) (Just happy_var_1) alist+	)+happyReduction_233 _ _  = notHappyAtAll ++happyReduce_234 = happySpecReduce_3  49 happyReduction_234+happyReduction_234 (HappyAbsSyn44  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn48+		 (let alist = fromReverseList happy_var_3+    in CommonGroup () (getTransSpan happy_var_1 alist) Nothing alist+	)+happyReduction_234 _ _ _  = notHappyAtAll ++happyReduce_235 = happySpecReduce_1  49 happyReduction_235+happyReduction_235 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn48+		 (let alist = fromReverseList happy_var_1+    in CommonGroup () (getSpan alist) Nothing alist+	)+happyReduction_235 _  = notHappyAtAll ++happyReduce_236 = happyReduce 5 50 happyReduction_236+happyReduction_236 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn44  happy_var_4) `HappyStk`+	(HappyTerminal happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn50  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn50+		 (setSpan (getTransSpan happy_var_3 happy_var_5) (fromReverseList happy_var_4) : happy_var_1+	) `HappyStk` happyRest++happyReduce_237 = happySpecReduce_3  50 happyReduction_237+happyReduction_237 (HappyTerminal happy_var_3)+	(HappyAbsSyn44  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn50+		 ([ setSpan (getTransSpan happy_var_1 happy_var_3) (fromReverseList happy_var_2) ]+	)+happyReduction_237 _ _ _  = notHappyAtAll ++happyReduce_238 = happySpecReduce_2  51 happyReduction_238+happyReduction_238 (HappyAbsSyn52  happy_var_2)+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn51+		 (happy_var_2 : happy_var_1+	)+happyReduction_238 _ _  = notHappyAtAll ++happyReduce_239 = happySpecReduce_3  51 happyReduction_239+happyReduction_239 (HappyAbsSyn52  happy_var_3)+	_+	(HappyAbsSyn51  happy_var_1)+	 =  HappyAbsSyn51+		 (happy_var_3 : happy_var_1+	)+happyReduction_239 _ _ _  = notHappyAtAll ++happyReduce_240 = happySpecReduce_1  51 happyReduction_240+happyReduction_240 (HappyAbsSyn52  happy_var_1)+	 =  HappyAbsSyn51+		 ([ happy_var_1 ]+	)+happyReduction_240 _  = notHappyAtAll ++happyReduce_241 = happyReduce 4 52 happyReduction_241+happyReduction_241 ((HappyAbsSyn44  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn52+		 (Namelist () (getTransSpan happy_var_1 happy_var_4) happy_var_2 $ fromReverseList happy_var_4+	) `HappyStk` happyRest++happyReduce_242 = happySpecReduce_1  53 happyReduction_242+happyReduction_242 (HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn11+		 (Just $ fromReverseList happy_var_1+	)+happyReduction_242 _  = notHappyAtAll ++happyReduce_243 = happySpecReduce_0  53 happyReduction_243+happyReduction_243  =  HappyAbsSyn11+		 (Nothing+	)++happyReduce_244 = happySpecReduce_3  54 happyReduction_244+happyReduction_244 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_244 _ _ _  = notHappyAtAll ++happyReduce_245 = happySpecReduce_1  54 happyReduction_245+happyReduction_245 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_245 _  = notHappyAtAll ++happyReduce_246 = happySpecReduce_3  55 happyReduction_246+happyReduction_246 (HappyAbsSyn56  happy_var_3)+	_+	(HappyAbsSyn55  happy_var_1)+	 =  HappyAbsSyn55+		 (happy_var_3 : happy_var_1+	)+happyReduction_246 _ _ _  = notHappyAtAll ++happyReduce_247 = happySpecReduce_1  55 happyReduction_247+happyReduction_247 (HappyAbsSyn56  happy_var_1)+	 =  HappyAbsSyn55+		 ([ happy_var_1 ]+	)+happyReduction_247 _  = notHappyAtAll ++happyReduce_248 = happyReduce 4 56 happyReduction_248+happyReduction_248 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn57  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn77  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn56+		 (ImpList () (getTransSpan happy_var_1 happy_var_4) happy_var_1 (aReverse happy_var_3)+	) `HappyStk` happyRest++happyReduce_249 = happySpecReduce_3  57 happyReduction_249+happyReduction_249 (HappyAbsSyn58  happy_var_3)+	_+	(HappyAbsSyn57  happy_var_1)+	 =  HappyAbsSyn57+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_249 _ _ _  = notHappyAtAll ++happyReduce_250 = happySpecReduce_1  57 happyReduction_250+happyReduction_250 (HappyAbsSyn58  happy_var_1)+	 =  HappyAbsSyn57+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_250 _  = notHappyAtAll ++happyReduce_251 = happyMonadReduce 1 58 happyReduction_251+happyReduction_251 ((HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do+      let (TId s id) = happy_var_1+      if length id /= 1+      then fail "Implicit argument must be a character."+      else return $ ImpCharacter () s id)+	) (\r -> happyReturn (HappyAbsSyn58 r))++happyReduce_252 = happyMonadReduce 3 58 happyReduction_252+happyReduction_252 ((HappyTerminal happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest) tk+	 = happyThen (( do+             let (TId _ id1) = happy_var_1+             let (TId _ id2) = happy_var_3+             if length id1 /= 1 || length id2 /= 1+             then fail "Implicit argument must be a character."+             else return $ ImpRange () (getTransSpan happy_var_1 happy_var_3) id1 id2)+	) (\r -> happyReturn (HappyAbsSyn58 r))++happyReduce_253 = happySpecReduce_3  59 happyReduction_253+happyReduction_253 (HappyAbsSyn60  happy_var_3)+	_+	(HappyAbsSyn59  happy_var_1)+	 =  HappyAbsSyn59+		 (happy_var_3 : happy_var_1+	)+happyReduction_253 _ _ _  = notHappyAtAll ++happyReduce_254 = happySpecReduce_1  59 happyReduction_254+happyReduction_254 (HappyAbsSyn60  happy_var_1)+	 =  HappyAbsSyn59+		 ([ happy_var_1 ]+	)+happyReduction_254 _  = notHappyAtAll ++happyReduce_255 = happySpecReduce_3  60 happyReduction_255+happyReduction_255 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn60+		 (DeclVariable () (getTransSpan happy_var_1 happy_var_3) happy_var_1 Nothing (Just happy_var_3)+	)+happyReduction_255 _ _ _  = notHappyAtAll ++happyReduce_256 = happyReduce 4 61 happyReduction_256+happyReduction_256 ((HappyAbsSyn59  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn62  happy_var_2) `HappyStk`+	(HappyAbsSyn77  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn28+		 (let { mAttrAList = if null happy_var_2 then Nothing else Just $ fromReverseList happy_var_2;+          declAList = fromReverseList happy_var_4 }+    in StDeclaration () (getTransSpan happy_var_1 declAList) happy_var_1 mAttrAList declAList+	) `HappyStk` happyRest++happyReduce_257 = happySpecReduce_2  61 happyReduction_257+happyReduction_257 (HappyAbsSyn59  happy_var_2)+	(HappyAbsSyn77  happy_var_1)+	 =  HappyAbsSyn28+		 (let { declAList = fromReverseList happy_var_2 }+    in StDeclaration () (getTransSpan happy_var_1 declAList) happy_var_1 Nothing declAList+	)+happyReduction_257 _ _  = notHappyAtAll ++happyReduce_258 = happySpecReduce_3  62 happyReduction_258+happyReduction_258 (HappyAbsSyn63  happy_var_3)+	_+	(HappyAbsSyn62  happy_var_1)+	 =  HappyAbsSyn62+		 (happy_var_3 : happy_var_1+	)+happyReduction_258 _ _ _  = notHappyAtAll ++happyReduce_259 = happySpecReduce_0  62 happyReduction_259+happyReduction_259  =  HappyAbsSyn62+		 ([ ]+	)++happyReduce_260 = happySpecReduce_1  63 happyReduction_260+happyReduction_260 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrPublic () (getSpan happy_var_1)+	)+happyReduction_260 _  = notHappyAtAll ++happyReduce_261 = happySpecReduce_1  63 happyReduction_261+happyReduction_261 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrPrivate () (getSpan happy_var_1)+	)+happyReduction_261 _  = notHappyAtAll ++happyReduce_262 = happySpecReduce_1  63 happyReduction_262+happyReduction_262 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrAllocatable () (getSpan happy_var_1)+	)+happyReduction_262 _  = notHappyAtAll ++happyReduce_263 = happyReduce 4 63 happyReduction_263+happyReduction_263 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn75  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn63+		 (AttrDimension () (getTransSpan happy_var_1 happy_var_4) happy_var_3+	) `HappyStk` happyRest++happyReduce_264 = happySpecReduce_1  63 happyReduction_264+happyReduction_264 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrExternal () (getSpan happy_var_1)+	)+happyReduction_264 _  = notHappyAtAll ++happyReduce_265 = happyReduce 4 63 happyReduction_265+happyReduction_265 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn64  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn63+		 (AttrIntent () (getTransSpan happy_var_1 happy_var_4) happy_var_3+	) `HappyStk` happyRest++happyReduce_266 = happySpecReduce_1  63 happyReduction_266+happyReduction_266 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrIntrinsic () (getSpan happy_var_1)+	)+happyReduction_266 _  = notHappyAtAll ++happyReduce_267 = happySpecReduce_1  63 happyReduction_267+happyReduction_267 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrOptional () (getSpan happy_var_1)+	)+happyReduction_267 _  = notHappyAtAll ++happyReduce_268 = happySpecReduce_1  63 happyReduction_268+happyReduction_268 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrPointer () (getSpan happy_var_1)+	)+happyReduction_268 _  = notHappyAtAll ++happyReduce_269 = happySpecReduce_1  63 happyReduction_269+happyReduction_269 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrParameter () (getSpan happy_var_1)+	)+happyReduction_269 _  = notHappyAtAll ++happyReduce_270 = happySpecReduce_1  63 happyReduction_270+happyReduction_270 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrSave () (getSpan happy_var_1)+	)+happyReduction_270 _  = notHappyAtAll ++happyReduce_271 = happySpecReduce_1  63 happyReduction_271+happyReduction_271 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn63+		 (AttrTarget () (getSpan happy_var_1)+	)+happyReduction_271 _  = notHappyAtAll ++happyReduce_272 = happySpecReduce_1  64 happyReduction_272+happyReduction_272 _+	 =  HappyAbsSyn64+		 (In+	)++happyReduce_273 = happySpecReduce_1  64 happyReduction_273+happyReduction_273 _+	 =  HappyAbsSyn64+		 (Out+	)++happyReduce_274 = happySpecReduce_1  64 happyReduction_274+happyReduction_274 _+	 =  HappyAbsSyn64+		 (InOut+	)++happyReduce_275 = happyReduce 6 65 happyReduction_275+happyReduction_275 ((HappyTerminal happy_var_6) `HappyStk`+	(HappyAbsSyn44  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn44  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn65  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn65+		 (let { nameAList = fromReverseList happy_var_3;+          dataAList = fromReverseList happy_var_5 }+    in DataGroup () (getTransSpan nameAList happy_var_6) nameAList dataAList : happy_var_1+	) `HappyStk` happyRest++happyReduce_276 = happyReduce 4 65 happyReduction_276+happyReduction_276 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn44  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn44  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn65+		 (let { nameAList = fromReverseList happy_var_1;+          dataAList = fromReverseList happy_var_3 }+    in [ DataGroup () (getTransSpan nameAList happy_var_4) nameAList dataAList ]+	) `HappyStk` happyRest++happyReduce_277 = happySpecReduce_1  66 happyReduction_277+happyReduction_277 _+	 =  HappyAbsSyn36+		 (()+	)++happyReduce_278 = happySpecReduce_0  66 happyReduction_278+happyReduction_278  =  HappyAbsSyn36+		 (()+	)++happyReduce_279 = happySpecReduce_3  67 happyReduction_279+happyReduction_279 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_279 _ _ _  = notHappyAtAll ++happyReduce_280 = happySpecReduce_1  67 happyReduction_280+happyReduction_280 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_280 _  = notHappyAtAll ++happyReduce_281 = happySpecReduce_1  68 happyReduction_281+happyReduction_281 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_281 _  = notHappyAtAll ++happyReduce_282 = happySpecReduce_1  68 happyReduction_282+happyReduction_282 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_282 _  = notHappyAtAll ++happyReduce_283 = happySpecReduce_3  69 happyReduction_283+happyReduction_283 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_283 _ _ _  = notHappyAtAll ++happyReduce_284 = happySpecReduce_1  69 happyReduction_284+happyReduction_284 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_284 _  = notHappyAtAll ++happyReduce_285 = happySpecReduce_1  70 happyReduction_285+happyReduction_285 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_285 _  = notHappyAtAll ++happyReduce_286 = happySpecReduce_1  70 happyReduction_286+happyReduction_286 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_286 _  = notHappyAtAll ++happyReduce_287 = happySpecReduce_3  71 happyReduction_287+happyReduction_287 (HappyTerminal happy_var_3)+	(HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_287 _ _ _  = notHappyAtAll ++happyReduce_288 = happySpecReduce_3  72 happyReduction_288+happyReduction_288 (HappyAbsSyn60  happy_var_3)+	_+	(HappyAbsSyn59  happy_var_1)+	 =  HappyAbsSyn59+		 (happy_var_3 : happy_var_1+	)+happyReduction_288 _ _ _  = notHappyAtAll ++happyReduce_289 = happySpecReduce_1  72 happyReduction_289+happyReduction_289 (HappyAbsSyn60  happy_var_1)+	 =  HappyAbsSyn59+		 ([ happy_var_1 ]+	)+happyReduction_289 _  = notHappyAtAll ++happyReduce_290 = happySpecReduce_3  73 happyReduction_290+happyReduction_290 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn60  happy_var_1)+	 =  HappyAbsSyn60+		 (setInitialisation happy_var_1 happy_var_3+	)+happyReduction_290 _ _ _  = notHappyAtAll ++happyReduce_291 = happySpecReduce_1  73 happyReduction_291+happyReduction_291 (HappyAbsSyn60  happy_var_1)+	 =  HappyAbsSyn60+		 (happy_var_1+	)+happyReduction_291 _  = notHappyAtAll ++happyReduce_292 = happySpecReduce_1  74 happyReduction_292+happyReduction_292 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn60+		 (DeclVariable () (getSpan happy_var_1) happy_var_1 Nothing Nothing+	)+happyReduction_292 _  = notHappyAtAll ++happyReduce_293 = happySpecReduce_3  74 happyReduction_293+happyReduction_293 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn60+		 (DeclVariable () (getTransSpan happy_var_1 happy_var_3) happy_var_1 (Just happy_var_3) Nothing+	)+happyReduction_293 _ _ _  = notHappyAtAll ++happyReduce_294 = happyReduce 5 74 happyReduction_294+happyReduction_294 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyTerminal happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn60+		 (let star = ExpValue () (getSpan happy_var_4) ValStar+    in DeclVariable () (getTransSpan happy_var_1 happy_var_5) happy_var_1 (Just star) Nothing+	) `HappyStk` happyRest++happyReduce_295 = happyReduce 4 74 happyReduction_295+happyReduction_295 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn75  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn60+		 (DeclArray () (getTransSpan happy_var_1 happy_var_4) happy_var_1 happy_var_3 Nothing Nothing+	) `HappyStk` happyRest++happyReduce_296 = happyReduce 6 74 happyReduction_296+happyReduction_296 ((HappyAbsSyn37  happy_var_6) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn75  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn60+		 (DeclArray () (getTransSpan happy_var_1 happy_var_6) happy_var_1 happy_var_3 (Just happy_var_6) Nothing+	) `HappyStk` happyRest++happyReduce_297 = happyReduce 8 74 happyReduction_297+happyReduction_297 ((HappyTerminal happy_var_8) `HappyStk`+	(HappyTerminal happy_var_7) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn75  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn60+		 (let star = ExpValue () (getSpan happy_var_7) ValStar+    in DeclArray () (getTransSpan happy_var_1 happy_var_8) happy_var_1 happy_var_3 (Just star) Nothing+	) `HappyStk` happyRest++happyReduce_298 = happySpecReduce_3  75 happyReduction_298+happyReduction_298 (HappyAbsSyn76  happy_var_3)+	_+	(HappyAbsSyn75  happy_var_1)+	 =  HappyAbsSyn75+		 (setSpan (getTransSpan happy_var_1 happy_var_3) $ happy_var_3 `aCons` happy_var_1+	)+happyReduction_298 _ _ _  = notHappyAtAll ++happyReduce_299 = happySpecReduce_1  75 happyReduction_299+happyReduction_299 (HappyAbsSyn76  happy_var_1)+	 =  HappyAbsSyn75+		 (AList () (getSpan happy_var_1) [ happy_var_1 ]+	)+happyReduction_299 _  = notHappyAtAll ++happyReduce_300 = happySpecReduce_3  76 happyReduction_300+happyReduction_300 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn76+		 (DimensionDeclarator () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_1) (Just happy_var_3)+	)+happyReduction_300 _ _ _  = notHappyAtAll ++happyReduce_301 = happySpecReduce_1  76 happyReduction_301+happyReduction_301 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn76+		 (DimensionDeclarator () (getSpan happy_var_1) Nothing (Just happy_var_1)+	)+happyReduction_301 _  = notHappyAtAll ++happyReduce_302 = happySpecReduce_2  76 happyReduction_302+happyReduction_302 (HappyTerminal happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn76+		 (DimensionDeclarator () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) Nothing+	)+happyReduction_302 _ _  = notHappyAtAll ++happyReduce_303 = happySpecReduce_3  76 happyReduction_303+happyReduction_303 (HappyTerminal happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn76+		 (let { span = getSpan happy_var_3;+          star = ExpValue () span ValStar }+    in DimensionDeclarator () (getTransSpan happy_var_1 span) (Just happy_var_1) (Just star)+	)+happyReduction_303 _ _ _  = notHappyAtAll ++happyReduce_304 = happySpecReduce_1  76 happyReduction_304+happyReduction_304 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn76+		 (let { span = getSpan happy_var_1;+          star = ExpValue () span ValStar }+    in DimensionDeclarator () span Nothing (Just star)+	)+happyReduction_304 _  = notHappyAtAll ++happyReduce_305 = happySpecReduce_1  76 happyReduction_305+happyReduction_305 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn76+		 (let span = getSpan happy_var_1+    in DimensionDeclarator () span Nothing Nothing+	)+happyReduction_305 _  = notHappyAtAll ++happyReduce_306 = happySpecReduce_2  77 happyReduction_306+happyReduction_306 (HappyAbsSyn78  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn77+		 (TypeSpec () (getSpan (happy_var_1, happy_var_2)) TypeInteger happy_var_2+	)+happyReduction_306 _ _  = notHappyAtAll ++happyReduce_307 = happySpecReduce_2  77 happyReduction_307+happyReduction_307 (HappyAbsSyn78  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn77+		 (TypeSpec () (getSpan (happy_var_1, happy_var_2)) TypeReal happy_var_2+	)+happyReduction_307 _ _  = notHappyAtAll ++happyReduce_308 = happySpecReduce_1  77 happyReduction_308+happyReduction_308 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn77+		 (TypeSpec () (getSpan happy_var_1) TypeDoublePrecision Nothing+	)+happyReduction_308 _  = notHappyAtAll ++happyReduce_309 = happySpecReduce_2  77 happyReduction_309+happyReduction_309 (HappyAbsSyn78  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn77+		 (TypeSpec () (getSpan (happy_var_1, happy_var_2)) TypeComplex happy_var_2+	)+happyReduction_309 _ _  = notHappyAtAll ++happyReduce_310 = happySpecReduce_2  77 happyReduction_310+happyReduction_310 (HappyAbsSyn78  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn77+		 (TypeSpec () (getSpan (happy_var_1, happy_var_2)) TypeCharacter happy_var_2+	)+happyReduction_310 _ _  = notHappyAtAll ++happyReduce_311 = happySpecReduce_2  77 happyReduction_311+happyReduction_311 (HappyAbsSyn78  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn77+		 (TypeSpec () (getSpan (happy_var_1, happy_var_2)) TypeLogical happy_var_2+	)+happyReduction_311 _ _  = notHappyAtAll ++happyReduce_312 = happyReduce 4 77 happyReduction_312+happyReduction_312 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyTerminal happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn77+		 (let TId _ id = happy_var_3+    in TypeSpec () (getTransSpan happy_var_1 happy_var_4) (TypeCustom id) Nothing+	) `HappyStk` happyRest++happyReduce_313 = happySpecReduce_3  78 happyReduction_313+happyReduction_313 (HappyTerminal happy_var_3)+	(HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_3) Nothing (Just happy_var_2)+	)+happyReduction_313 _ _ _  = notHappyAtAll ++happyReduce_314 = happyReduce 5 78 happyReduction_314+happyReduction_314 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_5) Nothing (Just happy_var_4)+	) `HappyStk` happyRest++happyReduce_315 = happySpecReduce_0  78 happyReduction_315+happyReduction_315  =  HappyAbsSyn78+		 (Nothing+	)++happyReduce_316 = happySpecReduce_2  79 happyReduction_316+happyReduction_316 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_2) Nothing+	)+happyReduction_316 _ _  = notHappyAtAll ++happyReduce_317 = happyReduce 4 79 happyReduction_317+happyReduction_317 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyTerminal happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn78+		 (let star = ExpValue () (getSpan happy_var_3) ValStar+    in Just $ Selector () (getTransSpan happy_var_1 happy_var_4) (Just star) Nothing+	) `HappyStk` happyRest++happyReduce_318 = happySpecReduce_3  79 happyReduction_318+happyReduction_318 (HappyTerminal happy_var_3)+	(HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_2) Nothing+	)+happyReduction_318 _ _ _  = notHappyAtAll ++happyReduce_319 = happyReduce 5 79 happyReduction_319+happyReduction_319 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_5) (Just happy_var_4) Nothing+	) `HappyStk` happyRest++happyReduce_320 = happyReduce 5 79 happyReduction_320+happyReduction_320 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_5) (Just happy_var_2) (Just happy_var_4)+	) `HappyStk` happyRest++happyReduce_321 = happyReduce 7 79 happyReduction_321+happyReduction_321 ((HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn37  happy_var_6) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_7) (Just happy_var_2) (Just happy_var_6)+	) `HappyStk` happyRest++happyReduce_322 = happyReduce 9 79 happyReduction_322+happyReduction_322 ((HappyTerminal happy_var_9) `HappyStk`+	(HappyAbsSyn37  happy_var_8) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_9) (Just happy_var_4) (Just happy_var_8)+	) `HappyStk` happyRest++happyReduce_323 = happyReduce 9 79 happyReduction_323+happyReduction_323 ((HappyTerminal happy_var_9) `HappyStk`+	(HappyAbsSyn37  happy_var_8) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn78+		 (Just $ Selector () (getTransSpan happy_var_1 happy_var_9) (Just happy_var_8) (Just happy_var_4)+	) `HappyStk` happyRest++happyReduce_324 = happySpecReduce_0  79 happyReduction_324+happyReduction_324  =  HappyAbsSyn78+		 (Nothing+	)++happyReduce_325 = happySpecReduce_1  80 happyReduction_325+happyReduction_325 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_325 _  = notHappyAtAll ++happyReduce_326 = happySpecReduce_1  80 happyReduction_326+happyReduction_326 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpValue () (getSpan happy_var_1) ValStar+	)+happyReduction_326 _  = notHappyAtAll ++happyReduce_327 = happySpecReduce_3  81 happyReduction_327+happyReduction_327 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Addition happy_var_1 happy_var_3+	)+happyReduction_327 _ _ _  = notHappyAtAll ++happyReduce_328 = happySpecReduce_3  81 happyReduction_328+happyReduction_328 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Subtraction happy_var_1 happy_var_3+	)+happyReduction_328 _ _ _  = notHappyAtAll ++happyReduce_329 = happySpecReduce_3  81 happyReduction_329+happyReduction_329 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Multiplication happy_var_1 happy_var_3+	)+happyReduction_329 _ _ _  = notHappyAtAll ++happyReduce_330 = happySpecReduce_3  81 happyReduction_330+happyReduction_330 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Division happy_var_1 happy_var_3+	)+happyReduction_330 _ _ _  = notHappyAtAll ++happyReduce_331 = happySpecReduce_3  81 happyReduction_331+happyReduction_331 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Exponentiation happy_var_1 happy_var_3+	)+happyReduction_331 _ _ _  = notHappyAtAll ++happyReduce_332 = happyReduce 4 81 happyReduction_332+happyReduction_332 ((HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_4) Concatenation happy_var_1 happy_var_4+	) `HappyStk` happyRest++happyReduce_333 = happySpecReduce_2  81 happyReduction_333+happyReduction_333 (HappyAbsSyn37  happy_var_2)+	(HappyAbsSyn92  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpUnary () (getTransSpan (fst happy_var_1) happy_var_2) (snd happy_var_1) happy_var_2+	)+happyReduction_333 _ _  = notHappyAtAll ++happyReduce_334 = happySpecReduce_3  81 happyReduction_334+happyReduction_334 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Or happy_var_1 happy_var_3+	)+happyReduction_334 _ _ _  = notHappyAtAll ++happyReduce_335 = happySpecReduce_3  81 happyReduction_335+happyReduction_335 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) And happy_var_1 happy_var_3+	)+happyReduction_335 _ _ _  = notHappyAtAll ++happyReduce_336 = happySpecReduce_2  81 happyReduction_336+happyReduction_336 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpUnary () (getTransSpan happy_var_1 happy_var_2) Not happy_var_2+	)+happyReduction_336 _ _  = notHappyAtAll ++happyReduce_337 = happySpecReduce_3  81 happyReduction_337+happyReduction_337 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) Equivalent happy_var_1 happy_var_3+	)+happyReduction_337 _ _ _  = notHappyAtAll ++happyReduce_338 = happySpecReduce_3  81 happyReduction_338+happyReduction_338 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) NotEquivalent happy_var_1 happy_var_3+	)+happyReduction_338 _ _ _  = notHappyAtAll ++happyReduce_339 = happySpecReduce_3  81 happyReduction_339+happyReduction_339 (HappyAbsSyn37  happy_var_3)+	(HappyAbsSyn93  happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpBinary () (getTransSpan happy_var_1 happy_var_3) happy_var_2 happy_var_1 happy_var_3+	)+happyReduction_339 _ _ _  = notHappyAtAll ++happyReduce_340 = happySpecReduce_2  81 happyReduction_340+happyReduction_340 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (let TOpCustom span str = happy_var_1+    in ExpUnary () (getTransSpan span happy_var_2) (UnCustom str) happy_var_2+	)+happyReduction_340 _ _  = notHappyAtAll ++happyReduce_341 = happySpecReduce_3  81 happyReduction_341+happyReduction_341 (HappyAbsSyn37  happy_var_3)+	(HappyTerminal happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (let TOpCustom _ str = happy_var_2+    in ExpBinary () (getTransSpan happy_var_1 happy_var_3) (BinCustom str) happy_var_1 happy_var_3+	)+happyReduction_341 _ _ _  = notHappyAtAll ++happyReduce_342 = happySpecReduce_3  81 happyReduction_342+happyReduction_342 (HappyTerminal happy_var_3)+	(HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (setSpan (getTransSpan happy_var_1 happy_var_3) happy_var_2+	)+happyReduction_342 _ _ _  = notHappyAtAll ++happyReduce_343 = happySpecReduce_1  81 happyReduction_343+happyReduction_343 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_343 _  = notHappyAtAll ++happyReduce_344 = happyReduce 5 81 happyReduction_344+happyReduction_344 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (ExpValue () (getTransSpan happy_var_1 happy_var_5) (ValComplex happy_var_2 happy_var_4)+	) `HappyStk` happyRest++happyReduce_345 = happySpecReduce_1  81 happyReduction_345+happyReduction_345 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_345 _  = notHappyAtAll ++happyReduce_346 = happySpecReduce_1  81 happyReduction_346+happyReduction_346 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_346 _  = notHappyAtAll ++happyReduce_347 = happySpecReduce_1  81 happyReduction_347+happyReduction_347 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_347 _  = notHappyAtAll ++happyReduce_348 = happySpecReduce_1  81 happyReduction_348+happyReduction_348 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_348 _  = notHappyAtAll ++happyReduce_349 = happySpecReduce_3  81 happyReduction_349+happyReduction_349 (HappyTerminal happy_var_3)+	(HappyAbsSyn44  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpInitialisation () (getTransSpan happy_var_1 happy_var_3) (fromReverseList happy_var_2)+	)+happyReduction_349 _ _ _  = notHappyAtAll ++happyReduce_350 = happyReduce 4 81 happyReduction_350+happyReduction_350 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyTerminal happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (let TOpCustom _ op = happy_var_3+    in ExpValue () (getTransSpan happy_var_1 happy_var_4) (ValOperator op)+	) `HappyStk` happyRest++happyReduce_351 = happySpecReduce_1  81 happyReduction_351+happyReduction_351 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpValue () (getSpan happy_var_1) ValAssignment+	)+happyReduction_351 _  = notHappyAtAll ++happyReduce_352 = happySpecReduce_2  81 happyReduction_352+happyReduction_352 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpReturnSpec () (getTransSpan happy_var_1 happy_var_2) happy_var_2+	)+happyReduction_352 _ _  = notHappyAtAll ++happyReduce_353 = happySpecReduce_3  82 happyReduction_353+happyReduction_353 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_353 _ _ _  = notHappyAtAll ++happyReduce_354 = happySpecReduce_1  82 happyReduction_354+happyReduction_354 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_354 _  = notHappyAtAll ++happyReduce_355 = happySpecReduce_3  83 happyReduction_355+happyReduction_355 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpDataRef () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3+	)+happyReduction_355 _ _ _  = notHappyAtAll ++happyReduce_356 = happySpecReduce_1  83 happyReduction_356+happyReduction_356 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_356 _  = notHappyAtAll ++happyReduce_357 = happySpecReduce_3  84 happyReduction_357+happyReduction_357 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_357 _ _ _  = notHappyAtAll ++happyReduce_358 = happySpecReduce_1  84 happyReduction_358+happyReduction_358 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_358 _  = notHappyAtAll ++happyReduce_359 = happySpecReduce_1  85 happyReduction_359+happyReduction_359 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_359 _  = notHappyAtAll ++happyReduce_360 = happySpecReduce_3  85 happyReduction_360+happyReduction_360 (HappyTerminal happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (ExpFunctionCall () (getTransSpan happy_var_1 happy_var_3) happy_var_1 Nothing+	)+happyReduction_360 _ _ _  = notHappyAtAll ++happyReduce_361 = happyReduce 4 85 happyReduction_361+happyReduction_361 ((HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn86  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (ExpSubscript () (getTransSpan happy_var_1 happy_var_4) happy_var_1 (fromReverseList happy_var_3)+	) `HappyStk` happyRest++happyReduce_362 = happyReduce 7 85 happyReduction_362+happyReduction_362 ((HappyTerminal happy_var_7) `HappyStk`+	(HappyAbsSyn86  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyTerminal happy_var_4) `HappyStk`+	(HappyAbsSyn86  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (let innerSub = ExpSubscript () (getTransSpan happy_var_1 happy_var_4) happy_var_1 (fromReverseList happy_var_3)+    in ExpSubscript () (getTransSpan happy_var_1 happy_var_7) innerSub (fromReverseList happy_var_6)+	) `HappyStk` happyRest++happyReduce_363 = happySpecReduce_3  86 happyReduction_363+happyReduction_363 (HappyAbsSyn87  happy_var_3)+	_+	(HappyAbsSyn86  happy_var_1)+	 =  HappyAbsSyn86+		 (happy_var_3 : happy_var_1+	)+happyReduction_363 _ _ _  = notHappyAtAll ++happyReduce_364 = happySpecReduce_1  86 happyReduction_364+happyReduction_364 (HappyAbsSyn87  happy_var_1)+	 =  HappyAbsSyn86+		 ([ happy_var_1 ]+	)+happyReduction_364 _  = notHappyAtAll ++happyReduce_365 = happySpecReduce_1  87 happyReduction_365+happyReduction_365 (HappyAbsSyn87  happy_var_1)+	 =  HappyAbsSyn87+		 (happy_var_1+	)+happyReduction_365 _  = notHappyAtAll ++happyReduce_366 = happySpecReduce_3  87 happyReduction_366+happyReduction_366 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn87  happy_var_1)+	 =  HappyAbsSyn87+		 (let IxRange () s lower upper _ = happy_var_1+    in IxRange () (getTransSpan s happy_var_3) lower upper (Just happy_var_3)+	)+happyReduction_366 _ _ _  = notHappyAtAll ++happyReduce_367 = happySpecReduce_1  87 happyReduction_367+happyReduction_367 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn87+		 (IxSingle () (getSpan happy_var_1) Nothing happy_var_1+	)+happyReduction_367 _  = notHappyAtAll ++happyReduce_368 = happySpecReduce_3  87 happyReduction_368+happyReduction_368 (HappyAbsSyn37  happy_var_3)+	_+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn87+		 (let TId s id = happy_var_1 in IxSingle () (getTransSpan happy_var_1 s) (Just id) happy_var_3+	)+happyReduction_368 _ _ _  = notHappyAtAll ++happyReduce_369 = happySpecReduce_1  88 happyReduction_369+happyReduction_369 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn87+		 (IxRange () (getSpan happy_var_1) Nothing Nothing Nothing+	)+happyReduction_369 _  = notHappyAtAll ++happyReduce_370 = happySpecReduce_2  88 happyReduction_370+happyReduction_370 (HappyAbsSyn37  happy_var_2)+	(HappyTerminal happy_var_1)+	 =  HappyAbsSyn87+		 (IxRange () (getTransSpan happy_var_1 happy_var_2) Nothing (Just happy_var_2) Nothing+	)+happyReduction_370 _ _  = notHappyAtAll ++happyReduce_371 = happySpecReduce_2  88 happyReduction_371+happyReduction_371 (HappyTerminal happy_var_2)+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn87+		 (IxRange () (getTransSpan happy_var_1 happy_var_2) (Just happy_var_1) Nothing Nothing+	)+happyReduction_371 _ _  = notHappyAtAll ++happyReduce_372 = happySpecReduce_3  88 happyReduction_372+happyReduction_372 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn87+		 (IxRange () (getTransSpan happy_var_1 happy_var_3) (Just happy_var_1) (Just happy_var_3) Nothing+	)+happyReduction_372 _ _ _  = notHappyAtAll ++happyReduce_373 = happyReduce 5 89 happyReduction_373+happyReduction_373 ((HappyAbsSyn37  happy_var_5) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_3) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn28  happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn89+		 (DoSpecification () (getTransSpan happy_var_1 happy_var_5) happy_var_1 happy_var_3 (Just happy_var_5)+	) `HappyStk` happyRest++happyReduce_374 = happySpecReduce_3  89 happyReduction_374+happyReduction_374 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn28  happy_var_1)+	 =  HappyAbsSyn89+		 (DoSpecification () (getTransSpan happy_var_1 happy_var_3) happy_var_1 happy_var_3 Nothing+	)+happyReduction_374 _ _ _  = notHappyAtAll ++happyReduce_375 = happyReduce 5 90 happyReduction_375+happyReduction_375 ((HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn89  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (let expList = AList () (getSpan happy_var_2) [ happy_var_2 ]+    in ExpImpliedDo () (getTransSpan happy_var_1 happy_var_5) expList happy_var_4+	) `HappyStk` happyRest++happyReduce_376 = happyReduce 7 90 happyReduction_376+happyReduction_376 (_ `HappyStk`+	(HappyAbsSyn89  happy_var_6) `HappyStk`+	(HappyTerminal happy_var_5) `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (let expList = AList () (getTransSpan happy_var_2 happy_var_4) [ happy_var_2, happy_var_4 ]+    in ExpImpliedDo () (getTransSpan happy_var_1 happy_var_5) expList happy_var_6+	) `HappyStk` happyRest++happyReduce_377 = happyReduce 9 90 happyReduction_377+happyReduction_377 ((HappyTerminal happy_var_9) `HappyStk`+	(HappyAbsSyn89  happy_var_8) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn44  happy_var_6) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_4) `HappyStk`+	_ `HappyStk`+	(HappyAbsSyn37  happy_var_2) `HappyStk`+	(HappyTerminal happy_var_1) `HappyStk`+	happyRest)+	 = HappyAbsSyn37+		 (let { exps =  reverse happy_var_6;+          expList = AList () (getTransSpan happy_var_2 exps) (happy_var_2 : happy_var_4 : reverse happy_var_6) }+    in ExpImpliedDo () (getTransSpan happy_var_1 happy_var_9) expList happy_var_8+	) `HappyStk` happyRest++happyReduce_378 = happySpecReduce_3  91 happyReduction_378+happyReduction_378 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_378 _ _ _  = notHappyAtAll ++happyReduce_379 = happySpecReduce_1  91 happyReduction_379+happyReduction_379 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_379 _  = notHappyAtAll ++happyReduce_380 = happySpecReduce_1  92 happyReduction_380+happyReduction_380 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn92+		 ((getSpan happy_var_1, Minus)+	)+happyReduction_380 _  = notHappyAtAll ++happyReduce_381 = happySpecReduce_1  92 happyReduction_381+happyReduction_381 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn92+		 ((getSpan happy_var_1, Plus)+	)+happyReduction_381 _  = notHappyAtAll ++happyReduce_382 = happySpecReduce_1  93 happyReduction_382+happyReduction_382 _+	 =  HappyAbsSyn93+		 (EQ+	)++happyReduce_383 = happySpecReduce_1  93 happyReduction_383+happyReduction_383 _+	 =  HappyAbsSyn93+		 (NE+	)++happyReduce_384 = happySpecReduce_1  93 happyReduction_384+happyReduction_384 _+	 =  HappyAbsSyn93+		 (GT+	)++happyReduce_385 = happySpecReduce_1  93 happyReduction_385+happyReduction_385 _+	 =  HappyAbsSyn93+		 (GTE+	)++happyReduce_386 = happySpecReduce_1  93 happyReduction_386+happyReduction_386 _+	 =  HappyAbsSyn93+		 (LT+	)++happyReduce_387 = happySpecReduce_1  93 happyReduction_387+happyReduction_387 _+	 =  HappyAbsSyn93+		 (LTE+	)++happyReduce_388 = happySpecReduce_1  94 happyReduction_388+happyReduction_388 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (ExpValue () (getSpan happy_var_1) $ let (TId _ s) = happy_var_1 in ValVariable () s+	)+happyReduction_388 _  = notHappyAtAll ++happyReduce_389 = happySpecReduce_1  95 happyReduction_389+happyReduction_389 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_389 _  = notHappyAtAll ++happyReduce_390 = happySpecReduce_1  95 happyReduction_390+happyReduction_390 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn37+		 (happy_var_1+	)+happyReduction_390 _  = notHappyAtAll ++happyReduce_391 = happySpecReduce_3  96 happyReduction_391+happyReduction_391 (HappyAbsSyn37  happy_var_3)+	_+	(HappyAbsSyn44  happy_var_1)+	 =  HappyAbsSyn44+		 (happy_var_3 : happy_var_1+	)+happyReduction_391 _ _ _  = notHappyAtAll ++happyReduce_392 = happySpecReduce_1  96 happyReduction_392+happyReduction_392 (HappyAbsSyn37  happy_var_1)+	 =  HappyAbsSyn44+		 ([ happy_var_1 ]+	)+happyReduction_392 _  = notHappyAtAll ++happyReduce_393 = happySpecReduce_1  97 happyReduction_393+happyReduction_393 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (let TIntegerLiteral s i = happy_var_1 in ExpValue () s $ ValInteger i+	)+happyReduction_393 _  = notHappyAtAll ++happyReduce_394 = happySpecReduce_1  97 happyReduction_394+happyReduction_394 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (let TBozLiteral s i = happy_var_1 in ExpValue () s $ ValInteger i+	)+happyReduction_394 _  = notHappyAtAll ++happyReduce_395 = happySpecReduce_1  98 happyReduction_395+happyReduction_395 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (let TRealLiteral s r = happy_var_1 in ExpValue () s $ ValReal r+	)+happyReduction_395 _  = notHappyAtAll ++happyReduce_396 = happySpecReduce_1  99 happyReduction_396+happyReduction_396 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (let TLogicalLiteral s b = happy_var_1 in ExpValue () s $ ValLogical b+	)+happyReduction_396 _  = notHappyAtAll ++happyReduce_397 = happySpecReduce_1  100 happyReduction_397+happyReduction_397 (HappyTerminal happy_var_1)+	 =  HappyAbsSyn37+		 (let TString s c = happy_var_1 in ExpValue () s $ ValString c+	)+happyReduction_397 _  = notHappyAtAll ++happyReduce_398 = happyMonadReduce 0 101 happyReduction_398+happyReduction_398 (happyRest) tk+	 = happyThen (( pushContext ConData)+	) (\r -> happyReturn (HappyAbsSyn36 r))++happyReduce_399 = happyMonadReduce 0 102 happyReduction_399+happyReduction_399 (happyRest) tk+	 = happyThen (( pushContext ConImplicit)+	) (\r -> happyReturn (HappyAbsSyn36 r))++happyReduce_400 = happyMonadReduce 0 103 happyReduction_400+happyReduction_400 (happyRest) tk+	 = happyThen (( pushContext ConNamelist)+	) (\r -> happyReturn (HappyAbsSyn36 r))++happyReduce_401 = happyMonadReduce 0 104 happyReduction_401+happyReduction_401 (happyRest) tk+	 = happyThen (( pushContext ConCommon)+	) (\r -> happyReturn (HappyAbsSyn36 r))++happyReduce_402 = happyMonadReduce 0 105 happyReduction_402+happyReduction_402 (happyRest) tk+	 = happyThen (( popContext)+	) (\r -> happyReturn (HappyAbsSyn36 r))++happyNewToken action sts stk+	= lexer(\tk -> +	let cont i = action i i tk (HappyState action) sts stk in+	case tk of {+	TEOF _ -> action 236 236 tk (HappyState action) sts stk;+	TId _ _ -> cont 106;+	TComment _ _ -> cont 107;+	TString _ _ -> cont 108;+	TIntegerLiteral _ _ -> cont 109;+	TRealLiteral _ _ -> cont 110;+	TBozLiteral _ _ -> cont 111;+	TComma _ -> cont 112;+	TComma2 _ -> cont 113;+	TSemiColon _ -> cont 114;+	TColon _ -> cont 115;+	TDoubleColon _ -> cont 116;+	TOpAssign _ -> cont 117;+	TArrow _ -> cont 118;+	TPercent _ -> cont 119;+	TLeftPar _ -> cont 120;+	TLeftPar2 _ -> cont 121;+	TRightPar _ -> cont 122;+	TLeftInitPar _ -> cont 123;+	TRightInitPar _ -> cont 124;+	TOpCustom _ _ -> cont 125;+	TOpExp _ -> cont 126;+	TOpPlus _ -> cont 127;+	TOpMinus _ -> cont 128;+	TStar _ -> cont 129;+	TOpDivision _ -> cont 130;+	TSlash _ -> cont 131;+	TOpOr _ -> cont 132;+	TOpAnd _ -> cont 133;+	TOpNot _ -> cont 134;+	TOpEquivalent _ -> cont 135;+	TOpNotEquivalent _ -> cont 136;+	TOpLT _ -> cont 137;+	TOpLE _ -> cont 138;+	TOpEQ _ -> cont 139;+	TOpNE _ -> cont 140;+	TOpGT _ -> cont 141;+	TOpGE _ -> cont 142;+	TLogicalLiteral _ _ -> cont 143;+	TProgram _ -> cont 144;+	TEndProgram _ -> cont 145;+	TFunction _ -> cont 146;+	TEndFunction _ -> cont 147;+	TResult _ -> cont 148;+	TRecursive _ -> cont 149;+	TSubroutine _ -> cont 150;+	TEndSubroutine _ -> cont 151;+	TBlockData _ -> cont 152;+	TEndBlockData _ -> cont 153;+	TModule _ -> cont 154;+	TEndModule _ -> cont 155;+	TContains _ -> cont 156;+	TUse _ -> cont 157;+	TOnly _ -> cont 158;+	TInterface _ -> cont 159;+	TEndInterface _ -> cont 160;+	TModuleProcedure _ -> cont 161;+	TAssignment _ -> cont 162;+	TOperator _ -> cont 163;+	TCall _ -> cont 164;+	TReturn _ -> cont 165;+	TEntry _ -> cont 166;+	TPublic _ -> cont 167;+	TPrivate _ -> cont 168;+	TParameter _ -> cont 169;+	TAllocatable _ -> cont 170;+	TDimension _ -> cont 171;+	TExternal _ -> cont 172;+	TIntent _ -> cont 173;+	TIntrinsic _ -> cont 174;+	TOptional _ -> cont 175;+	TPointer _ -> cont 176;+	TSave _ -> cont 177;+	TTarget _ -> cont 178;+	TIn _ -> cont 179;+	TOut _ -> cont 180;+	TInOut _ -> cont 181;+	TData _ -> cont 182;+	TNamelist _ -> cont 183;+	TImplicit _ -> cont 184;+	TEquivalence _ -> cont 185;+	TCommon _ -> cont 186;+	TAllocate _ -> cont 187;+	TDeallocate _ -> cont 188;+	TNullify _ -> cont 189;+	TNone _ -> cont 190;+	TGoto _ -> cont 191;+	TAssign _ -> cont 192;+	TTo _ -> cont 193;+	TContinue _ -> cont 194;+	TStop _ -> cont 195;+	TPause _ -> cont 196;+	TDo _ -> cont 197;+	TEndDo _ -> cont 198;+	TWhile _ -> cont 199;+	TIf _ -> cont 200;+	TThen _ -> cont 201;+	TElse _ -> cont 202;+	TElsif _ -> cont 203;+	TEndIf _ -> cont 204;+	TCase _ -> cont 205;+	TSelectCase _ -> cont 206;+	TEndSelect _ -> cont 207;+	TDefault _ -> cont 208;+	TCycle _ -> cont 209;+	TExit _ -> cont 210;+	TWhere _ -> cont 211;+	TElsewhere _ -> cont 212;+	TEndWhere _ -> cont 213;+	TType _ -> cont 214;+	TEndType _ -> cont 215;+	TSequence _ -> cont 216;+	TKind _ -> cont 217;+	TLen _ -> cont 218;+	TInteger _ -> cont 219;+	TReal _ -> cont 220;+	TDoublePrecision _ -> cont 221;+	TLogical _ -> cont 222;+	TCharacter _ -> cont 223;+	TComplex _ -> cont 224;+	TOpen _ -> cont 225;+	TClose _ -> cont 226;+	TRead _ -> cont 227;+	TWrite _ -> cont 228;+	TPrint _ -> cont 229;+	TBackspace _ -> cont 230;+	TRewind _ -> cont 231;+	TInquire _ -> cont 232;+	TEndfile _ -> cont 233;+	TEnd _ -> cont 234;+	TNewline _ -> cont 235;+	_ -> happyError' tk+	})++happyError_ 236 tk = happyError' tk+happyError_ _ tk = happyError' tk++happyThen :: () => LexAction a -> (a -> LexAction b) -> LexAction b+happyThen = (>>=)+happyReturn :: () => a -> LexAction a+happyReturn = (return)+happyThen1 = happyThen+happyReturn1 :: () => a -> LexAction a+happyReturn1 = happyReturn+happyError' :: () => (Token) -> LexAction a+happyError' tk = parseError tk++programParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_0) (\x -> case x of {HappyAbsSyn5 z -> happyReturn z; _other -> notHappyAtAll })++statementParser = happySomeParser where+  happySomeParser = happyThen (happyParse action_1) (\x -> case x of {HappyAbsSyn28 z -> happyReturn z; _other -> notHappyAtAll })++happySeq = happyDontSeq+++unitNameCheck :: Token -> String -> Parse AlexInput Token ()+unitNameCheck (TId _ name1) name2+  | name1 == name2 = return ()+  | otherwise = fail "Unit name does not match the corresponding END statement."+unitNameCheck _ _ = return ()++parse = evalParse programParser++fortran90Parser :: String -> String -> ProgramFile A0+fortran90Parser sourceCode filename =+    parse parseState+  where+    parseState = initParseState sourceCode Fortran77Extended filename++parseError :: Token -> LexAction a+parseError _ = do+#ifdef DEBUG+    tokens <- reverse <$> aiPreviousTokensInLine <$> getAlex+#endif+    fail $ "Parsing failed."+#ifdef DEBUG+      ++ '\n' : show tokens+#endif+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+{-# LINE 1 "<built-in>" #-}+{-# LINE 16 "<built-in>" #-}+{-# LINE 1 "/usr/local/lib/ghc-7.10.2/include/ghcversion.h" #-}+++++++++++++++++++{-# LINE 17 "<built-in>" #-}+{-# LINE 1 "templates/GenericTemplate.hs" #-}+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp +++{-# LINE 13 "templates/GenericTemplate.hs" #-}+++{-# LINE 46 "templates/GenericTemplate.hs" #-}++++++++++{-# LINE 67 "templates/GenericTemplate.hs" #-}+++{-# LINE 77 "templates/GenericTemplate.hs" #-}+++++++++++infixr 9 `HappyStk`+data HappyStk a = HappyStk a (HappyStk a)++-----------------------------------------------------------------------------+-- starting the parse++happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll++-----------------------------------------------------------------------------+-- Accepting the parse++-- If the current token is (1), it means we've just accepted a partial+-- parse (a %partial parser).  We must ignore the saved token on the top of+-- the stack in this case.+happyAccept (1) tk st sts (_ `HappyStk` ans `HappyStk` _) =+        happyReturn1 ans+happyAccept j tk st sts (HappyStk ans _) = +         (happyReturn1 ans)++-----------------------------------------------------------------------------+-- Arrays only: do the next action+++{-# LINE 155 "templates/GenericTemplate.hs" #-}++-----------------------------------------------------------------------------+-- HappyState data type (not arrays)++++newtype HappyState b c = HappyState+        (Int ->                    -- token number+         Int ->                    -- token number (yes, again)+         b ->                           -- token semantic value+         HappyState b c ->              -- current state+         [HappyState b c] ->            -- state stack+         c)++++-----------------------------------------------------------------------------+-- Shifting a token++happyShift new_state (1) tk st sts stk@(x `HappyStk` _) =+     let i = (case x of { HappyErrorToken (i) -> i }) in+--     trace "shifting the error token" $+     new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk)++happyShift new_state i tk st sts stk =+     happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk)++-- happyReduce is specialised for the common cases.++happySpecReduce_0 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk+     = action nt j tk st ((st):(sts)) (fn `HappyStk` stk)++happySpecReduce_1 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk')+     = let r = fn v1 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_2 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk')+     = let r = fn v1 v2 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happySpecReduce_3 i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')+     = let r = fn v1 v2 v3 in+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))++happyReduce k i fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyReduce k nt fn j tk st sts stk+     = case happyDrop (k - ((1) :: Int)) sts of+         sts1@(((st1@(HappyState (action))):(_))) ->+                let r = fn stk in  -- it doesn't hurt to always seq here...+                happyDoSeq r (action nt j tk st1 sts1 r)++happyMonadReduce k nt fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyMonadReduce k nt fn j tk st sts stk =+      case happyDrop k ((st):(sts)) of+        sts1@(((st1@(HappyState (action))):(_))) ->+          let drop_stk = happyDropStk k stk in+          happyThen1 (fn stk tk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk))++happyMonad2Reduce k nt fn (1) tk st sts stk+     = happyFail (1) tk st sts stk+happyMonad2Reduce k nt fn j tk st sts stk =+      case happyDrop k ((st):(sts)) of+        sts1@(((st1@(HappyState (action))):(_))) ->+         let drop_stk = happyDropStk k stk++++++             new_state = action++          in+          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))++happyDrop (0) l = l+happyDrop n ((_):(t)) = happyDrop (n - ((1) :: Int)) t++happyDropStk (0) l = l+happyDropStk n (x `HappyStk` xs) = happyDropStk (n - ((1)::Int)) xs++-----------------------------------------------------------------------------+-- Moving to a new state after a reduction++++++++++happyGoto action j tk st = action j j tk (HappyState action)+++-----------------------------------------------------------------------------+-- Error recovery ((1) is the error token)++-- parse error if we are in recovery and we fail again+happyFail (1) tk old_st _ stk@(x `HappyStk` _) =+     let i = (case x of { HappyErrorToken (i) -> i }) in+--      trace "failing" $ +        happyError_ i tk++{-  We don't need state discarding for our restricted implementation of+    "error".  In fact, it can cause some bogus parses, so I've disabled it+    for now --SDM++-- discard a state+happyFail  (1) tk old_st (((HappyState (action))):(sts)) +                                                (saved_tok `HappyStk` _ `HappyStk` stk) =+--      trace ("discarding state, depth " ++ show (length stk))  $+        action (1) (1) tk (HappyState (action)) sts ((saved_tok`HappyStk`stk))+-}++-- Enter error recovery: generate an error token,+--                       save the old token and carry on.+happyFail  i tk (HappyState (action)) sts stk =+--      trace "entering error recovery" $+        action (1) (1) tk (HappyState (action)) sts ( (HappyErrorToken (i)) `HappyStk` stk)++-- Internal happy errors:++notHappyAtAll :: a+notHappyAtAll = error "Internal Happy error\n"++-----------------------------------------------------------------------------+-- Hack to get the typechecker to accept our action functions++++++++-----------------------------------------------------------------------------+-- Seq-ing.  If the --strict flag is given, then Happy emits +--      happySeq = happyDoSeq+-- otherwise it emits+--      happySeq = happyDontSeq++happyDoSeq, happyDontSeq :: a -> b -> b+happyDoSeq   a b = a `seq` b+happyDontSeq a b = b++-----------------------------------------------------------------------------+-- Don't inline any functions from the template.  GHC has a nasty habit+-- of deciding to inline happyGoto everywhere, which increases the size of+-- the generated parser quite a bit.++++++++++{-# NOINLINE happyShift #-}+{-# NOINLINE happySpecReduce_0 #-}+{-# NOINLINE happySpecReduce_1 #-}+{-# NOINLINE happySpecReduce_2 #-}+{-# NOINLINE happySpecReduce_3 #-}+{-# NOINLINE happyReduce #-}+{-# NOINLINE happyMonadReduce #-}+{-# NOINLINE happyGoto #-}+{-# NOINLINE happyFail #-}++-- end of Happy Template.+