fortran-src 0.1.0.0 → 0.1.0.1
raw patch · 7 files changed
+30109/−2 lines, 7 files
Files
- fortran-src.cabal +1/−1
- src/Language/Fortran/Analysis/Types.hs +1/−1
- src/Language/Fortran/Lexer/FixedForm.hs +1017/−0
- src/Language/Fortran/Lexer/FreeForm.hs +1258/−0
- src/Language/Fortran/Parser/Fortran66.hs +5037/−0
- src/Language/Fortran/Parser/Fortran77.hs +9532/−0
- src/Language/Fortran/Parser/Fortran90.hs +13263/−0
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.+